Patch is created by Youichi Yabuki.
methods of remote node health checking, "heartbeat", "query" and "external" mode.
-->
Watchdogにおける死活監視は、watchdogクラスタに参加している<productname>Pgpool-II</productname>ノードの健全性を監視するwatchdogの下位コンポーネントです。
- <productname>Pgpool-II</productname> watchdogは、リモートノードの健全性をチェックする3つの方法、"heartbeat"と"query"とexternal"モードを提供します。
+ <productname>Pgpool-II</productname> watchdogは、リモートノードの健全性をチェックする3つの方法、"heartbeat"と"query"と"external"モードを提供します。
</para>
<para>
<!--
-->
リモートノードの死活監視以外にも、watchdogの死活監視は、上位サーバへの接続を監視することにより、インストールされたノードの健全性をチェックできます。
上位サーバへの接続を監視するために、<productname>Pgpool-II</productname>の死活監視は<literal>execv()</literal>を使って<command>'ping -q -c3 hostname'</command>コマンドを実行します。
+ 各pingコマンドを実行するために新しい子プロセスが生成されます。
つまり、各々の死活監視のサイクルごとに、それぞれの上位サーバのために子プロセスが作られ、破棄されます。
たとえば、死活監視の設定で2つの上位サーバがあり、10秒ごとに死活監視を行うとすると、死活監視は10秒ごとに2つの子プロセスを起動し、各上位サーバ用に1個ずつプロセスが割り当てられます。
それぞれのプロセスは、pingコマンドが完了するまで生存します。
installed from source code. An example of what this file might look like is:
-->
これらのパラメータを設定する最も基本的な方法は、<filename>pgpool.conf</><indexterm><primary>pgpool.conf</></>ファイルを編集することです。
- ソースコードからインストールした場合、<literal>$prefix/ext/pgpool.conf</literal>に配置されています。
+ ソースコードからインストールした場合、<literal>$prefix/etc/pgpool.conf</literal>に配置されています。
このファイルがどういったものかの例を示します。
<programlisting>
# This is a comment
引用符の中の空白(white space)を除き、空白は特に意味を持たず、何もない行は無視されます。
ハッシュ記号(<literal>#</literal>)はその行の後の表記がコメントであることを意味します。
単純でない識別子、または数値でないパラメータ値は単一引用符で括られなければなりません。
- パラメータ値の中に単一引用符を埋め込む場合、二重引用符(推奨)もしくはバックスラッシュ-引用符で括ります。
+ パラメータ値の中に単一引用符を埋め込む場合、単一引用符を二つ(推奨)もしくはバックスラッシュ-引用符で括ります。
</para>
the program name used to identify <productname>Pgpool-II</productname>
messages in <application>syslog</> logs. The default is <literal>pgpool</literal>.
-->
- <application>syslog</>ã\81«ログ取得が有効な場合、このパラメータは<application>syslog</>ログ内の<productname>Pgpool-II</productname>メッセージを特定するのに使用するプログラム名を確定します。
+ <application>syslog</>ã\81¸ã\81®ログ取得が有効な場合、このパラメータは<application>syslog</>ログ内の<productname>Pgpool-II</productname>メッセージを特定するのに使用するプログラム名を確定します。
デフォルトは<literal>pgpool</literal>です。
</para>
<para>
-->
パスワードは、3つの形式でpool_passwdファイルに保存できます。
AES256暗号化形式、平文形式、md5形式です。
- <productname>Pgpool-II</productname>ã\81¯æ\8e¥é è¾\9eã\81«ã\82\88ã\81£ã\81¦ã\83\91ã\82¹ã\83¯ã\83¼ã\83\89ã\81®å½¢å¼\8fã\82\92確èª\8dã\81\99ã\82\8bã\81\9fã\82\81ã\80\81pool_passwdå\86\85ã\81®å\90\84ã\83\91ã\82¹ã\83¯ã\83¼ã\83\89ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\81¯ã\83\91ã\82¹ã\83¯ã\83¼ã\83\89ã\81®å½¢å¼\8fã\82\92æ\8e¥é èª\9eã\81¨ã\81\97ã\81¦ä»\98ã\81\91ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8aã\81¾ã\81\99ã\80\82
+ <productname>Pgpool-II</productname>ã\81¯æ\8e¥é è¾\9eã\81«ã\82\88ã\81£ã\81¦ã\83\91ã\82¹ã\83¯ã\83¼ã\83\89ã\81®å½¢å¼\8fã\82\92確èª\8dã\81\99ã\82\8bã\81\9fã\82\81ã\80\81pool_passwdå\86\85ã\81®å\90\84ã\83\91ã\82¹ã\83¯ã\83¼ã\83\89ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\81¯ã\83\91ã\82¹ã\83¯ã\83¼ã\83\89ã\81®å½¢å¼\8fã\82\92æ\8e¥é è¾\9eã\81¨ã\81\97ã\81¦ä»\98ã\81\91ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8aã\81¾ã\81\99ã\80\82
</para>
<para>
<!--
acquire the lock for the table. Of cause this results in an error.
The transaction will be aborted, and the following INSERT statement produces the above error message.
-->
- たとえば、transactionsテストでは、存在しないテーブルに対してINSERTを試みており、<productname>Pgpool-II</productname>は<productname>PostgerSQL</productname>にそのテーブルのロックを獲得させることになります。
+ たとえば、transactionsテストでは、存在しないテーブルに対してINSERTを試みており、<productname>Pgpool-II</productname>は<productname>PostgreSQL</productname>にそのテーブルのロックを獲得させることになります。
これはもちろんエラーとなります。
トランザクションがアボート状態になり、続くINSERTでは上記エラーが出てしまいます。
</para>
たとえば、プライマリノードがbackend0(そのホスト名は"host0"とします)、スタンバイノードはbackend1で、backend1のbackend_application_nameは"server1"であるとします。
すると、<filename>postgresql.conf</filename>の<literal>primary_conninfo</literal>パラメータは次のようになるはずです。
<programlisting>
-primary_conninfo = 'host=host0 port=5432 user=postgres application_name='server1''
+primary_conninfo = 'host=host0 port=5432 user=postgres application_name=''server1'''
</programlisting>
<xref linkend="guc-recovery-1st-stage-command">がそのパラメータを生成します。
コマンドの完全な例に関しては、<xref linkend="example-cluster-pgpool-config-online-recovery">をご覧ください。
この設定例では、<xref linkend="GUC-SR-CHECK-PASSWORD">は<filename>pgpool.conf</filename>に指定せず、
<xref linkend="GUC-POOL-PASSWD">ファイルに作成します。
作成方法については後述の<xref linkend="example-cluster-pgpool-config-auth">を参照ください。
- <productname>Pgpool-II</productname> 4.0から、<xref linkend="GUC-SR-CHECK-PASSWORD">が空白の場合、
+ <productname>Pgpool-II</productname> 4.0から、<xref linkend="GUC-SR-CHECK-PASSWORD">が空の場合、
<productname>Pgpool-II</productname>は空のパスワードを使用する前に
まず<xref linkend="GUC-POOL-PASSWD">ファイルから<xref linkend="GUC-SR-CHECK-USER">に
指定したユーザのパスワードを取得できるか試みます。
レプリケーションを行う点はネイティブレプリケーションモードと同じです。
</para>
<para>
- この設定例では<productname>PostgreSQL</productname> 14を使っていますが、
+ この設定例では<productname>PostgreSQL</productname> 15を使っていますが、
各種スクリプトは<productname>PostgreSQL</productname> 10以降での動作確認を行っています。
</para>
<tbody>
<row>
<entry>PostgreSQLバージョン</entry>
- <entry>14.0</entry>
+ <entry>15.0</entry>
<entry>-</entry>
</row>
<row>
</row>
<row>
<entry>$PGDATA</entry>
- <entry>/var/lib/pgsql/14/data</entry>
+ <entry>/var/lib/pgsql/15/data</entry>
<entry>-</entry>
</row>
<row>
</para>
<programlisting>
[全サーバ]# yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
-[全サーバ]# yum install -y postgresql14-server
+[全サーバ]# yum install -y postgresql15-server
</programlisting>
<para>
exclude=pgpool*
+[pgdg15]
+...
+exclude=pgpool*
+
[pgdg14]
...
exclude=pgpool*
[pgdg10]
...
-exclude=pgpool*
-
-[pgdg96]
-...
exclude=pgpool*
</programlisting>
<productname>Pgpool-II</productname>をインストールします。
</para>
<programlisting>
-[全サーバ]# yum install -y https://www.pgpool.net/yum/rpms/4.3/redhat/rhel-7-x86_64/pgpool-II-release-4.3-1.noarch.rpm
-[全サーバ]# yum install -y pgpool-II-pg14-*
+[全サーバ]# yum install -y https://www.pgpool.net/yum/rpms/4.4/redhat/rhel-7-x86_64/pgpool-II-release-4.4-1.noarch.rpm
+[全サーバ]# yum install -y pgpool-II-pg15-*
</programlisting>
</sect2>
</para>
<programlisting>
[server1]# su - postgres
-[server1]$ /usr/pgsql-14/bin/initdb -E UTF8 --no-locale
+[server1]$ /usr/pgsql-15/bin/initdb -E UTF8 --no-locale
</programlisting>
<para>
次に<literal>server1</literal>にて、設定ファイル<filename>$PGDATA/postgresql.conf</filename>を以下のように編集します。
server1で以下のコマンドを実行し、PostgreSQLを起動します。
</para>
<programlisting>
-[server1]$ /usr/pgsql-14/bin/pg_ctl start
+[server1]$ /usr/pgsql-15/bin/pg_ctl start
</programlisting>
<para>
<literal>health_check_max_retries = 3</literal> に設定しておきます。
この設定例では、<xref linkend="GUC-HEALTH-CHECK-PASSWORD">は<filename>pgpool.conf</filename>に指定せず、
<xref linkend="GUC-POOL-PASSWD">ファイルに作成します。
- 作成方法については後述の<xref linkend="example-cluster-pgpool-config-auth">を参照ください。
- <productname>Pgpool-II</productname> 4.0から、<xref linkend="GUC-SR-CHECK-PASSWORD">が空白の場合、
- <productname>Pgpool-II</productname>は空のパスワードを使用する前に
- まず<xref linkend="GUC-POOL-PASSWD">ファイルから<xref linkend="GUC-SR-CHECK-USER">に
+ 作成方法については後述の<xref linkend="example-replication-mode-auth">を参照ください。
+ <productname>Pgpool-II</productname> 4.0から、<xref linkend="GUC-HEALTH-CHECK-PASSWORD">が空の場合、
+ <productname>Pgpool-II</productname>は空のパスワードを使用する前に、
+ まず<xref linkend="GUC-POOL-PASSWD">ファイルから<xref linkend="GUC-HEALTH-CHECK-USER">に
指定したユーザのパスワードを取得できるか試みます。
</para>
<programlisting>
backend_hostname0 = 'server1'
backend_port0 = 5432
backend_weight0 = 1
-backend_data_directory0 = '/var/lib/pgsql/14/data'
+backend_data_directory0 = '/var/lib/pgsql/15/data'
backend_flag0 = 'ALLOW_TO_FAILOVER'
backend_hostname1 = 'server2'
backend_port1 = 5432
backend_weight1 = 1
-backend_data_directory1 = '/var/lib/pgsql/14/data'
+backend_data_directory1 = '/var/lib/pgsql/15/data'
backend_flag1 = 'ALLOW_TO_FAILOVER'
backend_hostname2 = 'server3'
backend_port2 = 5432
backend_weight2 = 1
-backend_data_directory2 = '/var/lib/pgsql/14/data'
+backend_data_directory2 = '/var/lib/pgsql/15/data'
backend_flag2 = 'ALLOW_TO_FAILOVER'
</programlisting>
</sect3>
これらのファイルをmainノード(<literal>server1</literal>)のデータベースクラスタ配下に配置します。
</para>
<programlisting>
-[server1]# cp -p /etc/pgpool-II/sample_scripts/replication_mode_recovery_1st_stage.sample /var/lib/pgsql/14/data/recovery_1st_stage.sh
-[server1]# cp -p /etc/pgpool-II/sample_scripts/replication_mode_recovery_2nd_stage.sample /var/lib/pgsql/14/data/recovery_2nd_stage.sh
-[server1]# cp -p /etc/pgpool-II/sample_scripts/pgpool_remote_start.sample /var/lib/pgsql/14/data/pgpool_remote_start
-[server1]# chown postgres:postgres /var/lib/pgsql/14/data/{recovery_1st_stage.sh,recovery_2nd_stage.sh,pgpool_remote_start}
+[server1]# cp -p /etc/pgpool-II/sample_scripts/replication_mode_recovery_1st_stage.sample /var/lib/pgsql/15/data/recovery_1st_stage.sh
+[server1]# cp -p /etc/pgpool-II/sample_scripts/replication_mode_recovery_2nd_stage.sample /var/lib/pgsql/15/data/recovery_2nd_stage.sh
+[server1]# cp -p /etc/pgpool-II/sample_scripts/pgpool_remote_start.sample /var/lib/pgsql/15/data/pgpool_remote_start
+[server1]# chown postgres:postgres /var/lib/pgsql/15/data/{recovery_1st_stage.sh,recovery_2nd_stage.sh,pgpool_remote_start}
</programlisting>
<para>
基本的には<emphasis>PGHOME</emphasis>を環境に合わせて変更すれば、動作します。
</para>
<programlisting>
-[server1]# vi /var/lib/pgsql/14/data/recovery_1st_stage.sh
+[server1]# vi /var/lib/pgsql/15/data/recovery_1st_stage.sh
...
-PGHOME=/usr/pgsql-14
+PGHOME=/usr/pgsql-15
...
-[server1]# vi /var/lib/pgsql/14/data/recovery_2nd_stage.sh
+[server1]# vi /var/lib/pgsql/15/data/recovery_2nd_stage.sh
...
-PGHOME=/usr/pgsql-14
+PGHOME=/usr/pgsql-15
...
-[server1]# vi /var/lib/pgsql/14/data/pgpool_remote_start
+[server1]# vi /var/lib/pgsql/15/data/pgpool_remote_start
...
-PGHOME=/usr/pgsql-14
+PGHOME=/usr/pgsql-15
...
</programlisting>
pgbenchを使って、レプリケーション機能を試してみましょう。
</para>
<programlisting>
-[server1]# /usr/pgsql-14/bin/createdb test -U postgres -p 9999
-[server1]# /usr/pgsql-14/bin/pgbench -h server1 -U postgres -i -p 9999 test
+[server1]# /usr/pgsql-15/bin/createdb test -U postgres -p 9999
+[server1]# /usr/pgsql-15/bin/pgbench -h server1 -U postgres -i -p 9999 test
</programlisting>
<para>
<productname>Pgpool-II</productname>のレプリケーション機能が正しく動いているかどうか確かめるために、
それぞれのノードに接続して、同じ結果を返すかどうか見てみます。
</para>
<programlisting>
-[server1]# /usr/pgsql-14/bin/psql -h server1 -U postgres -p 5432 test
+[server1]# /usr/pgsql-15/bin/psql -h server1 -U postgres -p 5432 test
test=# \d
List of relations
Schema | Name | Type | Owner
public | pgbench_tellers | table | postgres
(4 rows)
-[server1]# /usr/pgsql-14/bin/psql -h server2 -U postgres -p 5432 test
+[server1]# /usr/pgsql-15/bin/psql -h server2 -U postgres -p 5432 test
test=# \d
List of relations
Schema | Name | Type | Owner
public | pgbench_tellers | table | postgres
(4 rows)
-[server1]# /usr/pgsql-14/bin/psql -h server3 -U postgres -p 5432 test
+[server1]# /usr/pgsql-15/bin/psql -h server3 -U postgres -p 5432 test
test=# \d
List of relations
Schema | Name | Type | Owner
次に、pgbenchをしばらく走らせて、結果を見てみます。
</para>
<programlisting>
-[server1]# /usr/pgsql-14/bin/pgbench -h server1 -U postgres -p 9999 -T 10 test
+[server1]# /usr/pgsql-15/bin/pgbench -h server1 -U postgres -p 9999 -T 10 test
</programlisting>
<para>
すべてのPostgreSQLは、同一の結果を返しています。
</para>
<programlisting>
-[server1]# /usr/pgsql-14/bin/psql -h server1 -U postgres -p 5432 test -c "SELECT sum(abalance) FROM pgbench_accounts"
+[server1]# /usr/pgsql-15/bin/psql -h server1 -U postgres -p 5432 test -c "SELECT sum(abalance) FROM pgbench_accounts"
Password for user postgres:
sum
--------
-99710
(1 row)
-[server1]# /usr/pgsql-14/bin/psql -h server2 -U postgres -p 5432 test -c "SELECT sum(abalance) FROM pgbench_accounts"
+[server1]# /usr/pgsql-15/bin/psql -h server2 -U postgres -p 5432 test -c "SELECT sum(abalance) FROM pgbench_accounts"
Password for user postgres:
sum
--------
-99710
(1 row)
-[server1]# /usr/pgsql-14/bin/psql -h server3 -U postgres -p 5432 test -c "SELECT sum(abalance) FROM pgbench_accounts"
+[server1]# /usr/pgsql-15/bin/psql -h server3 -U postgres -p 5432 test -c "SELECT sum(abalance) FROM pgbench_accounts"
Password for user postgres:
sum
--------
mainノードの切り替えを確認してみます。
</para>
<programlisting>
-[server1]# su - postgres -c "/usr/pgsql-14/bin/pg_ctl -m i stop"
+[server1]# su - postgres -c "/usr/pgsql-15/bin/pg_ctl -m i stop"
</programlisting>
<para>
<literal>ノード0</literal>を停止した後に、ノード0が切り離されて、mainノードの切り替えが発生することを確認します。
<term>平文パスワード</term>
<listitem>
<para>
- 暗号化されていない平分のパスワードです。
+ 暗号化されていない平文のパスワードです。
可能ならば使用を避けるべきです。
パスワード文字列は<literal>TEXT</literal>で始まっていなければなりません。
例えば、パスワードとして<literal>mypass</literal>を設定したい場合、パスワードフィールドに<literal>TEXTmypass</literal>と指定します。
white spaces against the user's intention.
-->
onに設定すると、負荷分散の際にSQL文行頭の空白を無視します(全角スペースは無視されません)。
- これは、DBI/DBD:Pgのように、ユーザの意図に反してに空白を追加するようなAPIを使っているときに有用です。
+ これは、DBI/DBD:Pgのように、ユーザの意図に反して空白を追加するようなAPIを使っているときに有用です。
</para>
<para>
<!--
正規表現には自動的に<literal>^</literal>と<literal>$</literal>が付与されます。
"'"、";" あるいは "*" などの文字を SQL パターンの中で利用する場合、"\" でエスケープする必要があります。
SQL パターンの中で正規表現の特殊文字を使用する場合、"\" でエスケープする必要があります。
- 例えば、"'"、";"、"*"、"("、")"、"|"、"+"、"."、"\"、"?"、"^"、"$"、"{","}"、"{"、"}" などの特殊文字の場合、"\" でエスケープする必要があります。
+ 例えば、"'"、";"、"*"、"("、")"、"|"、"+"、"."、"\"、"?"、"^"、"$"、"{"、"}"、"{"、"}" などの特殊文字の場合、"\" でエスケープする必要があります。
また、指定される SQL パターンでは大文字と小文字を区別しません。
</para>
</para>
<table id="memqcache-method-table">
- <title>Memcache method options</title>
+ <title>Memqcache method options</title>
<tgroup cols="2">
<thead>
<row>
受け付けるクライアント接続数が増えると、新しい接続を受け付ける<productname>Pgpool-II</productname>子プロセスの数は減少し、ついには0になります。
こうなると、子プロセスの一つが空くまでクライアントは待たされます。
高負荷状況では、待機状態の待ち行列が長くなり、ついにはシステム設定の上限を超えてしまいます("535 times the listen queue of a socket overflowed"
- error"をご覧になったことがあるかも知れません)。
+ エラーをご覧になったことがあるかも知れません)。
この場合、待ち行列の制限を大きくする必要があります。
この問題に対処するための方法がいくつかあります。
</para>
</refsynopsisdiv>
<refsect1 id="R1-PCP-HEALTH-CHECK-STATS-1">
- <title>Description</title>
+ <title>説明</title>
<para>
<command>pcp_health_check_stats</command>
与えられたノードIDのヘルスチェック統計データを表示します。
デフォルトは"local"です。
<itemizedlist>
<listitem><para>c, cluster : クラスタを構成するすべてのPgpool-IIの設定ファイルを再読込みします。</para></listitem>
- <listitem><para>l, local : ã\83ã\83¼ã\82«ã\83«Pgpool-IIã\81®è¨å®\9aã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\81®ã\81¿ã\82\92å\86\8dèªè¾¼ã\81¿ã\81\97ã\81¾ã\81\99ã\80\82</para></listitem>
+ <listitem><para>l, local : ローカルPgpool-IIの設定ファイルのみを再読込みします。</para></listitem>
</itemizedlist>
</para>
</listitem>
-->
以下は <filename>pcp.conf</filename> に登録する <literal>md5</literal> 暗号化されたパスワードを生成する例です。
<programlisting>
- $ pg_md5 -p
- password: [your password]
+$ pg_md5 -p
+password: [your password]
</programlisting>
</para>
<para>
または
</para>
<programlisting>
- $ pg_md5 [your password]
- acbd18db4cc2f85cedef654fccc4a4d8
+$ pg_md5 [your password]
+acbd18db4cc2f85cedef654fccc4a4d8
</programlisting>
<para>
また、<command>pg_md5</command> は、<xref linkend="guc-pool-passwd"> に
ユーザー名と<literal>md5</literal> 暗号化されたパスワードのエントリを生成するためにも使用できます。
<programlisting>
- $ pg_md5 -m -f /path/to/pgpool.conf -u username -p
- password: [your password]
+$ pg_md5 -m -f /path/to/pgpool.conf -u username -p
+password: [your password]
- $ cat /path/to/pool_passwd
- username:md55a231fcdb710d73268c4f44283487ba2
+$ cat /path/to/pool_passwd
+username:md55a231fcdb710d73268c4f44283487ba2
</programlisting>
パスワードの入力が促されたりコマンド引数の中でパスワードを指定するのを避けたい場合は<literal>pg_md5</literal>は名前:パスワードのペアをファイルから読むことができます。
すべてのユーザ名と暗号化されたパスワードが<xref linkend="guc-pool-passwd">認証ファイルに追加されます。
<programlisting>
- $ cat users.txt
- username1:secretpassword1
- username2:secretpassword1
+$ cat users.txt
+username1:secretpassword1
+username2:secretpassword2
- $ pg_md5 -m -f /path/to/pgpool.conf -i users.txt
- trying to read username:password pairs from file users.txt
+$ pg_md5 -m -f /path/to/pgpool.conf -i users.txt
+trying to read username:password pairs from file users.txt
- $ cat /path/to/pool_passwd
- username1:md533314126ba0b187df1e37f5ce6a489a8
- username2:md58ae92c6e1d6a48d80e2583fe715e2b36
+$ cat /path/to/pool_passwd
+username1:md533314126ba0b187df1e37f5ce6a489a8
+username2:md58ae92c6e1d6a48d80e2583fe715e2b36
</programlisting>
<xref linkend="guc-pool-passwd"> にエントリを登録せず、md5ハッシュされた文字列だけを表示させるには、引数としてパスワードとユーザ名を連結した文字列を渡します。
例として、パスワードに"password"、ユーザ名に"user"を渡す例を示します。
<programlisting>
- $ pg_md5 passworduser
- 4d45974e13472b5a0be3533de4666414
+$ pg_md5 passworduser
+4d45974e13472b5a0be3533de4666414
</programlisting>
実際に<xref linkend="guc-pool-passwd">に登録するエントリは、先頭に"md5"を挿入してください。つまり、"md54d45974e13472b5a0be3533de4666414"となることに注意してください。
</para>
omitted, <literal>s</literal> is assumed.
-->
動作モードを指定します。<replaceable>mode</replaceable>は
- <literal>r</literal> (ネイティブレプリケーションモード), <literal>s</literal> (ストリーミングレプリケーションモード)、<literal>n</literal> (raw モード)、<literal>l</literal> (ロジカルレプリケーションモード)、<literal>l</literal>(slonyモード)及び<literal>i</literal>(スナップショットアイソレーションモード)を指定できます。
- 指定しない場合は、<literal>s</literal> (ストリーミングレプリケーションモード) を指定した見なされます。
+ <literal>r</literal> (ネイティブレプリケーションモード), <literal>s</literal> (ストリーミングレプリケーションモード)、<literal>n</literal> (raw モード)、<literal>l</literal> (ロジカルレプリケーションモード)、<literal>y</literal>(slonyモード)及び<literal>i</literal>(スナップショットアイソレーションモード)を指定できます。
+ 指定しない場合は、<literal>s</literal> (ストリーミングレプリケーションモード) を指定したと見なされます。
</para>
</listitem>
</varlistentry>
-->
ストリーミングレプリケーションモードの時に、アーカイブの代わりにレプリケーションスロットを使います。
アーカイブディレクトリは<productname>PostgreSQL</productname>クラスタに共有されているので、スタンバイが昇格すると、アーカイアブディレクトリ内のタイムラインが変わり、他のスタンバイが停止してしまいます。
- レプリケーションスロットを使うとこの問題が起きないので、レプリケーションスロットをサポートしている<productname>PostgreSQL</productname> 9.4以降が使えるのであれば、常にレプリケーションスロットを使うのが常にお勧めです。
+ レプリケーションスロットを使うとこの問題が起きないので、レプリケーションスロットをサポートしている<productname>PostgreSQL</productname> 9.4以降が使えるのであれば、常にレプリケーションスロットを使うのがお勧めです。
<application>pgpool_setup</application>が使うレプリケーションスロット名は、<literal>pgpool_setup_slot</literal>です。
</para>
</listitem>
Currently there are three parameter groups.
-->
<productname>Pgpool-II</productname> の設定パラメータのグループ名です。
- 現在、指定可能なパラメータグループは以下の 3つです。
+ 現在、指定可能なパラメータグループは以下の 4つです。
</para>
<variablelist>
<varlistentry>
This is useful to simulate slow clients.
-->
待ち時間、単位はマイクロ秒 (デフォルト:0)。
- 0以上が指定された場合、ソケットから各データを読み込む際にスリープを入れます。
+ 0より大きな値が指定された場合、ソケットから各データを読み込む際にスリープを入れます。
これは、遅いクライアントをシミュレートします。
</para>
</listitem>
all columns except num_cache_hits, num_selects and cache_hit_ratio
show 0.
-->
- キャッシュストレージが<literal>memcached</literal>のときは、num_cache_hits, num_selects and cache_hit_ratio以外の列の値は0になります。
+ キャッシュストレージが<literal>memcached</literal>のときは、num_cache_hits, num_selects, cache_hit_ratio以外の列の値は0になります。
</para>
</note>
</refsynopsisdiv>
<refsect1 id="R1-WD-CLI-1">
- <title>Description</title>
+ <title>説明</title>
<para>
<command>wd_cli</command>
<!--
<!--
<title>Node Search Options</title>
-->
- <title>ノード検索操作</title>
+ <title>ノード検索オプション</title>
<para>
<variablelist>
<!--
<title>Options</title>
-->
- <title>操作</title>
+ <title>オプション</title>
<para>
<variablelist>
<!--
Specifies the <filename>pgpool.conf</filename> file.
-->
-<filename>pgpool.conf</filename> file.
+<filename>pgpool.conf</filename>ファイル.
</para>
</listitem>
</varlistentry>
-->
次のSQLコマンドをアクセスしたいすべてのデータベースに発行します。
<programlisting>
- $ psql ...
- $ CREATE EXTENSION pgpool_adm
+$ psql ...
+=# CREATE EXTENSION pgpool_adm
</programlisting>
</para>
</sect1>
<acronym>PEM</acronym>形式の<acronym>CA</acronym>ルート証明書ファイルが格納されているディレクトリへのパスを指定します。
これはバックエンドサーバ証明書の検証に用いられます。
相対パスで指定した場合、<productname>Pgpool-II</productname>の設定ファイルディレクトリが基準となります。
- このオプションは<command>OpenSSL verify(1)</command>コマンドにおける<command>-CAfile</command>オプションと同様の機能を提供します。
+ このオプションは<command>OpenSSL verify(1)</command>コマンドにおける<command>-CApath</command>オプションと同様の機能を提供します。
</para>
<para>
<!--
また、メインプロセスからforkされるいくつかのワーカープロセスがあります。
ワーカープロセスは、ストリーミングレプリケーションの遅延を検出する役目があります。
また、「PCPプロセス」と呼ばれる特殊なプロセスがあります。これは、<productname>Pgpool-II</productname>の管理専用に使用されます。
- <productname>Pgpool-II</productname>には、組み込みの"watchdog"と呼ばれる組み込みの高可用性機能があります。
+ <productname>Pgpool-II</productname>には、"watchdog"と呼ばれる組み込みの高可用性機能があります。
watchdogはいくつかのプロセスから構成されています。
watchdogの詳細については<xref linkend="tutorial-watchdog">をご覧ください。
</para>
<term>平文パスワード</term>
<listitem>
<para>
- 暗号化されていない平分のパスワードです。
+ 暗号化されていない平文のパスワードです。
可能ならば使用を避けるべきです。
パスワード文字列は<literal>TEXT</literal>で始まっていなければなりません。
例えば、パスワードとして<literal>mypass</literal>を設定したい場合、パスワードフィールドに<literal>TEXTmypass</literal>と指定します。
このパラメータは<xref linkend="guc-delay-threshold">あるいは<xref linkend="guc-delay-threshold-by-time">を使用しているときに有効です。
onに設定すると、負荷分散先のスタンバイサーバが<varname>delay_threshold</varname>を超えて遅延したときに、プライマリサーバでなく、
<xref linkend="guc-backend-weight">が0より大きくて1番遅延の少ないスタンバイサーバを負荷分散ノードにします。
- 全てのスタンバイサーバが<xref linkend="guc-delay-threshold-by-time">あるいは<xref linkend="guc-delay-threshold-by-time">を超えて遅延しているか、負荷分散先として最初からプライマリが選ばれた場合はプライマリサーバに送ります。
+ 全てのスタンバイサーバが<xref linkend="guc-delay-threshold">あるいは<xref linkend="guc-delay-threshold-by-time">を超えて遅延しているか、負荷分散先として最初からプライマリが選ばれた場合はプライマリサーバに送ります。
デフォルトはoffです。
</para>
<para>
then the cluster re-calibrate itself dynamically to adjust all
subsequent majority rule computations.
-->
- <productname>Pgpool-II</productname> <emphasis>V4.3</emphasis>では<emphasis>メンバー</emphasis>と<emphasis>非メンバーの</emphasis>の概念を導入することにより動的にクラスタの定義を変えることができるようになりました。
+ <productname>Pgpool-II</productname> <emphasis>V4.3</emphasis>では<emphasis>メンバー</emphasis>と<emphasis>非メンバー</emphasis>の概念を導入することにより動的にクラスタの定義を変えることができるようになりました。
</para>
<para>
<!--
<para>
The following are examples to encrypt your password into md5 hash format for <filename>pcp.conf</filename>.
<programlisting>
- $ pg_md5 -p
- password: [your password]
+$ pg_md5 -p
+password: [your password]
</programlisting>
</para>
<para>
or
</para>
<programlisting>
- $ pg_md5 [your password]
- acbd18db4cc2f85cedef654fccc4a4d8
+$ pg_md5 [your password]
+acbd18db4cc2f85cedef654fccc4a4d8
</programlisting>
<para>
<literal>md5</literal> encrypted password to
<xref linkend="guc-pool-passwd"> authentication file.
<programlisting>
- $ pg_md5 -m -f /path/to/pgpool.conf -u username -p
- password: [your password]
+$ pg_md5 -m -f /path/to/pgpool.conf -u username -p
+password: [your password]
- $ cat /path/to/pool_passwd
- username:md55a231fcdb710d73268c4f44283487ba2
+$ cat /path/to/pool_passwd
+username:md55a231fcdb710d73268c4f44283487ba2
</programlisting>
To avoid password prompt or password in command parameter,
It will add all user names and <literal>md5</literal> hashed password to
<xref linkend="guc-pool-passwd"> authentication file.
<programlisting>
- $ cat users.txt
- username1:secretpassword1
- username2:secretpassword1
+$ cat users.txt
+username1:secretpassword1
+username2:secretpassword2
- $ pg_md5 -m -f /path/to/pgpool.conf -i users.txt
- trying to read username:password pairs from file users.txt
+$ pg_md5 -m -f /path/to/pgpool.conf -i users.txt
+trying to read username:password pairs from file users.txt
- $ cat /path/to/pool_passwd
- username1:md533314126ba0b187df1e37f5ce6a489a8
- username2:md58ae92c6e1d6a48d80e2583fe715e2b36
+$ cat /path/to/pool_passwd
+username1:md533314126ba0b187df1e37f5ce6a489a8
+username2:md58ae92c6e1d6a48d80e2583fe715e2b36
</programlisting>
To just display the md5 hashed string, not adding an entry to <xref linkend="guc-pool-passwd">, pass a string concatenating password and user name.
For example, if password is "password" and user name is "user", the output would be:
<programlisting>
- $ pg_md5 passworduser
- 4d45974e13472b5a0be3533de4666414
+$ pg_md5 passworduser
+4d45974e13472b5a0be3533de4666414
</programlisting>
Please note that the actual entry to be inserted into
<xref linkend="guc-pool-passwd"> should have "md5" on top of the
<listitem>
<para>
The name of the <productname>Pgpool-II</productname> configuration parameter group.
- Currently there are three parameter groups.
+ Currently there are four parameter groups.
</para>
<variablelist>
<varlistentry>