diff options
author | Bo Peng | 2018-10-12 08:50:04 +0000 |
---|---|---|
committer | Bo Peng | 2018-10-12 08:50:04 +0000 |
commit | f5143af3f138adc7a3193b04bcfd73b6f5822d38 (patch) | |
tree | 61afd081b6ec00828e3bf2cf9ddda58c023b99ef | |
parent | 5a1d1a2a16d0a808c8b075553b56daf14620fa42 (diff) |
Add support to Pgpool-II 4.0.
Added parameters are:
- allow_clear_text_frontend_auth
- log_client_messages
- black_query_pattern_list
- disable_load_balance_on_write
- failover_on_backend_error
- detach_false_primary
Deleted parameters are:
- fail_over_on_backend_error
-rw-r--r-- | common.php | 17 | ||||
-rw-r--r-- | conf/pgmgt.conf.php | 2 | ||||
-rw-r--r-- | definePgpoolConfParam.php | 29 | ||||
-rw-r--r-- | install/checkParameter.php | 2 | ||||
-rw-r--r-- | lang/en.lang.php | 10 | ||||
-rw-r--r-- | lang/ja.lang.php | 6 | ||||
-rw-r--r-- | lang/zh_cn.lang.php | 8 | ||||
-rw-r--r-- | templates/pgconfig.tpl | 18 | ||||
-rw-r--r-- | version.php | 2 |
9 files changed, 87 insertions, 7 deletions
@@ -520,6 +520,16 @@ function paramExists($param) /* Add */ switch ($param) { + // params added in 4.0 + case 'allow_clear_text_frontend_auth': + case 'log_client_messages': + case 'black_query_pattern_list': + case 'disable_load_balance_on_write': + case 'failover_on_backend_error': + case 'detach_false_primary': + $add_version = 4.0; + break; + // params added in 3.7 case 'failover_when_quorum_exists': case 'failover_require_consensus': @@ -663,6 +673,11 @@ function paramExists($param) /* Delete */ switch ($param) { + // params deleted in 4.0 + case 'fail_over_on_backend_error': + $del_version = 4.0; + break; + // params deleted in 3.7 case 'debug_level': $del_version = 3.7; @@ -717,7 +732,7 @@ function paramExists($param) function versions() { - return array('3.7', '3.6', '3.5', '3.4', '3.3', '3.2', '3.1', '3.0', + return array('4.0', '3.7', '3.6', '3.5', '3.4', '3.3', '3.2', '3.1', '3.0', '2.3', '2.2', '2.1', '2.0'); } diff --git a/conf/pgmgt.conf.php b/conf/pgmgt.conf.php index 5122081..9df8b25 100644 --- a/conf/pgmgt.conf.php +++ b/conf/pgmgt.conf.php @@ -1,6 +1,6 @@ <?php define('_PGPOOL2_LANG', 'ja'); -define('_PGPOOL2_VERSION', '3.7'); +define('_PGPOOL2_VERSION', '4.0'); define('_PGPOOL2_CONFIG_FILE', '/etc/pgpool-II/pgpool.conf'); define('_PGPOOL2_PASSWORD_FILE', '/etc/pgpool-II/pcp.conf'); define('_PGPOOL2_COMMAND', '/usr/bin/pgpool'); diff --git a/definePgpoolConfParam.php b/definePgpoolConfParam.php index 049b388..0b59123 100644 --- a/definePgpoolConfParam.php +++ b/definePgpoolConfParam.php @@ -159,6 +159,10 @@ $pgpoolConfigParam[$key]['default'] = 60; $pgpoolConfigParam[$key]['min'] = 0; $pgpoolConfigParam[$key]['max'] = 10000; +$key = 'allow_clear_text_frontend_auth'; +$pgpoolConfigParam[$key]['type'] = 'B'; +$pgpoolConfigParam[$key]['default'] = 'off'; + # - SSL Connections - $key = 'ssl'; @@ -280,6 +284,10 @@ $key = 'log_per_node_statement'; $pgpoolConfigParam[$key]['type'] = 'B'; $pgpoolConfigParam[$key]['default'] = 'off'; +$key = 'log_client_messages'; +$pgpoolConfigParam[$key]['type'] = 'B'; +$pgpoolConfigParam[$key]['default'] = 'off'; + $key = 'log_standby_delay'; $pgpoolConfigParam[$key]['type'] = 'C'; $pgpoolConfigParam[$key]['default'] = 'none'; @@ -425,6 +433,12 @@ $pgpoolConfigParam[$key]['default'] = ''; $pgpoolConfigParam[$key]['regexp'] = $anyelse; $pgpoolConfigParam[$key]['parent'] = array('load_balance_mode' => 'on'); +$key = 'black_query_pattern_list'; +$pgpoolConfigParam[$key]['type'] = 'C'; +$pgpoolConfigParam[$key]['default'] = ''; +$pgpoolConfigParam[$key]['regexp'] = $anyelse; +$pgpoolConfigParam[$key]['parent'] = array('load_balance_mode' => 'on'); + $key = 'database_redirect_preference_list'; $pgpoolConfigParam[$key]['type'] = 'C'; $pgpoolConfigParam[$key]['default'] = ''; @@ -442,6 +456,13 @@ $pgpoolConfigParam[$key]['type'] = 'B'; $pgpoolConfigParam[$key]['default'] = 'off'; $pgpoolConfigParam[$key]['parent'] = array('load_balance_mode' => 'on'); +$key = 'disable_load_balance_on_write'; +$pgpoolConfigParam[$key]['type'] = 'C'; +$pgpoolConfigParam[$key]['default'] = 'transaction'; +$pgpoolConfigParam[$key]['select'] = array('transaction', 'off', 'trans_transaction', 'always'); +$pgpoolConfigParam[$key]['regexp'] = selectreg($pgpoolConfigParam[$key]['select']); +$pgpoolConfigParam[$key]['parent'] = array('load_balance_mode' => 'on'); + #------------------------------------------------------------------------------ # MASTER/SLAVE MODE #------------------------------------------------------------------------------ @@ -642,6 +663,14 @@ $key = 'fail_over_on_backend_error'; $pgpoolConfigParam[$key]['type'] = 'B'; $pgpoolConfigParam[$key]['default'] = 'on'; +$key = 'failover_on_backend_error'; +$pgpoolConfigParam[$key]['type'] = 'B'; +$pgpoolConfigParam[$key]['default'] = 'on'; + +$key = 'detach_false_primary'; +$pgpoolConfigParam[$key]['type'] = 'B'; +$pgpoolConfigParam[$key]['default'] = 'off'; + $key = 'search_primary_node_timeout'; $pgpoolConfigParam[$key]['type'] = 'N'; $pgpoolConfigParam[$key]['default'] = 300; diff --git a/install/checkParameter.php b/install/checkParameter.php index a7b6b50..8e3574d 100644 --- a/install/checkParameter.php +++ b/install/checkParameter.php @@ -481,7 +481,7 @@ else { function versions() { - return array('3.7', '3.6', '3.5', '3.4', '3.3', '3.2', '3.1', '3.0', + return array('4.0', '3.7', '3.6', '3.5', '3.4', '3.3', '3.2', '3.1', '3.0', '2.3', '2.2', '2.1', '2.0'); } diff --git a/lang/en.lang.php b/lang/en.lang.php index ba9d59a..b6500d1 100644 --- a/lang/en.lang.php +++ b/lang/en.lang.php @@ -27,6 +27,7 @@ $message = array( 'lang' => 'en', 'strLang' => 'English', + 'descAllow_clear_text_frontend_auth' => 'If on, allow the Pgpool-II to use clear-text-password authentication with frontend clients', 'descAllow_multiple_failover_requests_from_node' => 'If on, a single Pgpool-II node can cast multiple votes for the failover', 'descAllow_sql_comments' => 'If on, ignore SQL comments when judging if load balance or query cache is possible', 'descApp_name_redirect_preference_list' => '"application name:node id" pairs to specify the node id when the application is used', @@ -39,9 +40,9 @@ $message = array( 'descBackend_socket_dir' => 'The socket directory PostgreSQL could connect', 'descBackend_weight' => 'Load balance weight when pgpool is running in the state of load balance mode', 'descBackend_data_directory' => 'PostgreSQL database directory', - 'descDelegate_IP' => 'The virtual IP address (VIP) of pgpool-II ', 'descBlack_function_list' => 'Comma separated functions which write to database', 'descBlack_memqcache_table_list' => 'Comma separated list of table names not to be cached', + 'descBlack_query_pattern_list' => 'Semicolon separated list of SQL patterns not to be load balanced', 'descCheck_temp_table' => 'If on, enable temporary table check in SELECT statements', 'descCheck_unlogged_table' => 'If on, enable unlogged table check in SELECT statements.', 'descChild_life_time' => 'Life of an idle child process in seconds', @@ -55,9 +56,12 @@ $message = array( 'descConnection_life_time' => 'Life time for each idle connection in seconds', 'descConnect_timeout' => 'Timeout value in milliseconds before giving up connecting to backend using connect() system call', 'descDatabase_redirect_preference_list' => '"database name:node id" pairs to specify the node id when connecting to the database', + 'descDebug_level' => 'Debug message verbosity level', 'descDelay_threshold' => 'If the standby server delays more than delay_threshold, '. 'any query goes to the primary only', - 'descDebug_level' => 'Debug message verbosity level', + 'descDelegate_IP' => 'The virtual IP address (VIP) of pgpool-II ', + 'descDetach_false_primary' => 'If on, detach false primary node', + 'descDisable_load_balance_on_write' => 'Specify load balance behavior when write query is issued', 'descEnable_pool_hba' => 'Use host-based authentication', 'descEnable_query_cache' => 'Perform query cache', 'descFailover_command' => 'Command to execute when detaching a node', @@ -67,6 +71,7 @@ $message = array( 'descFailover_require_consensus' => 'If on, Pgpool-II will perform the degenerate/failover on a backend node if the watchdog quorum exists', 'descFailover_when_quorum_exists' => 'If on, Pgpool-II will perform the degenerate/failover on backend node if the quorum exists', 'descFail_over_on_backend_error' => 'Fail over when socket communication error to backend occurs', + 'descFailover_on_backend_error' => 'Fail over when socket communication error to backend occurs', 'descFollow_master_command' => 'Command to run only after a master failover', 'descHeartbeat_destination' => 'The destination of heartbeat signals. Specify by hostname or IP address.', 'descHeartbeat_destination_port' => 'The port number of the destination of heartbeat signals.', @@ -92,6 +97,7 @@ $message = array( 'descListen_backlog_multiplier' => 'The number of preforked pgpool-II server processes', 'descLoad_balance_mode' => 'Perform load balancing for SELECT', 'descLobj_lock_table' => 'Specifies table name lock used when rewriting lo_create in replication mode', + 'descLog_client_messages' => 'If true, print client messages to the log', 'descLog_connections' => 'If true, incoming connections will be printed to the log', 'descLog_destination' => 'Where to log', 'descLog_error_verbosity' => 'The amount of detail emitted for each message that is logged', diff --git a/lang/ja.lang.php b/lang/ja.lang.php index fe07894..f430ec1 100644 --- a/lang/ja.lang.php +++ b/lang/ja.lang.php @@ -27,6 +27,7 @@ $message = array( 'lang' => 'ja', 'strLang' => '日本語', + 'descAllow_clear_text_frontend_auth' => 'Pgpool-IIがフロントエンドクライアントとクリアテキストパスワード認証を許可', 'descAllow_multiple_failover_requests_from_node' => '単一のPgpool-IIノードが複数のフェイルオーバ投票ができるどうか', 'descAllow_sql_comments' => '負荷分散やクエリキャッシュができるかどうかの判定の際に、SQLコメントを無視するかどうか', 'descApp_name_redirect_preference_list' => 'アプリケーション名によって負荷分散をしたいノード番号を、"アプリケーション名:ノード番号"で指定', @@ -41,6 +42,7 @@ $message = array( 'descBackend_data_directory' => 'PostgreSQLサーバのデータベースディレクトリ', 'descBlack_function_list' => 'データベースに書き込みを行なうカンマ区切りの関数のリスト', 'descBlack_memqcache_table_list' => 'SELECT結果をキャッシュしたくないテーブル名のカンマ区切りのリスト', + 'descBlack_query_pattern_list' => '負荷分散を行わないセミコロン区切りのSQLパターンリスト', 'descCheck_temp_table' => '一時テーブルかどうかをチェック', 'descCheck_unlogged_table' => 'unloggedテーブルかどうかをチェック', 'descChild_life_time' => 'pgpoolの子プロセスの寿命', @@ -56,6 +58,8 @@ $message = array( 'descDebug_level' => 'デバッグメッセージの詳細レベル(0は無効)', 'descDelay_threshold' => '許容するスタンバイサーバの遅延(バイト)', 'descDelegate_IP' => '仮想 IP アドレス', + 'descDetach_false_primary' => '不正なプライマリを切り離すかどうか', + 'descDisable_load_balance_on_write' => '更新クエリが発行された時の負荷分散の振る舞いを指定', 'descEnable_pool_hba' => 'クライアント認証機能の有無', 'descEnable_query_cache' => 'クエリキャッシュ機能の有無', 'descFailover_command' => 'ノード切り離し時に起動するコマンド', @@ -64,6 +68,7 @@ $message = array( 'descFailover_require_consensus' => 'クォーラム投票によりフェイルオーバを実行するかどうか', 'descFailover_when_quorum_exists' => 'クォーラム機能によりフェイルオーバを実行するかどうか', 'descFail_over_on_backend_error' => 'DBノードへのソケット通信エラー時にフェイルオーバ', + 'descFailover_on_backend_error' => 'DBノードへのソケット通信エラー時にフェイルオーバ', 'descFollow_master_command' => 'マスタのフェイルオーバ後に実行するコマンド', 'descHeartbeat_destination' => 'ハートビート信号の送信先ホスト名または IP アドレス', 'descHeartbeat_destination_port' => 'ハートビート信号の送信先ポート番号', @@ -85,6 +90,7 @@ $message = array( 'descListen_backlog_multiplier' => 'フロントエンドからpgpool-IIへの接続待ち行列の長さ', 'descLoad_balance_mode' => 'レプリケーションモード時にSELECT文を各ノードにロードバランス', 'descLobj_lock_table' => 'ラージオブジェクトのレプリケーションでロック管理に使うためのテーブル名', + 'descLog_client_messages' => 'クライアントメッセージをログに出力', 'descLog_connections' => '受信した接続のログを出力', 'descLog_destination' => 'ログの出力先', 'descLog_error_verbosity' => '出力するログの詳細レベル', diff --git a/lang/zh_cn.lang.php b/lang/zh_cn.lang.php index 221940d..c6d6e7b 100644 --- a/lang/zh_cn.lang.php +++ b/lang/zh_cn.lang.php @@ -27,6 +27,7 @@ $message = array( 'lang' => 'zh_cn', 'strLang' => '简体中文', + 'descAllow_clear_text_frontend_auth' => 'Pgpool-II 允许与前端进行明文密码认证', 'descAllow_multiple_failover_requests_from_node' => '一个 Pgpool-II 节点是否能够投多个票', 'descAllow_sql_comments' => '在判断能否负载均衡和查询缓存时,是否忽略SQL注释', 'descApp_name_redirect_preference_list' => '对于想使用负载均衡功能的节点,用"数据库名:节点号"的形式指定', @@ -41,6 +42,7 @@ $message = array( 'descBackend_data_directory' => 'PostgreSQL 数据库目录', 'descBlack_function_list' => '用逗号分隔的有写操作的函数', 'descBlack_memqcache_table_list' => '指定一个以逗号分隔的表名的列表,用于使 SELECT 的结果不被缓存', + 'descBlack_query_pattern_list' => '不被负载均衡的用分号分隔的 SQL 列表', 'descCheck_temp_table' => '是否启用临时表检查', 'descCheck_unlogged_table' => '检查是否是unlogged表', 'descChild_life_time' => '空闲的子进程的生命期,单位为秒', @@ -56,6 +58,8 @@ $message = array( 'descDebug_level' => '调试信息的详细级别', 'descDelay_threshold' => '如果备用服务器的延迟超过了 delay_threshold ,任何查询都将只发送到主服务器', 'descDelegate_IP' => '虚拟 IP 地址', + 'descDetach_false_primary' => '是否切断不正确的主节点', + 'descDisable_load_balance_on_write' => '指定执行更新查询后的负载均衡的行为', 'descEnable_pool_hba' => '基于主机的认证', 'descEnable_query_cache' => '执行查询缓存', 'descFailover_command' => '断开一个节点时执行的命令', @@ -64,6 +68,7 @@ $message = array( 'descFailover_require_consensus' => '是否使用 quorum 投票来进行故障切换', 'descFailover_when_quorum_exists' => '是否使用 quorum 机制来进行故障切换', 'descFail_over_on_backend_error' => '与服务器发生套接字错误时进行故障切换', + 'descFailover_on_backend_error' => '与服务器发生套接字错误时进行故障切换', 'descFollow_master_command' => '在主节点发送故障切换后运行的命令', 'descHeartbeat_destination' => '心跳信号发送目标的 IP 地址或主机名', 'descHeartbeat_destination_port' => '心跳信号发送目标的端口号', @@ -85,7 +90,8 @@ $message = array( 'descListen_backlog_multiplier' => '前端程序连接 pgpool-II 的等待队列的长度', 'descLoad_balance_mode' => '为 SELECT 进行负载均衡', 'descLobj_lock_table' => '指定在复制模式中当重写 lo_create 时用于加锁的表名', - 'descLog_connections' => '如果为 true,进入的连接信息将被打印到日志中', + 'descLog_client_messages' => '如果为 true,前端信息将被写到日志中', + 'descLog_connections' => '如果为 true,进入的连接信息将被写到日志中', 'descLog_destination' => '记录日志的地方', 'descLog_error_verbosity' => '写到服务器日志里的消息的详细程度', 'descLog_hostname' => '如果为 true ,备机的主机名将能够用 ps 命令显示,且当 log_connections 为 true 的时候,将记录备机的主机名到日志中', diff --git a/templates/pgconfig.tpl b/templates/pgconfig.tpl index 6f23ac7..ea55777 100644 --- a/templates/pgconfig.tpl +++ b/templates/pgconfig.tpl @@ -101,6 +101,9 @@ {/if} {custom_tr_pgconfig param='authentication_timeout'} </tbody> + {if paramExists('pool_passwd')} + {custom_tr_pgconfig param='allow_clear_text_frontend_auth'} + {/if} {if paramExists('ssl')} <tbody id="tb_connection_ssl"> @@ -212,6 +215,9 @@ {if paramExists('log_per_node_statement')} {custom_tr_pgconfig param='log_per_node_statement'} {/if} + {if paramExists('log_client_messages')} + {custom_tr_pgconfig param='log_client_messages'} + {/if} {if paramExists('log_standby_delay')} {custom_tr_pgconfig param='log_standby_delay'} {/if} @@ -330,6 +336,9 @@ {if paramExists('black_function_list')} {custom_tr_pgconfig param='black_function_list'} {/if} + {if paramExists('black_query_pattern_list')} + {custom_tr_pgconfig param='black_query_pattern_list'} + {/if} {if paramExists('database_redirect_preference_list')} {custom_tr_pgconfig param='database_redirect_preference_list'} {/if} @@ -339,6 +348,9 @@ {if paramExists('allow_sql_comments')} {custom_tr_pgconfig param='allow_sql_comments'} {/if} + {if paramExists('disable_load_balance_on_write')} + {custom_tr_pgconfig param='disable_load_balance_on_write'} + {/if} </tbody> </table> @@ -514,6 +526,12 @@ {if paramExists('fail_over_on_backend_error')} {custom_tr_pgconfig param='fail_over_on_backend_error'} {/if} + {if paramExists('failover_on_backend_error')} + {custom_tr_pgconfig param='failover_on_backend_error'} + {/if} + {if paramExists('detach_false_primary')} + {custom_tr_pgconfig param='detach_false_primary'} + {/if} {if paramExists('search_primary_node_timeout')} {custom_tr_pgconfig param='search_primary_node_timeout'} {/if} diff --git a/version.php b/version.php index b543d11..3bd6848 100644 --- a/version.php +++ b/version.php @@ -23,6 +23,6 @@ * @version SVN: $Id$
*/
-$version = '3.7.1';
+$version = '4.0.0';
?>
|