小编Tob*_*ale的帖子

为什么 pg_last_xact_replay_timestamp() 有时会返回非常旧的时间戳?

在 PostgreSQL 9.5 中,为了监控流复制延迟,我使用了以下组合:

  • pg_current_xlog_location()
  • pg_last_xlog_replay_location()
  • pg_last_xact_replay_timestamp()

前两个函数用于确定主备之间是否存在任何滞后。如果有一些滞后,那么我确定它:

select now() - pg_last_xact_replay_timestamp();
Run Code Online (Sandbox Code Playgroud)

大多数情况下,它返回合理的数量——几秒到几分钟的滞后。但是,该语句偶尔会返回不太可能的大值。几天的滞后。

我们的系统中没有任何交易运行那么长时间,甚至没有关闭。

谁能建议这里发生了什么?

postgresql replication monitoring

6
推荐指数
1
解决办法
2308
查看次数

标签 统计

monitoring ×1

postgresql ×1

replication ×1