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ユーザのパスワードを指定します。 ユーザがパスワードが必要としなければ空文字('')を使用します。

このパラメータは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)

レプリケーションの遅延状況をログ出力する条件を指定します。 以下の表にこのパラメータでとることができる値のリストを示します。

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

説明
'none'スタンバイの遅延はログ出力されない (デフォルト)
'always'スタンバイの遅延が0より大きければ、レプリケーション遅延がチェックされる度に、スタンバイの遅延がログ出力される
'if_over_threshold'delay_thresholdの値を超えた時だけ、スタンバイの遅延がログ出力される

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