我在2台Postgres 9.1服务器上进行了流式复制设置.除了archivecleanup之外,一切都还可以.在日志中它说:
sh: 1: pg_archivecleanup: not found 2013-11-19 09:17:37 GMT WARNING: archive_cleanup_command "pg_archivecleanup /var/lib /postgresql/9.1/wals/ %r": return code 32512
我可以看到pg_archivecleanup在/usr/lib/postgresql/9.1/bin中.
为什么Postgres不会看到这个?
如果您正在使用Postgres 9.1的
streaming replication,为什么还需要归档清理?
我建议以下替代你的整个情况:
>将您的日志段保留设置为合理的.
“明智”的一个很好的起点是设置wal_keep_segments以保持与之前保存在主存档中的大致相同数量的日志段.
您可以根据需要从那里进行调整.
>关闭服务器上的archive_mode.
流式复制不需要这样做,上面的(1)意味着如果需要,你将有足够的日志段来恢复.
>摆脱奴隶上recovery.conf中的pg_archivecleanup命令.
(因为您只是不需要流式复制.)
根据您的环境,您可以选择省略(2)(如果您真的需要除了复制之外的WAL存档),但在大多数情况下,您只有该存档,因此您无论如何都可以进行复制/日志传送.保存自己的磁盘I / O.