如果我已经将它们流式传输到备用服务器,我是否需要存档 postgres WAL 记录?

Do I need to archive postgres WAL records if I am already streaming them to a standby server?

我有一个 postgres 主节点,它正在将 WAL 记录流式传输到备用从节点。从数据库以只读模式运行,并拥有主节点上所有数据的副本。可以通过在 /tmp.

中创建一个 recovery.conf 文件来切换到 master。

在主节点上,我也在归档 WAL 记录。我只是想知道如果它们已经流式传输到从节点,是否有必要这样做?此时存档的 WAL 记录为 27GB。磁盘最终会填满。

备用服务器没有备份;它只会保护您免受主要硬件故障的影响。

试想一下,如果有人错误地删除了数据或丢失了 table,那么如果没有备份,您将无法从这个问题中恢复。

创建一个定期清理超过特定年龄的存档 WAL 的作业。

一旦你有了一个完整的备份,那么你就可以清除前面关联的 WAL 文件。 这个想法是为 PITR 保留 WAL 文件,以防您的服务器崩溃。

如果你的Primary server crash了,那你当然可以用你的hot-standby做primary,但是这个时候你得再建一个server(作为hot-standby)。通常您不想使用流式复制来构建它。

您将使用全量备份+wal备份搭建服务器,然后继续下一步,而不是依赖流复制。