Tob*_*ale 6 postgresql replication monitoring
在 PostgreSQL 9.5 中,为了监控流复制延迟,我使用了以下组合:
前两个函数用于确定主备之间是否存在任何滞后。如果有一些滞后,那么我确定它:
select now() - pg_last_xact_replay_timestamp();
Run Code Online (Sandbox Code Playgroud)
大多数情况下,它返回合理的数量——几秒到几分钟的滞后。但是,该语句偶尔会返回不太可能的大值。几天的滞后。
我们的系统中没有任何交易运行那么长时间,甚至没有关闭。
谁能建议这里发生了什么?
从未来回答这个问题 - 当我看到这个时,这意味着有一段时间没有对主(上游)数据库进行任何写入。
如果主服务器上没有最近的事务,则从服务器上也没有最近的事务可以重播,因此pg_last_xact_replay_timestamp()
只会报告上次写入主服务器的时间。
归档时间: |
|
查看次数: |
2308 次 |
最近记录: |