PostgreSQLクラスターをセットアップしており、スタンバイプロモーションなどを処理するためにrepmgrを使用することを検討しています。
私たちのクラスターには1つのマスターとホットスタンバイがあり、PostgreSQL9.1のストリーミングレプリケーション機能を使用しています。
ストリーミングレプリケーションを使用しているため、スタンバイに障害が発生してもマスターへの書き込みは行われません。したがって、repmgr
を使用して、マスターに障害が発生したときにホットスタンバイをプロモートするだけでなく、repmgr
を使用してスタンバイに障害が発生したときにストリーミングレプリケーションを無効にします。
これを行う方法について何か提案はありますか?すべてのドキュメントは、マスターの障害を中心にしているようです。
ストリーミングレプリケーションを使用しているため、スタンバイに障害が発生してもマスターへの書き込みは行われません。
必ずしもそうではありません。これは、同期ストリーミングレプリケーションを設定する場合にのみ当てはまります。通常、マスターは自身のログファイルをディスクに書き込んだ直後に戻り、スレーブを待ちません。その後、スレーブが要求したときに複製されます。
synchronous_commit パラメーターを参照してください。
このためにrepmgrを使用する必要がある理由がわかりません。