2017-03-10 12 views
0

私は現在、ログ配布レプリケーションでpostgresqlを使用しています。私はpostgresqlのフェールオーバーに対処するために、ペースメーカーのマスタ/スレーブリソースを使用します。"repmgr standby clone"とpg_rewindを使わずにマスターノードを降格することは可能ですか?

マスターを降格させる方法があるかどうかを尋ねていましたが、スタンバイとして設定し、 "repmgr standby clone"を使わずに同期をとってください.pg_rewindもそうではありません。

実際、古いマスターをすぐにマスター状態に戻して、 "repmgrスタンバイクローン"を回復するのに数分かかることがあります。これは長すぎます。

pg_rewindを使ってより速く同期することは可能ですが、wal_log_hintsを有効にすることを意味します。このオプションを使用すると、マスターのパフォーマンスが低下する恐れがあります。マスターは既に忙しいです。

私はデータディレクトリにrecovery.confのを書いてみる、マスターがうまくスレーブモードになっている、しかしそれは、上流持っていません。

[[email protected] 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

私はそれが十分に明確である希望します、私は実際にデータベース複製の初心者です。どんな助けもありがとう。

答えて

0

自分で解決策を見つけました。実際に元マスターは降格後に登録する必要があります。ノードが以前に登録されている場合は、--forceを使用する必要があります。

[[email protected] ] su - postgres -c "/usr/pgsql-9.5/bin/repmgr -f /var/lib/pgsql/repmgr/repmgr.conf standby register --force" 
関連する問題