10. ストリーミング・レプリケーション
10.2 レプリケーション環境の構築
10.2.4 recovery.conf
スレーブ・インスタンスはWAL情報を受信し、リカバリを行っている状態です。このた めデータベースのリカバリと同じように、データベース・クラスタ内にrecovery.confファ
イルを作成します。以下のパラメータを指定することができます。primary_slotnameパラ
メータはPostgreSQL 9.4から指定できます。
表 75 スレーブ・インスタンスのrecovery.conf
パラメータ 説明 設定 備考
standby_mode スタンバイ・モード on
primary_slotname 接続先スロット名 スロット名 9.4~
primary_conninfo 接続先インスタンス 接続情報
restore_command アーカイブ・リスト
アコマンド
scp コマンドによるアーカイ ブのコピー設定
recovery_target_timeline タイムライン設定 選択
min_recovery_apply_delay 遅延リカバリ設定 時間設定 9.4~
trigger_file トリガー・ファイル ファイル名
例 130 recovery.confの作成例
□ trigger_fileパラメータ
trigger_fileパラメータは必須ではありません。指定するとstartup processが5秒ごと
にファイルのチェックを行い、ファイルが存在するとスレーブ・インスタンスがマスター に昇格されます。
□ primary_conninfoパラメータ
primary_conninfoパラメータにはマスター・インスタンスに接続するための情報を記述
します。記述は「パラメータ名=値」をスペースで区切って複数記述することができます。
user句にはREPLICATION権限を持つユーザー名を指定します。
standby_mode = 'on'
primary_slotname = 'slot_1’
primary_conninfo = 'host=hostmstr1 port=5432 user=postgres password=secret application_name=stdby1'
restore_command = 'scp hostmstr1:/opt/PostgreSQL/9.4/arch/%f %p' recovery_target_timeline='latest'
表 76 primary_conninfoに指定できるパラメータ
パラメータ 説明 備考
service サービス名
user 接続ユーザー名
password 接続パスワード
connect_timeout 接続タイムアウト(秒)
dbname データベース名
host 接続ホスト名 マスター・インスタンスのホスト名
hostaddr 接続ホストIPアドレス
port 接続ポート番号
client_encoding クライアント文字コード
options オプション
application_name アプリケーション名 同期レプリケーションの場合
□ restore_commandパラメータ
リカバリに必要なアーカイブログ・ファイルを取得するためのコマンドを指定します。
スレーブ・インスタンスが長時間停止していた場合には、指定されたコマンドが実行され てリカバリに必要なアーカイブログ・ファイルを取得します。スレーブ・インスタンスが リモート・ホストで稼働している場合にはパスワードを必要としないscpコマンド等を使っ てファイルをコピーします。
%p パ ラ メ ー タ は {PGDATA}/pg_xlog/RECOVERYXLOG に 展 開 さ れ ま す 。
RECOVERYXLOG ファイルはコピーが完了すると、ファイル名が変更され、次いで
{PGDATA}/pg_xlog/archive_status/{WALFILE}.doneファイルが作成されます。