数据库wal日志不自动清理
文章目录
- 环境
- 症状
- 问题原因
- 解决方案
环境
系统平台:UOS(鲲鹏)
版本:4.5.8
症状
数据库在wal日志相关参数(wal_keep_segments,max_wal_size,min_wal_size)均设置较小,没有不活动复制槽,且 archive_command 参数为 echo 1 的情况下,wal日志仍积累不自动清理。
问题原因
$PGDATA/pg_wal/archive_status 路径下的归档日志状态为ready,正常情况下 archive_command 设置为 echo 1,归档日志状态应为 done,不会影响wal日志自动清理。
解决方案
archive_command 参数改为 echo 1 > /root/archive.log ,数据库执行 checkpoint 后,$PGDATA/pg_wal/archive_status 路径下的状态变为正常 done,wal 日志恢复自动清理。
