我需要一些帮助来了解如何使用存档的 WAL 文件以及何时可以清理它们。
目前我们有一个主数据库复制到从属数据库,但我们的主数据库服务器经常会因为使用archive_commandbuild up归档的文件而耗尽磁盘空间,我们必须手动删除它们。如果我们必须手动删除旧的存档 WAL 文件,我觉得我们错过了一些东西,因为文件系统磁盘空间不足...
话虽如此,我不确定我对复制过程的了解足以开始删除文件并确信我没有搞砸任何事情。我们的从站是使用由创建的归档文件archive_command还是仅依赖$PG_DATA/pg_xlog目录中的文件来与主站保持一致的状态?
如果是这种情况,并且我们从文档:pg_dump每六个小时做一次我们的主,我是否可以更新我们的备份脚本以清除开始时存在的所有存档文件pg_dump(pg_dump当然一旦完成)?
注意:pg_dump 和 pg_dumpall 不生成文件系统级备份,不能用作连续归档解决方案的一部分。此类转储是合乎逻辑的,并且不包含 WAL 重放所需的足够信息。
我只想确保无论我们如何清理存档文件,我们仍然拥有继续复制所需的内容,并且能够自上次基本备份以来执行 PITR。
我们的存档命令是cp %p /var/lib/postgresql/9.2/archive/%f,这里是我们recovery.conf从奴隶的文件:
standby_mode = 'on'
primary_conninfo = 'host=<ip-address> port=<port> user=rep password=<password> sslmode=require'
trigger_file = '/tmp/postgresql.trigger.5432'
Run Code Online (Sandbox Code Playgroud)