break;
// params added in 3.0
+ case 'pool_passwd':
case 'master_slave_sub_mode':
case 'delay_threshold':
case 'log_standby_delay':
$pgpoolConfigParam[$key]['type'] = 'B';
$pgpoolConfigParam[$key]['default'] = 'off';
+$key = 'pool_passwd';
+$pgpoolConfigParam[$key]['type'] = 'C';
+$pgpoolConfigParam[$key]['default'] = 'pool_passwd';
+$pgpoolConfigParam[$key]['regexp'] = $anyelse;
+
$key = 'authentication_timeout';
$pgpoolConfigParam[$key]['type'] = 'N';
$pgpoolConfigParam[$key]['default'] = 60;
'descPcp_socket_dir' => 'The socket directory pcp could connect',
'descPcp_timeout' => 'When there is no response in this time from client, it disconnects and stop',
'descPgpool2_hostname' => 'Pgpool2 server name where running on',
+ 'descPool_passwd' => 'File name of pool_passwd for md5 authentication',
'descPort' => 'The port number where pgpool is running on',
'descPrint_timestamp' => 'If true, timestamp is added to each log line',
'descRecovery_user' => 'PostgreSQL user name for online recovery',
'descPcp_socket_dir' => 'pcpがコネクションを受け付けるUnix domain socketディレクトリ',
'descPcp_timeout' => 'この時間内にクライアントから応答がない場合はコネクションを切断して終了',
'descPgpool2_hostname' => 'pgpool2 が動作しているホスト名',
+ 'descPool_passwd' => 'md5 認証で用いる認証ファイル',
'descPing_path' => 'ping コマンドのパス',
'descPort' => 'pgpoolがコネクションを受け付けるポート番号',
'descPrint_timestamp' => 'pgpoolのログにタイムスタンプを追加',
<tr><th class="category" colspan="2">Authentication</th></tr>
<tr>
<th id="ENABLE_POOL_HBA"><label>{$message.descEnable_pool_hba|escape}</label>
- <p>enable_pool_hba (bool) *</th>
+ <p>enable_pool_hba (bool)</th>
<td>
<p>
If true, use pool_hba.conf for client authentication.
</td>
</tr>
+ <tr>
+ <th id="POOL_PASSWD"><label>{$message.descPool_passwd|escape}</label>
+ <p>pool_passwd (string) *</th>
+ <td>
+ <p>
+ Specify the file name of pool_passwd for md5 authentication.
+ Default value is "pool_passwd". "" disables to read pool_passwd.
+ </p>
+ </td>
+ </tr>
+
<tr>
<th id="AUTHENTICATION_TIMEOUT"><label>{$message.descAuthentication_timeout|escape}</label>
- <p>authentication_timeout (integer) *</th>
+ <p>authentication_timeout (integer)</th>
<td>
<p>Specify the timeout for pgpool authentication. 0 disables the time out.
Default value is 60.
<tr>
<th><label>{$message.descSsl_key|escape}</label>
- <p id="SSL_KEY">ssl_key (string)</th>
+ <p id="SSL_KEY">ssl_key (string) *</th>
<td>
<p>
The path to the private key file to use for incoming frontend connections.
<tr>
<th><label>{$message.descSsl_cert|escape}</label>
- <p id="SSL_CERT">ssl_cert (string)</th>
+ <p id="SSL_CERT">ssl_cert (string) *</th>
<td>
<p>
The path to the public x509 certificate file to use for incoming
<tr>
<th id="SSL_CA_CERT"><label>{$message.descSsl_ca_cert|escape}</label>
- <p>ssl_ca_cert (string)</th>
+ <p>ssl_ca_cert (string) *</th>
<td>
</td>
</tr>
<tr>
<th id="SSL_CA_CERT_DIR"><label>{$message.descSsl_ca_cert_dir|escape}</label>
- <p>ssl_ca_cert_dir (string)</th>
+ <p>ssl_ca_cert_dir (string) *</th>
<td>
</td>
</tr>
<tbody>
<tr>
<th id="USE_WATCHDOG"><label>{$message.descUse_watchdog|escape}</label>
- <p>use_watchdog (bool)</th>
+ <p>use_watchdog (bool) *</th>
<td>
<p>If on, activates watchdog. Default is off. </p>
</td>
<tr>
<th id="TRUSTED_SERVERS"><label>{$message.descTrusted_servers|escape}</label>
- <p>trusted_servers (string)</th>
+ <p>trusted_servers (string) *</th>
<td>
<p>
The list of trusted servers to check the up stream connections.
<tr>
<th id="PING_PATH"><label>{$message.descPing_path|escape}</label>
- <p>ping_path (string)</th>
+ <p>ping_path (string) *</th>
<td>
<p>This parameter specifies a path of ping command for monitoring connection to the upper servers.
Set the only path such as "/bin". </p>
<tr>
<th id="WD_INTERVAL"><label>{$message.descWd_interval|escape}</label>
- <p>wd_interval (integer)</th>
+ <p>wd_interval (integer) *</th>
<td>
<p>This parameter specifies the interval between life checks of pgpool-II in second.
(A number greater than or equal to 1) </p>
<tr>
<th id="WD_LIFE_POINT"><label>{$message.descWd_life_point|escape}</label>
- <p>wd_life_point (string)</th>
+ <p>wd_life_point (string) *</th>
<td>
<p>The times to retry a failed life check of pgpool-II. (A number greater than or equal to 1) </p>
</td>
<tr>
<th id="WD_LIFECHECK_QUERY"><label>{$message.descWd_lifecheck_query|escape}</label>
- <p>wd_lifecheck_query (string)</th>
+ <p>wd_lifecheck_query (string) *</th>
<td>
<p>Actual query to check pgpool-II. Default is "SELECT 1".</p>
</td>
<tr>
<th id="DELEGATE_IP"><label>{$message.descDelegate_IP|escape}</label>
- <p>delegate_IP (string)</th>
+ <p>delegate_IP (string) *</th>
<td>
<p>Specifies the virtual IP address (VIP) of pgpool-II that is connected from client servers
(application servers etc.).
<tr>
<th id="IFCONFIG_PATH"><label>{$message.descIfconfig_path|escape}</label>
- <p>ifconfig_path (string)</th>
+ <p>ifconfig_path (string) *</th>
<td>
<p>This parameter specifies a path of a command to switch the IP address.
Set the only path such as "/sbin". </p>
<tr>
<th id="IF_UP_CMD"><label>{$message.descIf_up_cmd|escape}</label>
- <p>if_up_cmd (string)</th>
+ <p>if_up_cmd (string) *</th>
<td>
<p>This parameter specifies a command to bring up the virtual IP.
Set the command and parameters such as "ifconfig eth0:0 inet $_IP_$ netmask 255.255.255.0".
<tr>
<th id="IF_DOWN_CMD"><label>{$message.descIf_down_cmd|escape}</label>
- <p>if_down_cmd (string)</th>
+ <p>if_down_cmd (string) *</th>
<td>
<p>This parameter specifies a command to bring down the virtual IP.
Set the command and parameters such as "ifconfig eth0:0 down". </p>
<tr>
<th id="ARPING_PATH"><label>{$message.descArping_path|escape}</label>
- <p>arping_path (string)</th>
+ <p>arping_path (string) *</th>
<td>
<p>This parameter specifies a path of a command to send an ARP request after the virtual IP is switched.
Set the only path such as "/usr/sbin". </p>
<tr>
<th id="ARPING_CMD"><label>{$message.descArping_cmd|escape}</label>
- <p>arping_cmd (string)</th>
+ <p>arping_cmd (string) *</th>
<td>
<p>This parameter specifies a command to send an ARP request after the virtual IP is switched.
Set the command and parameters such as "arping -U $_IP_$ -w 1".
<tr>
<th id="WD_HOSTNAME"><label>{$message.descWd_hostname|escape}</label>
- <p>wd_hostname (string)</th>
+ <p>wd_hostname (string) *</th>
<td>
<p>Specifies the hostname or IP address for mutual monitoring of watchdog processes. </p>
</td>
<tr>
<th id="WD_PORT"><label>{$message.descWd_port|escape}</label>
- <p>wd_port (integer)</th>
+ <p>wd_port (integer) *</th>
<td>
<p>Specifies the port number for mutual monitoring of watchdog processes. </p>
</td>
<tr><th class="category" colspan="2">Authentication</th></tr>
<tr>
<th id="ENABLE_POOL_HBA"><label>{$message.descEnable_pool_hba|escape}</label>
- <p>enable_pool_hba</th>
+ <p>enable_pool_hba (bool)</th>
<td>
<p>true ならば、pool_hba.conf に従ってクライアント認証を行います。</p>
<p>デフォルト値は false です。</p>
</td>
</tr>
+ <tr>
+ <th id="POOL_PASSWD"><label>{$message.descPool_passwd|escape}</label>
+ <p>pool_passwd (string) *</th>
+ <td>
+ <p>md5 認証で用いる認証ファイルのファイル名を指定します。</p>
+ <p>デフォルト値は "pool_passwd" です。</p>
+ <p>空文字列("")を指定すると 認証ファイルの読込は無効になります。 </p>
+ </td>
+ </tr>
+
<tr>
<th id="AUTHENTICATION_TIMEOUT"><label>{$message.descAuthentication_timeout|escape}</label>
<p>authentication_timeout (integer)</th>
<tr>
<th><label>{$message.descSsl_key|escape}</label>
- <p id="SSL_KEY">ssl_key (string)</th>
+ <p id="SSL_KEY">ssl_key (string) *</th>
<td>
<p>
フロントエンドとの接続に使用するプライベートキーファイルのフルパスを指定します。
<tr>
<th><label>{$message.descSsl_cert|escape}</label>
- <p id="SSL_CERT">ssl_cert (string)</th>
+ <p id="SSL_CERT">ssl_cert (string) *</th>
<td>
<p>
フロントエンドとの接続に使用する公開x509証明書のフルパスを指定します。
<tr>
<th id="SSL_CA_CERT"><label>{$message.descSsl_ca_cert|escape}</label>
- <p>ssl_ca_cert (string)</th>
+ <p>ssl_ca_cert (string) *</th>
<td>
</td>
</tr>
<tr>
<th id="SSL_CA_CERT_DIR"><label>{$message.descSsl_ca_cert_dir|escape}</label>
- <p>ssl_ca_cert_dir (string)</th>
+ <p>ssl_ca_cert_dir (string) *</th>
<td>
</td>
</tr>
<tbody>
<tr>
<th id="USE_WATCHDOG"><label>{$message.descUse_watchdog|escape}</label>
- <p>use_watchdog (bool)</th>
+ <p>use_watchdog (bool) *</th>
<td>
<p>watchdog を有効にするには on にします。デフォルトは off です。</p>
</td>
<tr>
<th id="TRUSTED_SERVERS"><label>{$message.descTrusted_servers|escape}</label>
- <p>trusted_servers (string)</th>
+ <p>trusted_servers (string) *</th>
<td>
<p>上位接続を確認するための信頼できるサーバリストです。 ping の応答が得られる必要があります。
"hostA,hostB,hostC ..." のようにカンマで区切って複数のサーバを指定できます。</p>
<tr>
<th id="PING_PATH"><label>{$message.descPing_path|escape}</label>
- <p>ping_path (string)</th>
+ <p>ping_path (string) *</th>
<td>
<p>上位サーバへの接続監視に利用する ping コマンドのパスです。 "/bin" のようにパスだけを指定します。 </p>
</td>
<tr>
<th id="WD_INTERVAL"><label>{$message.descWd_interval|escape}</label>
- <p>wd_interval (integer)</th>
+ <p>wd_interval (integer) *</th>
<td>
<p>pgpool-II への生存監視の間隔(秒)です。 (1 以上の数値) </p>
</td>
<tr>
<th id="WD_LIFE_POINT"><label>{$message.descWd_life_point|escape}</label>
- <p>wd_life_point (string)</th>
+ <p>wd_life_point (string) *</th>
<td>
<p>pgpool-II の死活監視で応答が得られなかった場合のリトライ回数です。 (1 以上の数値) </p>
</td>
<tr>
<th id="WD_LIFECHECK_QUERY"><label>{$message.descWd_lifecheck_query|escape}</label>
- <p>wd_lifecheck_query (string)</th>
+ <p>wd_lifecheck_query (string) *</th>
<td>
<p>pgpool-II の死活監視のために発行されるクエリです。 デフォルトは "SELECT 1" です。</p>
</td>
<tr>
<th id="DELEGATE_IP"><label>{$message.descDelegate_IP|escape}</label>
- <p>delegate_IP (string)</th>
+ <p>delegate_IP (string) *</th>
<td>
<p>(アプリケーションサーバなど)外部からの接続される pgpool-II の仮想 IP アドレスです。
スタンバイからアクティブに切り替わる際、pgpool はこの仮想 IP を引き継ぎます。 </p>
<tr>
<th id="IFCONFIG_PATH"><label>{$message.descIfconfig_path|escape}</label>
- <p>ifconfig_path (string)</th>
+ <p>ifconfig_path (string) *</th>
<td>
<p>IP アドレス切り替えに利用するコマンドのパスです。 "/sbin" のようにパスだけを指定します。</p>
</td>
<tr>
<th id="IF_UP_CMD"><label>{$message.descIf_up_cmd|escape}</label>
- <p>if_up_cmd (string)</th>
+ <p>if_up_cmd (string) *</th>
<td>
<p>仮想 IP を起動するために実行するコマンドです。
"ifconfig eth0:0 inet $_IP_$ netmask 255.255.255.0" のようにコマンドとパラメータを指定します。
<tr>
<th id="IF_DOWN_CMD"><label>{$message.descIf_down_cmd|escape}</label>
- <p>if_down_cmd (string)</th>
+ <p>if_down_cmd (string) *</th>
<td>
<p>仮想IPを停止するために実行するコマンドです。
"ifconfig eth0:0 down" のようにコマンドとパラメータを指定します。</p>
<tr>
<th id="ARPING_PATH"><label>{$message.descArping_path|escape}</label>
- <p>arping_path (string)</th>
+ <p>arping_path (string) *</th>
<td>
<p>IP アドレス切り替え後に ARP リクエストを送信するコマンドのパスです。
"/usr/sbin" のようにパスだけを指定します。 </p>
<tr>
<th id="ARPING_CMD"><label>{$message.descArping_cmd|escape}</label>
- <p>arping_cmd (string)</th>
+ <p>arping_cmd (string) *</th>
<td>
<p>IPアドレス切り替え後にARPリクエストを送信するコマンドです。
"arping -U $_IP_$ -w 1" のようにコマンドとパラメータを指定します。
<tr>
<th id="WD_HOSTNAME"><label>{$message.descWd_hostname|escape}</label>
- <p>wd_hostname (string)</th>
+ <p>wd_hostname (string) *</th>
<td>
<p>watchdog プロセスが相互監視を受信する為のホスト名または IP アドレスです。 </p>
</td>
<tr>
<th id="WD_PORT"><label>{$message.descWd_port|escape}</label>
- <p>wd_port (integer)</th>
+ <p>wd_port (integer) *</th>
<td>
<p>watchdog プロセスが相互監視を受信する為のポート番号です。 </p>
</td>
{if $params.enable_pool_hba == 'on'}checked="checked"{/if} /></td>
</tr>
+ {if paramExists('pool_passwd')}
+ <tr>
+ <th{if isset($error.pool_passwd)} class="error"{/if}>
+ <label>{$message.descPool_passwd|escape}</label>
+ <br />pool_passwd (string) *</th>
+ <td><input type="text" name="pool_passwd" value="{$params.pool_passwd|escape}"/></td>
+ </tr>
+ {/if}
+
<tr>
<th{if isset($error.authentication_timeout)} class="error"{/if}>
<label>{$message.descAuthentication_timeout|escape}</label>
<tr>
<th{if isset($error.ssl)} class="error"{/if}>
<label>{$message.descSsl|escape}</label>
- <br />ssl (bool)</th>
+ <br />ssl (bool) *</th>
<td><input type="checkbox" name="ssl" id="ssl" value="true"
{if $params.ssl == 'on'} checked="checked"{/if} /></td>
</tr>
<tr>
<th{if isset($error.ssl_key)} class="error"{/if}>
<label>{$message.descSsl_key|escape}</label>
- <br />ssl_key (string)</th>
+ <br />ssl_key (string) *</th>
<td><input type="text" name="ssl_key" id="ssl_key" value="{$params.ssl_key|escape}" /></td>
</tr>
<tr>
<th{if isset($error.ssl_cert)} class="error"{/if}>
<label>{$message.descSsl_cert|escape}</label>
- <br />ssl_cert (string)</th>
+ <br />ssl_cert (string) *</th>
<td><input type="text" name="ssl_cert" id="ssl_cert" value="{$params.ssl_cert|escape}" /></td>
</tr>
<tr>
<th{if isset($error.ssl_ca_cert)} class="error"{/if}>
<label>{$message.descSsl_ca_cert|escape}</label>
- <br />ssl_ca_cert (string)</th>
+ <br />ssl_ca_cert (string) *</th>
<td><input type="text" name="ssl_ca_cert" id="ssl_ca_cert" value="{$params.ssl_ca_cert|escape}" /></td>
</tr>
<tr>
<th{if isset($error.ssl_ca_cert_dir)} class="error"{/if}>
<label>{$message.descSsl_ca_cert_dir|escape}</label>
- <br />ssl_ca_cert_dir (string)</th>
+ <br />ssl_ca_cert_dir (string) *</th>
<td><input type="text" name="ssl_ca_cert_dir" id="ssl_ca_cert_dir"
value="{$params.ssl_ca_cert_dir|escape}" /></td>
</tr>
<tr>
<th{if isset($error.connection_cache)} class="error"{/if}>
<label>{$message.descConnection_cache|escape}</label>
- <br />connection_cache (bool)*</th>
+ <br />connection_cache (bool) *</th>
<td><input type="checkbox" name="connection_cache"
id="connection_cache" value="true"
{if $params.connection_cache == 'on'}checked="checked"{/if} /></td>
</tbody>
</table>
- {if hasMemqcache()}
+ {if hasWatchdog()}
{* --------------------------------------------------------------------- *
* Watchdog *
* --------------------------------------------------------------------- *}
<tr>
<th{if isset($error.use_watchdog)} class="error"{/if}>
<label>{$message.descUse_watchdog|escape}</label>
- <br />use_watchdog (bool)</th>
+ <br />use_watchdog (bool) *</th>
<td colspan="2"><input type="checkbox" name="use_watchdog" id="use_watchdog" value="true"
{if $params.use_watchdog== 'on'}checked="checked"{/if} /></td>
</tr>
<tr>
<th{if isset($error.wd_interval)} class="error"{/if}>
<label>{$message.descWd_interval|escape}</label>
- <br />wd_interval (integer)</th>
+ <br />wd_interval (integer) *</th>
<td colspan="2"><input type="text" name="wd_interval" value="{$params.wd_interval|escape}"/></td>
</tr>
<tr>
<th{if isset($error.wd_life_point)} class="error"{/if}>
<label>{$message.descWd_life_point|escape}</label>
- <br />wd_life_point(integer)</th>
+ <br />wd_life_point(integer) *</th>
<td colspan="2"><input type="text" name="wd_life_point" value="{$params.wd_life_point|escape}"/></td>
</tr>
<tr>
<th{if isset($error.wd_lifecheck_query)} class="error"{/if}>
<label>{$message.descWd_lifecheck_query|escape}</label>
- <br />wd_lifecheck_query (string)</th>
+ <br />wd_lifecheck_query (string) *</th>
<td colspan="2"><input type="text" name="wd_lifecheck_query" value="{$params.wd_lifecheck_query|escape}"/></td>
</tr>
<tr>
<th{if isset($error.delegate_IP)} class="error"{/if}>
<label>{$message.descDelegate_IP|escape}</label>
- <br />delegate_IP (string)</th>
+ <br />delegate_IP (string) *</th>
<td colspan="2"><input type="text" name="delegate_IP" value="{$params.delegate_IP|escape}"/></td>
</tr>
<tr>
<th{if isset($error.ifconfig_path)} class="error"{/if}>
<label>{$message.descIfconfig_path|escape}</label>
- <br />ifconfig_path (string)</th>
+ <br />ifconfig_path (string) *</th>
<td colspan="2"><input type="text" name="ifconfig_path" value="{$params.ifconfig_path|escape}"/></td>
</tr>
<tr>
<th{if isset($error.if_up_cmd)} class="error"{/if}>
<label>{$message.descIf_up_cmd|escape}</label>
- <br />if_up_cmd (string)</th>
+ <br />if_up_cmd (string) *</th>
<td colspan="2"><input type="text" name="if_up_cmd" value="{$params.if_up_cmd|escape}"/></td>
</tr>
<tr>
<th{if isset($error.if_down_cmd)} class="error"{/if}>
<label>{$message.descIf_down_cmd|escape}</label>
- <br />if_down_cmd (string)</th>
+ <br />if_down_cmd (string) *</th>
<td colspan="2"><input type="text" name="if_down_cmd" value="{$params.if_down_cmd|escape}"/></td>
</tr>
<tr>
<th{if isset($error.arping_path)} class="error"{/if}>
<label>{$message.descArping_path|escape}</label>
- <br />arping_path (string)</th>
+ <br />arping_path (string) *</th>
<td colspan="2"><input type="text" name="arping_path" value="{$params.arping_path|escape}"/></td>
</tr>
<tr>
<th{if isset($error.arping_cmd)} class="error"{/if}>
<label>{$message.descArping_cmd|escape}</label>
- <br />arping_cmd (string)</th>
+ <br />arping_cmd (string) *</th>
<td colspan="2"><input type="text" name="arping_cmd" value="{$params.arping_cmd|escape}"/></td>
</tr>
<tr>
<th{if isset($error.wd_hostname)} class="error"{/if}>
<label>{$message.descWd_hostname|escape}</label>
- <br />wd_hostname (string)</th>
+ <br />wd_hostname (string) *</th>
<td colspan="2"><input type="text" name="wd_hostname" value="{$params.wd_hostname|escape}"/></td>
</tr>
<tr>
<th{if isset($error.wd_port)} class="error"{/if}>
<label>{$message.descWd_port|escape}</label>
- <br />wd_port (integer)</th>
+ <br />wd_port (integer) *</th>
<td colspan="2"><input type="text" name="wd_port" value="{$params.wd_port|escape}"/></td>
</tr>