PostgreSQL复制监控计算

4

我已经成功地运行了流复制,并希望在主节点和从节点之间进行监控。我知道可以在每个节点上获取两个值:

 master:    select pg_current_xlog_location()
 standby:   select pg_last_xlog_receive_location()

然而,我不确定该如何处理任一返回的十六进制值。这是以字节为单位的大小吗?如何计算差异?那么这种差异告诉了我什么呢?

谢谢

1个回答

4
如果pg_current_xlog_location()返回的值是64/A8EB6C20,那么你的xlog位置就是64A8EB6C20十六进制,这实际上是一个字节号。要计算差异,可以减去这两个值。(由于某些奇怪的历史原因,该序列中跳过了某些值,但只要进行相等比较,就不会出问题。)
在PostgreSQL 9.2中,可以使用函数pg_xlog_location_diff来完成所有这些工作。
这些数字表示预写日志流量。实际上,它大致上是您写入数据库的数据量。您需要运行应用程序并了解您的设置可以维护哪些值以及适当的滞后值。

谢谢Peter。那么,我应该从主机中减去从机吗?如果差异是500,那么我的理解是从机比主机慢500字节,这正确吗? - wsb3383

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接