首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >postgres:重置pg_last_xact_replay_timestamp()

postgres:重置pg_last_xact_replay_timestamp()
EN

Database Administration用户
提问于 2021-09-14 18:28:20
回答 1查看 241关注 0票数 0

我们有一个pg10副本,它被提升为主程序,并且围绕下面的查询进行监视以监视复制

代码语言:javascript
复制
SELECT EXTRACT(EPOCH FROM (now() - pg_last_xact_replay_timestamp())) as lag

这很好,但是它得到了提升,而且它似乎还在那里,所以主主机现在似乎有400000个复制延迟。

因此,寻找一种删除该属性的方法,这样它就不存在了,或者报告为0

EN

回答 1

Database Administration用户

回答已采纳

发布于 2021-09-14 20:37:18

您可以使用pg_is_in_recovery ()函数来确定这个postgresql实例是主实例还是处于热备用模式。

可以将监视查询更改为

代码语言:javascript
复制
SELECT EXTRACT(EPOCH FROM (now() - pg_last_xact_replay_timestamp())) as lag
WHERE pg_is_in_recovery()

(缺少FROM子句不是错误,没有必要)

代码语言:javascript
复制
SELECT case when not pg_is_in_recovery() then 0 else
   EXTRACT(EPOCH FROM (now() - pg_last_xact_replay_timestamp()))
   end as lag

或者周围的东西。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/299580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档