レプリケーション
同期レプリケーションの設定、同期・非同期レプリケーションの自動切り換え、レプリケーション状態の表示を行います。
レプリケーションに関する操作はホットスタンバイの構築後に稼動系サーバのみで行います。 ホットスタンバイを構築していない場合には、「ホットスタンバイ」に従って稼動系サーバと待機系サーバの設定を行っておく必要があります。 また、待機系サーバではメインメニューに「レプリケーション」は表示されません。
レプリケーションに関する操作を行うにはメインメニューから「レプリケーション」を選択します。
設定
レプリケーションの設定を行います。
-
「設定」タブを選択します。
-
「非同期レプリケーション」または「同期レプリケーション」を選択します。
- 同期レプリケーション
-
同期レプリケーションでは、稼動系サーバは待機系サーバにデータ更新の差分が到着するまで待ちます。 従って、待機系サーバに障害が発生して応答が返ってこなくなると、稼動系サーバは応答を待ち続けてデータ更新が行えない状態になります。
データ更新が行えない状態を回避するには、複数の同期スタンバイを設定しておき、同期スタンバイとして動作する待機系サーバから応答が返ってこなくなったら、別の待機系サーバを同期スタンバイに切り換えて同期レプリケーションを継続できるようにします。
もしくは、同期・非同期レプリケーションの自動切り換えを有効に設定しておき、同期スタンバイとして動作する待機系サーバから応答が返ってこなくなったら、非同期レプリケーションに切り換えてデータ更新が行えるようにします。
同期レプリケーションの詳細については「PostgreSQL ドキュメント」の「25.2.6. 同期レプリケーション」を参照してください。
-
「同期コミット」を選択します (非同期レプリケーションの場合のみ)。
「同期コミット」には、トランザクションのコミットを同期で行うかどうかを指定します。 「on」は同期、「local」はレプリケーションにおいて稼動系サーバのみ同期、「off」は非同期になります。 同期レプリケーションでは「同期コミット」は「on」に固定されています。
「同期コミット」を「off」に設定すると、コミットされたトランザクションが失われる可能性があります。 非同期レプリケーションでも「同期コミット」は「on」のまま運用することを推奨します。
「同期スタンバイ名」は synchronous_commit パラメータに対応しています。 詳細については「PostgreSQL ドキュメント」の「synchronous_commit」を参照してください。
-
「同期スタンバイ名」を入力します (同期レプリケーションの場合のみ)。
「同期スタンバイ名」には、同期スタンバイとして動作する待機系サーバのアプリケーション名を指定します。 アプリケーション名はサーバの登録時に指定したラベルです。 複数の同期スタンバイを設定する場合には、優先順位の高いものから順番にカンマ区切りで入力します。
「同期レプリケーション」を選択した際、接続中の待機系サーバが存在する場合には、そのアプリケーション名が入力されます。
「同期スタンバイ名」は synchronous_standby_names パラメータに対応しています。 詳細については「PostgreSQL ドキュメント」の「synchronous_standby_names」を参照してください。
-
同期・非同期レプリケーションの自動切り換えを有効に設定する場合には、「同期・非同期レプリケーションを自動的に切り換える」にチェックを入れます。
同期・非同期レプリケーションの自動切り換えを有効にする設定すると、「監視間隔」に指定した間隔で同期スタンバイとして動作する待機系サーバの状態を監視し、同期スタンバイの有無で同期・非同期レプリケーションの切り換えが行えるようになります。
-
変更した設定を保存するには「適用」ボタンを押します。
設定を反映するには設定の再読み込みを行う必要があります。
表示
レプリケーション状態の表示を行います。
-
「表示」タブを選択します。
-
稼動系サーバに接続中の待機系サーバのレプリケーション状態が表示されます。