ストリーミングレプリケーションの設定

レプリケーションシナリオの構成は複雑になる場合があります。構成オプションの詳細については、次のURLで入手可能なPostgreSQLコアドキュメントを参照してください。

https://www.postgresql.org/docs/12/static/warm-standby.html#streaming-replication

レプリケーションユーザーのmd5認証を有効にするために .pgpass ファイルを使用したい場合があります。これは、環境にとって最も安全な認証方法である場合とそうでない場合があります。サポートされている認証オプションの詳細については、次のPostgreSQLコアドキュメントを参照してください。

https://www.postgresql.org/docs/12/static/client-authentication.html

カスケード複製の限定サポート

フェールオーバーマネージャーはカスケードレプリケーションを完全にはサポートしていませんが、カスケードレプリケーションシナリオでは単純なフェールオーバーを限定的にサポートしています。カスケード複製により、スタンバイノードが別のスタンバイノードにストリーミングできるため、マスターノードへの接続数(および処理オーバーヘッド)が削減されます。

cascading replication

カスケード複製。

カスケードレプリケーションの構成の詳細については、次のPostgreSQLドキュメントを参照してください。

https://www.postgresql.org/docs/12/static/warm-standby.html#cascading-replication

カスケードレプリケーションシナリオでフェールオーバーマネージャーを使用するには、クラスタープロパティファイルを変更して、スタンバイノード#2で次のプロパティ値を設定する必要があります。

promotable=false
auto.reconfigure=false

フェールオーバーが発生すると、スタンバイノード#1がマスターノードの役割に昇格します。フェールオーバーが発生した場合、スタンバイノード#2は、3つのノードを含むようにレプリケーションシナリオを手動で再構成するアクションを実行するまで、新しいマスターノードの読み取り専用レプリカとして機能し続けます。

スタンバイノード#1に障害が発生した場合、フェールオーバー保護はありませんが、ノードの障害を通知する電子メールが届きます。

スイッチオーバーを実行して元のマスターに戻すと、カスケード複製シナリオが保持されない場合があることに注意してください。