From: Yugo Nagata Date: Fri, 18 May 2012 04:57:43 +0000 (+0900) Subject: Add new parameters in pgpool-II 3.2 X-Git-Tag: V3_2_1~36 X-Git-Url: http://waps.l3s.uni-hannover.de/gitweb/?a=commitdiff_plain;h=7bd32decdaa4f624bdca9348e36107b18c12b879;p=pgpooladmin.git Add new parameters in pgpool-II 3.2 - for Helth Check: helth_check_password, health_check_max_retries, helth_check_retry_delay - for On Memory Query Cache: memory_cache_enabled, memqcache_method, memqcache_memcached_host, memqcache_memcached_port, memqcache_total_size, memqcache_max_num_cache, memqcache_expire, memqcache_quto_cache_invalidation, memqcache_maxcache, memqcache_cache_block_size, memqcache_oiddir, white_memqcache_table_list, black_memqcache_table_list --- diff --git a/definePgpoolConfParam.php b/definePgpoolConfParam.php index 5496807..0f6437c 100644 --- a/definePgpoolConfParam.php +++ b/definePgpoolConfParam.php @@ -443,6 +443,23 @@ $pgpoolConfigParam[$key]['type'] = 'C'; $pgpoolConfigParam[$key]['default'] = 'nodoby'; $pgpoolConfigParam[$key]['regexp'] = $userreg; +$key = 'health_check_password'; +$pgpoolConfigParam[$key]['type'] = 'C'; +$pgpoolConfigParam[$key]['default'] = ''; +$pgpoolConfigParam[$key]['regexp'] = $anyelse; + +$key = 'health_check_max_retries'; +$pgpoolConfigParam[$key]['type'] = 'N'; +$pgpoolConfigParam[$key]['default'] = 0; +$pgpoolConfigParam[$key]['min'] = 0; +$pgpoolConfigParam[$key]['max'] = NUM_MAX; + +$key = 'health_check_retry_delay'; +$pgpoolConfigParam[$key]['type'] = 'N'; +$pgpoolConfigParam[$key]['default'] = 1; +$pgpoolConfigParam[$key]['min'] = 0; +$pgpoolConfigParam[$key]['max'] = NUM_MAX; + #------------------------------------------------------------------------------ # FAILOVER AND FAILBACK #----------------------------------------------------------------------------- @@ -497,6 +514,79 @@ $pgpoolConfigParam[$key]['default'] = 0; $pgpoolConfigParam[$key]['min'] = -1; $pgpoolConfigParam[$key]['max'] = NUM_MAX; +#------------------------------------------------------------------------------ +# ON MEMORY QUERY CACHE +#------------------------------------------------------------------------------ + +$key = 'memory_cache_enabled'; +$pgpoolConfigParam[$key]['type'] = 'B'; +$pgpoolConfigParam[$key]['default'] = 'off'; + +$key = 'memqcache_method'; +$pgpoolConfigParam[$key]['type'] = 'C'; +$pgpoolConfigParam[$key]['default'] = 'shmem'; +$pgpoolConfigParam[$key]['regexp'] = selectreg(array('shmem', 'memcached')); + +$key = 'memqcache_memcached_host'; +$pgpoolConfigParam[$key]['type'] = 'C'; +$pgpoolConfigParam[$key]['default'] = 'localhost'; +$pgpoolConfigParam[$key]['regexp'] = $hostreg; + +$key = 'memqcache_memcached_port'; +$pgpoolConfigParam[$key]['type'] = 'N'; +$pgpoolConfigParam[$key]['default'] = 11211; +$pgpoolConfigParam[$key]['max'] = NUM_MAX; +$pgpoolConfigParam[$key]['min'] = 1024; + +$key = 'memqcache_total_size'; +$pgpoolConfigParam[$key]['type'] = 'N'; +$pgpoolConfigParam[$key]['default'] = 67108864; +$pgpoolConfigParam[$key]['max'] = PHP_INT_MAX; +$pgpoolConfigParam[$key]['min'] = 0; + +$key = 'memqcache_max_num_cache'; +$pgpoolConfigParam[$key]['type'] = 'N'; +$pgpoolConfigParam[$key]['default'] = 1000000; +$pgpoolConfigParam[$key]['max'] = PHP_INT_MAX; +$pgpoolConfigParam[$key]['min'] = 0; + +$key = 'memqcache_expire'; +$pgpoolConfigParam[$key]['type'] = 'N'; +$pgpoolConfigParam[$key]['default'] = 0; +$pgpoolConfigParam[$key]['max'] = NUM_MAX; +$pgpoolConfigParam[$key]['min'] = 0; + +$key = 'memqcache_auto_cache_invalidation'; +$pgpoolConfigParam[$key]['type'] = 'B'; +$pgpoolConfigParam[$key]['default'] = 'on'; + +$key = 'memqcache_maxcache'; +$pgpoolConfigParam[$key]['type'] = 'N'; +$pgpoolConfigParam[$key]['default'] = 409600; +$pgpoolConfigParam[$key]['max'] = PHP_INT_MAX; +$pgpoolConfigParam[$key]['min'] = 0; + +$key = 'memqcache_cache_block_size'; +$pgpoolConfigParam[$key]['type'] = 'N'; +$pgpoolConfigParam[$key]['default'] = 1048576; +$pgpoolConfigParam[$key]['max'] = PHP_INT_MAX; +$pgpoolConfigParam[$key]['min'] = 0; + +$key = 'memqcache_oiddir'; +$pgpoolConfigParam[$key]['type'] = 'C'; +$pgpoolConfigParam[$key]['default'] = '/var/log/pgpool/oiddir'; +$pgpoolConfigParam[$key]['regexp'] = $dirreg; + +$key = 'white_memqcache_table_list'; +$pgpoolConfigParam[$key]['type'] = 'C'; +$pgpoolConfigParam[$key]['default'] = ''; +$pgpoolConfigParam[$key]['regexp'] = $anyelse; + +$key = 'black_memqcache_table_list'; +$pgpoolConfigParam[$key]['type'] = 'C'; +$pgpoolConfigParam[$key]['default'] = ''; +$pgpoolConfigParam[$key]['regexp'] = $anyelse; + #------------------------------------------------------------------------------ # OTHERS #------------------------------------------------------------------------------ diff --git a/lang/en.lang.php b/lang/en.lang.php index 0522d60..cde2290 100644 --- a/lang/en.lang.php +++ b/lang/en.lang.php @@ -35,6 +35,7 @@ $message = array( 'descBackend_weight' => 'Load balance weight when pgpool is running in the state of load balance mode', 'descBackend_data_directory' => 'PostgreSQL database directory', 'descBlack_function_list' => 'Comma separated functions which write to database', + 'descBlack_memqcache_table_list' => 'Comma separated list of table names not to be cached', 'descChild_life_time' => 'Life of an idle child process in seconds', 'descChild_max_connections' => 'If child_max_connections connections were received, child exits', 'descClient_idle_limit' => 'Timeout in seconds while waiting for a query from a client', @@ -58,6 +59,10 @@ $message = array( 'descHealth_check_timeout' => 'Pgpool does "health check" periodically to detect PostgreSQL servers down, '. 'network communication problems or as such', 'descHealth_check_user' => 'PostgreSQL user name for the health checking', + 'descHealth_check_password' => 'PostgreSQL password of the user to perform health checking', + 'descHealth_check_max_retries' => 'The maximum number of times to retry a failed health check before'. + ' giving up and initiating failover', + 'descHealth_check_retry_delay' => 'The amount of time (in seconds) to sleep between failed health check retries', 'descIgnore_leading_white_space' => 'If true, ignore leading white spaces of each query while pgpool judges '. 'if the query is a SELECT so that it can be load balanced', 'descInsert_lock' => ' If you replicate a table having SERIAL data type column, '. @@ -77,6 +82,18 @@ $message = array( 'descMaster_slave_mode' => 'Run in master/slave mode', 'descMaster_slave_sub_mode' => 'The way to replicare in Master/slave mode', 'descMax_pool' => 'Number of connection pools each pgpool server process are keeping', + 'descMemory_cache_enabled' => 'Perform on memory query cache', + 'descMemqcache_method' => 'Cache store method', + 'descMemqcache_memcached_host' => 'Memcached host name', + 'descMemqcache_memcached_port' => 'Memcached port number', + 'descMemqcache_total_size' => 'Total memory size in bytes for storing memory cache', + 'descMemqcache_max_num_cache' => 'Total number of cache entries', + 'descMemqcache_expire' => 'Memory cache entry life time specified in seconds. 0 means infinite life time', + 'descMemqcache_auto_cache_invalidation' => 'If true, invalidation of query cache is triggered'. + ' by corresponding DDL/DML/DCL', + 'descMemqcache_maxcache' => 'Maximum SELECT result size in bytes', + 'descMemqcache_cache_block_size' => 'Cache block size in bytes', + 'descMemqcache_oiddir' => 'Temporary work directory to record table OIDs', 'descNum_init_children' => 'Number of pgpool processes initially forked', 'descParallel_mode' => 'Run in parallel mode', 'descPcp_port' => 'The port number where pcp is running on', @@ -114,6 +131,7 @@ $message = array( 'descSystem_db_schema' => 'The schema name of system database', 'descSystem_db_user' => 'The username when connection system database', 'descWhite_function_list' => 'Comma separated functions those do not write to Database', + 'descWhite_memqcache_table_list' => 'Comma separated list of table names to be cached', 'errAlreadyExist' => 'It already exists.', 'errFileNotExecutable' => 'File not executable', diff --git a/lang/ja.lang.php b/lang/ja.lang.php index 0488899..692cd03 100644 --- a/lang/ja.lang.php +++ b/lang/ja.lang.php @@ -35,6 +35,7 @@ $message = array( 'descBackend_weight' => 'ロードバランスモード時のSELECTを振り分ける「重み」の定義', 'descBackend_data_directory' => 'PostgreSQLサーバのデータベースディレクトリ', 'descBlack_function_list' => 'データベースに書き込みを行なうカンマ区切りの関数のリスト', + 'descBlack_memqcache_table_list' => 'SELECT結果をキャッシュしたくないテーブル名のカンマ区切りのリスト', 'descChild_life_time' => 'pgpoolの子プロセスの寿命', 'descChild_max_connections' => '各pgpool子プロセスが終了するまでの接続回数', 'descClient_idle_limit' => 'クライアントからのクエリの最大待ち時間(秒)', @@ -53,6 +54,9 @@ $message = array( 'descHealth_check_period' => 'ヘルスチェックを行う間隔(秒)', 'descHealth_check_timeout' => 'ヘルスチェックが長時間待たされるのを防ぐためのタイムアウト値(秒)', 'descHealth_check_user' => 'ヘルスチェックを行うためのPostgreSQLユーザ名', + 'descHealth_check_password' => 'ヘルスチェックを行うためのPostgreSQLパスワード', + 'descHealth_check_max_retries' => 'ヘルスチェックに失敗した後にリトライする回数', + 'descHealth_check_retry_delay' => 'ヘルスチェックのリトライの間の間隔(秒)', 'descIgnore_leading_white_space' => 'load balance時のSQL文行頭の空白を無視', 'descInsert_lock' => 'INSERT時に自動的にトランザクションの開始,テーブルロック,トランザクションの終了', 'descListen_addresses' => 'TCP/IPコネクションを受け付けるアドレス', @@ -69,6 +73,18 @@ $message = array( 'descMaster_slave_mode' => 'マスタ/スレーブモードでpgpoolを運転', 'descMaster_slave_sub_mode' => 'マスタ/スレーブモードの伝播方法', 'descMax_pool' => 'pgpoolの各サーバプロセスがキープするPostgreSQLへの最大コネクション数', + 'descMemory_cache_enabled' => 'オンメモリクエリキャッシュの有効化', + 'descMemqcache_method' => 'キャッシュストレージ', + 'descMemqcache_memcached_host' => 'memcachedが動いているホスト名またはIPアドレス', + 'descMemqcache_memcached_port' => 'memcachedのポート番号', + 'descMemqcache_total_size' => 'キャッシュストレージに使用する共有メモリ領域のサイズ(バイト)', + 'descMemqcache_max_num_cache' => 'キャッシュエントリの数', + 'descMemqcache_expire' => 'クエリキャッシュの寿命(秒)。 0 は無限の寿命', + 'descMemqcache_auto_cache_invalidation' => '更新されたテーブルに関連するキャッシュを無効化', + 'descMemqcache_maxcache' => 'キャッシュされるSELECT実行結果の最大サイズ(バイト)', + 'descMemqcache_cache_block_size' => 'キャッシュブロックサイズ(バイト)', + 'descMemqcache_oiddir' => 'テーブルOIDを格納するディレクトリ', + 'descNum_init_children' => 'Number of pgpool processes initially forked', 'descNum_init_children' => 'preforkするpgpoolのサーバプロセス数', 'descParallel_mode' => 'パラレルモードでpgpoolを運転', 'descPcp_port' => 'pgpool-IIが受け付けているポート番号', @@ -107,6 +123,7 @@ $message = array( 'descSystem_db_schema' => 'System DBのスキーマ', 'descSystem_db_user' => 'System DBに接続するときのユーザ名', 'descWhite_function_list' => 'データベースに書き込みを行なわないカンマ区切りの関数のリスト', + 'descWhite_memqcache_table_list' => 'SELECT結果をキャッシュしたいテーブル名のカンマ区切りのリスト', 'errAlreadyExist' => 'すでに登録されています', 'errFileNotExecutable' => 'コマンドを実行できません', diff --git a/templates/pgconfig.tpl b/templates/pgconfig.tpl index 2b7c476..be8a9be 100644 --- a/templates/pgconfig.tpl +++ b/templates/pgconfig.tpl @@ -84,6 +84,7 @@ function cancelNode() {
  • Health Check
  • Failover and Failback
  • Online Recovery
  • +
  • On Memory Query Cache
  • Others
  • @@ -1231,6 +1232,36 @@ function cancelNode() { {/if} + + {if $error.health_check_password != null} + +
    health_check_password (string) + {else} + +
    health_check_password (string) + {/if} + + + + {if $error.health_check_max_retries != null} + +
    health_check_max_retries (integer) + {else} + +
    health_check_max_retries (integer) + {/if} + + + + {if $error.health_check_retry_delay != null} + +
    health_check_retry_delay (integer) + {else} + +
    health_check_retry_delay (integer) + {/if} + + @@ -1376,6 +1407,174 @@ function cancelNode() { + {* --------------------------------------------------------------------- * + * On Memory Query Cache * + * --------------------------------------------------------------------- *} +

    On Memory Query Cache

    + + + + + + + + + + + + + + + + {if $error.memory_cache_enabled != null} + + {else} + + {/if} + {if $params.memory_cache_enabled == 'on'} + + {else} + + {/if} + + + {if $error.memqcache_method != null} + + {else} + + {/if} + + + + + + {if $error.memqcache_memcached_host != null} + + {else} + + {/if} + + + + {if $error.memqcache_memcached_port != null} + + {else} + + {/if} + + + + + + {if $error.memqcache_total_size != null} + + {else} + + {/if} + + + + {if $error.memqcache_max_num_cache != null} + + {else} + + {/if} + + + + {if $error.memqcache_cache_block_size != null} + + {else} + + {/if} + + + + + + {if $error.memqcache_expire != null} + + {else} + + {/if} + + + + {if $error.memqcache_auto_cache_invalidation != null} + + {else} + + {/if} + {if $params.memqcache_auto_cache_invalidation == 'on'} + + {else} + + {/if} + + + {if $error.memqcache_maxcache != null} + + {else} + + {/if} + + + + {if $error.memqcache_oiddir != null} + + {else} + + {/if} + + + + {if $error.white_memqcache_table_list != null} + + {else} + + {/if} + + + + {if $error.black_memqcache_table_list != null} + + {else} + + {/if} + + + + +
    {$message.strParameter|escape}{$message.strValue|escape}
    +
    memory_cache_enabled
    +
    memory_cache_enabled
    +
    memqcache_method *

    memqcache_method *
    Memcached specific
    +
    memqcache_memcached_host (strign) *
    +
    memqcache_memcached_host (string) *
    +
    memqcache_memcached_port (integer) *
    +
    memqcache_memcached_port (integer) *
    Shared memory specific
    +
    memqcache_total_size (integer) *
    +
    memqcache_total_size (integer) *
    +
    memqcache_max_num_cache (integer) *
    +
    memqcache_max_num_cache (integer) *
    +
    memqcache_cache_block_size (integer) *
    +
    memqcache_cache_block_size (integer) *
    Common
    +
    memqcache_expire (integer) *
    +
    memqcache_expire (integer) *
    +
    memqcache_auto_cache_invalidation *
    +
    memqcache_auto_cache_invalidation *
    +
    memqcache_maxcache (integer) *
    +
    memqcache_maxcache (integer) *
    +
    memqcache_oiddir (string) *
    +
    memqcache_oiddir (string) *
    +
    white_memqcache_table_list (string)
    +
    white_memqcache_table_list (string)
    +
    black_memqcache_table_list (string)
    +
    black_memqcache_table_list (string)
    + {* --------------------------------------------------------------------- * * Others * * --------------------------------------------------------------------- *}