Я использую repmgr и успешно переключился на резервный узел. Однако, когда я попытался восстановить неисправный главный узел, я обнаружил, что у меня есть два главных узла.
Я попытался повторно зарегистрировать резервный узел как резервный. Но я обнаружил, что когда repmgr проверяет режим узла, он обнаруживает, что он находится в режиме восстановления, и не разрешает его.
repmgr -f /var/lib/pgsql/repmgr/repmgr.conf cluster show
=> Role | Connection String
* master | host=<IP Address> user=repmgr dbname=my_db
* master | host=<IP Address> user=repmgr dbname=my_db
Узел 1
repmgr -f /var/lib/pgsql/repmgr/repmgr.conf --verbose master register --force
=> Opening configuration file: /var/lib/pgsql/repmgr/repmgr.conf
repmgr connecting to master database
repmgr connected to master, checking its state
finding node list for cluster 'my_cluster'
checking role of cluster node 'host=<IP Address> user=repmgr dbname=my_db'
There is a master already in cluster my_cluster
Node 2
============
repmgr -f /var/lib/pgsql/repmgr/repmgr.conf standby clone -h <master Node IP> --force
=> repmgr: directory "." exists but is not empty
Любой совет будет принят во внимание.
sudo repmgr -f /var/lib/pgsql/repmgr/repmgr.conf --verbose standby register --force
Теперь, когда я запускаюrepmgr -f /var/lib/pgsql/repmgr/repmgr.conf cluster show
, у меня есть главный и резервный узлы, как я и ожидал. - person pvawser   schedule 17.03.2014