<!-- doc/src/sgml/release-4.2.sgml -->
<!-- See header comment in release.sgml about typical markup -->

<sect1 id="release-4-2-24">
 <title>リリース 4.2.24</title>
 <note>
  <title>リリース日</title>
  <simpara>2025-11-25</simpara>
 </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-11-07 [4fabca331]
    -->
    <para>
     不要な<varname>application_name</varname>の処理を削除しました。（Tatsuo Ishii）
    </para>
    <para>
     以前のコミットで、既存接続を再利用する際に<varname>application_name</varname>を設定する処理が追加されました。
     しかしこれは不要です。DISCARD ALLにより接続再利用時に自動的に<varname>application_name</varname>がリセットされ、
     <function>send_params()</function>によってフロントエンドに必要なパラメータステータス（<varname>application_name</varname>を含む）が送信されます。
     この冗長な処理を削除することで、特に地理的に離れたバックエンドノードでのパフォーマンスが向上します。
    </para>
    <para>
     ディスカッション: <ulink url="https://github.com/pgpool/pgpool2/issues/130">Severely degraded performance of pgPool in geo-distributed configurations</ulink>
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-11-16 [b113027dd]
    -->
    <para>
     <command>CopyOut</command>でのセグメンテーションフォルトを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     拡張プロトコルで<command>COPY relname TO STDOUT</command>が実行された場合、<productname>Pgpool-II</productname>がセグフォルトを起こしていました。
    </para>
    <para>
     この問題は<ulink url="https://github.com/tetesh">https://github.com/tetesh</ulink>によって報告されました。
    </para>
    <para>
     ディスカッション: <ulink url="https://github.com/pgpool/pgpool2/issues/133">datanymizer and pg-pool segmentation fault</ulink>
    </para>
   </listitem>
   <listitem>
    <!--
    2025-10-03 [b84553bf0]
    -->
    <para>
     Watchdogのスプリットブレイン回避するよう修正しました。（Tatsuo Ishii）
    </para>
    <para>
     Watchdogはビーコンメッセージとハートビートで通信します。
     ハートビートが有効でない場合、ビーコンが30秒以上届かないとスプリットブレインが発生することがあります。
     古いリーダーを無効化することで、同時に二人のリーダーが存在しないように修正しました。
     ノードがリーダーからのビーコンを2回以上見逃すと、リーダーはLOST状態となり、
     set_state(WD_JOINING) により新リーダー選出が開始されます。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-10-03 [ef8ccb9e7]
    -->
    <para>
     存在しないプリペアドステートメント使用時のFATALエラー防止するよう修正しました。（Tatsuo Ishii）
    </para>
    <para>
     以前は <function>Bind()</function>が存在しないプリペアドステートメントでFATALエラーを出していました。
     はステートメントの存在を確認し、存在しない場合はフロントエンドにERRORメッセージを送信するようになりました。ログは残りません。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-09-24 [59a359eef]
    -->
    <para>
     <xref linkend="pg-enc"> -pと -P両方使用時に動作しない問題を修正しました。（Tatsuo Ishii）
    </para>
    <para>
     元の報告では、pg_enc -p -P実行時にパスワードと暗号キーを求められましたが、
     キーが提供されない場合に失敗していました。
     また、コメント /* prompt for postgres password */ が誤解を招くため、
     /* prompt for password to be encrypted */ に修正されました。
    </para>
    <para>
     ディスカッション: <ulink url="https://www.postgresql.org/message-id/7f18c30b.237.1997555ca11.Coremail.liujy%40highgo.com">pg_enc</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2025-09-18 [f20f7041c]
    -->
    <para>
     32ビット環境でのコンパイルの問題を修正しました。（Tatsuo Ishii）
    </para>
    <para>
     32ビットシステムでsrc/parser/snprintf.cをコンパイルすると <function>isnan()</function>や <function>isinf()</function>が未定義でエラーになりました。
     math.hをインクルードし、ヘッダーファイルの順序も整理しました。
     元々 PostgreSQLから取り込まれたファイルで、math.hは既に含まれていました。
     修正は <ulink url="https://github.com/pgpool/pgpool2/pull/128">fix compiling issues for 32-bit targets</ulink> のプルリクエストに記載してあります。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-09-10 [0a6868d40]
    -->
    <para>
     recovery_1st_stage.sampleでBashのディレクトリ削除を安全に行うよう修正しました。（Taiki Koshino）
    </para>
    <para>
     rmコマンドの変数をクォートし、意図しない削除を防止しました：
     <command>rm -rf "${DEST_NODE_PGDATA}"</command>
    </para>
   </listitem>

   <listitem>
    <!--
    2025-09-05 [441f338ab]
    -->
    <para>
     <option>--with-memcached</option>指定なしでコンパイルする際のエラーを修正しました。（Tatsuo Ishii）
    </para>
    <para>
     <option>--with-memcached</option>指定なしでコンパイルするとエラーが発生していました。
     対応として該当コードブロックを #ifdef USE_MEMCACHEDで囲みました。
    </para>
    <para>
     この問題はBo Pengによって報告されました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-09-17 [1a975b539]
    -->
    <para>
     <ulink url="https://www.pgpool.net/docs/latest/ja/html/example-cluster.html">8.2. Pgpool-II + Watchdog Setup Example</ulink> の "PostgreSQLスタンバイ設定" ドキュメントを更新しました。（Taiki Koshino）
    </para>
    <para>
     オンラインリカバリなしでスタンバイを設定する場合、postgresql.auto.confに<varname>primary_conninfo</varname>を書き込まないよう注意を追加しました。
    </para>
    <para>
     ディスカッション: <ulink url="https://github.com/pgpool/pgpool2/issues/67">Follow primary command not fixing postgresql.auto.conf </ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2025-08-22 [5bd535792]
    -->
    <para>
     watchdog_setupのマニュアルを修正しました。（Tatsuo Ishii）
    </para>
    <para>
     heartbeartがwatchdog_setupに設定されていないと誤記されていた箇所を修正しました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-09-30 [3ddbc64f1]
    -->
    <para>
     023.ssl_connectionをPostgreSQL 18に対応するよう修正しました。（Tatsuo Ishii）
    </para>
    <para>
     PostgreSQL 18でpsqlの \conninfo出力形式が大幅に変更されたため、
     このテストが失敗していました。
     PostgreSQLバージョンに応じてテストスクリプトを修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-08-29 [b4043e6c3]
    -->
    <para>
     010.rewrite_timestampのRubyスクリプトを修正しました。（Tatsuo Ishii）
    </para>
    <para>
     RubyのFile.existsは新しいバージョンで非推奨のため、File.existに置き換えました。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-08-29 [9c901e60a]
    -->
    <para>
     034と075のタイムアウトを調整しました。（Tatsuo Ishii）
    </para>
    <para>
     034.promote_nodeと075.detach_primary_left_down_nodeのスクリプト終了タイムアウトを60秒から120秒に変更し、
     誤エラーが発生する可能性を減らしました。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-08-27 [42b177614]
    -->
    <para>
     023.ssl_connectionにssl_ecdh_curveのテストを追加しました。（Tatsuo Ishii）
    </para>
    <para>
     023.ssl_connectionはssl_ecdh_curveのテストをカバーしていなかったため、
     不正なssl_ecdh_curveパラメータでフロントエンドとpgpoolの接続が失敗するか確認しました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-23">
 <title>リリース 4.2.23</title>
 <note>
  <title>リリース日</title>
  <simpara>2025-08-21</simpara>
 </note>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-07-25 [75d905ff9]
    -->
    <para>
     watchdog が不適切な NOTICE メッセージを出力する問題を修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     <function>read_ipc_socket_and_process()</function> は、IPCソケットへのコマンド書き込みのたびに、書き込みが成功した場合でも通知メッセージを出力していました。これを修正し、書き込みが失敗した場合にのみ通知メッセージを出力するようにしました。
     <varname>log_min_messages</varname>が notice 以上に設定されている場合にのみメッセージが表示されるため、このバグが発見されていませんでした。
    </para>
    <para>
     ディスカッション: <ulink url="https://github.com/pgpool/pgpool2/issues/121">pgpool IPC socket connection issue</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2025-07-19 [d05de5c73]
    -->
    <!--
    2025-07-19 [ed57af34e]
    -->
    <para>
     スタートアップパケットを読んでいるときのメモリーリークを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     pool_push_pending_data でのリソースリークを修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-06-30 [bac455b2f]
    -->
    <para>
     ビッグエンディアンマシン上の scram-sha-256 認証の不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <literal>scram-sha-256</literal> 認証を実行する際、ハッシュ関数 <function>pg_sha_256_final</function> が使用されます。
     これは <productname>PostgreSQL</productname> からインポートされたもので、プリプロセッサ定義 WORDS_BIGENDIAN を使用してホストマシンのエンディアンを判断します。
     WORDS_BIGENDIAN は configure 時に定義する必要がありますが、<function>pg_sha_256_final</function>（およびその他）が <productname>PostgreSQL</productname> からインポートされた際にこの部分が省略されていました。
     その結果、scram-sha-256 はリトルエンディアンマシンでのみ動作していました。
     configure.ac に AC_C_BIGENDIAN マクロを追加することでこの問題を修正しました。。
    </para>
    <para>
     この問題は Christoph Berg によって報告され、 pranavkaruvally によって分析されました。
    </para>
    <para>
     ディスカッション: <ulink url="https://github.com/pgpool/pgpool2/issues/106">4.6.1 fails on big-endian s390x: backend response with kind 'E' when expecting 'R'</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2025-06-23 [2721c7b76]
    -->
    <para>
     ソースコードのタイプミスを修正しました。 (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2025-06-09 [4305c42d6]
    -->
    <para>
     ハートビートデバイスの処理を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <filename>pgpool.conf</filename> の処理中に、<varname>heartbeat_device</varname>が誤って処理され、最初のデバイスが無視されていました。
    </para>
    <para>
     この問題は Bo Peng によって分析されました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-08-04 [e2f24fec8]
    -->
    <para>
     リロードによって反映されないパラメータのドキュメントを修正しました。 (Taiki Koshino)
    </para>
    <para>
     <varname>authentication_timeout</varname>と<varname>memqcache_oiddir</varname>はリロードしても反映されません。
     ドキュメントが「このパラメータはサーバー起動時にのみ設定できます。」に変更されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-07-24 [bc5fa5e7e]
    -->
    <!--
    2025-07-23 [1e8963554]
    -->
    <para>
     watchdog リーダーの用語を統一しました。(Tatsuo Ishii)
    </para>
    <para>
     以前は「leader」「active」「coordinater」という用語が、watchdog のリーダーノードを指すために使用されていました。このコミットではこれらを「leader」に統一しました。
     advanced.sgml も修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-08-06 [31eee18d7]
    -->
    <!--
    2025-07-16 [34b07c2d5]
    -->
    <para>
     サンプルスクリプトを修正しました。(Taiki Koshino)
    </para>
    <para>
     「<ulink url="https://www.pgpool.net/docs/latest/ja/html/example-cluster.html">8.2. Pgpool-II + Watchdogの構築の例</ulink>」のサンプルスクリプトを修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-06-18 [f4ae9f39e]
    2025-06-18 [7a20dc419]
    -->
    <para>
     ロードバランスの説明で論理レプリケーションモードと Slony モードが抜けている問題を修正しました(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2025-06-08 [59f9df005]
    -->
    <para>
     カーネルの資源に関するセクションを追加しました。 (Tatsuo Ishii)
    </para>
    <para>
     <productname>Pgpool-II</productname> は System V の共有メモリとセマフォを使用します。
     要件についてはドキュメントを参照することをお勧めします。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-06-07 [40617fd90]
    -->
    <para>
     configure の <option>--with-ldap</option> オプションの説明を追加しました。(Tatsuo Ishii)
    </para>
    <para>
     これは LDAPサポートがv4.2で導入されたときに見落としていました。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-06-04 [ff60bf930]
    -->
    <para>
     <productname>Pgpool-II</productname> でサポートされているプラットフォームを明確にしました。 (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2025-06-03 [cc4da5979]
    -->
    <para>
     <xref linkend="guc-child-life-time"> のドキュメントを改善しました。 (Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-06-08 [78e45decf]
    -->
    <para>
     029.cert_passphrase 回帰テストを安定化しました。 (Tatsuo Ishii)
    </para>
    <para>
     <varname>ssl_passphrase_command</varname>が有効でない場合、エラーメッセージは通常「bad decrypt」ですが、「wrong tag」となる場合もありました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-22">
 <title>リリース 4.2.22</title>
 <note>
  <title>リリース日</title>
  <simpara>2025-05-15</simpara>
 </note>

 <sect2>
  <title>概要</title>
  <para>
   このリリースには、セキュリティ修正が含まれています。
  </para>
  <para>
   <productname>Pgpool-II</productname>のクライアント認証メカニズムには認証バイパスの脆弱性があります。
   本来であれば認証が必要な場合でも、認証処理がスキップされてしまう可能性があります。
   この脆弱性を悪用することで、攻撃者が任意のユーザとしてログインし、データベース内の情報を参照・改ざんしたり、データベースを停止させたりすることができる可能性があります。(CVE-2025-46801)
  </para>
  <para>
   なお、本脆弱性の影響を受けるのは、下記のパターン1から3いずれかの条件を満たす場合に限られます。
  </para>
  <itemizedlist>
   <listitem>
    <para>
     パターン 1：次の条件をすべて満たす場合、本脆弱性の影響を受ける可能性があります。
    </para>
    <itemizedlist>
     <listitem>
      <para>
       <filename>pool_hba.conf</filename>で<literal>password</literal>認証方式を使用している
      </para>
     </listitem>
     <listitem>
      <para>
       allow_clear_text_frontend_auth = off
      </para>
     </listitem>
     <listitem>
      <para>
       <filename>pool_passwd</filename>に対象ユーザのパスワードが設定されていない
      </para>
     </listitem>
     <listitem>
      <para>
       <filename>pg_hba.conf</filename>で<literal>scram-sha-256</literal>または<literal>md5</literal>認証方式を使用している
      </para>
     </listitem>
    </itemizedlist>
   </listitem>

   <listitem>
    <para>
     パターン 2：次の条件をすべて満たす場合、本脆弱性の影響を受ける可能性があります。
    </para>
    <itemizedlist>
     <listitem>
      <para>
       enable_pool_hba = off
      </para>
     </listitem>
     <listitem>
      <para>
       <filename>pg_hba.conf</filename>で<literal>password</literal>、<literal>pam</literal>、<literal>ldap</literal>のいずれかの認証方式を使用している
      </para>
     </listitem>
    </itemizedlist>
   </listitem>

   <listitem>
    <para>
     パターン 3：次の条件をすべて満たす場合、本脆弱性の影響を受ける可能性があります。
    </para>
    <itemizedlist>
     <listitem>
      <para>
       rawモードを使用している (backend_clustering_mode = 'raw')
      </para>
     </listitem>
     <listitem>
      <para>
       <filename>pool_hba.conf</filename>で<literal>md5</literal>認証方式を使用している
      </para>
     </listitem>
     <listitem>
      <para>
       allow_clear_text_frontend_auth = off
      </para>
     </listitem>
     <listitem>
      <para>
       <filename>pool_passwd</filename>に対象ユーザのパスワードがテキストまたはAES形式で登録されている
      </para>
     </listitem>
     <listitem>
      <para>
       <filename>pg_hba.conf</filename>で<literal>password</literal>、<literal>pam</literal>、<literal>ldap</literal>のいずれかの認証方式を使用している
      </para>
     </listitem>
    </itemizedlist>
   </listitem>
  </itemizedlist>
  <para>
   この脆弱性の影響を受けるのは、<productname>Pgpool-II</productname> 4.0系および4.1系のすべてのバージョン、4.2.0-4.2.21、4.3.0-4.3.14、4.4.0-4.4.11、4.5.0-4.5.6、4.6.0です。
   <productname>Pgpool-II</productname> 4.6.1、4.5.7、4.4.12、4.3.15、4.2.22以降へのアップグレードを強くお勧めします。
   それができない場合は、発生条件パターンに当てはまらない設定の組み合わせに変更してください。
  </para>
 </sect2>

 <sect2>
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-05-02 [32dee13dd]
    -->
    <para>
     設定ファイルにメジャーバージョンを追加しました。 (Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-05-13 [a5d2324]
    -->
    <para>
     クライアント認証が正しく実行されない場合があるのを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     enable_pool_hbaがonで、auth methodが"password"、pool_passwdにパスワードが登録されておらず、pg_hba.confの認証方式が"scram-sha-256"か"md5"の場合、クライアントが最初にpgpoolに接続したときには認証が期待通りに実行されます。
     しかし、クライアントがキャッシュされたコネクションに接続すると、任意のパスワードが通ってしまいます。
    </para>
    <para>
     また、enable_pool_hba = offのいくつかのケースでは、本来パスワードが聞かれるはずが、最初からパスワードが聞かれない、あるいはキャッシュされたコネクションに接続した時にはパスワードが聞かれないことがありました。
    </para>
    <para>
     上記を修正するのに加え、以下の変更を行いました。
    </para>
    <itemizedlist>
     <listitem>
      <para>
       認証コードを単純化するために、PostgreSQLが1台の時のコードパスを削除しました。
      </para>
     </listitem>
     <listitem>
      <para>
       crypt認証のサポートをフロントエンドとバックエンドから削除しました。
       この機能はドキュメントに書かれておらず、テストもされていませんでした。
       また、crypt認証はPostgreSQLではだいぶ以前(8.4, 2009)に削除されています。
      </para>
     </listitem>
     <listitem>
      <para>
       新しい回帰テストの"040.client_auth"を追加しました。
       このテストは、CSV形式のテスト設定ファイルを使って、包括的なクライアント認証のテストを実施します。
      </para>
     </listitem>
    </itemizedlist>
   </listitem>
   <listitem>
    <!--
    2025-05-08 [e3451b560]
    -->
    <para>
     クエリキャッシュにおける、古くからあるバインド時のバグを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     名前付きステートメントを準備すると、バインド後にパースメッセージなしで実行することが可能です。
     問題は、実行時またはCOMMIT時にクエリキャッシュを無効化するために必要なテーブルOIDが、パースメッセージ処理（Parse()）でのみ収集されていたことです。
     そのため、前回の実行後にパースなしでバインドを実行すると、テーブルOIDが収集されず、pgpoolはクエリキャッシュの無効化に失敗していました。
     バインド時にもテーブルOIDを収集するよう修正しました。
     006.memqcacheに回帰テストを追加しました。
    </para>
    <para>
     この問題はEmond Achilleas Mantziosによって報告され、テストプログラムが提供されました。
    </para>
    <para>
     ディスカッション: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2025-April/009430.html">[pgpool-general: 9427] Clarification on query results cache visibility</ulink>
    </para>
   </listitem>
   <listitem>
    <!--
    2025-05-02 [1dfacffed]
    -->
    <para>
     クエリキャッシュの無効化に失敗する問題を修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     実行メッセージを受信すると、pgpoolは最大行数パラメータをチェックします。この値が0でない場合、pgpoolはpool_handle_query_cache()にクエリキャッシュを作成しないよう指示するために、"partial_fetch"フラグを設定します。
     問題は、コミット2a99aa5d1が、INSERT/UPDATE/DELETEであっても実行メッセージパラメータが0以外（ほとんどの場合1）に設定され、pgpoolがSELECT以外の場合でもこのフラグを設定することを見落としていることです。
     この結果、このフラグがtrueの場合、pool_handle_query_cache()内の後続のコードでキャッシュの無効化がスキップされるため、クエリキャッシュの無効化に失敗していました。
     フラグを設定する前にクエリが読み取り専用のSELECTであるかどうかを確認するようにExecute()を修正しました。
    </para>
    <para>
     この問題はEmond Achilleas Mantziosによって報告され、テストプログラムが提供されました。
    </para>
    <para>
     ディスカッション: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2025-April/009430.html">[pgpool-general: 9427] Clarification on query results cache visibility</ulink>
    </para>
   </listitem>
   <listitem>
    <!--
    2025-05-05 [5947ba418]
    -->
    <para>
     OpenBSDへ移植する際の問題を修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     ディスカッション: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2025-May/004583.html">[pgpool-hackers: 4582] Make pgpool build on OpenBSD</ulink>
    </para>
    <para>
     このパッチはMartijn van Durenによって作成されました。
    </para>
   </listitem>
   <listitem>
    <!--
    2025-05-01 [14c94473b]
    -->
    <para>
     json_writerが特殊文字を正確にエンコードできない問題を修正しました。(Bo Peng)
    </para>
    <para>
     <xref linkend="guc-wd-authkey">が特殊文字を含んでいる状態でwatchdogを起動すると<productname>Pgpool-II</productname>がクラッシュしていました。
    </para>
     <para>
    このパッチはMartijn van Durenによって作成され、Bo Pengによって微修正されました。
    </para>
   </listitem>
   <listitem>
    <!--
    2025-03-04 [e1e32536f]
    -->
    <para>
     リロード時に<xref linkend="guc-pool-passwd">を開くようにストリーミングレプリケーションチェックとヘルスチェックプロセスを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     ストリーミングレプリケーションチェックとヘルスチェックはリロード前に<xref linkend="guc-pool-passwd">を開いていませんでした。
     もし<xref linkend="guc-sr-check-password">か<xref linkend="guc-health-check-password">が空文字列の時は、<xref linkend="guc-pool-passwd">からパスワードを得ます。
     そのためこれらのプロセスはリロード時に<xref linkend="guc-pool-passwd">の古いコンテンツを読み取ります。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-04-24 [e50114280]
    -->
    <para>
     <xref linkend="guc-connection-life-time">の説明を改善しました。(Tatsuo Ishii)
    </para>
    <para>
     <xref linkend="guc-connection-life-time">が計算されるタイミングは、接続キャッシュを保持しているプロセスからクライアントが切断されたときであることを追記しました。
    </para>
    <para>
      ディスカッション: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2025-April/004578.html">[pgpool-hackers: 4577] Doc: enhance the description on connection_life_time</ulink>
    </para>
   </listitem>
   <listitem>
    <!--
    2025-03-05 [a3086943f]
    -->
    <para>
     <xref linkend="guc-sr-check-user">についての説明を改善しました。 (Tatsuo Ishii)
    </para>
    <para>
     スーパーユーザーか<literal>pg_monitor</literal>グループであるべきです。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-21">
 <title>リリース 4.2.21</title>
  <note>
   <title>リリース日</title>
   <simpara>2025-02-28</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-02-26 [b6d160f]
    -->
    <para>
     サンプルフォロープライマリスクリプトから<command>pg_basebackup</command>の処理を削除しました。(Bo Peng)
    </para>
    <para>
     <command>pg_rewind</command>が失敗した場合、ユーザーにとって最も安全な方法は手動で復旧することです。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-01-31 [3536f80]
    -->
    <para>
     <function>per_node_error_log()</function>のエラーメッセージでコロンが重複して出力される不具合を修正しました。(Bo Peng)
    </para>
    <para>
     パッチはUmar Hayatによって作成されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2025-01-12 [15c0a5b]
    -->
    <para>
     <function>pool_signal</function>の不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     以前は、<function>pool_signal</function>は<literal>SA_RESTART</literal>フラグを設定していませんでした。
     そのため、シグナルによって中断されたシステムコールは再起動されません。
     一部のコードは、システムコールがシグナルによって中断された場合に再起動するように準備されています。
     しかし、すべての箇所で対応できているかは不明なため、フラグを追加しました。
     なお、PostgreSQLでは常にこのフラグが使用されています。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-12-09 [8d4fb84]
    -->
    <para>
     <xref linkend="guc-pool-passwd">パラメータにデフォルト値以外のファイルが指定されている場合に、<command>pg_md5</command>と<command>pg_enc</command>がパスワードファイルを更新しない問題を修正しました。(Bo Peng)
    </para>
    <para>
     この問題はSadhuprasad Patroによって報告されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-12-04 [6489bb0]
    2024-12-11 [2a99aa5]
    -->
    <para>
     ストリーミングレプリケーションモードにおけるクエリキャッシュのいくつかの不具合を修正しました。(Tatsuo Ishii)
    </para>
    <itemizedlist>
     <listitem>
      <para>
      クエリキャッシュが有効で、フロントエンドから実行メッセージが送信された場合、クエリキャッシュデータが使用可能であれば、Pgpool-IIはそのデータをバックエンドメッセージバッファに挿入します。
      しかし、キャッシュされたメッセージが不適切な位置に挿入されることで、Pgpool-IIが誤って「kind mismatch」エラーを発生させることがありました。
      </para>
     </listitem>
     <listitem>
      <para>
       また、クエリキャッシュが有効で、クエリが拡張クエリモードで実行されている場合に、Pgpool-II がストリーミングレプリケーションモードで動作していると、実行メッセージが誤った結果を返す可能性がありました。
      </para>
     </listitem>
     <listitem>
      <para>
       さらに、複数の実行メッセージが連続して送信された場合、Pgpool-IIは各実行メッセージに対してクエリキャッシュから同じ結果を返していましたが、これは誤りです。
       本来、2回目以降の実行では0行が返されるべきでした。
      </para>
      <para>
       ディスカッション: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2024-December/004548.html">[pgpool-hackers: 4547] Bug in query cache</ulink>
      </para>
     </listitem>
    </itemizedlist>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-01-17 [3db1305]
    -->
    <para>
     クライアント認証の章を強化しました。(Tatsuo Ishii)
    </para>
    <para>
     pool_passwdに関する説明部分を追加しました。
     これまで、概要ページにはpool_hba.confの説明のみが記載されていましたが、今回pool_passwdの一般的なガイドを追加しました。
     これにより、ユーザーがこの章をより理解しやすくなりました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2025-01-14 [0a38c5d]
    -->
    <para>
     032.dml_adaptive_loadbalanceテストの安定性を向上させました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-20">
 <title>リリース 4.2.20</title>
  <note>
   <title>リリース日</title>
   <simpara>2024-11-28</simpara>
  </note>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2024-11-26 [02712bc]
    -->
    <para>
     バックエンドがエラーメッセージを送信した場合に、SSLネゴシエーションを中止するよう修正しました。(Tatsuo Ishii)
    </para>
    <para>
     SSLネゴシエーションのクライアント側実装（pool_ssl_negotiate_clientserver()）では、
     中間者攻撃者がSSLネゴシエーションフェーズ中に長いエラーメッセージを送信することで、
     <productname>Pgpool-II</productname>やクライアントを混乱させる可能性がありました。
     このコミットでは、ネゴシエーションを直ちに拒否（FATALエラーを発行）し、
     そのような攻撃を防ぐためにセッションを終了するよう修正しました。
    </para>
    <para>
     これは、PostgreSQLのCVE-2024-10977に似ています。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-11-25 [bc22810]
    -->
    <para>
     リロード処理がWatchdogプロセスに反映されない問題を修正しました。(Bo Peng)
    </para>
    <para>
     <productname>Pgpool-II</productname>の
     <function>reload_config()</function>関数は、
     WatchdogププロセスにSIGHUPシグナルを送信する必要がありました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-11-15 [4eb5505]
    -->
    <para>
     <function>do_query</function>関数の不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     htons/htonlの代わりにntohs/ntohlを使用するように<function>do_query</function>を修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-11-13 [43940e9]
    -->
    <para>
     <filename>pool_passwd</filename>を更新してリロードした後の認証失敗問題を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <filename>pool_hba.conf</filename>が無効になっている場合、<productname>Pgpool-II</productname>のリロードが実行されても、<productname>Pgpool-II</productname>の子プロセスは<filename>pool_passwd</filename>の更新を認識しませんでした。
     リロード処理関数<function>check_config_reload()</function>は、<xref linkend="guc-enable-pool-hba">が有効な場合にのみ<filename>pool_passwd</filename>を再オープンする必要があると誤って判断していたことが原因でした。
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2024-November/001944.html">https://www.pgpool.net/pipermail/pgpool-general/2024-November/001944.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-11-11 [3c9811c]
    2024-11-12 [fab1574]
    -->
    <para>
     <command>COPY</command>がハングする問題を修正しました。(<ulink url="https://github.com/pgpool/pgpool2/issues/79">#79</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     COPY IN状態(つまり、COPY FROM STDIN)中、フロントエンドはFlushまたはSyncメッセージを送信できます。
     F/Bプロトコル仕様によると、これらは無視されるはずですが、<productname>Pgpool-II</productname>は無効なメッセージとして処理し、これが<command>COPY</command>のハングの原因でした。
    </para>
    <para>
     リグレッションテストも追加しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-11-09 [de8d00e]
    -->
    <para>
     シャットダウン中に<productname>Pgpool-II</productname>の子プロセスがクラッシュする問題を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     実際のクラッシュは<function>close_all_backend_connections()</function>内で発生していました。
     この関数は、<function>on_system_exit</function>が<function>child_will_go_down()</function>を登録するために呼び出されます。
     この時点では、<productname>Pgpool-II</productname>子プロセスが起動し、<function>pool_init_cp()</function>を実行した直後であるようです。
     接続プールオブジェクトが完全に初期化されていなかったため、クラッシュが発生していました。
    </para>
    <para>
     この問題はEmond Papegaaijによって報告され、分析されました。
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2024-November/001938.html">https://www.pgpool.net/pipermail/pgpool-general/2024-November/001938.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-10-26 [5095d10]
    -->
    <para>
     認証失敗による散発的なヘルスチェックの失敗を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <xref linkend="guc-health-check-password">が空文字列の場合、ヘルスチェックプロセスは<filename>pool_passwd</filename>ファイルからパスワードを検索します。
     問題は、このファイルのファイルディスクリプタが親pgpoolプロセスから継承されている点です。
     pgpoolメインプロセスとヘルスチェックプロセス（複数存在する可能性あり）が同じディスクリプタを共有するため、さまざまな問題が発生していました。
     この問題を解決するために、ヘルスチェックプロセスが開始される際にファイルを再度開き、
     それぞれのヘルスチェックプロセスが独自のファイルディスクリプタを持つようにしました。
    </para>
    <para>
     なお、pgpoolの子プロセス（フロントエンドセッションを担当）はすでにファイルディスクリプタを再度開く処理を行っており、これが今回の問題には関連していません。
    </para>
    <para>
     この問題は、Emond Papegaaijによって報告され、分析されました。
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2024-October/001913.html">https://www.pgpool.net/pipermail/pgpool-general/2024-October/001913.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-10-23 [273901f]
    -->
    <para>
     <literal>ALTER ROLE</literal>のクエリキャッシュ無効化を最適化しました。(Tatsuo Ishii)
    </para>
    <para>
     コミット<ulink url="https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=6b7d585eb1c693e4ffb5b8e6ed9aa0f067fa1b89">6b7d585eb1c693e4ffb5b8e6ed9aa0f067fa1b89</ulink>は、<literal>ALTER ROLE/USER</literal>ステートメントが使用される際にクエリキャッシュを無効にしています。
     しかし、実際にはこれが過剰です。
     次のクエリはロールの権限に影響を与えないため、クエリキャッシュを無効にする必要はありません。
    </para>
    <programlisting>
ALTER ROLE user WITH [ENCRYPTED] PASSWORD
ALTER ROLE user WITH CONNECTION LIMIT
    </programlisting>
    <para>
     したがって、これらのコマンドが使用される場合には、クエリキャッシュを無効にしないようにしました。
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2024-October/004532.html">https://www.pgpool.net/pipermail/pgpool-hackers/2024-October/004532.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-09-18 [a06b7b1]
    -->
    <para>
     <productname>Pgpool-II</productname>の子プロセスが終了したときに<productname>Pgpool-II</productname>がクラッシュする問題を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <productname>Pgpool-II</productname>の子プロセスが終了すると、<function>close_all_backend_connections()</function>が呼び出され、接続プール内のすべてのバックエンド接続が閉じられます。
     しかし、誤ってMAIN_CONNECTIONマクロが使用されていました。
     このマクロは現在アクティブな接続には適していますが、接続プールが作成された時点でのメインノードが異なる可能性があるため、プールされた接続には適していませでした。
     この問題を修正するために、代わりに<function>in_use_backend()</function>を使用するよう変更しました。
    </para>
    <para>
     Emond Papegaaijによって報告されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-09-14 [db75470]
    -->
    <para>
     ネイティブレプリケーションモードとスナップショットアイソレーションモードのバグを修正しました。(<ulink url="https://github.com/pgpool/pgpool2/issues/69">#69</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     <command>INSERT</command>コマンドを受信すると、<productname>Pgpool-II</productname>はターゲットテーブルに対して自動的にテーブルLOCKコマンドを発行しますが、メインノード以外のノードにコマンドを送信し忘れていました。
     この問題は拡張クエリモードの場合にのみ発生していました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-09-14 [7429499]
    -->
    <para>
     ネイティブレプリケーションモードとスナップショットアイソレーションモードの別のバグを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     insert_lock()は、メインノード以外のノードに行ロックコマンド(lock_kind == 3 の場合)を送信するのを忘れていました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-09-14 [d69efa1]
    2024-09-10 [3db8853]
    -->
    <para>
     <filename>pool_memqcache.c</filename>のメモリリークを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     この問題はコミット<ulink url="https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=6fdba5c33">6fdba5c33</ulink>によって導入されました。
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2024-10-03 [bf46b3d]
    -->
    <para>
     ドキュメントとサンプル設定ファイルのタイポを修正しました。(Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2024-11-25 [3e22ca6]
    2024-11-25 [06a0fc2]
    -->
    <para>
     テスト024.cert_authをOpenSSL 3.2に対応するよう修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-19">
 <title>リリース 4.2.19</title>
  <note>
   <title>リリース日</title>
   <simpara>2024-09-09</simpara>
  </note>

 <sect2>
  <title>概要</title>
  <para>
   このリリースには、セキュリティ修正が含まれています。
  </para>
  <para>
   クエリキャッシュ機能（<xref linkend="runtime-in-memory-query-cache">）が有効な時に、データベースユーザがクエリキャッシュ経由で本来読み出せない行を読むことが可能でした。(CVE-2024-45624)
  </para>
  <para>
   4.5.4, 4.4.9, 4.3.12, 4.2.19, 4.1.22より古く、クエリキャッシュ機能を持つすべてのバージョン(クエリキャッシュ機能は3.2で実装されました)がこの脆弱性の影響を受けます。
  </para>

  <itemizedlist>
   <listitem>
    <para>
     あるユーザのクエリキャッシュがテーブルに対して作成されていると、そのテーブルへのアクセス権がREVOKEコマンドで剥奪されても、アクセス権を持たないそのユーザがクエリキャッシュを通じてテーブルにアクセスすることが可能でした。
    </para>
   </listitem>

   <listitem>
    <para>
     ユーザAのクエリキャッシュがテーブルに対して作成されていて、同じセッション内でSET ROLEあるいはSET SESSION_AUTHORIZATIONで他のユーザBに切り替えてそのテーブルにアクセスすると、アクセス権を持たないBがクエリキャッシュを通じてアクセスすることが可能でした。
    </para>
   </listitem>

   <listitem>
    <para>
     ユーザAのクエリキャッシュが行セキュリティが有効なテーブルに対して作成されていて、同じセッション内でSET ROLEあるいはSET SESSION_AUTHORIZATIONで他のユーザBに切り替えてそのテーブルにアクセスすると、本来Bが見えない行をクエリキャッシュを通じて取り出すことが可能でした。
    </para>
   </listitem>
  </itemizedlist>
  <para>
   Pgpool-II 4.5.4, 4.4.9, 4.3.12, 4.2.19, 4.1.22以降へのアップグレードを強くお勧めします。
   それができない場合は、クエリキャッシュ機能を無効にしてください。
  </para>
  <para>
   なお、この脆弱性を修正するために、いくつかのコマンド(ALTER DATABASE, ALTER ROLE, ALTER TABLE, REVOKE)を実行すると、クエリキャッシュのすべてのデータを削除するようになりました。
   これにより、クエリキャッシュの性能に影響があるかも知れません。
  </para>
 </sect2>

 <sect2>
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2024-08-15 [e5f3056]
    -->
    <para>
     <xref linkend="guc-notice-per-node-statement">をバックポートしました。 (Tatsuo Ishii)
    </para>
    <para>
     これは主にテストのためです。v4.1までバックポートしました。
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2024-August/004505.html">[pgpool-hackers: 4504]</ulink>
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2024-08-09 [7d97cdb]
    2024-08-11 [0c10733]
      -->
    <para>
     レプリケーションモードとスナップショットアイソレーションモードで発生する複数の不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     次の不具合を修正しました。
    </para>
    <itemizedlist>
     <listitem>
      <para>
       レプリケーションモードおよびスナップショットアイソレーションモードでコマンドを実行すると、<productname>Pgpool-II</productname>はクエリ準備完了メッセージを待ちますが、一部のコマンド（<command>SET ROLE</command>など）がパラメータステータスメッセージを生成することを忘れていました。
       その結果、<productname>Pgpool-II</productname>はクエリ準備完了メッセージの前に他のメッセージが到着したことをエラーとして出力していました。
      </para>
     </listitem>

     <listitem>
      <para>
       前のクエリがパラメータステータスメッセージを生成した場合、後続の<function>parse()</function>はそれを読み取って処理する必要があります。
       これは、パラメータステータスメッセージの後に続くはずのクエリ準備完了メッセージを読み取る必要があるためです。
      </para>
      <para>
       ただし、<function>ParameterStatus()</function>が呼び出されると、クエリ進行中フラグが設定され、この<function>parse()</function>呼び出しで処理されるクエリが負荷分散されている場合、バックエンドからのパラメータステータスメッセージの1つだけが処理される可能性がありました。
       パラメータステータスメッセージは<command>SET</command>コマンドによって生成され、<command>SET</command>コマンドはレプリケーションモードおよびスナップショットアイソレーションモードのすべての生きているバックエンドに送信されるため、すべての生きているバックエンドから送信される可能性がありました。
       そのため、ParameterStatus()を呼び出す前に、クエリ進行中フラグを設定解除するように修正しました。
      </para>
     </listitem>

    </itemizedlist>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-18">
 <title>リリース 4.2.18</title>
  <note>
   <title>リリース日</title>
   <simpara>2024-08-15</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>

   <listitem>
    <!--
    2024-08-02 [c0435a7]
    -->
    <para>
     サンプルスクリプトで<command>initdb -V</command>の代わりに<command>psql -V</command>を使用するように修正しました。 (Bo Peng)
    </para>
    <para>
     postgresqlxx-serverがインストールされていない可能性があるため、サンプルスクリプトで<command>initdb -V</command>の代わりに<command>psql -V</command>を使用するように修正しました。
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2024-07-30 [12196dc]
    -->
    <para>
     フラッシュメッセージを受信した後にハングする問題を修正しました。 (<ulink url="https://github.com/pgpool/pgpool2/issues/59">#59</ulink>) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2024-07-22 [8ca5235]
    -->
    <para>
     セグメンテーション違反を修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     Pgpool-IIの子プロセスがpool_do_authでセグメント違反になることがありました。
     原因はMAIN_CONNECTION()がNULLを返すことでした。
     my_main_node_idが不正なノードID 0に設定されていたようですが、これは実際にはダウン状態でした。
     そのため、cp->slots[0]には接続がありませんでした。
    </para>
    <para>
     この問題はEmond Papegaaijによって報告されました。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2024-July/001852.html">[pgpool-general: 9175]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-06-21 [8f292aa]
    -->
    <para>
     MAIN_NODEマクロを使用しないようにセグメンテーション違反を修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     一部の関数 (close_idle_connection()、new_connection()、pool_create_cp())では、MAIN*とVALID_BACKENDが不適切な場所で使用されていました。
     MAIN*とVALID_BACKENDは、バックエンドへの現在の接続に対してのみ有効であり、プールされた接続には有効ではありません。
     プールされた接続では、どのバックエンドがメインノードであるか、または稼働中であるかは、バックエンドへの現在の接続と必ず同じであるためです。
     これらのマクロを誤って使用すると、セグメンテーション違反が発生することがありました。
    </para>
    <para>
     この問題はEmond Papegaaij によって報告されました。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2024-June/009176.html">[pgpool-general: 9114]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-06-21 [0690a4f]
    -->
    <para>
     MAIN_NODEマクロ（実際は pool_virtual_main_db_node_id()）を修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     セッションコンテキストがない場合、マクロは<literal>REAL_MAIN_NODE_ID</literal>に使用されます。
     フェイルオーバー/フェイルバックが発生すると、いつでも<literal>REAL_MAIN_NODE_ID</literal>が変更される可能性があるため、これは誤りでした。
    </para>
    <para>
     REAL_MAIN_NODE_ID == my_main_node_id == 1と仮定します。
     その後、フェイルバックにより、<literal>REAL_MAIN_NODE_ID</literal>は0に変更されます。
     その後、MAIN_CONNECTION(cp)はNULLを返し、これへの参照はセグメンテーションエラーを引き起こします。
     この問題を回避するには、代わりにmy_main_node_idを返すように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-06-14 [96ff6de]
    -->
    <para>
     <command>show pool_processes</command>で行の説明が2回表示されないように修正しました。(Tatsuo Ishii)
    </para>
    <para>
     processes_reporting()が誤ってsend_row_description()とsend_row_description_and_data_rows()の両方を呼び出していました。
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2024-June/004472.html">[pgpool-hackers: 4471]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-06-11 [622ff0e]
    -->
    <para>
     子プロセスでのセグメンテーション違反を修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2024-May/001780.html">[pgpool-general: 9104]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-06-11 [c3ee4b5]
    -->
    <para>
     ネットワークが短時間中断されると、Watchdogが停止し、<productname>Pgpool-II</productname>が強制終了する問題を修正しました。 (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=823">#823</ulink>) (Muhammad Usama)
    </para>
    <para>
     ネットワーク監視を有効にすると、<productname>Pgpool-II</productname>ノードはすべてのネットワークインターフェイスまたは割り当てられたIPアドレスを失った場合に直ちにシャットダウンし、通信できないノードをクラスタからすばやく削除することで追加の保護を提供します。
    </para>
    <para>
     問題は、ネットワーク監視が無効になっている場合でも、<productname>Pgpool-II</productname>がネットワークブラックアウトイベントに応答していたことです。
     この修正により、ネットワーク監視が有効になっていない場合にネットワーク監視ソケットがオープンされなくなり、不要なシャットダウンが防止されます。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-06-10 [908e20d]
    -->
    <para>
     Watchdogが有効な場合に<command>pgpool reset</command>コマンドが動作しない問題を修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     バグはkeiseoによって報告・問題分析されました。
     Disscussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2024-June/004466.html">[pgpool-hackers: 4465]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-06-04 [92258c6]
    -->
    <para>
     <literal>psql_scan</literal>のクラッシュを修正しました。 (<ulink url="https://github.com/pgpool/pgpool2/issues/54">#54</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     長いクエリ内の文字列が<literal>psql</literal>変数（つまり「:」で始まる）であるかどうかを判別しているときに、<literal>psql_scan</literal>がクラッシュする問題がありました。
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2024-06-07 [b66a353]
    -->
    <para>
     ドキュメントとプログラムソースコードの大量なタイポミスを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     パッチはUmar Hayatによって作成されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-06-19 [51f78ae]
    -->
    <para>
     仮想IP関連パラメータのデフォルト値をドキュメントに追加しました。(Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-17">
 <title>リリース 4.2.17</title>
  <note>
   <title>リリース日</title>
   <simpara>2024-05-16</simpara>
  </note>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2024-05-01 [afa710e]
    -->
    <para>
     <literal>-Werror=implicit-function-declaration</literal>オプションで発生するコンパイルエラーを修正しました。(Bo Peng)
    </para>
    <para>
     非推奨のldap関数のプロトタイプを含めるために<literal>LDAP_DEPRECATED</literal>を追加しました。
     また、autoconfチェックで不足していたヘッダーファイルを追加しました。
    </para>
    <para>
     パッチはVladimir Petkoによって作成されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-04-04 [57d7985]
    -->
    <para>
     セグメンテーション違反のさまざまな原因を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     フェイルオーバーが関与している特定のケースでは、Pgpool-IIとその子プロセスのセグメント違反が発生していました。
    </para>
    <para>
     この問題は、Emond Papegaaijによって報告・分析されました。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2024-April/009131.html">https://www.pgpool.net/pipermail/pgpool-general/2024-April/009131.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-04-03 [bb1b7eb]
    -->
    <para>
     初期化されていないメモリエラーを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     read_startup_packetの初期化されていないメモリエラーを含むいくつかのエラーが<literal>valgrind</literal>によって報告されました。 
     <literal>valgrind</literal>は、キャンセルまたはSSL要求の場合にpallocを使用してスタートアップパケット内のユーザー名にメモリを割り当て、その後、そのメモリがpstrdupによって使用されます。 
     pallocによって割り当てられたメモリは未定義であったため、これをpalloc0に修正しました。
    </para>
    <para>
     この問題は、Emond Papegaaijによって報告・分析されました。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2024-April/009126.html">https://www.pgpool.net/pipermail/pgpool-general/2024-April/009126.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-04-02 [4550b68]
    -->
    <para>
     <varname>load_balance_mode</varname>がオフの場合に発生するエラー/ハングアップを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     load_balance_modeがオフで、プライマリノードIDが0でない場合には、BEGINなどクエリでエラー/ハングアップが発生していました。
     コミット <ulink url="https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=3f3c1656">3f3c1656</ulink>の修正によって導入された問題です。
    </para>
    <para>
     バグはEmond Papegaaijによって発見・分析されました。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2024-March/009113.html">https://www.pgpool.net/pipermail/pgpool-general/2024-March/009113.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-03-25 [1a15495]
    -->
    <para>
     特定のCFLAGSによるコンパイルエラーを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <ulink url="https://github.com/pgpool/pgpool2/issues/42">https://github.com/pgpool/pgpool2/issues/42</ulink>によって報告されました。
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2024-March/004443.html">https://www.pgpool.net/pipermail/pgpool-hackers/2024-March/004443.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2024-03-25 [38ee4ae]
    -->
    <para>
     サンプルpgpool.conf内のコメントを修正しました。(Bo Peng)
    </para>
    <para>
     <varname>sr_check_period</varname>のデフォルト値は10秒であるため、修正しました。コメント内のいくつかのタイポも修正しました。
    </para>
    <para>
     パッチはhiroinによって作成され、Bo Pengによって修正されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-03-21 [ff43279]
    -->
    <para>
     拡張クエリが終了していない場合でもリセットクエリを実行できるようにしました。(Tatsuo Ishii)
    </para>
    <para>
     コミット<ulink url="https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=240c668d">240c668d</ulink>が原因で、拡張クエリメッセージが終了していない場合、リセットクエリが失敗していました。
     このコミットでは、SimpleQuery()でリセットクエリを実行しているかどうかをチェックすることで、この問題を修正しました。
     また、テストケースも追加しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-03-18 [9d6561a]
    -->
    <para>
     不適切なプロトコルデータから保護するように修正しました。(Tatsuo Ishii)
    </para>
    <para>
     拡張クエリメッセージのシーケンスが終了する前にシンプルクエリメッセージが到着すると、<productname>Pgpool-II</productname>がハングする可能性がありました。
     これは、シンプルクエリのセッションコンテキスト内のクエリコンテキストが、拡張クエリメッセージのクエリコンテキストによって上書きされたためです。
    </para>
    <para>
     このコミットでは、拡張クエリプロトコルメッセージが終了したかどうかをチェックするように実装しました。
     終了していない場合は、FATALエラーを発生させます。このチェックによって検出された既知の例は、JDBCドライバーの「autosave=always」オプションです。
     つまり、このコミットの後、問題（拡張クエリメッセージプロトコルが終了する前にシンプルプロトコルメッセージを送信する）がJDBCドライバー側で修正されるまで、
     <productname>Pgpool-II</productname>はこのオプションを受け入れません。
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2024-February/004428.html">https://www.pgpool.net/pipermail/pgpool-hackers/2024-February/004428.html</ulink>
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2024-04-03 [8986a8b]
    -->
    <para>
     「上位サーバへの接続」ドキュメントを改善します。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2024-03-28 [02fb8ea]
    -->
    <para>
     日本語ドキュメントの言語クリーンアップしました。(Masaya Kawamoto)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2024-03-16 [527ad4c]
    2024-03-15 [65fc6c7]
    -->
    <para>
     Java 21での非推奨警告を回避するために回帰テスト005.jdbcを修正しました。(Bo Peng)
    </para>
    <para>
     Java 21での非推奨警告を回避するには、Runtime.exec(String)をRuntime.exec(String[])に置き換えました。
    </para>
    <para>
     パッチはVladimir Petkoによって作成され、Bo Pengによって修正されました。
    </para>
   </listitem>

  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-16">
 <title>リリース 4.2.16</title>
  <note>
   <title>リリース日</title>
   <simpara>2024-02-29</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2024-02-27 [a1d09d5]
    -->
    <para>
     サンプルスクリプトからrestore_commandの設定を削除しました。 (Bo Peng)
    </para>
    <para>
     レプリケーションスロットが有効になっているため、restore_commandは不要です。
     この設定により、フェールオーバーが失敗するケースがあるからです。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2024-02-26 [7ac122b]
    -->
    <para>
     <xref linkend="guc-recovery-user">のデフォルト値を修正しました。 (Bo Peng)
    </para>
    <para>
     <varname>recovery_user</varname>デフォルト値は<xref linkend="guc-health-check-user">や<xref linkend="guc-sr-check-user">と同じである必要があるため、
     デフォルト値を''から'nobody'に変更しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-02-10 [6046a71]
    -->
    <para>
     BEGINなどでの<xref linkend="guc-statement-level-load-balance">の不具合を修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     <varname>statement_level_load_balance</varname>が有効な場合、
     <xref linkend="guc-load-balance-mode">が無効であっても、
     BEGIN/END/COMMIT/ABORT/SET/SAVEPOINT/RELEASE SAVEPOINT/DEALLOCATE ALL/DISCARDがプライマリノードとすべてのスタンバイノードに送信されていました。
     これは明らかに間違っているだけでなく、スタンバイノードの1つがリモートネットワークにある場合、速度が低下する原因となります。
    </para>
    <para>
     <varname>load_balance_mode</varname>がオフの場合、
     Pgpool-IIはそのようなクエリをプライマリノードにのみ送信するように修正しました。
    </para>
    <para>
     Reported: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2024-January/009059.html">https://www.pgpool.net/pipermail/pgpool-general/2024-January/009059.html</ulink>
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2024-February/004423.html">https://www.pgpool.net/pipermail/pgpool-hackers/2024-February/004423.html</ulink>
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2024-02-26 [8719ca4]
    -->
    <para>
     日本語のWatchdogドキュメントを修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     Watchdog「リーダー」ではなく「マスター」を誤って使用していました。
    </para>
   </listitem>

   <listitem>
    <!--
    2024-02-26 [2fa4088]
    -->
    <para>
     英語のWatchdogドキュメントを修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     PostgreSQL「プライマリ」ではなく「メイン」を誤って使用していました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-15">
 <title>リリース 4.2.15</title>
  <note>
   <title>リリース日</title>
   <simpara>2023-11-30</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2023-11-17 [823cfd9]
    -->
    <para>
     大文字のホスト名をサポートするようにサンプルスクリプトのレプリケーションスロット名の変換処理を変更しました。(Bo Peng)
    </para>
    <para>
     フェイルオーバやオンラインリカバリの時に実行されるスクリプトで、自動的にレプリケーションスロットを削除/作成しています。
     レプリケーションスロット名には大文字を使用できないため、ホスト名を小文字に変換するようにこれらのスクリプトを修正しました。
    </para>
    <para>
     パッチはSheikh Wasiu Al Hasibによって作成され、Bo Pengによって修正されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2023-10-06 [5c9b377]
    -->
    <para>
     パラメータ<xref linkend="guc-wd-escalation-command">用のサンプルスクリプト<filename>escalation.sh.sample</filename>でSSH接続時のタイムアウト時間を指定するようにしました。(Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2023-10-04 [6075d59]
    -->
    <para>
     不要なログ行を削除しました。(Tatsuo Ishii)
    </para>
    <para>
     デバッグメッセージ「unset_tx_started_by_multi_statement_query is called in CommandComplete」が誤って残っていました。
    </para>
   </listitem>

   <listitem>
    <!--
    2023-09-29 [72a171c]
    2023-09-29 [2036eac]
    -->
    <para>
     <command>DECLARE</command>によって作成されたポータルでアボートしないように<function>Describe()</function>を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <command>DECLARE foo CURSOR FOR</command>を実行すると、<productname>PostgreSQL</productname>によって「foo」という名前のポータルが自動的に作成されます。
     このポータルは<productname>Pgpool-II</productname>によって管理されないため、<command>Describe foo</command>メッセージは「unable to execute Describe. unable to get the bind message」エラーで失敗していました。
    </para>
    <para>
     これを修正するため、<function>Describe()</function>でダミーの書き込みクエリコンテキストを作成し、<command>Describe</command>メッセージをプライマリ（ストリーミングレプリケーションモード）またはすべてのノード（レプリケーション/スナップショットアイソレーションモード）に送信するようにしました。
    </para>
    <para>
     新たなテストケース080も追加しました。
    </para>
    <para>
     この問題はHeather Lapointeによって報告・分析されました。
    </para>
    <para>
     ディスカッション: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2023-September/008995.html">https://www.pgpool.net/pipermail/pgpool-general/2023-September/008995.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2023-10-03 [9b95270]
    2023-10-07 [f6b8228]
    2023-09-20 [3763441]
    -->
    <para>
     <varname>NAMEDATALEN</varname>の重複定義を削除しました。(Tatsuo Ishii)
    </para>
    <para>
     <filename>src/include/pg_config_manual.h</filename>のみで<varname>NAMEDATALEN</varname>を定義するようにしました。
     また、<filename>src/utils/pool_select_walker.c</filename>内の<varname>POOL_NAMEDATALEN</varname>を<varname>NAMEDATALEN</varname>に置き換えました。
    </para>
    <para>
     ディスカッション: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2023-August/004366.html">https://www.pgpool.net/pipermail/pgpool-hackers/2023-August/004366.html</ulink>
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2023-11-29 [42dc580]
    -->
    <para>
     PCPがすべてのアドレスをリッスンするには<varname>pcp_listen_addresses = '*'</varname>の設定が必要である旨を「Pgpool-II + Watchdogの構築の例」に記載しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2023-08-21 [d7256e1]
    -->
    <para>
     <xref linkend="guc-follow-primary-command">のドキュメントの説明を強化しました。(Tatsuo Ishii)
    </para>
    <para>
     <xref linkend="pcp-recovery-node">を使用しない場合は、<xref linkend="pcp-attach-node">の実行が必要である旨を記載しました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2023-08-21 [957f983]
    -->
    <para>
     <command>pgpool_setup</command>を強化しました。(Tatsuo Ishii)
    </para>
    <para>
     フェイルオーバスクリプトおよびフォロープライマリスクリプトでより適切なログを出力できるように<command>pgpool_setup</command>を改善しました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-14">
 <title>リリース 4.2.14</title>
  <note>
   <title>リリース日</title>
   <simpara>2023-08-17</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2023-07-23 [2cbc61e]
    -->
    <para>
     共有メモリの初期化後にのみ、システム終了コールバックを呼び出すようにしました。(Muhammad Usama)
    </para>
    <para>
     共有メモリの取得に失敗して、終了時コールバックが呼び出された場合、クリーンアップ関数は、共有メモリに存在するprocess_infoにアクセスする際にセグメンテーション違反を引き起こす可能性がありました。
     process_infoがNULLのときに終了コールバックからの中断で修正することもできますが、共有メモリの初期化に成功した後に関数をインストールする方がより良いアプローチです。
     なぜなら、システムの残りの部分は常にprocess_infoがNULLになることはないと想定しており、また、子プロセスが生成される前にクリーンアップをする必要はないからです。
    </para>
   </listitem>

   <listitem>
    <!--
    2023-06-12 [7ff642f]
    -->
    <para>
     一部のシステムカタログ照会関数にスキーマ修飾を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2023-08-09 [30db44e]
    -->
    <para>
     Coverityの警告を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     クエリキャッシュのモジュールで、time_tの値がint32変数に割り当てられる問題を修正しました。
     Coverityの指摘に従いまして、変数の型をint64に変更しました。
     また、time_tの差分を計算するためにdifftime()を使用しました。これは推奨される方法です。
     <ulink url="https://www.jpcert.or.jp/sc-rules/c-msc05-c.html">https://www.jpcert.or.jp/sc-rules/c-msc05-c.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2023-08-04 [1633f61]
    -->
    <para>
     find_primary_node_repeatedlyが<xref linkend="guc-search-primary-node-timeout">指定時間内で終了しない問題を修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-07-17 [cd03751]
    -->
    <para>
     v2プロトコルを利用する場合のクラッシュを修正しました。(<ulink url="https://www.pgpool.net/mantisbt/view.php?id=807">bug 807</ulink>)(Tatsuo Ishii)
    </para>
    <para>
     read_kind_from_backend()で統計データを蓄積する際、v2プロトコルのケースには対応していませんでした。
    </para>
    <para>
     MCanivezからバグ報告とパッチを提供いただきました。
    </para>
   </listitem>

   <listitem>
    <!--
    2023-07-12 [1f5b7c8]
    -->
    <para>
     マルチステートメントにおける<literal>PREPARE</literal>の利用を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     マルチステートメントの二番目以降の位置に<literal>PREPARE</literal>が含まれている場合、その後のbindメッセージでプリペアドステートメントを利用すると、送信されたメッセージにプリペアドステートメントが保存されな
いため、「unable to bind」エラーが発生していました。
    </para>
    <para>
     この問題を修正するために、ステートメントを解析した後にそのようなケースが見つかった場合、名前付きステートメントのクエリコンテキストを作成し、送信メッセージのリストに追加するようにしました。
    </para>
    <para>
     議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2023-July/008931.html">https://www.pgpool.net/pipermail/pgpool-general/2023-July/008931.html</ulink>
    </para>
    <para>
     この修正のため、リグレッションテスト079..multi_prepareを追加しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2023-07-09 [e62c5a7]
    -->
    <para>
     <literal>pgproto</literal>をパラメータを使用するbindメッセージを処理できるようにしました。(Tatsuo Ishii)
    </para>
    <para>
     以前、<literal>pgproto</literal>はパラメータを持たないbindメッセージしか処理できませんでした。
    </para>
   </listitem>

   <listitem>
    <!--
    2023-05-30 [1c67980]
    -->
    <para>
     サンプルスクリプトのログメッセージを修正しました。(Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2023-08-03 [5bf4ede]
    -->
    <para>
     loggerプロセスのアプリケーション名記載漏れを修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-08-01 [65e2760]
    -->
    <para>
     停止モードの意味を明確にしました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-07-26 [dda631f]
    -->
    <para>
     4.2.10リリースノートにあった誤った情報を削除しました。(Bo Peng)
    </para>
    <para>
     「pgpool_recovery拡張のスクリプトを修正しました。 (Tatsuo Ishii)」の記載を削除しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2023-07-11 [ddbcead]
    -->
    <para>
     「8.2. Pgpool-II + Watchdogの構築の例」のSSH公開鍵認証の説明を補足しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-06-29 [fcac3fb]
    2023-06-28 [9adee42]
    -->
    <para>
     負荷分散章の説明を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     一部の文章で「ストリーミングレプリケーションモード」と記述されるべきの箇所が「ネイティブレプリケーションモード」となっていました。
     また、ストリーミングレプリケーションモードにおける負荷分散の追加要件に関する説明を改善しました。
     いくつかのインデックスを追加しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2023-06-27 [fc0747a]
    -->
    <para>
     オンラインリカバリーの説明を改善しました。(Bo Peng)
    </para>
    <para>
     複数のpgpoolノードでwatchdogが有効になっていない場合、オンラインリカバリーのセカンドステージが適切に機能しないことについて言及しました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2023-05-22 [29f7861]
    -->
    <para>
     時折発生する069.memory_leak_extendedテストの失敗を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     偶発するテストの失敗の原因は、pgbenchが終了した後にpsコマンドを実行する前にpgpoolの子プロセスが消えてしまうことにあると判明しました。
     これにより、「DISCARD ALL cannot be executed within a pipeline」というkind mismatchのFATALエラーが発生していました。
     これを修正するために、pgbenchをバックグラウンドで実行し、pgbenchが終了する前にプロセスのサイズを取得するようにしました。
    </para>
    <para>
     議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2023-May/004338.html">https://www.pgpool.net/pipermail/pgpool-hackers/2023-May/004338.html</ulink>
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-13">
 <title>リリース 4.2.13</title>
  <note>
   <title>リリース日</title>
   <simpara>2023-05-18</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2023-04-18 [ea63203]
    -->
    <para>
     マルチステートメントのクエリを判定するために、<literal>psqlscan</literal>のソースコードを<productname>Pgpool-II</productname>にインポートしました。(Tatsuo Ishii)
    </para>
    <para>
     <literal>psqlscan</literal>は、<productname>PostgreSQL</productname>ソースツリー内のモジュールです。
     これは本質的にPostgreSQL SQLスキャナのサブセットですが、各SQLステートメントの終わりの検出に特化しています。 
     したがって、これを使用してクエリ文字列内のSQLステートメントの数をカウントできます。
    </para>
    <para>
     議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2023-February/004291.html">https://www.pgpool.net/pipermail/pgpool-hackers/2023-February/04291.html</ulink>
     議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2023-April/004320.html">https://www.pgpool.net/pipermail/pgpool-hackers/2023-April/004320.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2023-04-09 [f6ab7be]
    2023-02-15 [4afb7d5]
    -->
    <para>
     複数のステートメントを幅広く使用できるようにしました。 (Tatsuo Ishii)
    </para>
    <para>
     このコミットは、複数のステートメント (マルチステートメント) に関する<productname>Pgpool-II</productname>の長年の制限を排除しました。
    </para>
    <para>
     議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2023-February/004287.html">https://www.pgpool.net/pipermail/pgpool-hackers/2023-February/004287.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2023-04-16 [51e6174]
    2023-03-30 [a508d33]
    2023-03-28 [687f6c0]
    -->
    <para>
     内部クエリでスキーマ修飾を使用するように変更しました。(Tatsuo Ishii)
    </para>
    <para>
     関数やキャストなどの一部のオブジェクトは、「pg_catalog.」スキーマ修飾を使用していませんでした。 
     これによって直ちにセキュリティ上の懸念が生じるわけではありませんが、スキーマ修飾を使用することは常に良い習慣ですので、変更しました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2023-05-12 [21d2945]
    -->
    <para>
     共有リレーションキャッシュで発生しうるデッドロックを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     ユーザー定義関数がテーブルロックを取得する場合、拡張クエリプロトコルを使用して関数を呼び出すとデッドロックが発生する可能性がありました。
     以下にシナリオを示します。
     <itemizedlist>
      <listitem>
       <para>
        (1) セッション中クライアントはparse、bind、executeリクエストをpgpoolに送信します。
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        (2) セッションAのPgpool-IIはリクエストをPostgreSQLに転送します。
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        (3) セッションAのPostgreSQLがexecuteを実行し、テーブルロックが発生します。
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        (4) セッションBで、クライアントは関数のparse、bind、executeリクエストをpgpoolに送信します。
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        (5) セッションBのPgpoolはリクエストをPostgreSQLに転送します。
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        (6) セッションBのPostgreSQLはbindを実行しますが、テーブルはセッションAのPostgreSQLによってすでにロックされており、ロックの解放を待ちます。
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        (7) セッションBのpgpoolはexecuteをPostgreSQLに転送した後、関数の揮発性をチェックするために共有リレーションキャッシュを検索するためのセマフォを取得します。
        次に、do_queryを呼び出し、フラッシュメッセージをPostgreSQLに送信して、この時点までのPostgreSQLからの応答を取得します。
        ただし、#6ではPostgreSQLがテーブルロックを待機しているため、pgpoolはバインド完了後のメッセージを待つ必要があります。
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        (8) セッションAのpgpoolがPostgreSQLにexecuteを転送した後、関数の揮発性をチェックするために共有リレーションキャッシュを検索しセマフォを取得しようとしましたが、セマフォはセッションBのpgpoolによってすでに取得されているため、セマフォの解放を待ちます。
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        (9) セッションAとセッションBがお互いを待機するため、デッドロックが発生します。
       </para>
      </listitem>
     </itemizedlist>
    </para>
    <para>
     これを修正するには、do_query()を呼び出す前にセマフォを解放するようにpool_search_relcache()を変更しました(ただし、セマフォはdo_query()の後に取得します)。
     これにより、上記#8のセッションAはセマフォを取得し、先に進むことができます。
     クライアントからsyncメッセージを受信し、PostgreSQLに転送します。
     syncを受信すると、ユーザ定義関数は実行を終了し、テーブルロックを解放します。
     これにより、セッションBのPostgreSQLがテーブルロックを取得できるようになります。
    </para>
   </listitem>

   <listitem>
    <!--
    2023-03-22 [f18b58a]
    -->
    <para>
     musl libcを使用するシステムでのコンパイルエラーを修正しました。(<ulink url="https://www.pgpool.net/mantisbt/view.php?id=790">bug 790</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     パッチはleimaohuiによって提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2023-02-05 [8af1024]
    -->
    <para>
     複数のクエリキャッシュの不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2023-January/004259.html">https://www.pgpool.net/pipermail/pgpool-hackers/2023-January/004259.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2023-02-05 [ad05fa5]
    -->
    <para>
     特殊なケースでsrワーカーが間違ったクエリをスタンバイサーバに送信する不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     ALWAYS_PRIMARYフラグが設定されている場合、PRIMARY_NODE_IDマクロは、プライマリがダウンしている場合でも、-1ではなくノードIDを返していました。 
     この場合、ストリーミングレプリケーション遅延をチェックするワーカープロセスは、<productname>PostgreSQL</productname>のバージョンに応じて<literal>SELECT pg_current_wal_lsn()</literal>または<literal>SELECT pg_current_xlog_location()</literal>をスタンバイに送信し、当然エラーが発生していました。
    </para>
    <para>
     議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2023-February/004279.html">https://www.pgpool.net/pipermail/pgpool-hackers/2023-February/004279.html</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2023-01-31 [633bdca]
    -->
    <para>
     <literal>DEALLOCATE</literal>による種類不一致エラーを修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=780">bug 780</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     以下の条件がすべて満たされた場合、種類不一致エラーが発生していました。
     <itemizedlist>
      <listitem>
       <para>
        ストリーミングレプリケーションモード
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        ロードバランスノードがプライマリ以外のノード
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        <literal>PREPARE</literal>がマルチステートメントクエリで使用されている
       </para>
      </listitem>
     </itemizedlist>
    </para>
   </listitem>

   <listitem>
    <!--
    2023-01-25 [bdf28d8]
    -->
    <para>
     回帰テストのコンパイルエラーを修正しました。(Takuma Hoshiai)
    </para>
    <para>
     gcc10を使用したタイムスタンプテストでエラーが発生していました。
    </para>
   </listitem>

   <listitem>
    <!--
    2023-02-18 [6d15c38]
    -->
    <para>
     <literal>show pool_version</literal>で行の説明が2回表示される問題を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2023-04-25 [99b5db1]
    -->
    <para>
     <xref linkend="guc-wd-priority">の説明を追加しました。(Chen Ningwei)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-04-19 [8305fcc]
    -->
    <para>
     <literal>PREPARE/EXECUTE/DEALLOCATE</literal>に関する制限を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-04-19 [c561d4d]
    -->
    <para>
     Pgpool-IIで<literal>-D</literal>オプションを使用する場合の注意点を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-04-14 [391c91e]
    -->
    <para>
     「RPMからのインストール」セクションを強化しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-04-13 [b8c57ce]
    -->
    <para>
     「サーバの準備と運用」の章に「PostgreSQLデータベースのバックアップ」セクションを追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-04-13 [185a4a8]
    -->
    <para>
     「Pgpool-II + Watchdogの構築の例」から「-D」起動オプションの設定を削除しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-04-09 [b1f04c0]
    -->
    <para>
     「制限事項」セクションを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <itemizedlist>
      <listitem>
       <para>
        <literal>SCRAM-SHA-256</literal>認証に関する記述を追加
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        スナップショットアイソレーションモードに関する記述を追加
       </para>
      </listitem>
     </itemizedlist>
    </para>
   </listitem>

   <listitem>
    <!--
    2023-02-22 [30b2d9c]
    -->
    <para>
     AES256をサポートするには<option>--with-openssl</option>オプションが必要であることを記載しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-02-21 [be400b9]
    -->
    <para>
     .pcppassを使用するには、pcpコマンドの-wオプションが必要であることを記載しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-02-01 [4e3c8df]
    -->
    <para>
     <xref linkend="sql-show-pool-cache">を強化しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2023-01-28 [aa16a94]
    -->
    <para>
     071.execute_and_deallocate/test.shをリファクタリングしました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-05-12 [5ab80d6]
    2023-04-29 [b73d6f0]
    2023-04-16 [d8d25d5]
    2023-04-15 [17f01a6]
    -->
    <para>
     いくつかの回帰テストを強化しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2023-04-06 [7c836d6]
    -->
    <para>
     時折発生する005.jdbcテストの失敗を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-12">
 <title>リリース 4.2.12</title>
  <note>
   <title>リリース日</title>
   <simpara>2023-01-23</simpara>
  </note>

 <sect2>
  <title>概要</title>
  <para>
   このリリースには、セキュリティ修正が含まれています。
  </para>
  <para>
   以下の条件をすべて満たす場合、<xref linkend="SQL-SHOW-POOL-STATUS">コマンドにより<xref linkend="guc-wd-lifecheck-user">のパスワードが公開されます。このコマンドは、<productname>Pgpool-II</productname>に接続できるすべてのユーザーが実行できます。(CVE-2023-22332)
  </para>

  <itemizedlist>
   <listitem>
    <para>
     バージョン3.3以降
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="guc-use-watchdog">が<literal>on</literal>に設定されている
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="guc-wd-lifecheck-method">に<literal>query</literal>が設定されている
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="guc-wd-lifecheck-password">にプレーンテキストのパスワードが設定されている
    </para>
   </listitem>
  </itemizedlist>

  <para>
   上記条件のすべてに該当するユーザは、このバージョンにアップグレードするか (show pool_statusコマンドで<xref linkend="guc-wd-lifecheck-password">が表示されなくなる)、次の回避策のいずれかを使用することを強くお勧めします。
  </para>

  <para>
   4.0.x～4.4.xユーザ向けの回避策:
  </para>

  <itemizedlist>
   <listitem>
    <para>
     Watchdogを無効にする。(<xref linkend="guc-use-watchdog">を<literal>off</literal>に設定する)
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="guc-wd-lifecheck-method">に<literal>heartbeat</literal>を設定する。
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="guc-wd-lifecheck-password">には空文字を設定し、パスワードはpool_passwdファイルに設定する。
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="guc-wd-lifecheck-password">にAESで暗号化したパスワードを設定する。
    </para>
   </listitem>
  </itemizedlist>

  <para>
   いずれにせよ、PostgreSQLで<xref linkend="guc-wd-lifecheck-password">を変更することをお勧めします。
  </para>

  <para>
   3.3.x～3.7.xユーザ向けの回避策:
  </para>

  <itemizedlist>
   <listitem>
    <para>
     Watchdogを無効にする。(<xref linkend="guc-use-watchdog">を<literal>off</literal>に設定する)
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="guc-wd-lifecheck-method">に<literal>heartbeat</literal>を設定する。
    </para>
   </listitem>
  </itemizedlist>

  <para>
   いずれにせよ、<productname>PostgreSQL</productname>で<xref linkend="guc-wd-lifecheck-password">を変更することをお勧めします。
  </para>

  <para>
   <productname>Pgpool-II</productname> 3.7.xおよび以前のバージョンはサポートが終了しているため、これらのバージョンのマイナーアップデートはリリースされません。
  </para>
 </sect2>

 <sect2>
  <title>変更点</title>
  <itemizedlist>

   <listitem>
    <!--
	2023-01-21 [123ceb46]
      -->
    <para>
     <xref linkend="SQL-SHOW-POOL-STATUS">、<xref linkend="PCP-POOL-STATUS">および<xref linkend="PGPOOL-ADM-PCP-POOL-STATUS">コマンドでwd_lifecheck_passwordを表示しないように修正しました。(CVE-2023-22332) (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
	2023-01-21 [4e0cb44b]
      -->
    <para>
     ドキュメントに記載されているように、<xref linkend="guc-wd-lifecheck-password">のデフォルト値を空の文字列に変更しました。(Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-12-24 [c259b1f]
      -->
    <para>
     pgpool-regclass.cのコンパイラ警告を修正しました。(Florian Weimer, Tatsuo Ishii)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2023-01-06 [0652da7]
      -->
    <para>
     <link linkend="runtime-in-memory-query-cache-shmem-config">共有メモリ使用時の設定</link>の章のいくつかの誤りを修正し、説明を強化しました。(Tatsuo Ishii)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-11">
 <title>リリース 4.2.11</title>
  <note>
   <title>リリース日</title>
   <simpara>2022-12-22</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-12-03 [bcea238]
    -->
    <para>
     ログメッセージ"new IPC connection received"をDEBUG1にダウングレードしました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=775">bug 775</ulink>) (Bo Peng)
    </para>
    <para>
     これは通常のメッセージで、LOGとして記録されるべきではありません。
     パッチはpstefによって作成され、Bo Pengによってレビューされました。
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-12-20 [7bc3176]
    -->
    <para>
     <xref linkend="guc-failover-require-consensus">の問題を修正しました。(Muhammad Usama)
    </para>
    <para>
     Watchdogクラスタ全体のヘルスチェックパラメータの最大値に基づいて、フェイルオーバコマンドのタイムアウトを動的に設定するように修正しました。
    </para>
    <para>
     Tatsuo Ishiiによってレビューおよびテストされました。
     議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-November/004228.html">[pgpool-hackers: 4227]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-11-24 [77fdaca]
    -->
    <para>
     パーサ内でバックスラッシュを使った場合の警告を出力しないように修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <varname>standard_conforming_strings = off</varname>かつ<varname>escape_string_warning = on</varname>の場合、<productname>PostgreSQL</productname>は文字列リテラル内でバックスラッシュを使った場合に警告を出力します。
     これは問題ありません。
     しかし、以前は<productname>Pgpool-II</productname>のパーサも同じメッセージを出力していました。
     これは冗長です。
    </para>
   </listitem>

   <listitem>
    <!--
    2022-10-27 [573b84b]
    -->
    <para>
     <varname>idle_session_timeout</varname>に対応しました。(Tatsuo Ishii)
    </para>
    <para>
     idle_session_timeout (PostgreSQL 14 で追加)が有効、かつ、タイムアウトが発生した場合、次のことが発生します:
     <itemizedlist>
      <listitem>
       <para>
        <varname>failover_on_backend_error</varname>がon (デフォルト)の場合、<productname>Pgpool-II</productname>はフェイルオーバを発生させます。
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        PostgreSQL サーバが 1 台のみが idle_session_timeout を有効にしていると、Pgpool-II がハングする可能性があります。
       </para>
      </listitem>
     </itemizedlist>
    </para>
    <para>
     idle_session_timeoutに対応するため、エラーコードを検出するdetect_idle_session_timeout_error()を追加しました。
     エラーを検出すると、Pgpool-II は致命的なエラーとしてフロントエンドにエラーコードを返し、セッションを切断します。
     これはidle_in_transaction_session_timeoutの実装と同じような修正です。
     <ulink url="https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=3f5986eee360f12e6a0bb77aa46f95abf5f6bc10">3f5986eee360f12e6a0bb77aa46f95abf5f6bc10</ulink>
    </para>
    <para>
     議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-October/004209.html">[pgpool-hackers: 4208]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-09-14 [963391b]
    -->
    <para>
     SSLエラーSSL_ERROR_ZERO_RETURNに対応しました。(Tatsuo Ishii)
    </para>
    <para>
     以前はこれによってフェイルオーバが発生しましたが、サーバは単に接続を閉じることを意味するため、実際には不要でした。
    </para>
    <para>
     議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2022-September/008425.html">[pgpool-general: 8366]</ulink>
     議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-September/004194.html">[pgpool-hackers: 4193]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-10-01 [c360057]
    -->
    <para>
     メモリキャッシュサイズを2GBより多く設定した場合に発生するセグメンテーション違反を修正しました。(Muhammad Usama)
    </para>
    <para>
     問題は与えられたキャッシュブロックのメモリアドレスを返す block_address()関数にあり、
     2GB上限まで有効な共有メモリ空間内のブロックのオフセットを計算するために32bit整数を使っていました。
    </para>
   </listitem>

   <listitem>
    <!--
    2022-09-23 [50f0285]
    -->
    <para>
     <command>pcp_proc_info</command>、<command>SHOW pool_pools</command>および<command>SHOW pool_processes</command>内のまれなセグメンテーション違反を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     セグメンテーション違反はget_pools()とget_processes()にありました。
     それらは、最初に共有メモリ上の特定のプロセス情報スロットのpidを抽出し、次にキーとして pid を使ってスロットを再び検索していました。
     これらのステップはロックによって保護されていなかったため、プロセス終了時に新しい子プロセスのフォークを担う親プロセスによって pid が上書きされた場合、
     pid を使った検索が失敗し、NULLを返す可能性がありました。
     その結果、それに続くNULLポインタの参照によってセグメンテーション違反が発生していました。
    </para>
    <para>
     解決策は、最初にプロセス情報スロットへのポインタを取得し、次にポインタからpidメンバを抽出することです。
     この方法でも、親プロセスによる共有メモリ情報の同時更新は可能ですが(出力におかしな結果をもたらす可能性があります)、少なくともセグメンテーション違反は回避できます。
    </para>
   </listitem>

   <listitem>
    <!--
    2022-09-12 [7b288c6]
    -->
    <para>
     無効な長さのUnixドメインソケットパスを使えないように修正しました。(Masaya Kawamoto)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-12-14 [5d5d4a2]
    -->
    <para>
     Doc: Aurora設定例内のタイポを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-10-07 [0acb52b]
    -->
    <para>
     Doc: memqcache_methodの説明を拡充しました。(Tatsuo Ishii)
    </para>
    <para>
     どの方式を使うべきかの説明を追加しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2022-08-28 [4551ef6]
    -->
    <para>
     Doc: ヘルスチェックプロセスでSSLが使えることに言及しました。(Tatsuo Ishii)
    </para>
    <para>
     ストリーミングレプリケーションのチェックでもSSLが使えることに言及しました。
     これは2010年以降に使えていたはずです。
    </para>
    <para>
     議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-August/004188.html">[pgpool-hackers: 4187]</ulink>
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-12-17 [2985853]
    -->
    <para>
     環境変数を使ってPGPOOLDIRを定義できるようにしました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=766">bug 766</ulink>) (Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-10">
 <title>リリース 4.2.10</title>
  <note>
   <title>リリース日</title>
   <simpara>2022-08-18</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-07-01 [eaab2712]
    -->
    <para>
     サンプルスクリプトで指定するrestore_commandにsshオプションを追加しました。(Bo Peng)
    </para>
    <para>
     パッチはJon SCHEWEによって作成され、Bo Pengによって更新されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2022-06-05 [fbc371c4]
    2022-05-31 [b9fbd507]
    -->
    <para>
     サンプルスクリプトを更新しました。(Bo Peng)
     <itemizedlist>
      <listitem>
       <para>
        レプリケーションスロットを作成/削除するときの接続データベース名をpostgresにしました。
       </para>
      </listitem>
     </itemizedlist>
     <itemizedlist>
      <listitem>
       <para>
        sshログインユーザとssh鍵ファイルを変数で指定するようになりました。
       </para>
      </listitem>
     </itemizedlist>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-05-31 [a8b4904e]
    -->
    <para>
     CloseCompleteを受け取った時、バッファリングなしでフロントエンドに転送するようになりました。(Tatsuo Ishii)
    </para>
    <para>
     074.bug700_memqcache_segfaultで時折タイムアウトエラーが発生していました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-07-06 [da33d44b]
    2022-07-05 [aa4e8577]
    2022-07-04 [a1d839f8]
    -->
    <para>
     クエリキャッシュの不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Pgpool-II did not cache the query like "Select '2022-02-18 07:00:00.006547'::timestamp".
     SELECTs include TIMESTAMP, TIME and DATE are cached, and SELECTs include TIMESTAMPZ
     and TIMEZ are not cached because the result can be changed by SET TIME ZONE command etc.
     Furthermore, SELECTs having functions with return types are timestamptz or timetz are
     not cached too as same reason.
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2022-July/008344.html">[pgpool-general: 8285]</ulink>
     -->
     Pgpool-IIは"Select '2022-02-18 07:00:00.006547'::timestamp"のような問合せをキャッシュしていませんでした。
     TIMESTAMP、TIME、DATEを含むSELECT文はキャッシュされるようになりますが、TIMESTAMPZ、TIMEZを含むSELECT文は"SET TIME ZONE"コマンドなどで結果が変更されるためキャッシュされません。
     また、TIMESTAMPZやTIMEZ型を返す関数を含むSELECT文も同様の理由でキャッシュされません。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2022-July/008344.html">[pgpool-general: 8285]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-06-02 [b84a74af]
    2022-05-31 [102517e3]
    -->
    <para>
     <!--
     Fix internal transaction handling bug in snapshot isolation mode. (Tatsuo Ishii)
     -->
     スナップショットアイソレーションモードで、internal transactionの取り回しにおける不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-07-19 [4430d518]
    -->
    <para>
     Doc: 特定のSELECT文がキャッシュされないことに言及しました。(Tatsuo Ishii)
    </para>
    <para>
     特定のSELECT文は以下です。
     <itemizedlist>
      <listitem>
       <para>
        TIMESTAMP WITH TIMEZONE、TIME WITH TIMEZONEを返す関数を使っているSELECT
       </para>
      </listitem>
      <listitem>
       <para>
        TIMESTAMP WITH TIMEZONE、TIME WITH TIMEZONEへのキャストを含むSELECT
       </para>
      </listitem>
      <listitem>
       <para>
        SQLValueFunction (CURRENT_TIME, CURRENT_USERなど)を含むSELECT
       </para>
      </listitem>
     </itemizedlist>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-06-30 [efd0c82e]
    -->
    <para>
     Doc: Unixドメインソケット接続するときのPCPパスワードファイルの使用についての説明を修正しました。(Masaya Kawamoto)
    </para>
    <para>
     pcppassファイルのlocalhostエントリはデフォルトのPCPソケットディレクトリパスへの接続とのみマッチして、全てのUnixソケット接続には使用されません。
     この振る舞いはpgpassファイルと同じです。
    </para>
   </listitem>

   <listitem>
    <!--
    2022-07-26 [3b780d50]
    2022-06-06 [8917f547]
    -->
    <para>
     Doc: 必要メモリの説明を修正し、詳細にしました。(Tatsuo Ishii)
    </para>
    <para>
     <itemizedlist>
      <listitem>
       <para>
        <!--
        Add explanation about memory usage while pgpool child process is running.
        -->
        pgpoolの子プロセスが動作する間のメモリ使用についての説明を追加しました。
       </para>
      </listitem>
      <listitem>
       <para>
        <!--
        Enhance the formula to calculate shared memory requirement so that it computes more accurate result.
        -->
        より正確な結果を計算できるように、必要共有メモリを計算する式を詳細にしました。
       </para>
      </listitem>
      <listitem>
       <para>
        <!--
        Fix shared memory requirement for shared rel cache. The old value 64MB was simply wrong.
        -->
        インメモリクエリキャッシュ用の共有メモリ量を修正しました。64MBは誤った値でした。
       </para>
      </listitem>
      <listitem>
       <para>
        <!--
        Fix process memory requirement. Previously the formula was based on
        RSS. However PSS should be used because RSS includes shared memory
        such as the memory used for libraries. This results in lot smaller
        memory requirement than before.
        -->
        必要プロセスメモリを修正しました。以前の式はRSSを基にしていましたが、RSSはライブラリに使用されるメモリなどの共有メモリも含むため、PSSを使用するべきです。
        これによって以前より要求メモリが大幅に減少します。
       </para>
      </listitem>
     </itemizedlist>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-06-02 [9e847a13]
    -->
    <para>
     Doc: <xref linkend="guc-memqcache-maxcache">と<xref linkend="guc-memqcacheexpire">の誤った説明を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     これらのパラメータは設定ファイルの再読み込みでは変更できず、Pgpool-IIの再起動が必要です。

     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2022-June/008254.html">[pgpool-general: 8195]</ulink>
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>テストツール修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-06-26 [1ccdfc03]
    -->
    <para>
     PostgreSQL 15でpgpool_setupを実行できるようになりました。(Tatsuo Ishii)
    </para>
    <para>
     <ulink url="https://www.pgpool.net/mantisbt/view.php?id=757">ticket 757</ulink>を参照ください。
    </para>
   </listitem>

   <listitem>
    <!--
    2022-06-19 [5760a81d]
    -->
    <para>
     pgpool_setupはRPMに含まれるサンプルスクリプトとサンプルの設定ファイルをテストできるようになりました。(Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-07-10 [1b0b7aa3]
    -->
    <para>
     Test: 回帰テストで<productname>Pgpool-II</productname>のバージョンを表示するようになりました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-07-09 [b276c457]
    -->
    <para>
     Test: 適切なinstall directoryでpgpool.confを探すように回帰テストスクリプトを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-9">
 <title>リリース 4.2.9</title>
  <note>
   <title>リリース日</title>
   <simpara>2022-05-19</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2022-05-16 [4d224d9]
    -->
    <para>
     <productname>Pgpool-II</productname>メインプロセスの停止を強化しました。(Tatsuo Ishii)
    </para>
    <para>
     「pgpool stop」が一定期間（現在5秒）以内にメインプロセスを終了できなかった場合は、信号を再送信するように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2022-05-02 [a9389b9]
    -->
    <para>
     <xref linkend="pcp-proc-count">コマンドのPIDの長さを7文字に変更しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-03-12 [dd502b6]
    -->
    <para>
     Parseメッセージ処理のエラーメッセージにメッセージの種類、バックエンドノードIDを含めるように改善しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-03-11 [a44d364]
    -->
    <para>
     ParameterStatusメッセージのログレベルをLOGからDEBUG5にダウングレードしました。(Tatsuo Ishii)
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2022-March/008101.html">[pgpool-general: 8042]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-02-28 [fbe2f31]
    2022-02-28 [2bbc376]
    -->
    <para>
     <xref linkend="guc-pcp-listen-addresses">のデフォルト値を「*」から「localhost」に変更しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-02-01 [50425a7]
    -->
    <para>
     <xref linkend="pcp-watchdog-info">のフィールド名を変更しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-02-22 [58857c2]
    -->
    <para>
     RPMパッケージでデフォルトで<xref linkend="guc-logging-collector">に関連するパラメータを有効にしました。(Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2022-04-27 [3337aa8]
    -->
    <para>
     lost状態のリモート<productname>Pgpool-II</productname>ノードが再起動後にクラスタに再参加できない問題を修正しました。(Muhammad Usama)
    </para>
    <para>
     報告: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2021-November/007954.html">[pgpool-general: 7896]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-04-14 [8677cd7]
    -->
    <para>
     無限待機の可能性を回避するために、<productname>Pgpool-II</productname>メインプロセスのexit_handlerを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-04-06 [751031d]
    -->
    <para>
     共有メモリの割り当て関数の潜在的な不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-03-18 [7aa03cb]
    -->
    <para>
     「-i」オプションを使用する場合の<xref linkend="pg-enc">および<xref linkend="pg-md5">の不具合を修正しました。(<ulink url="https://www.pgpool.net/mantisbt/view.php?id=747">bug 747</ulink>)(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-03-04 [6416f43]
    -->
    <para>
     プライマリ検索中にバックエンドが失敗またはシャットダウンした場合にPgpool-IIのメインプロセスが終了してしまう問題を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-03-03 [507feea]
    -->
    <para>
     Watchdogで発生するセグメンテーション違反を修正しました。(Muhammad Usama)
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2022-March/008089.html">[pgpool-general: 8030]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-02-25 [e10f4bd]
    -->
    <para>
     <command>pg_isready</command>を使用して<productname>PostgreSQL</productname>のステータスを確認するようにfollow_primary.sh.sampleを修正しました。(Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2022-05-18 [9e3f0bc]
    -->
    <para>
     Doc: Kubernetesの設定例を<ulink url="https://github.com/pgpool/pgpool2_on_k8s/tree/master/docs">githubのリポジトリ</ulink>に移動しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-05-09 [7bbf94f]
    -->
    <para>
     Doc: 設定例を更新しました。(Masaya Kawamoto)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-04-28 [d5b2555]
    2022-04-28 [4feedf0]
    -->
    <para>
     Doc: pcp_watchdog_infoの出力例を更新しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-04-28 [1b20d7b]
    -->
    <para>
     Doc: pg_encの引数として「$」文字を含むパスワードを指定する場合は、エスケープする必要があることを注意事項に追加しました。(Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2022-04-17 [29734b5]
    -->
    <para>
     タイムアウトエラーを回避するために、リグレッションテスト018.detach_primaryを強化しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-04-17 [72d31b0]
    -->
    <para>
     タイムアウトエラーを回避するために、リグレッションテスト074.bug700_memqcache_segfaultを強化しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-04-19 [7aed95e]
    -->
    <para>
     セグメンテーション違反を検出するようにテストスクリプトを改善しました。(Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-8">
 <title>リリース 4.2.8</title>
  <note>
   <title>リリース日</title>
   <simpara>2022-02-17</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-01-05 [17493170]
    2022-01-08 [04fa89f0]
    -->
    <para>
     <varname>in_hot_standby</varname>によるメッセージ長の違いに関する不要なログを抑制しました。。(Tatsuo Ishii)
    </para>
    <para>
     PostgreSQL 14 は新しいパラメータを導入しました: <ulink url="https://www.postgresql.org/docs/14/runtime-config-preset.html">in_hot_standby</ulink>
    </para>
    <para>
     この値はスタンバイサーバの場合は "on" で、プライマリサーバの場合は "off" になります。
     その結果 pgpool のログは以下のメッセージで溢れていました。
    </para>

    <programlisting>
     LOG:  reading message length
     DETAIL:  message length (22) in slot 1 does not match with slot 0(23)
    </programlisting>

    <para>
     これを防ぐために、パラメータ名が<varname>in_hot_standby</varname>でない場合にのみログを出力するようになりました。
    </para>
    <para>
     また、メッセージにパラメータ名を表示するようになりました。例を示します。
    </para>

    <programlisting>
     LOG:  ParameterStatus "TimeZone": node 1 message length 30 is different from main node message length 24
    </programlisting>

    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-December/004077.html">[pgpool-hackers: 4076]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-02-10 [d6499e6b]
    -->
    <para>
     <xref linkend="guc-wd-lifecheck-password">と<xref linkend="guc-recovery-password">の形式の検査を追加しました。(Masaya Kawamoto)
    </para>
    <para>
     <varname>wd_lifecheck_password</varname>と<varname>recovery_password</varname>はmd5ハッシュ形式を使用できませんが、pgpool は認証失敗を報告するだけでそれらのチェックをしていませんでした。
    </para>
   </listitem>

   <listitem>
    <!--
    2022-01-31 [af0308df]
    -->
    <para>
     パラメータステータスの取り扱いを変更しました。(Tatsuo Ishii)
    </para>
    <para>
     バックエンドからパラメータステータスのメッセージが届いたときにただメモリー上に記憶するだけでなく、フロントエンドに転送するようになりました。
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-01-31 [e696b2a8]
    -->
    <para>
     <command>pcp_node_info</command>の実行の際に長時間待機する不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-January/004110.html">[pgpool-hackers: 4109]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-02-02 [bbb72e93]
    -->
    <para>
     <productname>Coverity</productname>によって見つかったヘルスチェックプロセスの問題を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-02-02 [3cf39da2]
    -->
    <para>
     <productname>Coverity</productname>によって見つかったメモリリークを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-02-06 [eca92c21]
    -->
    <para>
     プライマリノードが存在しない場合の対処をするように<function>failover()</function>を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     プライマリノードが存在しない場合に pgpool が起動したときなど<varname>Req_info->primary_node_id</varname>が -1 である場合に<function>failover()</function>は<function>find_primary_node_repeatedly()</function>の呼び出しをスキップしていました。
     また、<varname>follow_master_command</varname>も実行されませんでした。
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-February/004114.html">[pgpool-hackers: 4113]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-02-07 [1c98326a]
    -->
    <para>
     failover スクリプトのサンプルを修正しました。(Bo Peng)
    </para>
    <para>
     old primary node id が"-1"の場合を考慮していませんでした。
    </para>
   </listitem>

   <listitem>
    <!--
    2022-02-10 [41323954]
    -->
    <para>
     バックエンドに接続できないときにストリーミングレプリケーションチェックプロセスがリトライしないように修正しました。(<ulink url="https://www.pgpool.net/mantisbt/view.php?id=742">bug 742</ulink>)(Bo Peng)
    </para>
    <para>
     このリトライによってフェイルオーバに時間がかかっていました。
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-01-04 [866516b0]
    -->
    <para>
     ドキュメントの誤字を修正しました。(pengbo)
    </para>
    <para>
     パッチはUmar Hayatによって提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2022-01-04 [f4c52993]
    -->
    <para>
     <productname>PostgreSQL</productname> YUM リポジトリから<productname>Pgpool-II</productname>がインストールされないように /etc/yum.repos.d/pgdg-redhat-all.repo を"exclude"する設定を追加しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-01-07 [8c9aff97]
    -->
    <para>
     <varname>ParameterStatus</varname>と<varname>in_hot_standby</varname>パラメータに関する制約を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2022-02-02 [8c1c9ac1]
    -->
    <para>
     <varname>set_config</varname>に関する制約を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>テストツール修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2022-02-06 [7af7efb9]
    2022-02-07 [d976c31a]
    -->
    <para>
     <command>pgpool_setup</command>が作成するfailoverスクリプトを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <command>pgpool_setup</command>が<filename>failover.sh</filename>を作成するとき、プライマリサーバが存在しない場合を考慮していませんでした。
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2021-12-22 [8df03d26]
    -->
    <para>
     再コンパイルしないで既存のインストールで回帰テストを実行できるようになりました。(Tatsuo Ishii)
    </para>
    <para>
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-December/004078.html">[pgpool-hackers: 4077]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-01-12 [72fe5341]
    -->
    <para>
     テスト075を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     pgpool が起動していなくても成功していました。
     報告とパッチはQiang Lingjieによって提供されました。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-January/004086.html">[pgpool-hackers: 4085]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2022-01-13 [7806b74b]
    -->
    <para>
     noinstall モード時の<command>pgpool_setup</command>と<command>watchdog_setup</command>のバイナリパスを修正しました。(Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-7">
 <title>リリース 4.2.7</title>
  <note>
   <title>リリース日</title>
   <simpara>2021-12-23</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>

   <listitem>
    <!--
    2021-12-03 [9f843e99]
    -->
    <para>
     yaccとの非互換性によって出力されるbisonの警告を抑制しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-11-22 [02c8e4ae]
    -->
    <para>
     冗長なコードを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     パッチはLu Chenyangによって提供されました。
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2021-12-10 [ee3c37b6]
    -->
    <para>
     Doc: <command>pcp_watchdog_info</command>マニュアルの誤字を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-12-06 [ecd9222d]
    -->
    <para>
     Doc: 設定例の誤字を修正しました。(Bo Peng)
    </para>
    <para>
     パッチはLu Chenyangによって提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-11-25 [eda1ad5c]
    -->
    <para>
     Doc: リリースノートの誤字を修正しました。(Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-6">
 <title>リリース 4.2.6</title>
  <note>
   <title>リリース日</title>
   <simpara>2021-11-18</simpara>
  </note>

 <sect2>
  <title>セキュリティリリース</title>
  <itemizedlist>
   <listitem>
    <!--
    2021-11-17 [53638419]
    -->
    <para>
     SSL暗号化ハンドシェイク後の余計なデータを拒否するようにしました。(Tatsuo Ishii)
    </para>
    <para>
     サーバサイドのSSLネゴシエーションの実装において、任意のSQLコマンドを実行できる中間者攻撃が可能でした。
     これはPgpool-IIがクライアント認証で証明書認証を使用しているか、hostssl + trust認証の場合に可能でした。
     PostgreSQLのCVE-2021-23214と似た脆弱性です。
    </para>
    <para>
     同様に、クライアントサイドのSSLネゴシエーション実装において、任意の結果に改ざんする中間者攻撃が可能でした。
     これはPostgreSQLがクライアント認証でhostssl + trust認証を使用しているときに可能でした。
     証明書認証の場合には、Pgpool-IIはPgpool-IIとPostgreSQL間で証明書認証を実装していないため問題ありません。
     PostgreSQLのCVE-2021-23222と似た脆弱性です。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>変更点</title>
  <itemizedlist>

   <listitem>
    <!--
    2021-11-16 [b1f7b69b]
    -->
    <para>
     <command>pg_terminate_backend()</command>の処理に関する<productname>PostgreSQL 14</productname>対応をしました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-10-24 [e633e7ec]
    -->
    <para>
     <productname>Pgpool-II</productname>メインプロセスのSIGCHLDハンドラを改良しました。(Tatsuo Ishii)
    </para>
    <para>
     <productname>Pgpool-II</productname>の子プロセスがSIGKILLシグナルでkillされたとき、SIGCHLDハンドラは他のシグナルと同じようにLOGレベルメッセージを発していました。
     しかし、SIGKILLシグナルはOMM killerによるkillなど重要なイベントなので、WARNINGレベルのメッセージを発するようにしました。
     Michail Alexakisから提案されました。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2021-October/007808.html">[pgpool-general: 7750]</ulink>
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2021-10-25 [708d29a0]
    -->
    <para>
     <varname>application_name</varname>にloggerプロセスがなかったのを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-10-24 [acd400b6]
    -->
    <para>
     <xref linkend="guc-reserved-connections">が0のときに起こるコネクションカウンタの不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <varname>reserved_connections</varname>が0のとき、コネクションカウンタを管理する必要はありませんでした。
     この修正によって不意のカウンタリークによる不必要な"Sorry, too many clients already"エラーを防ぐことができます。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2021-October/007808.html">[pgpool-general: 7750]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2021-09-27 [d752824d]
    -->
    <para>
     <ulink url="https://www.pgpool.net/mantisbt/view.php?id=732">bug 732</ulink>: フェイルオーバ中のセグメンテーション違反を修正しました。 (Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-09-16 [508199bc]
    -->
    <para>
     <command>COPY FROM</command>中のハングアップを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <command>COPY FROM</command>中にエラーが発生したとき、<productname>Pgpool-II</productname>はフロントエンドから<command>COPY</command>終了マーカーが送信されたあと、バックエンドからの応答を永遠に待っている可能性がありました。
     Bo Pengによって発見されました。
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2021-10-06 [eac5296e]
    -->
    <para>
     Doc: ドキュメントのtypoを修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-10-04 [b31bcfc8]
    -->
    <para>
     ドキュメントとサンプルスクリプトのtypoを修正しました。(Bo Peng)
    </para>
    <para>
     パッチはKazufumi Notoによって提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-09-29 [51015942]
    -->
    <para>
     Doc: 設定例の<command>yum install</command>コマンドのtypoを修正しました。(Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2021-11-16 [4de8698a]
    -->
    <para>
     たまに発生する073.pg_terminate_backendの失敗を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-11-08 [a0aa40d9]
    -->
    <para>
     テスト074の名前を変更しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-09-23 [e1d0b0e3]
    -->
    <para>
     テストの失敗を防ぐためにpg_configコマンドのパスを修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-09-23 [1e718dfe]
    -->
    <para>
     テストの失敗を防ぐためにpsqlコマンドのパスを修正しました。(Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-5">
 <title>リリース 4.2.5</title>
  <note>
   <title>リリース日</title>
   <simpara>2021-09-14</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2021-09-03 [4336785]
    2021-09-06 [1801393]
    -->
    <para>
     <command>PGPOOL SHOW</command>コマンドの<varname>other_pgpool</varname>オプションを<varname>watchdog</varname>に変更しました。(Bo Peng)
    </para>
    <para>
     4.2から<varname>other_pgpool</varname>パラメータが削除されたため、
     <varname>other_pgpool</varname>オプションを<varname>watchdog</varname>に変更すべきでした。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2021-09-10 [3e8807f]
    -->
    <para>
     Watchdogを利用する場合に、<varname>follow_primary_command</varname>の実行に失敗する不具合を修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=731">bug 731</ulink>) (Muhammad Usama)
    </para>
    <para>
     <function>parse_wd_exec_cluster_command_json()</function>関数のコーディングミスによるセグメンテーションが原因でした。
     この不具合は4.2.4で導入され、4.2.3以前のバージョンには影響しません。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-09-03 [0f7db66]
    -->
    <para>
     <command>PGPOOL SHOW heartbeat</command>および<command>PGPOOL SHOW ALL</command>コマンドの不具合を修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-09-02 [0e3bce8]
    -->
    <para>
     <xref linkend="guc-log-rotation-age">を0に設定できない不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     ドキュメントによると、<varname>log_rotation_age</varname>を0に設定することで、
     ログローテーション機能を無効にすることが可能です。
     ただし、許可される最小値が誤って10に設定されていたため、<varname>log_rotation_age</varname>を0に設定できませんでした。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-08-18 [3a32b3b]
    -->
    <para>
     rawモードでの誤った負荷分散ノードの表示を修正しました。(Bo Peng)
    </para>
    <para>
     rawモードでは、<productname>Pgpool-II</productname>はすべてのクエリをメインノードに送信します。
     この不具合は表示上の問題だけで、クエリの転送処理に影響はないですが、 
     ユーザを混乱させる可能性があるので、修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-08-12 [1e77a94]
    -->
    <para>
     <productname>Pgpool-II</productname>のloggerプロセスがCPUの100%を消費する問題を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     問題の報告、パッチはFang Junより提供されました。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-August/003993.html">[pgpool-hackers: 3992]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2021-08-10 [af2d2c5]
    -->
    <para>
     SIモードにおいて、内部トランザクションがスナップショットを取得しない不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-08-08 [500133f]
    -->
    <para>
     <command>PGPOOL SHOW ALL</command>の実行結果に<varname>backend_flag*</varname>が2回表示される不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2021-08-09 [9111a7f]
    -->
    <para>
     Doc: <command>PGPOOL SHOW</command>コマンドを実行する際に、大文字を含むパラメータ名の場合には、
     パラメータ名をダブルクォートで囲んで実行する必要があることを追加しました。(Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>テストツール修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2021-08-25 [a1785c3]
    -->
    <para>
     新しいメインノードが利用できない場合に何もしないように<command>pgpool_setup</command>を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-4">
 <title>リリース 4.2.4</title>
  <note>
   <title>リリース日</title>
   <simpara>2021-08-05</simpara>
  </note>

 <sect2>
  <title>変更点</title>
  <itemizedlist>

   <listitem>
    <!--
    2021-05-27 [160ecab]
    -->
    <para>
     ドメイン名を含めたホスト名の長さの最大値を変更しました。(Tatsuo Ishii)
    </para>
    <para>
     ホスト名の長さの最大値を128にしていましたが、正しくは254でした。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-May/003904.html">[pgpool-hackers: 3903]</ulink>
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2021-07-07 [8b6606c]
    -->
    <para>
     クエリキャッシュで<varname>SQLValueFunctions</varname>を含むクエリをキャッシュしないようにしました。(Tatsuo Ishii)
    </para>
    <para>
     <varname>SQLValueFunctions</varname>の一覧は以下になります。
     <itemizedlist>
      <listitem>
       <para>
        CURRENT_DATE
       </para>
      </listitem>
      <listitem>
       <para>
        CURRENT_TIME
       </para>
      </listitem>
        <listitem>
       <para>
        CURRENT_TIMESTAMP
       </para>
      </listitem>
        <listitem>
       <para>
        LOCALTIME
       </para>
      </listitem>
        <listitem>
       <para>
        LOCALTIMESTAMP
       </para>
      </listitem>
        <listitem>
       <para>
        CURRENT_ROLE
       </para>
      </listitem>
        <listitem>
       <para>
        CURRENT_USER
       </para>
      </listitem>
      <listitem>
       <para>
        SESSION_USER
       </para>
      </listitem>
      <listitem>
       <para>
        USER
       </para>
      </listitem>
      <listitem>
       <para>
        CURRENT_CATALOG
       </para>
      </listitem>
      <listitem>
       <para>
        CURRENT_SCHEMA
       </para>
      </listitem>
     </itemizedlist>
    </para>
   </listitem>

   <listitem>
    <!--
    2021-07-16 [f50cf64]
    -->
    <para>
     watchdogからfollow_primaryコマンドをロックする機能を実装しました。(Muhammad Usama)
    </para>
    <para>
     これは"detach_false_primaryとfollow_primary_commandの競合状態を修正しました。"の補足修正です。
     以前の修正はほとんどのケースで正しかったのですが、いくつかのケースで失敗する可能性がありました。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-07-09 [8a64d21]
    -->
    <para>
     describeメッセージのあとにNoDataで応答された場合のクライアント側のハングアップを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     問題の報告、パッチはDaniel van de Giessenより提供されました。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-July/003951.html">[pgpool-hackers: 3950]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2021-07-03 [a9c15ae]
    -->
    <para>
     <filename>pgpool.conf</filename>サンプルの誤字が修正されました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-07-01 [bd2b6e4]
    -->
    <para>
     SIモードにおける不正なメッセージの送信を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     クエリがシリアル化エラーなどの特定の理由によってアボートしたとき、<productname>Pgpool-II</productname>は
     メインノード以外で実行されているトランザクションを中止するためにエラークエリを送信します。そのメッセージ長が
     正しくなかったためバックエンドで「invalid string in message」エラーが発生していました。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-06-09 [8ec087e]
    -->
    <para>
     <productname>Pgpool-II</productname>が停止したときに孤児プロセスが残る不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <varname>follow_primary_command</varname>の実行中に<productname>Pgpool-II</productname>が停止すると、
     <varname>follow_primary_command</varname>によって開始されたいくつかのプロセスが残ったままになる可能性がありました。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-06-08 [79e5ee3]
    -->
    <para>
     <command>pcp_detach_node</command>の実行後ダウンノードが残る不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     プライマリノードを<command>pcp_detach_node</command>でデタッチしたとき、follow_primary_commandの
     実行後にもスタンバイノードがダウンのままになっていました。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-June/003916.html">[pgpool-hackers: 3915]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2021-06-03 [ca596bf]
    -->
    <para>
     <xref linkend="GUC-BACKEND-APPLICATION-NAME">が<filename>pgpool.conf</filename>のリロードで変更できない
     不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-22 [fe8a8f5]
    -->
    <para>
     watchdog通信の競合状態を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     メインプロセスがwatchdogプロセスから通知された処理を実行中に、watchdogプロセスが新しいメッセージを
     メインプロセスに通知したとき、新しいメッセージが処理されるまでに大幅な遅延が発生していました。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-May/003901.html">[pgpool-hackers: 3900]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-20 [f5c0d2b]
    -->
    <para>
     再起動後にwatchdogノードステータスが更新されない問題を修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=684">bug 684</ulink>) (Muhammad Usama)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>ドキュメント修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2021-08-03 [6b77923]
    -->
    <para>
     Doc: "Pgpool-II on Kubernetes"の設定例を更新しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-07-20 [efd95c9]
    -->
    <para>
     Doc: <xref linkend="GUC-BACKEND-APPLICATION-NAME">の説明を増やしました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-07-14 [61581e5]
    2021-07-14 [2e38a44]
    -->
    <para>
     Doc: いくつかのドキュメントのtypoを修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-07-07 [28c7b10]
    -->
    <para>
     Doc: インメモリクエリキャッシュのtypoを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-06-22 [e24fb7a]
    -->
    <para>
     Doc: ldap オプションのパラメータ名を修正しました。(Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-06-02 [981bc4d]
    -->
    <para>
     Doc: <xref linkend="GUC-WD-LIFE-POINT">の説明を修正しました。(Masaya Kawamoto)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>テストツール修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2021-06-21 [e8b4352]
    -->
    <para>
     ポータブルな<filename>follow_primary.sh</filename>を生成するように<command>pgpool_setup</command>
     を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-06-28 [b2def54]
    -->
    <para>
     <command>pgpool_setup</command>で使用されるrsyncのパラメータを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-06-25 [6177354]
    2021-06-24 [1f33fa5]
    -->
    <para>
     <command>pgpool_setup</command>で作成されるfollow_primary_commandのスクリプトを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-06-15 [1ac5e21]
    -->
    <para>
     <command>pgpool_setup</command>中のベースバックアップ処理を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-29 [d3c735f]
    -->
    <para>
     <command>watchdog_setup</command>のスクリプトを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <command>watchdog_setup</command>によって生成されるshutdownallスクリプトは、全体シャットダウンでは
     不必要なフェイルオーバ処理を引き起こしていました。
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <title>回帰テスト修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2021-06-21 [1af6c3a]
    -->
    <para>
     075.detach_primary_left_down_nodeの不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-06-21 [ba155dc]
    -->
    <para>
     031.connection_life_timeの不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-06-21 [14d972f]
    -->
    <para>
     018.detach_primaryの不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-31 [a52dfd1]
    -->
    <para>
     028.watchdog_enable_consensus_with_half_votesの不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-28 [b329df1]
    -->
    <para>
     018.detach_primaryの不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-3">
 <!--
 <title>Release 4.2.3</title>
 -->
 <title>リリース 4.2.3</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2021-05-20</simpara>
 </note>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2021-05-19 [2a1153d]
    2021-05-18 [d4f54d8]
    -->
    <para>
     サンプルスクリプトの改善を行いました。 (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-12 [83906c5]
    -->
    <para>
     リグレッションテスト018.detach_primaryの不具合を修正しました。 (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-11 [aece05f]
    -->
    <para>
     <xref linkend="guc-detach-false-primary">と<xref linkend="guc-follow-primary-command">の競合状態を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <xref linkend="guc-detach-false-primary">と<xref linkend="guc-follow-primary-command">が同時に実行されると、多くの問題が発生していました。
     典型的な問題としては、プライマリノードが見つからないことです。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-11 [241bee3]
    -->
    <para>
     Doc: <xref linkend="guc-heartbeat-device">の説明を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     heartbeat_deviceパラメータは、<productname>Pgpool-II</productname>がrootで起動する場合にのみ使用できます。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-10 [d24f075]
    -->
    <para>
     Doc: <xref linkend="guc-enable-consensus-with-half-votes">の説明を改善しました。(Tatsuo Ishii)
    </para>
    <para>
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-10 [b582d76]
    -->
    <para>
     Doc: <xref linkend="guc-failover-when-quorum-exists">に関する誤った説明を削除しました。(Tatsuo Ishii)
    </para>
    <para>
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-05 [049a1b6]
    -->
    <para>
     database/app_name_redirect_preference_listがステートメントレベル負荷分散モードで正しく動作しない不具合を修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=707">bug 707</ulink>) (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-05 [c5d7d36]
    2021-04-30 [f1e2b71]
    -->
    <para>
     pgpool0の配下のみにデータベースクラスタを作成するように<xref linkend="watchdog-setup">を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-04-26 [1d63554]
    -->
    <para>
     <xref linkend="guc-log-directory">のデフォルト値を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     パッチはKAWAMOTO Masayaはによって作成されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-04-25 [d965e4e]
    -->
    <para>
     "pgproto"のアプリケーション名をpgprotoに設定しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-04-11 [3ce359d]
    2021-04-09 [16d07f7]
    -->
    <para>
     クエリキャッシュが有効になっている場合のpgpoolのクラッシュを修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=700">bug 700</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     ストリーミングレプリケーションモードと論理レプリケーションモード以外でCloseCompleteを受信すると、Pgpool-IIがクラッシュしていました。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-04-05 [597a063]
    -->
    <para>
     follow_primary.shサンプルスクリプトを修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=694">bug 694</ulink>) (Bo Peng)
    </para>
    <para>
     <command>pg_rewind</command>を実行した後に、スタンバイノードのpg_replslotディレクトリを空にするように修正しました。
     これは、古い<productname>PostgreSQL</productname>バージョンではpg_replslotディレクトリがプライマリノードからコピーされる可能性があるためです。
    </para>
   </listitem>

   <listitem>
    <!--
    2021-04-05 [7d54c1b]
    -->
    <para>
     クエリキャッシュがストリーミングレプリケーションモードと論理レプリケーションモード以外で作成されない不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-03-31 [eff77fc]
    -->
    <para>
     <xref linkend="pgpool-setup">において、再起動に失敗した場合にフルリストアを実行するように<xref linkend="pgpool-setup">を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-03-18 [4cd9f4a]
    -->
    <para>
     asyncpgを利用した場合のハングアップを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-03-16 [f07fdb0]
    -->
    <para>
     Startupパケットを受信したときのデバッグメッセージを改善しました。 (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-05-09 [9971171]
    2021-05-05 [96578bd]
    2021-05-04 [69f3c9b]
    2021-04-20 [6150d26]
    2021-04-20 [d5469da]
    2021-04-18 [10b8241]
    2021-04-13 [b3bddbe]
    2021-04-06 [35fa87e]
    2021-02-20 [d9f25b8]
    2021-02-24 [b66801c]
    2021-03-06 [f5a8f26]
    2021-03-14 [30a7057]
    -->
    <para>
     Doc: 多数ドキュメントの改善を行いました。 (Tatsuo Ishii, Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-2">
 <!--
 <title>Release 4.2.2</title>
 -->
 <title>リリース 4.2.2</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2021-02-18</simpara>
 </note>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2021-02-14 [395ad59]
    -->
    <para>
     <xref linkend="PGPOOL-ADM-PCP-NODE-INFO">の誤ったweightの表示を修正しました。 (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-02-14 [de3f0ed]
    -->
    <para>
     <filename>follow_primary.sh.sample</filename>で<command>pg_rewind</command>実行後に<filename>recovery.conf</filename>が削除されないように修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-02-08 [40d4bde]
    -->
    <para>
     Watchdogリーダーによる同期処理後に、ヘルスチェックプロセスが起動されない不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-02-06 [d9835c1]
    -->
    <para>
     Doc: <xref linkend="WATCHDOG-SETUP">マニュアルに不足しているスナップショットアイソレーションモードの説明を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-02-04 [be0e714]
    -->
    <para>
     <command>watchdog_setup</command>がスナップショットアイソレーションモードをサポートするように修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-02-04 [e2eb019]
    -->
    <para>
     <command>watchdog_setup</command>の誤ったデータベースクラスタのパスを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-02-05 [009e4b7]
    2021-01-20 [2d4451f]
    -->
    <para>
     <command>pgpool_setup</command>によって作成されるfollow_primary.shの不具合を修正しました。 (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-02-02 [644d72e]
    -->
    <para>
     <command>pgpool_setup</command>で使用される<filename>shutdownall</filename>スクリプトを改善しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-01-24 [de2c03c]
    -->
    <para>
     DBノードごとに個別のアーカイブディレクトリを作成するように<command>pgpool_setup</command>を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-02-02 [f1124c5]
    -->
    <para>
     <xref linkend="SQL-SHOW-POOL-STATUS">コマンドの結果に欠落している<xref linkend="GUC-BACKEND-CLUSTERING-MODE">の表示を修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-02-02 [57d416a]
    -->
    <para>
     ヘルスチェックプロセス起動時のメッセージを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-02-01 [71ab697]
    -->
    <para>
     Doc: サンプルスクリプトはテーブルスペースをサポートしていないことをドキュメント「Pgpool-II + Watchdogの構築の例」に追加しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-01-28 [d479a46]
    -->
    <para>
     スナップショットアイソレーションモードで発生するセグメンテーション違反を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-01-22 [50c5735]
    -->
    <para>
     Doc: オンラインリカバリドキュメントで1st stageと2nd stageに関する説明を改善しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-01-16 [dfdd63d]
    -->
    <para>
     Doc: 共有リレーションキャッシュに必要な共有メモリについての説明を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-01-13 [e5dff9b]
    -->
    <para>
     <xref linkend="GUC-LOG-ROTATION-SIZE">の許容範囲とデフォルト値を修正しました。 (Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-01-13 [f780fd5]
    -->
    <para>
     共有メモリの割り当て中のエラーを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2021-01-01 [01e56dd]
    -->
    <para>
     ERRORが発生した場合、<xref linkend="GUC-CHILD-MAX-CONNECTIONS">が正しくカウントされない不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-1">
 <!--
 <title>Release 4.2.1</title>
 -->
 <title>リリース 4.2.1</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2020-12-23</simpara>
 </note>

 <sect2>
  <!--
  <title>Changes</title>
  -->
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2020-12-22 [5b9a29c]
    -->
    <para>
     すべての<filename>pgpool.conf</filename>サンプルファイルのソケットファイルのパスを/var/run/postgresqlに変更しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-12-14 [3dc4cb2]
    -->
    <para>
     <productname>Pgpool-II</productname>親プロセスのすべての共有変数に単一の共有メモリセグメントを使用するように修正しました。(Muhammad Usama)
    </para>
    <para>
     共有メモリセグメントは限られたリソースであるため、多くのセグメントを開くことは避けるべきです。
    </para>
   </listitem>
   <listitem>
    <!--
    2020-12-08 [db613fd]
    -->
    <para>
     <productname>Pgpool-II</productname>起動時に既存のwatchdogコマンドソケットファイルを削除するように修正しました。(Muhammad Usama)
    </para>
    <para>
     パッチはMasaya Kawamotoによって提供されました。
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2020-12-22 [a180302]
    -->
    <para>
     Doc: 欠落していたrawモードの説明を「5.3 クラスタリングモード」に追加しました。タイポを修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-12-21 [2aa234d]
    -->
    <para>
     <command>pcp_pool_status</command>および<command>SHOW POOL_STATUS</command>コマンドのハートビート関連パラメータの誤った結果を修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-12-18 [e7d9477]
    2020-12-18 [86ee4d6]
    -->
    <para>
     Doc: インストールのヒントのセクションで<command>firewall-cmd</command>の使用法を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     この例では、<command>firewall-cmd</command>が不要なポートを開放しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-12-15 [59d7431]
    2020-12-13 [00d103f]
    -->
    <para>
     backend_flag0 = 'ALWAYS_PRIMARY|ALLOW_TO_FAILOVER'またはfailover_command=''の場合に発生しうるセグメンテーション違反を修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=672">bug 672</ulink>) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-12-14 [83355dd]
    -->
    <para>
     <xref linkend="WD-CLI">およびwatchdogライフチェックメカニズムの一貫性のないpgpool node_idの問題を修正しました。(Muhammad Usama)
    </para>
    <para>
     pgpoolノード0（リーダーwatchdog）がシャットダウンされると、すべてのpgpoolノードが異常終了する問題を修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-12-13 [cf668fa]
    -->
    <para>
     Watchdog機能が無効で、<varname>wd_port</varname>が定義されていない場合に発生するエラーを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-12-04 [3bd83aa]
    -->
    <para>
     コンパイルエラーを修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=670">bug 670</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     パッチはajsによって提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-11-30 [86d4dd0]
    -->
    <para>
     <filename>pool_passwd</filename>のファイルスワッピングの競合状態を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     パッチはMasaya Kawamotoによって提供されました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-4-2-0">
 <!--
 <title>Release 4.2.0</title>
 -->
 <title>リリース 4.2.0</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2020-11-26</simpara>
 </note>

 <sect2>
  <!--
  <title>Overview</title>
  -->
  <title>概要</title>
  <para>
   <!--
   Many enhancements are added to this version for easier
   configuration and administration.  Moreover new clustering mode
   which allows not only write consistency but read consistency in
   multiple <productname>PostgreSQL</productname> servers.  Also SSL
   is improved to allow more secure operation.  New
   <productname>PostgreSQL</productname> 13 <literal>SQL</literal>
   parse is imported.
   -->
   このバージョンでは、設定と管理作業を容易にするために多くの改良が行われています。
   更に複数<productname>PostgreSQL</productname>の間で更新の一貫性だけでなく、読み取り一貫性を保証する新しいクラスタリングモードが追加されました。
   また、SSLの機能が改善され、よりセキュアな運用ができるようになりました。
   さらに、<productname>PostgreSQL</productname>13の新しい<literal>SQL</literal>パーサを取り込んでいます。
  </para>

  <para>
<!--
   Please be warned that in this version some configuration parameters
   are changed to use more appropriate language. Also some words used
   in reporting are changed accordingly. See "Migration" section for
   more details.
-->
   このバージョンでは、より適切な用語を使うために設定パラメータ名が変更されていることに注意してください。
   また、レポートでも用語が変更されています。詳細は、「移行」の章を見てください。
  </para>

  <para>
   主な改善項目は以下です。
  </para>

  <itemizedlist>
   <listitem>
    <para>
     設定ファイル<filename>pgpool.conf</filename>の項目が大幅に改善され、設定と管理が容易になりました。
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="guc-logging-collector">が実装され、ログ管理が容易になりました。
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="guc-log-disconnections">が実装され、接続終了のログが取得できるようになりました。
    </para>
   </listitem>

   <listitem>
    <para>
     <xref linkend="PG-ENC">コマンドと<xref linkend="PG-MD5">コマンドでパスワード登録をファイルから一括して行えるようになりました。
    </para>
   </listitem>

   <listitem>
    <para>
     ヘルスチェックの統計情報を<xref linkend="SQL-SHOW-POOL-HEALTH-CHECK-STATS">コマンドで、発行SQLの統計情報を<xref linkend="SQL-SHOW-POOL-BACKEND-STATS">コマンド取得できるようになりました。
    </para>
   </listitem>

   <listitem>
    <para>
     新しいPCPコマンド<xref linkend="PCP-RELOAD-CONFIG">が追加されました。
    </para>
   </listitem>

   <listitem>
    <para>
     システムカタログの情報を参照することにより、<xref linkend="guc-write-function-list">と<xref linkend="guc-read-only-function-list">の記述を省略できるようになりました。
    </para>
   </listitem>

   <listitem>
    <para>
     複数<productname>PostgreSQL</productname>の間で更新の一貫性だけでなく、読み取り一貫性を保証する新しいクラスタリングモード<xref linkend="guc-snapshot-isolation-mode">が追加されました。
    </para>
   </listitem>

   <listitem>
    <para>
     クライアントと<productname>Pgpool-II</productname>の間でLDAP認証がサポートされました。
    </para>
   </listitem>

   <listitem>
    <para>
     SSLの設定に<xref linkend="guc-ssl-crl-file">と<xref linkend="guc-ssl-passphrase-command">が追加されました。
    </para>
   </listitem>

   <listitem>
    <para>
     PostgreSQL 13のSQLパーサを取り込みました。
    </para>
  </listitem>

  </itemizedlist>
 </sect2>

 <sect2>

<!--
  <title>Migration to Version 4.2</title>
-->
  <title>バージョン4.2への移行</title>

  <itemizedlist>

    <listitem>
<!--
Author: Tatsuo Ishii <ishii@sraoss.co.jp>
2020-03-09 [f0fe8fe9] Unify master_slave_mode, master_slave_sub_mode and replication_mode into backend_clustering_mode.
-->
    <para>
     master_slave_mode、master_slave_sub_mode、replication_modeは廃止され、<xref linkend="guc-backend-clustering-mode">になりました。
     以下のように書き換えてください。

     <itemizedlist>

      <listitem>
       <para>
       master_slave_mode = 'on'、master_slave_sub_mode = 'stream' &rarr; backend_clustering_mode = 'streaming_replication'
       </para>
      </listitem>

      <listitem>
       <para>
       master_slave_mode = 'on'、master_slave_sub_mode = 'logical' &rarr; backend_clustering_mode = 'logical_replication'
       </para>
      </listitem>

      <listitem>
       <para>
       master_slave_mode = 'on'、master_slave_sub_mode = 'slony' &rarr; backend_clustering_mode = 'slony'
       </para>
      </listitem>

      <listitem>
       <para>
       replication_mode = 'on' &rarr; backend_clustering_mode = 'native_replication'
       </para>
      </listitem>

      <listitem>
       <para>
       replication_mode = 'off'、master_slave_mode = 'off' &rarr; backend_clustering_mode = 'raw'
       </para>
      </listitem>

     </itemizedlist>
    </para>
   </listitem>

   <listitem>
<!--
2020-09-17 [9e366c14]
-->
    <para>
<!--
     Cleanup language. (Umar Hayat)
-->
     適切な用語に変更しました。(Umar Hayat)
    </para>
    <para>
     <!--
     Following changes are made in <filename>pgpool.conf</filename>.
     -->
     <filename>pgpool.conf</filename>に以下の変更が行われました。
     <itemizedlist>

      <listitem>
       <para>
	black_function_list &rarr; write_function_list
       </para>
      </listitem>

      <listitem>
       <para>
	white_function_list &rarr; read_only_function_list
       </para>
      </listitem>

      <listitem>
       <para>
	black_query_pattern &rarr; primary_routing_query_pattern
       </para>
      </listitem>

      <listitem>
       <para>
	black_memcache_table_list &rarr; cache_unsafe_table_list
       </para>
      </listitem>

      <listitem>
       <para>
	white_memcache_table_list &rarr; cache_safe_table_list
       </para>
      </listitem>

      <listitem>
       <para>
	ALWAYS_MASTER flag &rarr; ALWAYS_PRIMARY flag
       </para>
      </listitem>

      <listitem>
       <para>
	follow_master_command  &rarr; follow_primary_command
       </para>
      </listitem>

      <listitem>
       <para>
	<!--
	Replace relcache_query_target option value 'master' to 'primary'.
	-->
	relcache_query_targetのオプション値'master'を'primary'に変更しました。
       </para>
      </listitem>

     </itemizedlist>
    </para>

    <para>
<!--
     Some words used in reporting are changed.
-->
     レポートで使われている用語を変更しました。

     <itemizedlist>
      <listitem>
       <para>
	master &rarr; main
       </para>
       <para>
	slave &rarr; replica
       </para>
      </listitem>
      </itemizedlist>
    </para>

    <para>
<!--
     Some parameter names used in scripts are changed.
-->
     スクリプトの引数で使われている用語を変更しました。

     <itemizedlist>
      <listitem>
       <para>
	master &rarr; main
       </para>
      </listitem>
      </itemizedlist>
    </para>

    <para>
<!--
     Some names used in watchdog are changed.
-->
     watchdogで使われている用語を変更しました。

     <itemizedlist>
      <listitem>
       <para>
	master &rarr; leader
       </para>
      </listitem>
      </itemizedlist>
    </para>

   </listitem>

<!--
Author: Bo Peng <pengbo@sraoss.co.jp>
2020-08-11 [a840ecb2] New feature: Simplify Watchdog related configuration parameters.
-->
   <listitem>
    <para>
     以下のwatchdogパラメータは使えなくなりました。
     <programlisting>
    - wd_hostname
    - wd_port
    - wd_heartbeat_port
    - heartbeat_device
    - heartbeat_destination0
    - heartbeat_destination_port0
    - heartbeat_destination1
    - heartbeat_destination_port1
    - other_pgpool_hostname0
    - other_pgpool_port0
    - other_wd_port0
    - other_pgpool_hostname1
    - other_pgpool_port1
    - other_wd_port1
     </programlisting>
     その代わりに以下のパラメータを使ってください。
     詳細は、<xref linkend="config-communication-watchdog">を参照してください。
     <programlisting>
     hostname0 = 'server1'
     wd_port0 = 9000
     pgpool_port0 = 9999
    
     hostname1 = 'server2'
     wd_port1 = 9000
     pgpool_port1 = 9999
    
     hostname2 = 'server3'
     wd_port2 = 9000
     pgpool_port2 = 9999
    
     heartbeat_hostname0 = 'server1'
     heartbeat_port0 = 9694
     heartbeat_device0 = ''
    
     heartbeat_hostname1 = 'server2'
     heartbeat_port1 = 9694
     heartbeat_device1 = ''
    
     heartbeat_hostname2 = 'server3'
     heartbeat_port2 = 9694
     heartbeat_device2 = ''
     </programlisting>
      4.1までとは違って、watchdogのパラメータはすべてのホストで同じです。
      どのホストであるかを区別するために、<filename>pgpool_node_id</filename>というファイルを作り、その中に0, 1, 2などのホストの識別を表す数字を入れてください。
    </para>
   </listitem>

   <listitem>
    <para>
<!--
     <xref linkend="guc-write-function-list"> and <xref
     linkend="guc-read-only-function-list"> are now both empty.
-->
     <xref linkend="guc-write-function-list">と<xref
     linkend="guc-read-only-function-list">の値は空となりました。
    </para>
   </listitem>

  </itemizedlist>

 </sect2>

 <sect2>
  <title>バグ修正</title>
  <itemizedlist>
   <listitem>
    <para>
     <!--
     In this release same bug fixes as <productname>Pgpool-II</productname> 4.1.4 are
     already applied. See <xref linkend="release-4-1-4"> for more details of those fixes.
     -->
     このリリースでは<productname>Pgpool-II</productname> 4.1.4 と同様のバグ修正が既に適用されています。
     修正の詳細は<xref linkend="release-4-1-4">を参照してください。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
<!--
  <title>Major Enhancements</title>
-->
  <title>主な改善点</title>
  <itemizedlist>

   <listitem>
    <!--
    2020-11-25 [935e045]
    -->
    <para>
     ereportsからstrerror()呼び出しを削除しました。(Muhammad Usama)
    </para>
    <para>
     ereport()を呼び出すと、errno値がリセットされ、「strerror(errno)」を使用すると、誤ったエラーメッセージが出力されます。
     正しい方法は、代わりに%mを使用することです。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-03-09 [f0fe8fe9]
    2020-09-01 [82d77612]
    -->
    <para>
<!--
     Unify master_slave_mode, master_slave_sub_mode and
     replication_mode into <xref
     linkend="guc-backend-clustering-mode">. (Tatsuo Ishii)
-->
     master_slave_mode、master_slave_sub_mode、replication_modeを<xref
     linkend="guc-backend-clustering-mode">に統合しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-11 [a840ecb2]
    -->
    <para>
<!--
     Simplify Watchdog related configuration parameters. (Bo Peng)
-->
     Watchdog関連の設定パラメータをシンプルにしました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-06-20 [b0f976be]
    -->
    <para>
<!--
     Allow units to be specified with configuration settings. (Muhammad Usama)
-->
     設定パラメータで単位を指定できるようになりました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-03 [3996850a]
    2020-06-29 [d2888d59]
    2020-06-27 [35037bcd]
    -->
    <para>
<!--
     Add <xref linkend="guc-logging-collector">. (Muhammad Usama, Japanese doc by Tatsuo Ishii)
-->
     <xref linkend="guc-logging-collector">を追加しました。(Muhammad Usama, Japanese doc by Tatsuo Ishii)
    </para>
    <para>
<!--
     Import PostgreSQL's logging collector.
-->
     これはPostgreSQLのログ収集プロセスを取り込んだものです。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-24 [86778775]
    -->
    <para>
<!--
     Allow to collect disconnection log by <xref linkend="guc-log-disconnections">. (Takuma Hoshiai)
-->
     <xref linkend="guc-log-disconnections">で接続切断ログが取れるようになりました。(Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-06-25 [37772c5b]
    2020-04-07 [d8434662]
    -->
    <para>
<!--
     Allow to set application name parameter of <xref
     linkend="guc-log-line-prefix"> in more cases. (Tatsuo Ishii)
-->
     <xref linkend="guc-log-line-prefix">のアプリケーション名設定パラメータが多くの場所で有効になるようにしました。(Tatsuo Ishii)
    </para>
    <para>
<!--
     %a in <xref linkend="guc-log-line-prefix"> was only be set if
     application_name is specified in startup message. Now it is
     possible to set application_name if it is set in the connection
     parameter or SET command.
-->
     前は<xref linkend="guc-log-line-prefix">の%aはスタートアップメッセージでだけ設定できました。
     これを、接続パラメータあるいはSETコマンドでapplication_nameを設定したときにも有効になるようにしました。
    </para>
    <para>
<!--
     Also set hard coded application_name in various internal process so
     that admins can easily recognize each log line belonging to which
     process.
-->
     また、固定のアプリケーション名を内部プロセスに設定し、ログファイル中のどの行がどのプロセスに所属するのか管理者が容易に判断できるようにました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-03 [afbcff6f]
    -->
    <para>
<!--
     Change <xref linkend="PGPOOL-SETUP"> so that <xref
     linkend="guc-log-line-prefix"> includes application name. (Tatsuo
     Ishii)
-->
     <xref linkend="PGPOOL-SETUP">を変更し、<xref linkend="guc-log-line-prefix">にアプリケーション名が含まれるようにしました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-03-18 [78c217cd]
    -->
    <para>
<!--
     Add support for an user/password input file to <xref
     linkend="PG-ENC">. (Umar Hayat, Japanese doc by Tatsuo Ishii)
-->
     <xref linkend="PG-ENC">がユーザ名/パスワードペアの入力ファイルを受け付けるようになりました。(Umar Hayat, Japanese doc by Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-04-06 [68d66a66]
    -->
    <para>
<!--
     Add support for an user/password input file to <xref
     linkend="PG-MD5">. (Umar Hayat, Japanese doc by Bo Peng)
-->
     <xref linkend="PG-MD5">がユーザ名/パスワードペアの入力ファイルを受け付けるようになりました。(Umar Hayat, Japanese doc by Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-14 [9f74a228]
    2020-08-14 [689a8fcc]
    2020-08-14 [f04ef82b]
    2020-08-14 [d23f0af7]
    2020-08-14 [1afc6431]
    2020-08-17 [644c0898]
    2020-08-17 [241ff0f2]
    2020-08-18 [4b512891]
    -->
    <para>
<!--
     Add <xref linkend="SQL-SHOW-POOL-BACKEND-STATS">. (Tatsuo Ishii)
-->
     <xref linkend="SQL-SHOW-POOL-BACKEND-STATS">を追加しました。(Tatsuo Ishii)
    </para>
    <para>
<!--
     The new command shows the number of SQL commands executed and
     errors returned from backend since
     <productname>Pgpool-II</productname> started.
-->
     この新しいコマンドは、<productname>Pgpool-II</productname>が起動してから実行されたSQLコマンドと、バックエンドからエラーが返された回数を表示します。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-01-27 [c36a2804]
    2020-01-26 [cb35c9b8]
    2020-01-26 [154d826b]
    -->
    <para>
<!--
     Add <xref linkend="SQL-SHOW-POOL-HEALTH-CHECK-STATS"> to show
     health check statistics (Tatsuo Ishii)
-->
     ヘルスチェックの統計情報を表示する<xref linkend="SQL-SHOW-POOL-HEALTH-CHECK-STATS">を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-02-24 [42919f2e]
    -->
    <para>
<!--
     Add new PCP command <xref linkend="PCP-HEALTH-CHECK-STATS">. (Tatsuo Ishii)
-->
     新しいPCPコマンド<xref linkend="PCP-HEALTH-CHECK-STATS">を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-02-25 [dfc56868]
    -->
    <para>
<!--
     Add new pgpool_adm function <xref linkend="pgpool-adm-pcp-health-check-stats">. (Tatsuo Ishii)
-->
     新しいpgpool_adm関数<xref linkend="pgpool-adm-pcp-health-check-stats">を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-06-04 [c13a630f]
    2020-06-03 [9e979b7f]
    2020-05-21 [987b6994]
    -->
    <para>
<!--
     New PCP command <xref linkend="PCP-RELOAD-CONFIG"> for reloading
     the pgpool configuration (Jianshen Zhou, Muhammad Usama, Japanese
     doc by Tatsuo Ishii)
-->
     pgpool設定ファイルを再ロードする新しいPCPコマンド<xref linkend="PCP-RELOAD-CONFIG">を追加しました。(Jianshen Zhou, Muhammad Usama, Japanese
     doc by Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-05-04 [87e6e11c]
    2020-05-06 [b859969c]
    -->
    <para>
<!--
     Allow to stop whole pgpool cluster by using <xref
     linkend="PCP-STOP-PGPOOL"> command. (Muhammad Usama, Japanese doc
     by Tatsuo Ishii)
-->
     <xref linkend="PCP-STOP-PGPOOL">を使ってpgpoolクラスタ全体を停止することができるようになりました。(Muhammad Usama, Japanese doc by Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-09-24 [6156534a]
    -->
    <para>
<!--
     Add wd_cli utility (Muhammad Usama, Japanese doc by Tatsuo Ishii)
-->
     wd_cliユーティリティを追加しました。(Muhammad Usama, Japanese doc by Tatsuo Ishii)
    </para>
    <para>
<!--
     <xref linkend="wd-cli"> makes it easier to integrate the external health check systems with the
     <productname>Pgpool-II</productname>.
-->
     <xref linkend="wd-cli">は<productname>Pgpool-II</productname>と外部ヘルスチェックシステとの連携を容易にします。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-02 [b7f902d9]
    -->
    <para>
<!--
     Implement automatic writing function detection by checking volatile property. (Tatsuo Ishii, Hou, Zhijie)
-->
     関数の揮発性をチェックすることによって書き込み関数を自動的に検出する機能を実装しました。(Tatsuo Ishii, Hou, Zhijie)
    </para>
    <para>
<!--
     If a function included in SELECT/WITH has volatile property by
     checking system catalog, regard it a writing function. This
     feature is available only when the <xref
     linkend="guc-write-function-list"> and the <xref
     linkend="guc-read-only-function-list"> are both empty. The default of
     the black_function_list and the white_function_list are now empty
     string so that this feature is enabled by default.
-->
     システムカタログをチェックした結果、SELECT/WITHに含まれる関数が揮発性の性質を持っているなら、書き込みを行う関数であると見なします。
     この機能は<xref linkend="guc-write-function-list">と<xref linkend="guc-read-only-function-list">が空である場合にのみ有効になります。
     この機能がデフォルトで有効になるように、black_function_listとwhite_function_listのデフォルトは空となりました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-26 [fc9fa8db]
    -->
    <para>
<!--
     Enhance the way getting function names in multiple places. (Hou, Zhijie)
-->
     関数名を取得する方法を複数ヶ所で改善しました。(Hou, Zhijie)
    </para>
    <para>
<!--
     With query cache enabled, <productname>Pgpool-II</productname>
     examines function calls in SELECTs. However if a function were
     called with schema qualification, it was not recognized. This
     commit fix to allow schema qualifications in the case.
-->
     クエリキャッシュが有効である場合、<productname>Pgpool-II</productname>はSELECT中の関数呼び出しを精査しました。
     今までは関数がスキーマ修飾付きで呼び出されていると認識されませんでしたが、これを認識するように改善しました。
    </para>
    <para>
<!--

     Also now schema qualified function names in <xref
     linkend="guc-write-function-list"> and <xref
     linkend="guc-read-only-function-list"> are allowed. Note that if you
     want to register schema qualified function names, you have to
     register function names without schema qualification as well.
-->
     また、<xref linkend="guc-write-function-list">と<xref linkend="guc-read-only-function-list">でスキーマ修飾付きの関数名が認識されなかったのも修正されました。
     なお、スキーマ修飾付きの関数名を登録する際は、スキーマ修飾なし関数名も登録するようにしてください。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-21 [761d30a1]
    -->
    <para>
<!--
     Add dml object level load balance support in <xref
     linkend="guc-disable-load-balance-on-write"> .(Subiao, Muhammad
     Usama)
-->
     dmlオブジェクトレベルの負荷分散を<xref linkend="guc-disable-load-balance-on-write">でサポートしました。(Subiao, Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-07 [cb34604d]
    -->
    <para>
<!--
     Allow to use argument names in pgpool_adm functions. (Hou, Zhijie)
-->
     pgpool_adm関数で引数名が使えるようになりました。(Hou, Zhijie)
    </para>
    <para>
<!--
     Example:
-->
     例を示します。
     <programlisting>
     SELECT * FROM pcp_node_count(host => 'localhost', port => 11001, username => 't-ishii', password => 't-ishii');
     </programlisting>
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-02 [537a2c1d]
    -->
    <para>
<!--
     Add public API to invalidate query cache by table/database oid. (Tatsuo Ishii)
-->
     テーブル、データベースOIDによるクエリキャッシュを削除する公開APIを追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-06-26 [c18c12f8]
    -->
    <para>
<!--
     Add support for LDAP authentication between client and pgpool. (Takuma Hoshiai)
     See <xref linkend="auth-ldap"> for more details.
-->
     クライアントとpgpoolの間でのLDAP認証をサポートしました。(Takuma Hoshiai)
     詳細は<xref linkend="auth-ldap">をご覧ください。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-05-23 [5bc38fe1]
    -->
    <para>
<!--
     Enhance scram/md5 auth regression test to use AES256 encrypted password. (Tatsuo Ishii)
-->
     scram/md5認証のリグレッションテストでAES256パスワード暗号化を使うように改善しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-01 [3f9a0a3d]
    2020-06-27 [d8f5c20d]
    2020-06-26 [8b472278]
    2020-06-22 [6f35af74]
    2020-06-20 [ff76762c]
    2020-06-20 [91e39bb0]
    2020-06-19 [22930861]
    -->
    <para>
<!--
     Add new <xref linkend="guc-backend-clustering-mode"> "snapshot
     isolation mode". (Tatsuo Ishii)
-->
     <xref linkend="guc-backend-clustering-mode">で新しい"snapshot isolation mode"を追加しました。(Tatsuo Ishii)
    </para>
    <para>
<!--
     This mode is similar to existing native replication mode except
     it provides more strict read consistency among backends (so
     called "atomic visibility") and will give a illusion that a
     cluster consisting with multiple backends seems to be a single
     <productname>PostgreSQL</productname> server.
-->
     このモードは既存のnative replication modeと似ていますが、バックエンドの間でより厳密な読み取り一貫性を提供します。
     （いわゆる原子的読み取り一貫性）
     これにより、あたかも複数のバックエンドから構成されるクラスタが単一の<productname>PostgreSQL</productname>サーバに見えるようになります。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-05-22 [859080bd]
    -->
    <para>
<!--
     Add mention about hostssl/hostnossl to
     <filename>pool_hba.conf</filename> sample file. (Tatsuo Ishii)
-->
     hostssl/hostnosslについての記述を<filename>pool_hba.conf</filename>サンプルファイルに追加しました。
    </para>
    <para>
<!--
     Although hostssl/hostnossl are supported,
     <filename>pool_hba.conf</filename> comment did not mention about
     it.
-->
     hostssl/hostnosslはサポートされていましたが、<filename>pool_hba.conf</filename>のコメントはそのことに言及していませんでした。
    </para>
   </listitem>
   <listitem>
    <!--
    2020-04-01 [6ea15445]
    2020-03-31 [9ee3d93c]
    2020-03-30 [eb0c7c2c]
    2020-03-30 [a01c37d8]
    -->
    <para>
<!--
     Add support for <xref
     linkend="guc-ssl-passphrase-command">. (Umar Hayat, Japanese doc
     by Tatsuo Ishii)
-->
     <xref linkend="guc-ssl-passphrase-command">のサポートを追加しました。(Umar Hayat, Japanese doc by Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-03-14 [dc3116c7]
    -->
    <para>
<!--
     Add support for <xref linkend="guc-ssl-crl-file"> (CRL:
     Certificate Revocation List). (Umar Hayat, Japanese doc by Tatsuo
     Ishii)
-->
     <xref linkend="guc-ssl-crl-file">のサポートを追加しました。(Umar Hayat, Japanese doc by Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-05-18 [fc9e9d37]
    -->
    <para>
<!--
     Change relative path of SSL files to configuration
     directory. (Umar Hayat, Japanese doc by Bo Peng)
-->
     SSL関連ファイルの相対パスを設定ファイルのあるディレクトリを基準にするようにしました。(Umar Hayat, Japanese doc by Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-04-28 [eee4c86c]
    -->
    <para>
<!--
     Allow to show appropriate process status by ps command with
     extend queries. (Takuma Hoshiai)
-->
     拡張問い合わせを実行中に適切なプロセス状態をpsコマンドで表示できるようにしました。(Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-04-26 [a2a6005d]
    -->
    <para>
     <!--
     Downgrade too verbose authentication logs. (Tatsuo Ishii)
     -->
     冗長過ぎる認証処理のログをダウングレードしました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-30 [ef3d830f]
    -->
    <para>
<!--
     Display more informative error message in authentication process. (Tatsuo Ishii)
-->
     認証処理でより情報量の多いメッセージを表示するようにしました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-02-10 [6222cb3a]
    -->
    <para>
<!--
     Suppress unnecessary error message when there's no standby
     server. (Tatsuo Ishii)
-->
     スタンバイサーバが存在しない時に不必要なエラーメッセージが出ないようしました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-01-28 [20baad9d]
    -->
    <para>
<!--
     Check if socket file exists at startup and remove them if PID
     file doesn't exist. (Bo Peng)
-->
     起動時にPIDファイルが存在しなかったらソケットファイルを削除するようにしました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-01-10 [1062b805]
    -->
    <para>
<!--
     Teach <command>pgproto</command> notification response message. (Tatsuo Ishii)
-->
     <command>pgproto</command>がNOTIFICATIONメッセージを理解できるようにしました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-09-07 [86778775]
    -->
    <para>
<!--
     Import PostgreSQL 13 beta3 new parser.
     Major changes of PostgreSQL 13 parser include:
-->
     PostgreSQL 13 beta3の新しいパーサを取り込みました。
     主なPostgreSQL 13パーサの変更点は以下です。
     <itemizedlist>
      <listitem>
       <para>
	Remove an object's dependency on an extension
	<programlisting>
	 ALTER TRIGGER ... NO DEPENDS ON EXTENSION ...
	 ALTER FUNCTION ... NO DEPENDS ON EXTENSION ...
	</programlisting>
       </para>
      </listitem>

      <listitem>
       <para>
	Allow FETCH FIRST to use WITH TIES.
	<programlisting>
	 FETCH FIRST ... WITH TIES
	</programlisting>
       </para>
      </listitem>
<!--
      <listitem>
       <para>
	Add ALTER TABLE clause DROP EXPRESSION
	<programlisting>
	 ALTER TABLE ... DROP EXPRESSION
	</programlisting>
       </para>
      </listitem>

      <listitem>
       <para>
	Allow setting statistics target for extended statistics
	<programlisting>
	 ALTER STATISTICS ... SET STATISTICS
	</programlisting>
       </para>
       </listitem>
-->
      <listitem>
       <para>
	Allow ALTER VIEW to rename view columns
	<programlisting>
	 ALTER VIEW ... RENAME COLUMN ... TO ...
	</programlisting>
       </para>
       </listitem>
<!--
      <listitem>
       <para>
	Add CREATE DATABASE clause LOCALE option
	<programlisting>
	 CREATE DATABASE ... LOCALE
	</programlisting>
       </para>
       </listitem>

      <listitem>
       <para>
	Add DROP DATABASE clause WITH FORCE option
	<programlisting>
	 DROP DATABASE ... WITH (force)
	</programlisting>
       </para>
       </listitem>
-->
      <listitem>
       <para>
	Add VACUUM clause PARALLEL option
	<programlisting>
	 VACUUM (PARALLEL 1) ...
	</programlisting>	 
       </para>
      </listitem>
     </itemizedlist>
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-19 [51293488]
    2020-08-19 [7fecd5cd]
    -->
    <para>
<!-- Replace "PGBIN" and "LPATH" in <command>pgpool_setup</command>
     and <command>watchdog_setup</command> with PostgreSQL's bin path
     and lib path. (Bo Peng)
-->
     <command>pgpool_setup</command>と<command>watchdog_setup</command>の"PGBIN"と"LPATH"を、PostgreSQLのbin pathとlib pathにしました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-17 [9c7c3047]
    -->
    <para>
<!--
     Use <command>pg_config</command> to get
     <productname>PostgreSQL</productname> lib path and add this path
     to LD_LIBRARY_PATH environment parameter in regress.sh. (Bo Peng)
-->
     <productname>PostgreSQL</productname>のlib pathを<command>pg_config</command>を使って取得し、regress.shのLD_LIBRARY_PATH環境変数に追加するようにしました。(Bo Peng)
    </para>
    <para>

    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-11 [88a72578]
    -->
    <para>
<!--
     Make RPMs to include <filename>pcp.conf</filename> and
     <filename>pool_hba.conf</filename> sample files. (Bo Peng)
-->
     RPMに<filename>pcp.conf</filename>と<filename>pool_hba.conf</filename>のサンプルファイルが含まれるようにしました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-31 [d7c75781]
    -->
    <para>
<!--
     Change PCP UNIX_DOMAIN_PATH of RPM package to "/var/run/postgresql". (Bo Peng)
-->
     RPM内のPCPのUNIX_DOMAIN_PATHを"/var/run/postgresql"にしました。 (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-27 [680e4d67]
    -->
    <para>
<!--
     Rename src/redhat/pgpool_rhel7.sysconfig to
     src/redhat/pgpool_rhel.sysconfig to make this file available on
     RHEL8/CentOS8. (Bo Peng)
-->
     RHEL8/CentOS8で利用できるようにsrc/redhat/pgpool_rhel7.sysconfigをsrc/redhat/pgpool_rhel.sysconfigにファイル名を変えました。(Bo Peng)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
<!--
  <title>Major Enhancements</title>
-->
  <title>主なドキュメントの改善点</title>
  <itemizedlist>

   <listitem>
    <!--
    2020-11-25 [48d25a8]
    -->
    <para>
     新しいドキュメント「Kubernetesの設定例」を追加しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-10-27 [317c39e]
    -->
    <para>
     <xref linkend="guc-wd-escalation-command">によって実行されるサンプルスクリプトescalation.shを追加しました。(Masaya Kawamoto)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-10-04 [a3d6554]
    -->
    <para>
     「8.2. Watchdogの設定例」を削除しました。(Bo Peng)
    </para>
    <para>
     Watchdogの設定方法については、「Pgpool-II + Watchdogの構築の例」の<xref linkend="EXAMPLE-CLUSTER-PGPOOL-CONFIG-WATCHDOG">を参照ください。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-09-01 [9d5bb1c6]
    -->
    <para>
<!--
     Add Pgpool-II/PostgreSQL start/stop etc. documents. (Tatsuo Ishii)
-->
     Pgpool-II/PostgreSQLの起動/停止などに関するドキュメントを追加しました。(Tatsuo Ishii)
    </para>
    <para>
<!--
     See <xref linkend="server-start"> etc. for more details.
-->
     詳細は<xref linkend="server-start">などを見てください。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-18 [c5a51428]
    -->
    <para>
<!--
     Mention that <xref linkend="PGPOOL-SETUP"> needs to be configured
     to log into localhost using ssh without password. (Tatsuo Ishii)
-->
    <xref linkend="PGPOOL-SETUP">でsshでlocalhostにパスワード無しでログインできるようにしなければならないことを述べました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-17 [28351775]
    -->
    <para>
<!--
     Change sample scripts and yum repository urls. (Bo Peng)
-->
     設定例で使用しているサンプルスクリプトのURLとyumリポジトリのURLを変更しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-28 [d362cb5d]
    -->
    <para>
<!--
     Clarify what <xref linkend="PCP-PROMOTE-NODE"> actually does. (Tatsuo Ishii)
-->
     <xref linkend="PCP-PROMOTE-NODE">が実際には何をやっているのかを記述しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-10 [19cbe75d]
    -->
    <para>
<!--
     Update "Installation from RPM" section. (Bo Peng)
-->
     「RPMからのインストール」の章を更新しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-06-23 [02d75774]
    -->
    <para>
<!--
     Add note about <xref linkend="guc-auto-failback">. (Takuma Hoshiai)
-->
     <xref linkend="guc-auto-failback">に注意書きを追加しました。(Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-05-23 [d1330ae3]
    -->
    <para>
<!--
     Add explanation about <filename>.pgpoolkey</filename>. (Tatsuo
     Ishii)
-->
     <filename>.pgpoolkey</filename>の説明を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-05-22 [06632468]
    -->
    <para>
<!--
     Improve the description of <xref linkend="guc-wd-priority">. (Kenichiro Tanaka)
-->
     <xref linkend="guc-wd-priority">の記述を改善しました。(Kenichiro Tanaka)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-05-10 [f4d6b41b]
    -->
    <para>
<!--
     Add note about <xref linkend="guc-if-up-cmd"> and
     <xref linkend="guc-if-down-cmd"> command. (Bo Peng)
-->
     <xref linkend="guc-if-up-cmd">コマンドと<xref linkend="guc-if-down-cmd">コマンドに関する注意書きを追加しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-03-02 [3c2eba0d]
    -->
    <para>
<!--
     Enhance installation documents. (Tatsuo Ishii)
-->
     インストールドキュメントを改善しました。(Tatsuo Ishii)
    </para>
    <para>
<!--
     Add "Planning" section (see <xref linkend="planning">) so that
     users can grasp a big picture of installation.
-->
     「プランニング」の章(<xref linkend="planning">参照)を追加し、ユーザがインストールの概要を把握できるようにしました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-02-27 [b439c147]
    -->
    <para>
<!--
     Explicitly mention that <productname>Pgpool-II</productname>
     needs 3 nodes to avoid split brain. (Tatsuo Ishii)
-->
     スプリットブレインを避けるためには、<productname>Pgpool-II</productname>は3ノード必要であることを明記しました。(Tatsuo Ishii)
    </para>
    <para>
<!--
     See <xref linkend="intro-whatis"> for more details.
-->
     詳細は<xref linkend="intro-whatis">をご覧ください。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-02-27 [52ec89ce]
    -->
    <para>
<!--
     Enhance description of failover. (Tatsuo Ishii)
-->
     フェイルオーバに関する記述を改善しました。(Tatsuo Ishii)
    </para>
    <para>
<!--
     See <xref linkend="guc-failover-command"> for more details.
-->
     詳細は<xref linkend="guc-failover-command">をご覧ください。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-02-18 [13b5a290]
    -->
    <para>
<!--
    Clarify the session disconnection conditions while
    failover. (Tatsuo Ishii)
-->
     フェイルオーバ中にセッションが切断される条件を明示しました。(Tatsuo Ishii)
    </para>
    <para>
<!--
     See <xref linkend="guc-failover-command"> for more details.
-->
     詳細は<xref linkend="guc-failover-command">をご覧ください。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-02-12 [ee597b3a]
    -->
    <para>
<!--
     Enhance description of <xref
     linkend="guc-enable-shared-relcache"> parameter. (Tatsuo Ishii)
-->
     <xref linkend="guc-enable-shared-relcache">パラメータの記述を改善しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-11 [a6a15205]
    -->
    <para>
<!--
     Add sample script links in configuration example. (Bo Peng)
-->
     設定例の章でスクリプトへのリンクを設定しました。(Bo Peng)
    </para>
    <para>
<!--
     See <xref linkend="example-cluster"> for more details.
-->
     詳細は<xref linkend="example-cluster">をご覧ください。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-05-23 [249d2955]
    -->
    <para>
<!--
     Mention about environment variable PGPOOLKEYFILE in <xref
     linkend="PG-ENC"> command. (Tatsuo Ishii)
-->
     <xref linkend="PG-ENC">中に環境変数PGPOOLKEYFILEについて記述しました。(Tatsuo Ishii)
    </para>
    <para>
<!--
     <command>pg_enc</command> command actually recognizes the
     environment variable.
-->
     <command>pg_enc</command>コマンドは実際にはその環境変数を認識します。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

</sect1>
