gre*_*ons 7 postgresql replication log-shipping
我们有一个相当简单的设置来从我们的本地主 PostgreSQL 数据库复制到我们在 AWS 中的表示层。我们正在使用 WAL 运输archive_command
设置。基本上设置如下所示:
+-------------+
| Master |
+-------------+
WAL |
segments |
\|/ +--------------+
+-------------+ WAL +-+------------+ |
| |----------->| Hot Standby | |
| S3 | segments | Slaves | |
| | | |-+
+-------------+ +--------------+
Run Code Online (Sandbox Code Playgroud)
这种设置似乎通常相当健壮,但我还没有想出一种检测故障的好方法,无论是主站未能向上推档案,还是从站或从站未能检索日志文件。什么是确定从站相对于主站是否是最新的好方法?确定 master 是否未能发送 WAL 文件的好方法是什么?
澄清一下,我们严格将奴隶用作只读副本,我们永远不会故障转移到它们。
这里有几个方法:
pg_current_xlog_location()
在主服务器pg_last_xlog_replay_location()
上与备用服务器上进行比较。这会给你以字节为单位的延迟,这对于警报可能不是很有用,但绘制它可能很有用。pg_last_xact_replay_timestamp()
根据当前时间监视备用数据库。pg_last_xact_replay_timestamp()
可用之前的做法。 归档时间: |
|
查看次数: |
1158 次 |
最近记录: |