PostgreSQL数据库日志清理
通过超管账号(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;