首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在postgresql中测量复制延迟

在postgresql中测量复制延迟
EN

Stack Overflow用户
提问于 2018-08-06 09:43:07
回答 2查看 1.8K关注 0票数 3

我正在尝试测量系统中的复制时间延迟。(postgresql 10.1)

我在查询中组合使用了pg_last_xact_timestamp()pg_last_receive_lsn()pg_last_replay_lsn()函数来检查延迟。

(以如何从this链接进行测量为例)

代码语言:javascript
复制
postgres=# SELECT now(), pg_last_wal_receive_lsn(), pg_last_wal_replay_lsn(), EXTRACT (EPOCH FROM now() - pg_last_xact_replay_timestamp())::INT;
               now                | pg_last_wal_receive_lsn | pg_last_wal_replay_lsn | date_part 
----------------------------------+-------------------------+------------------------+-----------
 2018-08-06 07:00:36.540959+05:30 | 4/99B84030              | 4/99B84030             |       223

从第2列和第3列可以看出,最后一个接收lsn和重放lsn是相同的,这意味着系统是同步的。但是我不能理解什么是pg_last_xact_replay_timestamp()。它如何找出以秒为单位的复制延迟。我是否使用了错误的方法来以秒为单位测量延迟?

EN

回答 2

Stack Overflow用户

发布于 2018-08-06 13:54:38

你是在说pg_last_xact_replay_timestamp吗?这为您提供了在备用服务器上重放的最后一个事务在主服务器上提交的时间。

如果您知道总是有一些活动正在被复制,那么这可以用来测量复制延迟。如果没有这样的活动,则无法根据该值判断复制延迟。

您可以通过定期调用txid_current()来确保始终存在活动,或者您可以以字节为单位测量复制延迟。

票数 1
EN

Stack Overflow用户

发布于 2021-03-24 07:52:05

如果你使用"repmgr“包,它会在后台运行一个守护进程并为你监控。

https://repmgr.org/docs/current/repmgrd-monitoring.html

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

https://stackoverflow.com/questions/51699620

复制
相关文章

相似问题

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