ページの先頭行へ戻る
Enterprise Postgres 15 クラスタ運用ガイド(データベース多重化編)

2.5.1 スタンバイサーバのデータベース多重化運用のセットアップ

スタンバイサーバのデータベース多重化運用のセットアップについて、説明します。

データベース多重化機能では、動作に必要なファイルをMirroring Controller管理ディレクトリで管理します。

1つのインスタンスに対して1つのMirroring Controller管理ディレクトリが対応します。

注意

  • Mirroring Controller管理ディレクトリは、Fujitsu Enterprise Postgresが管理するディレクトリとともに誤って削除されたり、Fujitsu Enterprise Postgresのリカバリとともに古いファイルに戻されたりすることがないようにFujitsu Enterprise Postgresが管理するディレクトリ配下に配置しないでください。

  • 大きなデータベースのスタンバイサーバを作成するときには、業務システムの運用を停止するか、wal_keep_sizeパラメータに大きい値を指定するか、またはレプリケーションスロットを使用してください。

    pg_basebackupコマンドでスタンバイサーバを構築してから起動するまでに発生したWALはプライマリサーバで保持される必要がありますが、保持できるWALセグメントの数がwal_keep_sizeパラメータで制約されるためです。

    また、wal_keep_sizeパラメータの設定には、データベース多重化運用を安定化させるために考慮することがあります。詳細は、“2.11.1 データベース多重化運用を安定させるためのチューニング”を参照してください。

参照

  • Fujitsu Enterprise Postgresが管理するディレクトリの詳細は、“導入ガイド(サーバ編)”の“セットアップ”の“資源配置用のディレクトリの準備”を参照してください。

  • pg_basebackupコマンドの詳細については、“PostgreSQL Documentation”の“Reference”の“pg_basebackup”を参照してください。

  • mc_ctlコマンドの詳細は、“リファレンス”を参照してください。

  • セットアップで編集する各パラメータの詳細については、“付録A パラメータ”を参照してください。

  • レプリケーションスロットの詳細は“PostgreSQL Documentation”の“Replication Slots”を参照してください。

以下の手順で行います。

  1. スタンバイサーバにログインします。

  2. データベース多重化機能で必要なファイルを格納するMirroring Controller管理ディレクトリを作成します。

    Mirroring Controller管理ディレクトリは、ASCII文字で指定してください。

    また、インスタンス管理者ユーザーに対する書き込み権限を付与してください。

  3. プライマリサーバのnetwork.confファイルをコピーして配置します。

    プライマリサーバのセットアップで定義したnetwork.confファイルをコピーして、スタンバイサーバのMirroring Controller管理ディレクトリ配下に配置してください。

    インスタンス管理者ユーザーにのみ読み込み権限と書き込み権限を設定してください。インスタンス管理者ユーザー以外にアクセス権限が与えられていた場合には、mc_ctlコマンドは動作しません。これにより、インスタンス管理者ユーザー以外がMirroring Controllerを操作することを防止します。

    WebAdminのように/etc/servicesファイルを用いて空きポート番号を検索して使用するプログラムが存在するため、network.confファイルに指定したスタンバイサーバ側のポート番号を/etc/servicesファイルに登録してください。

    なお、サービス名は、任意の名前で登録してください。

  4. プライマリサーバのサーバ識別子.confファイルをコピーして配置します。

    プライマリサーバのセットアップで定義したサーバ識別子.confファイルをコピーして、スタンバイサーバのMirroring Controller管理ディレクトリ配下に配置します。

    インスタンス管理者ユーザーにのみ読み込み権限と書き込み権限を設定してください。インスタンス管理者ユーザー以外にアクセス権限が与えられていた場合には、mc_ctlコマンドは動作しません。