Yur*_*han 4 postgresql replication
在 4 个 Debian 8 Jessie 服务器上,我有 PostgreSQL 9.4.3 master + 3 slaves。在 master 上的大量数据更改后,slave 日志显示此错误:
LOG: started streaming WAL from primary at 182/0 on timeline 1
FATAL: could not receive data from WAL stream: ERROR: requested WAL segment 000000010000018200000000 has already been removed
我需要哪些步骤来恢复/重建从站?
如果您设置了一个archive_command
并将 WAL 段保存在其他地方,则只需在 WAL 存档restore_command
中的recovery.conf
每个辅助节点上指向一个,它们就会抓取下一个需要的段并继续愉快地进行。
如果您没有设置archive_command
,则需要pg_basebackup
在每个辅助节点上设置 ,因为没有那个 WAL 段,它们永远无法赶上。由于您使用的是 9.4,我建议还设置一个复制槽,这将阻止主服务器回收流副本所需的 WAL 段。
您可以在复制槽文档中找到更多相关信息。
否则,您需要有一个archive_command
将 WAL 保存在其他地方以赶上的集合,或者您需要wal_keep_segments
在主服务器上进行足够高的调整,使其不会在系统负载过重的情况下回收文件。
连续存档和时间点恢复文档中介绍了archive_command
在您的设置中的设置。postgresql.conf
异地复制问题和如何解决这些问题中介绍了与您所处的情况类似的情况示例以及防止这种情况的潜在解决方案。
希望这些信息足以让您将副本恢复到工作状态。=)
归档时间: |
|
查看次数: |
9151 次 |
最近记录: |