我正在 PostgreSQL
(不是基于文件的日志传送)中设置Streaming replication
(9.1版)备用服务器。
将standby_mode
设置为'on'并将primary_conninfo
设置为正确的值,设置restore_command
或archive_cleanup_command
是重要的还是必须的?还有主服务器中的archive_command
吗?
尽管已经阅读the documentation,但我不太确定答案。
感谢。
编辑:
让我回答我自己的问题。在slave.conf文件中,该文件必须存在于slave中,restore_command
的注释表示:
# This parameter is *required* for an archive recovery, but optional
# for streaming replication.
总之,如果您的从属设备没有从主设备回退太多,则没有必要配置文件日志传送功能(存档,恢复,清理等)。
答案 0 :(得分:2)
您需要在主设备上设置archive_command
并在从设备上设置匹配的restore_command
。
流式复制系统的工作原理是将wal记录ID提供给从属设备,然后使用restore_command
获取它。因此,您必须在主服务器上使用某种archive_command
写入可通过从服务器上的restore_command
访问的存储设备。
archive_cleanup_command
是可选的,但强烈建议使用,因为wal存档会占用大量磁盘空间,并且可以非常快速地填满磁盘。