archive_command
我在 postgresql.conf 中设置了一个简单的复制:
archive_command = 'rsync -a %p _postgresql@serverip:/var/postgresql/wal_archive/%f'
在副本出现故障之前,它运行了 2 年多。副本宕机后,存档命令反复失败,因此 master 上的 pg_xlog 文件从未被删除,并且 master 磁盘空间不足。
在我的用例中,副本很好,但并不那么重要。但是,确保 master 始终可用非常重要,因此我想使用一个存档命令,该命令会在 master 出现问题之前牺牲副本。
我目前走到了另一个极端,将 archive_command 更改为:
archive_command = 'rsync -a %p _postgresql@serverip:/var/postgresql/wal_archive/%f || true'
但这似乎也不理想,因为即使几秒钟的网络中断也可能导致复制失败。
理想情况下,我想将 更改为archive_command
尝试将 WAL 文件复制到副本一定次数的内容,如果失败,则放弃并删除 pg_xlog 文件。对新的有什么建议archive_command
吗?
(postgres 10.5)