我已经配置了两个PostgreSQL服务器,以便通过流进行热备份。
我如何配置它,以便当主服务器关闭时,从服务器将自动成为新的主服务器?
发布于 2014-04-10 02:06:35
故障转移--自动的或其他的--不是由PostgreSQL直接提供的。
您需要像瑞姆格这样的外部工具。
新发布的repmgr 2.0支持自动故障转移。但是,我建议您仔细考虑是否应该实际使用它。自动手动触发的故障转移通常要安全得多。
如果您确实选择使用自动故障转移,则应确保强制自动故障转移作为正常操作的一部分,以确保它在您的环境中确实有效。否则,这只是一种错误的安全感,当某件事情真的发生故障时,它可能会把整个系统弄得一团糟。
当然,您应该定期测试任何故障转移设置,但至少使用手动触发的故障转移,您知道会发生故障,并且准备好在出现问题时介入。
这不仅仅是提升服务器和将旧的主服务器重建为副本的问题。您还必须处理将客户端连接更改到新服务器(使用类似PgBouncer、PgPool或HAProxy)的需要。您还需要可靠地终止旧服务器,这样就不会产生分歧,因为这两台服务器都认为自己是主服务器,而且有些客户端也在给每个服务器写信。
在PostgreSQL文档和wiki中都有相当多的信息,所以我建议您从这里开始。
发布于 2019-01-15 14:31:08
在PostgreSQL 9.3+中,您还可以使用PAF。您的数据库启动/停止/升级将通过Pacemaker集群上的资源完成。
https://dba.stackexchange.com/questions/62894
复制相似问题