5.11. ストリーミングレプリケーションのチェック

Pgpool-IIPostgreSQL 9.0から利用可能になったPostgreSQL組み込みのストリーミングレプリケーション機能と一緒に動作することができます。 ストリーミングレプリケーション向けにPgpool-IIを設定するには、master_slave_modeを有効にしてmaster_slave_sub_mode'stream'に設定します。

Pgpool-IIではストリーミングレプリケーションとHot Standbyを併用することを前提にしています。 すなわちスタンバイデータベースでは参照クエリのみを扱うことができます。

sr_check_period (integer)

ストリーミングレプリケーションの遅延チェックの間隔を秒単位で指定します。 デフォルト値は0で、これはチェックを行わないことを意味します

このパラメータはPgpool-IIの設定を再読み込みすることで変更可能です。

sr_check_user (string)

ストリーミングレプリケーションのチェックを行うPostgreSQLユーザ名を指定します。 このユーザは、すべてのバックエンドに存在しなければなりません。

注意: sr_check_usersr_check_passwordは、sr_check_periodが0(無効)であっても、プライマリサーバの特定に使用されます。

このパラメータはPgpool-IIの設定を再読み込みすることで変更可能です。

sr_check_password (string)

ストリーミングレプリケーションのチェックを行うsr_check_user PostgreSQLユーザのパスワードを指定します。 ユーザがパスワードが必要としなければ空文字('')を使用します。

sr_check_passwordが空白のままの場合、 Pgpool-IIは空のパスワードを使用する前にまずpool_passwdファイルからsr_check_userのパスワードを取得できるか試みます。

sr_check_passwordにAES256-CBCで暗号化されたパスワードも指定することができます。 AESで暗号化されたパスワードを指定するためには、パスワード文字列は暗号化(aes-256-cbcアルゴリズムを使用)およびbase64でエンコードした後、AESを接頭辞として付けなければいけません。

暗号化されていないクリアテキストパスワードを指定するためには、TEXTをパスワード文字列の前に付けます。 例えば、パスワードとしてmypassを設定したい場合、パスワードフィールドにTEXTmypassと指定すべきです。 有効な接頭辞がない場合、Pgpool-IIは平文のパスワードとして文字列を見なします。

正しくフォーマットされたAES暗号化パスワードをpg_encコマンドを使用して作成することもできます。

注意: Pgpool-IIは暗号化されたパスワードを使うために起動時に有効な復号鍵を要求します。 Pgpool-IIに復号鍵を提供する方法の詳細は項6.4.2を参照してください。

このパラメータはPgpool-IIの設定を再読み込みすることで変更可能です。

sr_check_database (string)

ストリーミングレプリケーションの遅延チェックを行うデータベース名を指定します。 デフォルトは「postgres」です。

このパラメータはPgpool-IIの設定を再読み込みすることで変更可能です。

delay_threshold (integer)

プライマリサーバに対するスタンバイサーバのレプリケーション遅延の許容度をWALバイト単位で指定します。 Pgpool-IIは、スタンバイサーバの遅延がこの設定レベルを超えた場合には、 load_balance_modeが有効であっても、プライマリに追いつくまでそのスタンバイノードにはSELECTクエリを送信せず、全てプライマリサーバに送るようにします。 このパラメータが0の場合は、遅延のチェックを行ないません。 この遅延閾値のチェックはsr_check_period毎に行われます。 デフォルト値は0です。

このパラメータはPgpool-IIの設定を再読み込みすることで変更可能です。

log_standby_delay (string)

レプリケーションの遅延状況をログ出力する条件を指定します。 以下の表にこのパラメータでとることができる値のリストを示します。 'none'を指定すると、ログを出力しません。 'always'ならレプリケーションの遅延チェックを実行するたびに必ず出力します。 'if_over_threshold'を指定すると、delay_thresholdを超えたときだけ ログが出力されます。 デフォルト値は'none'です。

表 5-9. スタンバイ遅延のログ出力オプション

説明
'none'スタンバイの遅延はログ出力されない
'always'レプリケーション遅延がチェックされる度に、スタンバイの遅延がログ出力される
'if_over_threshold'delay_thresholdの値を超えた時だけ、スタンバイの遅延がログ出力される

このパラメータはPgpool-IIの設定を再読み込みすることで変更可能です。