0

PostgreSql 9.1 有主从同步复制。假设master是机器A,slave是机器B。

如果 master 失败了,PostgreSQL 怎么知道什么时候让 slave 成为 master?如果从服务器错误地认为主服务器由于主服务器上的临时网络故障而导致客户端程序仍然可以联系主服务器,该怎么办。

而且,我的客户端程序如何知道新主机中的从机,更重要的是准备好接受写入。从站是否向客户端发送消息?

4

2 回答 2

0

检查repmgr,它的工作之一就是处理这个问题。

于 2012-11-15T11:04:42.510 回答
0

通常,您希望使用诸如 repmgr 或patoni 之类的促销管理系统。然后你想使用某种高可用性代理(可能是 pgbouncer 或 haproxy)来处理实际的抽象,这样你的应用程序就不需要知道哪个系统是主系统。

在回答您的问题时,这些系统中的大多数都使用心跳来确定是否存在问题。Patroni 退出 etcd 心跳。Repmgr 有自己的心跳检查。使用 Repmgr,您需要编写挂钩脚本来处理 stonith,等等。

于 2017-08-16T19:30:14.787 回答