プライマリサーバのpostgresql.confファイルに指定するパラメータの内容を以下に示します。
表A.1 postgresql.confファイルパラメータ | 設定値 | 説明 |
---|
wal_level | replicaまたはlogical | トランザクションログの出力レベルを指定します。 ロジカルデコーディングも使用する場合にはlogicalを指定します。 |
max_wal_senders | 2以上 | Mirroring Controllerのクラスタシステムを構築する場合は、2を指定します。 また、クラスタシステムに非同期スタンバイサーバを追加で接続する場合には、これらのスタンバイサーバからの同時接続数を加算してください。 |
synchronous_standby_names | 'スタンバイサーバ名' | スタンバイサーバを識別する任意の名前を半角シングルクォートで囲んで指定します。 Mirroring Controller起動中は、本パラメータを変更しないでください。 Mirroring Controllerが管理できるスタンバイサーバは1つであるため、本パラメータに複数の名前を指定しないでください。 |
hot_standby | on | スタンバイサーバ上で問い合わせを実行できるかどうかを指定します。 onを指定してください。 |
wal_keep_size | WALの保存サイズ(メガバイト) | 本パラメータの設定値を越える遅延が発生した場合、プライマリサーバはスタンバイサーバが今後必要とするWALセグメントを削除する可能性があります。 また、保守作業などでスタンバイサーバを停止させる場合、停止時間を考慮してWALセグメントが削除されない値を設定してください。 WALの保存サイズの見積もりの詳細は、“導入ガイド(サーバ編)”の“トランザクションログの容量の見積り”を参照してください。 |
wal_log_hints | on | スタンバイサーバの復旧時にpg_rewindコマンドを使用する場合には、本パラメータを設定するかまたはinitdbコマンド実行時にチェックサムを有効にしてください。 |
wal_sender_timeout | タイムアウト時間(ミリ秒数) | プライマリサーバ側でのトランザクションログの受信プロセス(walreceiver)が異常な状態になったと判断する時間を指定します。 指定値は、スタンバイサーバのpostgresql.confファイルに設定するwal_receiver_status_intervalパラメータの値より大きくする必要があります。 データベースプロセスの生死監視時間と合わせることで、異常と判断する時間を統一できます。 |
wal_receiver_timeout | タイムアウト時間(ミリ秒数) | スタンバイサーバ側でのトランザクションログの受信に異常が発生したと判断する時間を指定します。 データベースプロセスの生死監視時間と合わせることで、異常と判断する時間を統一できます。 |
archive_mode | on | アーカイブログモードを指定します。 |
archive_command | 'cmd /c ""インストールディレクトリ\\bin\\pgx_walcopy.cmd" "%p" "バックアップデータ格納先ディレクトリ\\archived_wal\\%f""' | トランザクションログを保存するコマンドと格納先パス名を指定します。 |
backup_destination | バックアップデータ格納先ディレクトリ名 | バックアップデータ格納先ディレクトリ名を指定します。 指定するディレクトリは、インスタンス管理者ユーザーのみがアクセスできるように権限を設定してください。 他のサーバのバックアップデータを使ってリカバリを正しく行うために、すべてのサーバで同じパスになるように指定してください。 |
listen_addresses | プライマリサーバのIPアドレス、ホスト名、または‘*’ | プライマリサーバのIPアドレスまたはホスト名を指定します。ログ転送用ネットワークに接続するIPアドレスまたは対応するホスト名を指定します。 指定内容は、クライアントアプリケーションからの接続を許可する場合にも使用されます。 任意のクライアントやスタンバイサーバからの受付を行う場合は、‘*’を指定することができます。 詳細は“PostgreSQL Documentation”の“Connections and Authentication”を参照してください。 |
max_connections | インスタンスへのクライアントの同時接続数+superuser_reserved_connectionsの値 | 指定値は、クライアントアプリケーションからの接続数とインスタンス管理のための接続数を制限するためにも使用されます。 詳細は、“導入ガイド(サーバ編)”の“initdbコマンドでインスタンスを作成した場合”、および、“PostgreSQL Documentation”の“Connections and Authentication”を参照してください。 |
superuser_reserved_connections | mc_ctl statusの同時実行数(注)+2を加算 | データベーススーパーユーザーからの接続のために予約されている接続数を指定します。 Mirroring Controllerプロセスからの接続数を加算します。また、加算した値はmax_connectionsパラメータにも反映してください。 |
restart_after_crash | off | restart_after_crash パラメータにonを指定またはデフォルトの場合、一部のサーバプロセスがダウンした際に、クラッシュリカバリを含めたEnterprise Postgresの再起動に相当する動作が行われます。 しかし、データベース多重化運用による監視の機能で一部のサーバプロセスがダウンした時点で異常を検知してフェイルオーバが発生し、再起動途中のサーバプロセスが強制停止されます。このような意味なく再起動して途中でキャンセルされるという複雑な動作を抑止するためにoffを設定します。 |
synchronous_commit | onまたはremote_apply | トランザクションのコミット処理がクライアントに正常終了の応答を返す前に、スタンバイサーバへのWAL送信をどこまで行うかを指定します。 切り替えや切り替え直後のOSやサーバのダウンからのデータ損失を防ぐために、onまたはremote_applyを推奨します。 |
recovery_target_timeline | latest | 切り替え発生時に、新スタンバイサーバ(旧プライマリサーバ)が新プライマリサーバに追随するために、latestを指定します。 本パラメータの指定は、プライマリサーバの切り替え後、旧プライマリサーバを新しくスタンバイサーバとして組み込む時に必要です。 |
注) mc_ctlコマンドのstatusモードでの同時実行数です。