是否可以在不使用 "repmgr standby clone" 和 pg_rewind 的情况下降级主节点

Is it possible to demote a master node without using "repmgr standby clone" and pg_rewind

我目前正在使用带有日志传送复制的 postgresql。我使用 pacemaker 的 master/slave 资源来处理 postgresql 故障转移。

我在问是否有办法降级主控,将其设置为备用并保持同步而不使用 "repmgr standby clone" 和 pg_rewind。

事实上,我希望老主人尽快准备好回到主人状态,"repmgr standby clone"需要几分钟才能恢复,这太长了。

我看到可以使用 pg_rewind 来加快同步速度,但这意味着要启用 wal_log_hints,我担心这个选项会降低主控的性能。主人已经很忙了

我试着把recovery.conf写在data目录下,master已经转成slave模式了,但是没有upstream:

[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

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

我自己找到了解决方案。事实上,前主人被降职后只需注册即可。 --force 如果节点先前已注册,则应使用。

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