Jac*_*las 5 postgresql replication postgresql-9.3
Postgres从 9.0开始就有了流式复制,从 9.1 开始,可以使用pg_xlog_replay_pause()
和pg_xlog_replay_resume()
暂停和恢复流式 WAL 记录的应用程序。据我所知,没有内置的方法可以使 WAL 的应用程序故意滞后特定时间段(例如 24 小时)。
我是否错过了实现这一目标的内置方法,如果没有,我应该如何以其他方式实现它?
此外,另一个可以帮助“暂停”复制的配置选项是max_standby_streaming_delay
您可以根据所需时间的延迟和粒度将其设置为 -1 并打开/提交事务中的虚拟查询,或者将max_standby_streaming_delay设置为 24 小时,以便取消查询并恢复复制直到下一个查询!
(我必须将事务中的 DSS 样式查询隔离并集中到专用备用数据库 - 因此在滞后复制方面还没有实际经验)
您延迟复制的原因是什么?如果资源允许,维护 pg_basebackup 并定期传送/复制 WAL 文件,可能会提供对“oops”的更多控制:)