PostgreSQL数据库清理wal日志

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

PostgreSQL数据库清理wal日志

1 PG数据库wal日志膨胀



检查参数文件/kingdee/postgres/pg_data/postgresql.conf


wal_keep_segments值很大,修改值为4,确认文件中此参数名是否有重复数据,如有重复则只保留一个。

wal_keep_segments = 4 




root用户下重启数据库服务生效

systemctl restart postgresql


手动执行checkpoint

自动清理wal日志如下两种情况【由于自动清理耗时会比较久,若需手工直接清理参考第3章节命令方式清理】

  • 做检查点的时候;

  • 数据库启动的时候,或者修改了相关参数后重启数据库;



3 命令行执行pg_archivecleanup清理wal日志

3.1 查看wal日志



如上检查点3/E0000028已执行,已包含在日志文件000000030000000300000007中,这个日志文件之前的是可以清理的。

3.2 清理wal日志

[postgres@localhost ~]$ pg_archivecleanup  /data/kdcc/postgres/pg_data/pg_wal/   000000030000000300000007



4 PG归档日志维护

PG默认归档模式是开启的(生产环境要求),若是非生产环境可以关闭archive_mode = off 。


不关闭则archivelog归档日志目录需要检查是否存在,一般在/kingdee/postgres/pg_data目录同一级,如不存在则需要手工创建(注意目录权限,可使用postgres用户创建), 后续可设置定时任务定期删除archivelog目录里的归档日志,如保留7天内的归档日志。


下图为/kingdee/postgres/pg_data/postgresql.conf数据库参数文件截图:


下图为PG归档和数据目录:



PostgreSQL数据库清理wal日志

1 PG数据库wal日志膨胀检查参数文件/kingdee/postgres/pg_data/postgresql.conf如wal_keep_segments值很大,修改值为4,确认文件中此参数...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息