是否可以在不使用“repmgr standby clone”和pg_rewind

时间:2017-03-10 08:24:46

标签: clone postgresql-9.5 standby pacemaker repmgr

我目前正在使用带有日志传送复制的postgresql。我使用心脏起搏器的主/从资源来处理postgresql故障转移。

我问是否有办法降级主人,将其设置为待机状态并保持同步,而不使用“repmgr standby clone”和pg_rewind。

事实上,我希望旧主人能够快速回到主状态,“repmgr待机克隆”需要几分钟才能恢复,这太长了。

我看到可以使用pg_rewind更快地进行同步,但这意味着启用了wal_log_hints,我担心这个选项会降低主人的性能。主人已经太忙了。

我尝试在数据目录中编写recovery.conf,master已经很好地转向slave模式,但它没有上游:

[root@bkm-01 httpd]# su - postgres -c "/usr/pgsql-9.5/bin/repmgr -f /var/lib/pgsql/repmgr/repmgr.conf cluster show" Role | Name | Upstream | Connection String ----------+--------|----------|-------------------------------------- * master | node-02 | | host=node-02 user=repmgr dbname=repmgr standby | node-01 | | host=node-01 user=repmgr dbname=repmgr

我希望它足够清楚,我实际上是数据库复制的新手。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我自己找到了解决方案。事实上,前大师只需要在降级后进行注册。如果先前已注册节点,则应使用--force。

[root@node-01 ] su - postgres -c "/usr/pgsql-9.5/bin/repmgr -f /var/lib/pgsql/repmgr/repmgr.conf standby register --force"