gpt4 book ai didi

postgresql - pg_archivecleanup 和流复制

转载 作者:行者123 更新时间:2023-11-29 12:11:25 26 4
gpt4 key购买 nike

使用 postgres 9.3。

我对 pg_archivecleanup 的正确用法有点困惑。

我正在使用流式复制和备份以及连续归档来进行 PITR 恢复。

我认为我无法在备用服务器上的 recovery.conf 中配置 pg_archivecleanup,因为它不会实现任何目标。主数据库未归档到备用数据库可访问的位置。 master 正在归档到其本地磁盘上的某个位置,然后这些归档和关联的备份被 rsync 到一个大的备份磁盘。

因此,似乎解决方案是在主服务器上以“独立”模式运行 pg_archivecleanup,例如:

/usr/lib/postgresql/9.3/bin/pg_archivecleanup -d /archive 0000000100000010000000F0.00000028.backup

所以,我会做一个 cron 作业,对任何早于最新文件的 .backup 文件运行 pg_archivecleanup 命令,然后删除那些备份文件,只留下最新的文件。

我的理解和计划是否正确?

最佳答案

如果你想在最新的基础备份之后只保留 WAL 段,你只需在独立模式下为最新的 .backup 文件运行 pg_archivecleanup(而不是那些比最新的更旧的文件)。

但是您真的希望只有一个可用的备份吗?首先,您将无法恢复到上次备份之前的点。其次,为了以防万一(腐败等)进行一些备份是有意义的。

将段存档到本地磁盘然后在其他地方同步它们似乎很奇怪。为什么不将您的 rsync(然后同步以将操作系统缓冲区刷新到磁盘)放入 archive_command?这确保该段在到达目的地之前不会从 pg_xlog 中删除。

关于postgresql - pg_archivecleanup 和流复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32939674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com