一定要避免手工操作 pg_xlog 目录
postgresql的pg_xlog是记录数据库事务信息用的,类似oracle的redo信息,也叫wal日志(write ahead log),就是在写数据到磁盘里成为固定数据之前,先写入到日志里,然后一定条件下触发调用fsync()将此数据刷到磁盘。好处不多说,下面主要看看postgresql通常会保留多少个pg_xlog文件,以及如何在线清理。
一、环境及参数
环境:
postgresql 9.4.6(单台,未做流复制)
centos 7.1
参数:
postgres=# show checkpoint_segments;
–设置相对大一点,默认太小,防止频繁checkpoint
checkpoint_segments
30
(1 row)
postgres=# show checkpoint_timeout ;
checkpoint_timeout
5min
(1 row)
postgres=#