Postgresql 如何清理WAL日志
WAL是Write Ahead Log的简写,和oracle的redo日志类似,存放在$PGDATA/pg_xlog中,10版本以后在$PGDATA/pg_wal目录.如果开启了归档,在目录archive_status下会有一些文件,以ready结尾的,表示可以归档但还没有归档,done结尾的表示已经归档。不超过以下两个公式计算得出的个数9.5以后,如果超过了max_wal_size,那么就会删除不需要的wal.如果开启了归档,那么归档成功了,才会被清除,所以这里注意一下,如果你开启了归档,但是归档命令是失效的,那么wal目录会一直增长,不会自动删除WAL,会使得此目录被撑爆。什么情况下回自动清理wal1.做检查点的时候2.数据库启动的时候,或者修改了相关参数后重启数据库。
用户评论