diff --git a/doc.ja/src/sgml/loadbalance.sgml b/doc.ja/src/sgml/loadbalance.sgml index 75ad516..08a85c5 100644 --- a/doc.ja/src/sgml/loadbalance.sgml +++ b/doc.ja/src/sgml/loadbalance.sgml @@ -949,6 +949,120 @@ primary_routing_query_pattern_list = 'SELECT \* FROM table_name1\;;SELECT col1, + + user_redirect_preference_list (string) + + + user_redirect_preference_list 設定パラメータ + + + + + + 特定のユーザの接続でSELECTクエリが指定したロードバランス比率で特定のバックエンドノードに送信されるように、"ユーザ名:ノードID(比率)"ペアのリストを指定します。ロードバランス比率は0-1の間の値を指定します。 + 比率の指定を省略した場合は、デフォルトの1.0となります。 + + + + たとえば"user1:1(0.5)"とした場合、user1ユーザからの接続においては、Pgpool-IIは50%のSELECTクエリをIDが1のバックエンドノードに送信します。 + + + + 複数の"ユーザ名:ノードID(比率)"のペアをカンマ(,)で区切って指定することができます。 + + + + ユーザ名には正規表現を指定することができます。 + ノードIDには特別なキーワードを使うことができます。 + "primary"が指定された場合にはクエリはプライマリノードに送られます。 + また、"standby"が指定された場合はスタンバイノードのうちどれかをロードバランス比率に応じてランダムに選択します。 + + + + + user_redirect_preference_listの利用 + + + SELECTクエリのルーティングルールを以下のように設定したい場合: + + + + + + + 全てのpostgresユーザからのSELECTクエリはプライマリバックエンドノードに送る。 + + + + + + user0またはuser1ユーザからの30%のSELECTクエリはIDが1のバックエンドノードに送る。 + 残りの70%のSELECTクエリは他のバックエンドノードに送る。 + + + + + + 全てのuser2ユーザからのSELECTクエリはスタンバイバックエンドノードに送る。 + + + + + + + は以下のように設定します。 + +user_redirect_preference_list = 'postgres:primary,user[01]:1(0.3),user2:standby' + + + + + + + このパラメータはPgpool-IIの設定を再読み込みすることで変更可能です。 + + + + database_redirect_preference_list (string) @@ -964,6 +1078,7 @@ primary_routing_query_pattern_list = 'SELECT \* FROM table_name1\;;SELECT col1, Specifies the list of "database-name:node id" pairs to send SELECT queries to a particular backend node for a particular database connection. + The load balance ratio specifies a value between 0 and 1. The default is 1.0. --> 特定のデータベース接続でSELECTクエリが指定したロードバランス比率で特定のバックエンドノードに送信されるように、"データベース名:ノードID(比率)"ペアのリストを指定します。ロードバランス比率は0-1の間の値を指定します。 比率の指定を省略した場合は、デフォルトの1.0となります。 @@ -972,12 +1087,16 @@ primary_routing_query_pattern_list = 'SELECT \* FROM table_name1\;;SELECT col1, + たとえば"test:1(0.5)"とした場合、testデータベースへの接続においては、Pgpool-IIは50%のSELECTクエリをIDが1のバックエンドノードに送信します。 + + + - たとえば"test:1(0.5)"とした場合、"test"データベースへの接続においては、Pgpool-IIは50%のSELECTクエリをIDが1のバックエンドノードに送信します。 - 複数の"データベース名:ノードID"のペアを カンマ(,)で区切って指定することができます。 + 複数の"データベース名:ノードID(比率)"のペアをカンマ(,)で区切って指定することができます。 - 全てのpostgresデータベースにおけるSELECTクエリはプライマリバックエンドノードに送る。 - + + + 全てのpostgresデータベースにおけるSELECTクエリはプライマリバックエンドノードに送る。 + - - - 全てのmydb0またはmydb1データベースにおける30%のSELECTクエリはIDが1のバックエンドノードに送る。 - + + + mydb0またはmydb1データベースにおける30%のSELECTクエリはIDが1のバックエンドノードに送る。 + 残りの70%のSELECTクエリは他のバックエンドノードに送る。 + - - - 全てのmydb2データベースにおけるSELECTクエリはスタンバイバックエンドノードに送る。 - + + + 全てのmydb2データベースにおけるSELECTクエリはスタンバイバックエンドノードに送る。 + @@ -1068,11 +1189,17 @@ database_redirect_preference_list = 'postgres:primary,mydb[01]:1(0.3),mydb2:stan 特定のクライアントアプリケーションの接続でSELECTクエリが指定したロードバランス比率で特定のバックエンドノードに送信されるように、"アプリケーション名:ノードID(比率)"ペアのリストを指定します。 + ロードバランス比率は0-1の間の値を指定します。 + 比率の指定を省略した場合は、デフォルトの1.0となります。 + 複数の"アプリケーション名:ノードID(比率)"のペアを カンマ(,)で区切って指定することができます。 @@ -1109,15 +1236,16 @@ database_redirect_preference_list = 'postgres:primary,mydb[01]:1(0.3),mydb2:stan - の記法はと同じですので、アプリケーション名には正規表現も使用できます。 - 同様に特別なキーワード"primary"はプライマリノードを、"standby"はスタンバイサーバのいずれかを意味します。 - ロードバランス比率は0-1の間の値を指定します。ロードバランス比率の指定を省略した場合は、デフォルトの1.0となります。 + アプリケーション名には正規表現を指定することができます。 + ノードIDには特別なキーワードを使うことができます。 + "primary"が指定された場合にはクエリはプライマリノードに送られます。 + また、"standby"が指定された場合はスタンバイノードのうちどれかをロードバランス比率に応じてランダムに選択します。 @@ -1145,10 +1273,11 @@ database_redirect_preference_list = 'postgres:primary,mydb[01]:1(0.3),mydb2:stan - 全てのmyapp1クライアントからの30%のSELECTクエリはIDが1のバックエンドノードに送る。 + myapp1クライアントからの30%のSELECTクエリはIDが1のバックエンドノードに送る。 + 残りの70%のSELECTクエリは他のバックエンドノードに送る。 @@ -1176,10 +1305,14 @@ app_name_redirect_preference_list = 'psql:primary,myapp1:1(0.3),myapp2:standby' - は、よりも優先されます。 + およびの優先順位は以下の通りです。 + +app_name_redirect_preference_list > database_redirect_preference_list > user_redirect_preference_list + - 及びの設定では、複数のデータベース名やアプリケーション名にマッチした場合、最初の設定が反映されます。 + およびの設定では、複数のユーザ名やデータベース名、アプリケーション名にマッチした場合、最初の設定が反映されます。