web-dev-qa-db-ja.com

障害が発生したノードをrepmgrクラスターから削除する

障害が発生したノードをPostgreSQLクラスターから削除するにはどうすればよいですか?

postgres@db-prod-ms47ox-10-3-104-92:~$ repmgr -f /etc/repmgr/repmgr.conf cluster show
Role      | Connection String
* master  | Host=db-prod-ms47ox-10-3-105-192.vandelay.io
  standby | Host=db-prod-ms47ox-10-3-104-92.vandelay.io
  FAILED  | Host=db-prod-lu8spc-10-3-104-145.vandelay.io

ランニング repmgr cluster cleanupはこのノードを削除せず、新しいノードをクラスターに追加できないようです。

これは、repmgr 2.0およびpostgres 9.1での機能です。

3
mjallday

https://groups.google.com/forum/#!topic/repmgr/R7osmnYLn4g に記載されているように:

おそらくUNREGISTERコマンドが必要です。今のところ... repl_nodesからエントリを削除してください

これは、repmgrで使用されるのと同じ接続詳細でマスターノードにアクセスし、以下を発行することで行われます。

DELETE FROM repmgr_<cluster name>.repl_nodes WHERE name = '<name>';
3
S19N