PostgreSQL数据库日志清理

发布于:2023-10-25 ⋅ 阅读:(105) ⋅ 点赞:(0)


通过超管账号(postgres或者root)登录数据库客户端通过如下方法对wal日志进行清理操作。或者增加进行扩容。

一、查看是否有逻辑复制槽

select * from pg_replication_slots;

二、查看逻辑复制槽的日志积压情况

select pg_size_pretty(replay_lag_bytes) replay_lag_size,slot_name
from (select pg_wal_lsn_diff(pg_current_wal_lsn(),restart_lsn) as replay_lag_bytes,
slot_name from pg_replication_slots) as t;

三、如果积压的比较厉害(百GB+)需业务侧确认是否可以删除

select pg_terminate_backend(pid); #如果复制槽的active为t时先执行这个
select pg_drop_replication_slot('slot_name'); #删除逻辑复制槽 根据第一步得到的slot_name
checkpoint;

网站公告

今日签到

点亮在社区的每一天
去签到