gpt4 book ai didi

postgresql - 找不到 wal 备份文件

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

我有两台服务器,一个主服务器和一个副本服务器,它们以异步复制模式协同工作;从服务器似乎工作正常,因为主服务器中的任何更改都会立即反射(reflect)到从服务器中。此外,还有一个归档过程,将 wal 文件从 master 复制到另一个文件系统以保证它们的安全。我的疑问是,我可以通过pg_archivecleanup 删除哪些wal 文件?我想我需要在 master 中查找扩展名为 .backup 的 wal 文件,然后我可以删除比上次备份更早的 wal 文件。

例如,如果我在主服务器中有这些文件

000000010000000000000089
000000010000000000000088.00000028.backup
000000010000000000000088
000000010000000000000087
000000010000000000000086
...

我得出的结论是,删除 000000010000000000000088 和旧文件并保留最新文件是安全的。

问题是我在任何地方都找不到 .backup 文件:既不在主文件中,也不在副本中,也不在存档位置。

最佳答案

如果您使用pg_basebackup 或类似 执行在线备份并且您使用*.backup 文件创建archive_command

在这种情况下,您可以使用 pg_archivecleanup 将这样的文件作为参数来自动删除所有早于该备份的 WAL 存档。

您要么使用不同的备份方法 (pg_dump?),要么您没有使用 archive_command

使用pg_dump 你不能做存档恢复,所以你根本不需要存档 WAL。如果您使用不同的存档方法,如 pg_receivewal,您将不会获得 *.backup 文件,您必须考虑使用不同的方法来删除旧的 WAL 存档.

清除旧 WAL 文件的一种简单方法是简单地删除所有早于保留时间的文件。

关于postgresql - 找不到 wal 备份文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57861887/

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