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

<sect1 id="release-3-6-28">
 <title>リリース 3.6.28</title>
  <note>
   <title>リリース日</title>
   <simpara>2021-11-18</simpara>
  </note>

 <sect2>
  <title>セキュリティリリース</title>
  <itemizedlist>
   <listitem>
    <!--
    2021-11-17 [06ae225d]
    -->
    <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 [02a210dd]
    -->
    <para>
     <command>pg_terminate_backend()</command>の処理に関する<productname>PostgreSQL 14</productname>対応をしました。(Tatsuo Ishii)
    </para>
   </listitem>

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

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

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

   <listitem>
    <!--
    2021-10-04 [d934eb53]
    -->
    <para>
     typoを修正しました。(Bo Peng)
    </para>
    <para>
     パッチはKazufumi Notoによって提供されました。
    </para>
   </listitem>

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

  </itemizedlist>
 </sect2>

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

   <listitem>
    <!--
    2021-08-25 [6f7e7bab]
    -->
    <para>
     新しいメインノードが利用できない場合に何もしないように<command>pgpool_setup</command>を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

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

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

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

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

<sect1 id="release-3-6-27">
 <title>リリース 3.6.27</title>
  <note>
   <title>リリース日</title>
   <simpara>2021-08-05</simpara>
  </note>

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

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

   <listitem>
    <!--
    2021-05-22 [771cfe7]
    -->
    <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 [15b4cf7]
    -->
    <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-07-14 [9af73d7]
    -->
    <para>
     Doc: いくつかのドキュメントのtypoを修正しました。(Bo Peng)
    </para>
   </listitem>

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

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

  </itemizedlist>
 </sect2>

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

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

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

   <listitem>
    <!--
    2021-05-29 [571bba2]
    -->
    <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 [72ad7cb]
    -->
    <para>
     031.connection_life_timeの不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

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

<sect1 id="release-3-6-26">
 <!--
 <title>Release 3.6.26</title>
 -->
 <title>リリース 3.6.26</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-11 [241bee3]
    -->
    <para>
     Doc: <xref linkend="guc-heartbeat-device">の説明を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <xref linkend="guc-heartbeat-device">パラメータは、<productname>Pgpool-II</productname>がrootで起動する場合にのみ使用できます。
    </para>
   </listitem>

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

   <listitem>
    <!--
    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-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-13 [b3bddbe]
    2021-02-20 [d9f25b8]
    -->
    <para>
     Doc: 多数ドキュメントの改善を行いました。 (Tatsuo Ishii, Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-3-6-25">
 <!--
 <title>Release 3.6.25</title>
 -->
 <title>リリース 3.6.25</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2021-02-18</simpara>
 </note>

 <sect2>
  <!--
  <title>Changes</title>
  -->
  <title>変更点</title>
  <itemizedlist>
   <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>
    <!--
    2021-02-14 [4ddfe82]
    -->
    <para>
     <xref linkend="PGPOOL-ADM-PCP-NODE-INFO">の誤ったweightの表示を修正しました。 (Tatsuo Ishii)
    </para>
   </listitem>

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

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

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

   <listitem>
    <!--
    2021-01-01 [08db48f]
    -->
    <para>
     ERRORが発生した場合、<xref linkend="GUC-CHILD-MAX-CONNECTIONS">が正しくカウンタされない不具合を修正しました。(Tatsuo Ishii)
    </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-11-20 [14dadc6]
    -->
    <para>
     Doc: <xref linkend="GUC-LOG-STANDBY-DELAY">のドキュメントを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id=release-3-6-24>
 <!--
 <title>Release 3.6.24</title>
 -->
 <title>リリース 3.6.24</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2020-11-19</simpara>
 </note>

 <sect2>
  <!--
  <title>Changes</title>
  -->
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2020-10-03 [cc11de6]
    -->
    <para>
     Doc: <productname>Pgpool-II</productname>が<acronym>GSSAPI</acronym>をサポートしないという注意事項を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-10-03 [bcb7167]
    -->
    <para>
	 フロントエンドが<acronym>GSSAPI</acronym>暗号化接続を要求した場合、
	 <productname>Pgpool-II</productname>は<acronym>GSSAPI</acronym>をサポートしていないため、
	 これまでエラーを返していましたが、他の方式での接続を要求するように変更しました。(Tatsuo Ishii)
    </para>
    <para>
     パッチはTatsuo Ishiiにより作成され、Umar Hayatによりレビュー・テストされました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2020-11-17 [94cbceb]
    -->
    <para>
	 ネイティブレプリケーションモードで「INSERT ... ON CONFLICT」クエリ書換えの不具合を修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=654">bug 654</ulink>) (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-10-30 [79831b3]
    -->
    <para>
	 クエリがキャンセルされたときにコネクションカウントが減少しない不具合を修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=656">bug 656</ulink>) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-09-30 [af67e9b]
    -->
    <para>
     Doc: <productname>PostgreSQL</productname>の使用可能なバージョンを7.4以降に修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id=release-3-6-23>
 <!--
 <title>Release 3.6.23</title>
 -->
 <title>リリース 3.6.23</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2020-09-17</simpara>
 </note>

 <sect2>
  <!--
  <title>Changes</title>
  -->
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2020-09-13 [824ef05]
    -->
    <para>
     <!--
     Follow the guide line of PostgreSQL 12.4 regarding extensions. (Tatsuo Ishii)
     -->
	 <productname>PostgreSQL</productname> 12.4 のガイドラインに従って<productname>Pgpool-II</productname>の拡張機能のスクリプトを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     CREATE OR REPLACE FUNCTION should be avoided. Use CREATE FUNCTION instead.
     -->
	 <command>CREATE OR REPLACE FUNCTION</command>の使用を避けて、代わりに<command>CREATE FUNCTION</command>を使用するように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-24 [f68e230]
    -->
    <para>
     <!--
     Replace "PGBIN" and "LPATH" in pgpool_setup and watchdog_setup using PostgreSQL's bin path and lib path. (Bo Peng)
     -->
	 <xref linkend="PGPOOL-SETUP">と<xref linkend="WATCHDOG-SETUP">の"PGBIN"と"LPATH"を、PostgreSQLのbin pathとlib pathにしました。(Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2020-09-16 [957d3b3]
    -->
    <para>
     <!--
     Doc: fix the incorrect description regarding the running modes of Pgpool-II in which online recovery is available. (Bo Peng)
     -->
     Doc: オンラインリカバリが利用可能なPgpool-IIの動作モードに関する誤った説明を修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-09-14 [bc35527]
    -->
    <para>
     <!--
     Remove unnecessary checks in some code path. (Tatsuo Ishii)
     -->
	 いくつかの不要なチェックをソースコードから削除しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Patch contributed by Hou, Zhijie.
     -->
	 パッチはby Hou, Zhijieにより提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-09-06 [2ebc8ac]
    -->
    <para>
     <!--
     Fix relcache query sometimes sent to other than primary. (Tatsuo Ishii)
     -->
	 relcacheクエリがプライマリ以外に送信される不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     In streaming replication mode, relcache queries are supposed to be
     sent to the primary node.  But actually they were not sent to the primary
     node if primary node was not the master node. Typically this could
     happen when the primary is not node 0.
     -->
	 ストリーミングレプリケーションモードでは、relcacheクエリはプライマリノードに送信されるようになっています。
     しかし、実際には、プライマリノードがマスターノードでない場合、relcacheクエリはプライマリノードに送信されませんでした。
     通常、これはプライマリがノード0でない場合に発生する可能性があります。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-09-01 [87910d6]
    -->
    <para>
     <!--
     Fix connection_life_time not working when serialize_accept is enabled. (Tatsuo Ishii)
     -->
	 <xref linkend="GUC-SERIALIZE-ACCEPT">が有効になっているときに<xref linkend="GUC-CONNECTION-LIFE-TIME">が機能しない問題を修正しました。(Tatsuo Ishii)
    </para>
    <para>
	 Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2020-August/007233.html">[pgpool-general: 7175]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-30 [3dbb808]
    -->
    <para>
     <!--
     Display more informative error message in authentication process. (Tatsuo Ishii)
     -->
	 認証処理において有益なエラーメッセージを表示するように修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-21 [9ae9bee]
    -->
    <para>
     <!--
     Fix segfault in pgpool child process in certain case. (Tatsuo Ishii)
     -->
	 特定の場合に発生するpgpool子プロセスのセグメンテーション違反を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
	 This issue can be reproduced with the following steps:
     -->
	 以下の方法で再現できます。
     <orderedlist>
	  <listitem>
	   <para>
        <!--
        shutdown all backends.
        -->
		すべてのバックエンドを停止します。
	   </para>
	  </listitem>
	  <listitem>
	   <para>
        <!--
        connect to pgpool with invalid client. I have used pcp_attach_node with pgpool's port number, not pcp's.
        -->
		無効なクライアントでpgpoolに接続します。例えば、pcpのポートではなく、pgpoolのポート番号を使用して<command>pcp_attach_node</command>を実行します。
	   </para>
	  </listitem>
     </orderedlist>
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id=release-3-6-22>
 <!--
 <title>Release 3.6.22</title>
 -->
 <title>リリース 3.6.22</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2020-08-20</simpara>
 </note>

 <sect2>
  <!--
  <title>Changes</title>
  -->
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2020-08-12 [9de4de2]
    -->
    <para>
	 Doc: TLSバージョン1.2あるいはそれ以下のバージョンのみが<xref linkend="GUC-SSL-CIPHERS">の影響をうけるという説明を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-05-22 [1437d3b]
    -->
    <para>
	 Doc: <xref linkend="GUC-WD-PRIORITY">に関する説明を改善しました。(Bo Peng)
    </para>
    <para>
     パッチはKenichiro Tanakaにより提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-05-22 [422336a]
    -->
    <para>
	 <filename>pool_hba.conf</filename>サンプルファイルに<literal>hostssl/hostnossl</literal>に関する説明を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-17 [44096e2]
    2020-07-16 [5115de1]
    2020-06-30 [8941202]
    2020-05-30 [6f128fc]
    2020-05-23 [dde82d3]
    2020-05-23 [7a73705]
    2020-07-28 [1e13a96]
    -->
    <para>
	 Doc: 多数ドキュメントの改善を行いました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2020-08-12 [1b57486]
    -->
    <para>
	 pgpoolの起動時に、pidファイルが存在する場合、書き込む前にpidファイルを長さゼロに切り詰めるように修正しました。(Bo Peng)
    </para>
    <para>
	 パッチはmaliangzhuにより提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-11 [2e3048f]
    -->
    <para>
	 Doc: <xref linkend="GUC-FAILBACK-COMMAND">のパラメータの説明の誤りを修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-11 [68b6b36]
    -->
    <para>
	 ストリーミングレプリケーションモードでプライマリノードが0以外の場合、<xref linkend="guc-connection-life-time">が機能しない問題を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-08-05 [566a48e]
    -->
    <para>
	 -rオプション及び<productname>PostgreSQL</productname> 12での<command>pgpool_setup</command>の問題を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-31 [f8510a4]
    -->
    <para>
	 RPMパッケージのPCPコマンドの<literal>UNIX_DOMAIN_PATH</literal>を<filename>/var/run/postgresql</filename>に変更します。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
	2020-08-05 [0cc495d]
    2020-07-14 [24fb5d6]
    -->
    <para>
	 クエリキャッシュの不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
	 クエリキャッシュが有効な場合、あるテーブルが更新された場合、<productname>Pgpool-II</productname>は自動的にそのテーブルに関係する全てのキャッシュを削除するようになっています。
	 しかし、<command>EXPLAIN ANALYZE</command>または<acronym>CTE</acronym>で更新クエリを実行した場合に、
	 これらのクエリが誤って参照クエリとして扱われ、キャッシュが削除されませんでした。
    </para>
    <para>
	 パッチはHou, Zhijieにより作成され、Tatsuo Ishiiにより修正されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-07-09 [1152b26]
    -->
    <para>
	 コーナーケースで発生する<productname>Pgpool-II</productname>のハングアップを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-06-26 [28e2885]
    -->
    <para>
	 user、database、application_name以外のパラメータが指定された場合、startupパケットの読み取りが失敗する不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-06-22 [3525bc2]
    -->
    <para>
	 <function>pg_terminate_backend</function>を実行した時にコネクションのカウントがずれる不具合を修正しました。(Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-06-04 [9873af0]
    -->
    <para>
     アプリケーション名が<xref linkend="GUC-LOG-LINE-PREFIX">に含まれている場合に発生するセグメンテーション違反を修正しました。 (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=615">bug 615</ulink>) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-06-02 [1bdaccf]
    -->
    <para>
	 ネイティブレプリケーションモードで<function>pg_terminate_backend()</function>を実行すると、フェイルオーバを引き起こしてしまう不具合を修正しました。(Takuma Hoshiai)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id=release-3-6-21> 
 <!--
 <title>Release 3.6.21</title>
 -->
 <title>リリース 3.6.21</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2020-05-21</simpara>
 </note>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2020-05-16 [2fd983b]
    2020-04-26 [1304dcc]
    -->
    <para>
     <!--
     Fix build error on some system (Fedora 32). (Tatsuo Ishii)
     -->
     一部のシステム(Fedora 32)で発生するビルドエラーを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-04-23 [1221a65]
    -->
    <para>
     <!--
     Fix unnecessary checks. (Tatsuo Ishii)
     -->
     不要なチェックを削除しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Patch contributed by sherlockcpp. Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2020-April/007062.html">[pgpool-general: 7004]</ulink>
     -->
     パッチはsherlockcppによって提供されました。Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2020-April/007062.html">[pgpool-general: 7004]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2020-04-23 [8ea84b9]
    -->
    <para>
     <!--
     Doc: Fix typo. (Tatsuo Ishii)
     -->
     Doc: ドキュメントのタイポを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Patch contributed by Umar Hayat. 
     -->
     パッチはUmar Hayatによって提供されました。
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2020-April/003587.html">[pgpool-hackers: 3587]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2020-04-16 [75432c0]
    -->
    <para>
     <!--
     Fix for segmentation fault in PCP process. (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=598">bug 598</ulink>) (Muhammad Usama)
     -->
     PCP プロセスのセグメンテーション違反を修正しました。(<ulink url="https://www.pgpool.net/mantisbt/view.php?id=598">bug 598</ulink>) (Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-04-12 [237793e]
    2020-04-06 [225290a]
    -->
    <para>
     <!--
     Doc: Fix typo. (Tatsuo Ishii, Bo Peng)
     -->
     Doc: タイポを修正しました。(Tatsuo Ishii, Bo Peng)
    </para>
    <para>
     <!--
     Patch provided by sherlockcpp.
     -->
     パッチはsherlockcppによって提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2020-03-11 [a639141]
    -->
    <para>
     <!--
     Fix possible data inconsistency in native replication mode. (Tatsuo Ishii)
     -->
     ネイティブレプリケーションモードで起こりうるデータの不整合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     Discussions:
     <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2020-March/006954.html">[pgpool-general: 6896]</ulink>
     <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2020-March/003540.html">[pgpool-hackers: 3540]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2020-03-06 [5ce6273]
    -->
    <para>
     <!--
     Fix watchdog ping probes fail with long hostnames due to small buffer. (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=516">bug 516</ulink>) (Bo Peng)
     -->
     ホスト名が長い場合、バッファサイズの制限によってWatchdogのpingが失敗する問題を修正しました。(<ulink url="https://www.pgpool.net/mantisbt/view.php?id=516">bug 516</ulink>) (Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id=release-3-6-20> 
 <!--
 <title>Release 3.6.20</title>
 -->
 <title>リリース 3.6.20</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2020-02-20</simpara>
 </note>

 <sect2>
  <!--
  <title>Changes</title>
  -->
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2020-01-28 [d60e6b7]
    -->
    <para>
     <!--
     Check if socket file exists at startup and remove them if PID file doesn't exist to avoid bind() failure. (Bo Peng)
     -->
     起動時のbind()エラーを回避するために、ソケットファイルが存在するかどうかを確認し、
     PIDファイルが存在しない場合、それらのソケットファイルを削除するように修正しました。(Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2020-02-18 [8b9eb65]
    -->
    <para>
     <!--
     Fix incorrect query rewriting in native replication mode. 
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=551">bug 551</ulink>) (Bo Peng)
     -->
     レプリケーションモードの場合に、クエリのタイムスタンプがリライトされない不具合を修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=551">bug 551</ulink>) (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2020-02-18 [c5df050]
    2020-02-04 [8d2949a]
    -->
    <para>
     <!--
     Doc: Update documentation and fix documentation typos. (Takuma Hoshiai, Tatsuo Ishii, Bo Peng)
     -->
     Doc: ドキュメントの更新、タイポの修正を行いました。(Takuma Hoshiai, Tatsuo Ishii, Bo Peng)
    </para>
   </listitem>
   <listitem>
    <!--
    2020-02-08 [0a5e38e]
    -->
    <para>
     <!--
     Fix <xref linkend="PGPOOL-SETUP"> to support <productname>PostgreSQL</productname> 12. (Tatsuo Ishii)
     -->
     <xref linkend="PGPOOL-SETUP">が<productname>PostgreSQL</productname> 12 に対応するように修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2020-01-11 [2f5c9a2]
    2020-01-10 [d1d490f]
    2020-01-04 [78364ae]
    2019-12-31 [0591a76]
    2019-12-27 [d4365d8]
    2019-12-26 [a308b49]
    -->
    <para>
     <!--
     Fix occasional regression test failure. (Tatsuo Ishii)
     -->
     時々起こるリグレッションテストの失敗を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2019-12-12 [dc4f169]
    -->
    <para>
     <!--
     Fix replication delay worker segfault when application_name in primary_conninfo is an empty string.
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=565">bug 565</ulink>) (Tatsuo Ishii)
     -->
     primary_conninfoのapplication_nameが空の場合に発生するレプリケーション遅延チェックワーカープロセスのセグメンテーション違反を修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=565">bug 565</ulink>) (Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2019-11-18 [3a19033]
    2019-11-15 [0cc9caf]
    -->
    <para>
     <!--
     Fix the bug with ignored syslog setting. (Bo Peng)
     -->
     <literal>syslog</literal>が出力されない不具合を修正しました。(Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id=release-3-6-19> 
 <!--
 <title>Release 3.6.19</title>
 -->
 <title>リリース 3.6.19</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2019-10-31</simpara>
 </note>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2019-10-25 [45a3469]
    -->
    <para>
     <!--
     Fix incorrect query rewrite in replication mode. (Bo Peng)
     -->
	 レプリケーションモードでの誤ったクエリの書き換えを修正しました。 (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-10-15 [339bd21]
    -->
    <para>
    <!--
	 Doc: add <xref linkend="guc-failover-command"> description when all standby nodes are down. (Takuma Hoshiai)
     -->
	 Doc: すべてのスタンバイノードがダウンした場合の<xref linkend="guc-failover-command">の説明を追加しました。(Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-10-11 [32a9f5d]
    -->
    <para>
    <!--
     Doc: add note not to assign <productname>PostgreSQL</productname> servers to <xref linkend="guc-trusted-servers">. (Tatsuo Ishii)
     -->
	 Doc: <productname>PostgreSQL</productname>サーバを<xref linkend="guc-trusted-servers">に指定しないように注意事項を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-10-10 [4b726df]
    -->
    <para>
    <!--
 	 Fix assorted ancient v2 protocol bugs. (Tatsuo Ishii)
     -->
     各種のv2プロトコルのバグを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-10-08 [45ac39b]
    -->
    <para>
    <!--
	 Fix problem that <xref linkend="guc-syslog-facility"> doesn't change by reload. 
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=548">bug 548</ulink>) (Takuma Hoshiai)
     -->
     <xref linkend="guc-syslog-facility">の変更がリロードによって反映されない不具合を修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=548">bug 548</ulink>) (Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-10-03 [fed3d6b]
    -->
    <para>
     <!--
     Fix Pgpool-II shutdown failed in certain case. (Tatsuo Ishii)
     -->
     特定の場合に<productname>Pgpool-II</productname>のシャットダウンが失敗する不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-09-29 [94b96ed]
    -->
    <para>
    <!--
     Allow the lost standby node to rejoin the master watchdog node when it gets rediscovered by the lifecheck.
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=545">bug 545</ulink>) (Muhammad Usama)
     -->
	 切り離されたスタンバイノードがlifecheckによって再発見されたときに、マスターウォッチドッグノードに再参加できるように修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=545">bug 545</ulink>) (Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-09-15 [a333a45]
    -->
    <para>
     <!--
     Fix segfault when executing an erroneous query after DEALLOCATE a named statement.
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=546">bug 546</ulink>) (Tatsuo Ishii)
     -->
	 名前付きステートメントをDEALLOCATEした後に、誤ったクエリを実行すると
     セグメンテーション違反が発生する不具合を修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=546">bug 546</ulink>) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-09-04 [3ba4e73]
    -->
    <para>
     <!--
     Doc: mention that VIP will not be brought up if quorum does not exist. (Tatsuo Ishii)
     -->
	 Doc: クォーラムが存在しない場合、VIPは起動されないことをドキュメントに追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-08-16 [956c040]
    -->
    <para>
     <!--
     Add "-I" option to <xref linkend="guc-arping-cmd"> command default setting. (Bo Peng)
     -->
	 <xref linkend="guc-arping-cmd">パラメータのデフォルト値にネットワークインターフェイスオプション -I を含めるように修正しました。(Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id=release-3-6-18> 
 <!--
 <title>Release 3.6.18</title>
 -->
 <title>リリース 3.6.18</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2019-08-15</simpara>
 </note>

 <sect2>
  <!--
  <title>Enhancements</title>
  -->
  <title>改善点</title>
  <itemizedlist>
   <listitem>
    <!--
    2019-08-08 [7ea54a1]
    -->
    <para>
     <!--
     Import some of memory manager debug facilities from <productname>PostgreSQL</productname>. (Tatsuo Ishii)
     -->
     <productname>PostgreSQL</productname>からメモリマネージャデバッグ機能の一部をインポートしました。(Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2019-07-24 [717411f]
    -->
    <para>
     <!--
     Use <function>pg_get_expr()</function> instead of <literal>pg_attrdef.adsrc</literal> to support for <productname>PostgreSQL</productname> 12. (Bo Peng)
     -->
     <productname>PostgreSQL</productname> 12に対応するために、<literal>pg_attrdef.adsrc</literal>のかわりに
     <function>pg_get_expr()</function>を使用するように修正しました。(Bo Peng)
    </para>
   </listitem>
   <listitem>
    <!--
    2019-08-11 [c553e51]
    2019-07-17 [6b89f9e]
    2019-07-02 [3b32bc4]
    -->
    <para>
     <!--
     Enhance shutdown script of <xref linkend="PGPOOL-SETUP">. (Tatsuo Ishii)
     -->
     <xref linkend="PGPOOL-SETUP">のshutdownスクリプトを改良しました。(Tatsuo Ishii)
      <itemizedlist> 
       <listitem>
	<para>
	 <!--
	 Make shutdownall to wait for completion of shutdown of <productname>Pgpool-II</productname>.
	 -->
	 shutdownスクリプトが<productname>Pgpool-II</productname>のシャットダウン完了を待つように修正しました。
	</para>
       </listitem>
       <listitem>
	<para>
	 <!--
	 if environment variable <varname>CHECK_TIME_WAIT</varname> is set to true, use <command>netstat</command> command to confirm usage of the <literal>TCP/IP</literal> port while executing shutdown script.
	 -->
	 環境変数<varname>CHECK_TIME_WAIT</varname>が<literal>true</literal>に設定されているとき、shutdownスクリプト実行時に<command>netstat</command>コマンドで<literal>TCP/IP</literal>ポートの使用を確認するように修正しました。 
	</para>
       </listitem>
      </itemizedlist> 
    </para>
   </listitem>
   <listitem>
    <!--
    2019-06-02 [08c0bfa]
    -->
    <para>
     <!--
     Doc: add description to <xref linkend="PG-MD5"> man page how to show <filename>pool_passwd</filename> hashed string. (Tatsuo Ishii)
     -->
     Doc: <xref linkend="PG-MD5">のドキュメントに<filename>pool_passwd</filename>ハッシュ文字列を表示させる方法を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-05-26 [a899be1]
    -->
    <para>
     <!--
     Doc: add general description about failover. (Tatsuo Ishii)
     -->
     Doc: フェイルオーバに関する一般的な説明を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2019-05-22 [57cd1d4]
    -->
    <para>
     <!--
     Deal <literal>pgpool_adm</literal> extension with <productname>PostgreSQL</productname> 12. (Tatsuo Ishii)
     -->
     <literal>pgpool_adm</literal>拡張が<productname>PostgreSQL</productname> 12 に対応するように修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>

  <itemizedlist>

   <listitem>
    <!--
    2019-08-09 [b6d77f4]
    -->
    <para>
     <!--
     Fix "unable to bind. cannot get parse message" error.
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=531">bug 531</ulink>) (Tatsuo Ishii)
     -->
     "unable to bind. cannot get parse message"エラーを修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=531">bug 531</ulink>) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-08-08 [f48f624]
    -->
    <para>
     <!--
     Fix online-recovery is blocked after a child process exits abnormally with replication mode and watchdog. 
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=483">bug 483</ulink>) (Muhammad Usama)
     -->
     ネイティブレプリケーションモードかつ<application>Watchdog</application>が有効な場合、
     子プロセスが異常終了した後に、オンラインリカバリが失敗する不具合を修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=483">bug 483</ulink>) (Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-07-29 [d2aa09a]
    -->
    <para>
     <!--
     Fix <xref linkend="WATCHDOG-SETUP"> command <literal>mode</literal> option to work correctly. (Takuma Hoshiai)
     -->
     <xref linkend="WATCHDOG-SETUP">コマンドの<literal>mode</literal>オプションが正しく動作するように修正しました。(Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-07-28 [34dc12f]
    -->
    <para>
     <!--
     Fix <xref linkend="PGPOOL-SETUP"> to produce correct follow master command. (Tatsuo Ishii)
     -->
     <xref linkend="PGPOOL-SETUP">が正しい<varname>follow master command</varname>を生成するように修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-07-07 [44f8e2d]
    -->
    <para>
     <!--
     Fix query cache module so that it checks oid array's bound. (Tatsuo Ishii)
     -->
     クエリキャッシュモジュールでoid配列の境界をチェックするように修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-07-07 [bb3af6f]
    -->
    <para>
     <!--
     Fix off-by-one error in query cache module. (Tatsuo Ishii)
     -->
     クエリキャッシュモジュールのOff-by-oneエラーを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-07-05 [27c2476]
    -->
    <para>
     <!--
     Allow health check process to reload. (Tatsuo Ishii)
     -->
     ヘルスチェックプロセスで<filename>pgpool.conf</filename>がリロードされない不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-07-03 [5d042e4]
    -->
    <para>
     <!--
     Fix segfault when query cache is enabled. (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=525">bug 525</ulink>) (Tatsuo Ishii)
     -->
     クエリキャッシュが有効な場合に発生するセグメンテーション違反を修正しました。(<ulink url="https://www.pgpool.net/mantisbt/view.php?id=525">bug 525</ulink>) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-07-02 [b8137d6]
    -->
    <para>
     <!--
     Down grade LOG "checking zapping sent message ..." to DEBUG5. (Tatsuo Ishii)
     -->
     LOG "checking zapping sent message ..."をDEBUG5にダウングレードしました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2019-June/006678.html">[pgpool-general: 6620]</ulink>
     -->
     詳細は<ulink url="https://www.pgpool.net/pipermail/pgpool-general/2019-June/006678.html">[pgpool-general: 6620]</ulink>をご参照ください。
    </para>
   </listitem>

   <listitem>
    <!--
    2019-06-24 [8742f9f]
    -->
    <para>
     <!--
     Fix segfault when <literal>samenet</literal> is specified in <filename>pool_hba.conf</filename>. (Tatsuo Ishii)
     -->
     <filename>pool_hba.conf</filename>に<literal>samenet</literal>が指定されている場合に発生するセグメンテーション違反を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2019-June/006659.html">[pgpool-general: 6601]</ulink>.
     -->
     詳細は<ulink url="https://www.pgpool.net/pipermail/pgpool-general/2019-June/006659.html">[pgpool-general: 6601]</ulink>をご参照ください。
    </para>
   </listitem>

   <listitem>
    <!--
    2019-06-20 [4277e9b]
    2019-06-19 [f87890b]
    2019-06-19 [8af9198]
    -->
    <para>
     <!--
     Doc: Fix documentation typos. (Bo Peng)
     -->
     Doc: ドキュメントのタイポを修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-06-07 [48a45fc]
    -->
    <para>
     <!--
     Fix to deal with backslashes according to the config of <varname>standard_conforming_strings</varname> in native replication mode.
     -->
     ネイティブレプリケーションモードの場合、<varname>standard_conforming_strings</varname>の設定に応じてバックスラッシュを処理するように修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=467">bug 467</ulink>) (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-05-23 [81b9c11]
    -->
    <para>
     <!--
     Fix compile error on FreeBSD.
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=512">bug 512</ulink>,
     <ulink url="https://www.pgpool.net/mantisbt/view.php?id=519">bug 519</ulink>) (Bo Peng)
     --> 
     FreeBSD上で発生するコンパイルエラーを修正しました。
     (<ulink url="https://www.pgpool.net/mantisbt/view.php?id=512">bug 512</ulink>,
     <ulink url="https://www.pgpool.net/mantisbt/view.php?id=519">bug 519</ulink>) (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-14 [5765ed7]
    2019-05-23 [0e8c1c2]
    2019-05-22 [c264275]
    2019-05-22 [53e7af0]
    2019-05-22 [19cfda2]
    -->
    <para>
     <!--
     Fix memory leaks. (Tatsuo Ishii)
     -->
     いくつかのメモリリークを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-05-23 [827a056]
    -->
    <para>
     <!--
     Make failover in progress check more aggressively to avoid potential segfault. (Tatsuo Ishii)
     -->
     潜在的なセグメンテーション違反を回避するために、フェイルオーバ実行中であるかどうかのチェックをより積極的に行うように修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id=release-3-6-17> 
 <!--
 <title>Release 3.6.17</title>
 -->
 <title>リリース 3.6.17</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2019-05-16</simpara>
 </note>

 <sect2>
  <!--
  <title>Enhancements</title>
  -->
  <title>改善点</title>
  <itemizedlist>
   <listitem>
    <!--
    2019-05-04 [02962d8]
    -->
    <para>
     <!--
     Doc: Improve <xref linkend="PCP-COMMANDS"> document. (Tatsuo Ishii)
     -->
     Doc: ドキュメント<link linkend="pcp-commands">リファレンスII, PCP コマンド</link>を改善しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-05-03 [a0952b7]
    -->
    <para>
     <!--
     Speed up failover when all of backends are down. (Tatsuo Ishii)
     -->
     すべてのバックエンドが停止しているときのフェイルオーバをスピードアップします。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     If all of the backend are in down status, immediately give up finding 
     primary node regardless <varname>search_primary_node_timeout</> and promptly 
     finish the failover process.
     -->
     すべてのバックエンドが停止状態になった場合、<varname>search_primary_node_timeout</>の値に関わらずプライマリノードの検索を中止し、
     直ちにフェールオーバプロセスを終了するように修正しました。
    </para>
    <para>
     <!--
     Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2019-May/003321.html">[pgpool-hackers: 3321]</ulink>
     -->
     ディスカッション: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2019-May/003321.html">[pgpool-hackers: 3321]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2019-04-30 [e7c925f]
    2019-04-30 [b60e726]
    -->
    <para>
     <!--
     pgpool-recovery extension and <command>pgpool_setup</> is now ready for the next major release <productname>PostgreSQL</> 12. (Tatsuo Ishii)
     -->
     pgpool-recovery拡張と<command>pgpool_setup</>を次期バージョンである<productname>PostgreSQL</>12に対応しました。(Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2019-04-10 [6658352]
    2019-04-09 [5d2078b]
    -->
    <para>
     <!--
     Doc: add <xref linkend="RESTRICTIONS"> entry. (Takuma Hoshiai)
     -->
     Doc: ドキュメントの<xref linkend="RESTRICTIONS">の項目を追加しました。(Takuma Hoshiai)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2019-05-09 [5ec997d]
    -->
    <para>
     <!--
     Fix the wrong error message "ERROR: connection cache is full", when all backend nodes are down. 
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=487">bug 487</>) (Bo Peng)
     -->
     すべてのバックエンドがダウンした場合には表示される不適切なエラーメッセージ"ERROR: connection cache is full"を修正しました。
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=487">bug 487</>) (Bo Peng)
    </para>
    <para>
     <!--
     When all backend nodes are down, <productname>Pgpool-II</> throws an incorrect
     error message "ERROR: connection cache is full". Change the error
     message to "all backend nodes are down, pgpool requires at least one valid node".
     -->
     すべてのバックエンドがダウンした場合に、<productname>Pgpool-II</>が不適切なエラーメッセージ"ERROR: connection cache is full"を投げています。
     このエラーを"all backend nodes are down, pgpool requires at least one valid node"に修正しました。
    </para>
   </listitem>
   <listitem>
    <!--
    2019-04-24 [9898f82]
    -->
    <para>
     <!--
     Remove unused .sgml file. (Takuma Hoshiai)
     -->
     使用されていない.sgmlファイルを削除しました。(Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-04-21 [90238be]
    -->
    <para>
     <!--
     Avoid exit/fork storm of pool_worker_child process. (Tatsuo Ishii)
     -->
     pool_worker_childプロセスの終了/フォークの繰り返しを避けるために修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     pool_worker_child issues query to get WAL position using <function>do_query()</>,
     which could throws FATAL error. In this case pool_worker_child process
     exits and <productname>Pgpool-II</> parent immediately forks new process. This cycle
     indefinitely repeats and gives high load to the system.
     To avoid the exit/fork storm, sleep <varname>sr_check_period</>.
     -->
     pool_worker_childは<function>do_query()</>を使用してWAL位置を取得するためのクエリを発行します。
     これにより、致命的エラーが発生した場合、pool_worker_childプロセスを終了し、
     <productname>Pgpool-II</>の親プロセスは直ちに新しいプロセスをフォークするようにしています。
     このサイクルは無限に繰り返され、システムに大きな負荷を与える可能性があります。
     無限に繰り返される終了/フォーク処理を回避するために、<varname>sr_check_period</>をスリープさせるように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2019-04-18 [f3742eb]
    -->
    <para>
     <!--
     Fix <xref linkend="GUC-WRITE-FUNCTION-LIST">'s broken default value. (Tatsuo Ishii)
     -->
     <xref linkend="GUC-WRITE-FUNCTION-LIST">のデフォル値が間違っていた不具合を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-04-17 [4f2c299]
    -->
    <para>
     <!--
     Fix "not enough space in buffer" error. 
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=499">bug 499</>) (Tatsuo Ishii)
     -->
     「not enough space in buffer」エラーを修正しました。
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=499">bug 499</>) (Tatsuo Ishii)
    </para>
    <para>
     <!--
     The error occurred while processing error message returned from
     backend and the cause is that the query string in question is too
     big. Problem is, the buffer is in fixed size (8192 bytes).
     Eliminate the fixed size buffer and use palloced buffer
     instead. This also saves some memory copy work.
     -->
     バックエンドから返されたエラーメッセージサイズが固定バッファサイズ (8192 bytes)を超えた場合、
     「not enough space in buffer」エラーが発生していました。
     固定サイズのバッファの使用を廃止し、動的にバッファサイズを割り当てるように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2019-04-16 [d037d82]
    -->
    <para>
     <!--
     Fix DROP DATABASE failure. (Tatsuo Ishii)
     -->
     DROP DATABASEの失敗を修正しました。 (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-04-10 [98f0f4d]
    -->
    <para>
     <!--
     Fix wrong variable in <function>read_status_file()</> function. (Takuma Hoshiai)
     -->
     <function>read_status_file()</>関数の間違った変数名を修正しました。
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=493">bug 493</>) (Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-04-08 [0425c2e]
    -->
    <para>
     <!--
     Add missing <filename>test/watchdog_setup</> to EXTRA_DIST. (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=470">bug 470</>) (Bo Peng)
     -->
     漏れていたtest/watchdog_setupをEXTRA_DISTに追加しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=470">bug 470</>) (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-04-07 [a613206]
    -->
    <para>
     <!--
     Doc: mention that multi-statement queries are sent to primary node only. (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=492">bug 492</>) (Tatsuo Ishii)
     -->
     Doc: マルチステートメントクエリはプライマリノードにのみ送信されるという説明をドキュメントに追加しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=492">bug 492</>) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-04-02 [ab34ba7]
    -->
    <para>
     <!--
     Abort session if failover/failback is ongoing to prevent potential segfault. 
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=481">bug 481</ulink>, 
     <ulink url="http://www.pgpool.net/mantisbt/view.php?id=482">bug 482</ulink>) (Tatsuo Ishii)
     -->
     failover/failback実行中に接続があった場合に発生しうるセグメンテーション違反を回避するために、セッションを終了するように修正しました。
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=481">bug 481</ulink>, 
     <ulink url="http://www.pgpool.net/mantisbt/view.php?id=482">bug 482</ulink>) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-03-30 [508f1c4]
    2019-03-30 [ae4ecbb]
    -->
    <para>
     <!--
     Fix compiler warnings. (Tatsuo Ishii)
     -->
     コンパイル時に発生するワーニング を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-03-28 [67d08ab]
    -->
    <para>
     <!--
     Fix memory leak in "batch" mode in extended query. 
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=468">bug 468</>) (Tatsuo Ishii)
     -->
     拡張問い合わせかつ"batch"モードで発生するメモリリークを修正しました。
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=468">bug 468</>) (Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id=release-3-6-16> 
 <!--
 <title>Release 3.6.16</title>
 -->
 <title>リリース 3.6.16</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2019-03-29</simpara>
 </note>

 <sect2>
  <!--
  <title>Enhancements</title>
  -->
  <title>改善点</title>
  <itemizedlist>
   <listitem>
    <!--
    2019-03-27 [85267e7]
    -->
    <para>
     <!--
     Add new configuration option <xref linkend="guc-ssl-prefer-server-ciphers">. (Muhammad Usama)
     -->
     新しい設定パラメータ<xref linkend="guc-ssl-prefer-server-ciphers">を追加しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     Add the new setting <xref linkend="guc-ssl-prefer-server-ciphers"> to let users configure if they
     want client's or server's cipher order to take preference.
     -->
     ユーザがサーバ側のSSL暗号設定をクライアントに優先して使うかどうかを設定できるように、新しい設定パラメータ<xref linkend="guc-ssl-prefer-server-ciphers">を追加しました。
    </para>
    <para>
     <!--
     The default for this parameter is off, which prioritize the client's
     cipher order as usual. However this is just for keeping backward
     compatibility, and it is possible that a malicious client uses weak
     ciphers. For this reason we recommend to set this parameter to on at
     all times.
     -->
     この設定はデフォルトでオフで、従来と同じようにクライアント側のリクエストが優先されます。
     しかしこれはあくまで過去の挙動との互換性のための設定であり、悪意のあるクライアントが弱い暗号を利用できる可能性があります。
     ですから、常にこのパラメータをオンにしておくことを推奨します。
    </para>
   </listitem>

   <listitem>
    <!--
    2019-03-27 [a5c9df7]
    2019-03-23 [c9ac35d]
    -->
    <para>
     <!--
     Allow to set a client cipher list. (Tatsuo Ishii, Yugo Nagata)
     -->
     client cipher リストの設定が可能になりました。(Tatsuo Ishii, Yugo Nagata)  
    </para>
    <para>
     <!--
     For this purpose new parameter <xref linkend="guc-ssl-ciphers">, which specifies the cipher
     list to be accepted by <productname>Pgpool-II</>, is added.
     This is already implemented in <productname>PostgreSQL</> and useful to enhance security when SSL is enabled. 
     -->
     <productname>Pgpool-II</>がクライアントからのSSL接続を受け付ける際に受け入れる暗号のリストを指定する新しいパラメータ、
     <xref linkend="guc-ssl-ciphers">を追加しました。これはすでに<productname>PostgreSQL</>に実装されていて、
      SSLが有効なときにセキュリティを強化するのに役立ちます。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2019-03-18 [ca4cd88]
    -->
    <para>
     <!--
     Fix unnecessary <function>fsync()</> to <filename>pgpool_status</> file. (Tatsuo Ishii)
     -->
     不要な<filename>pgpool_status</>ファイルへの書き込みが減らしました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Whenever new connections are created to PostgreSQL backend, <function>fsync()</>
     was issued to <filename>pgpool_status</> file, which could generate excessive I/O
     in certain conditions.
     So reduce the chance of issuing <function>fsync()</> so that it is issued only when
     backend status is changed.
     -->
     今までは<productname>PostgreSQL</>バックエンドへの新しい接続が作成されるたびに、
     <filename>pgpool_status</>ファイルに書き込むために<function>fsync()</>が実行されていましたが、
     これにより、特定の条件で過剰なI/Oを発生させる可能性がありました。
     そのため、バックエンドの状況が変更されたときにのみ<function>fsync()</>を実行するように修正しました。
    </para>
    <para>
     <!--
     Discussion: <ulink url="http://www.sraoss.jp/pipermail/pgpool-general/2019-February/006494.html">[pgpool-general: 6436]</ulink>
     -->
     ディスカッション: <ulink url="http://www.sraoss.jp/pipermail/pgpool-general/2019-February/006494.html">[pgpool-general: 6436]</ulink>
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id=release-3-6-15> 
 <!--
 <title>Release 3.6.15</title>
 -->
 <title>リリース 3.6.15</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2019-02-21</simpara>
 </note>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2019-02-15 [84e0496]
    -->
    <para>
     <!--
     Test: Fix old JDBC functions and typos in regression test 068.memqcache_bug. (Takuma Hoshiai)
     -->
     Test: レグレッションテスト068.memqcache_bugの古いJDBCの関数及びタイポを修正しました。(Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-02-15 [8ae3dfa]
    -->
    <para>
     <!--
     Doc: Fix configuration change timing regarding memory_cache_enabled. (Tatsuo Ishii)
     -->
     Doc: <xref linkend="GUC-MEMORY-CACHE-ENABLED">パラメータはサーバ起動時にのみ設定可能なことをドキュメントに追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-02-12 [3aac064]
    -->
    <para>
     <!--
     Fix online recovery failed due to client_idle_limit_in_recovery in certain cases. 
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=431">bug 431</ulink>)(Tatsuo Ishii)
     -->
     特定の場合に、<xref linkend="GUC-CLIENT-IDLE-LIMIT-IN-RECOVERY">によって、オンラインリカバリが失敗する不具合を修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=431">bug 431</ulink>)(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-01-29 [f7d0c96]
    -->
    <para>
     <!--
     Fix corner case bug when strip_quote() handle a empty query string. <ulink url="http://www.pgpool.net/mantisbt/view.php?id=458">(bug 458</ulink>) (Tatsuo Ishii)
     -->
     <function>strip_quote()</function>が空のクエリを処理するときに発生するセグメンテーション違反を修正しました。<ulink url="http://www.pgpool.net/mantisbt/view.php?id=458">(bug 458</ulink>) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-01-27 [d6b4f02]
    -->
    <para>
     <!--
     Doc: Mention that schema qualifications cannot be used in white/black_function_list. (Tatsuo Ishii)
     -->
     Doc: white/black_function_list 設定パラメータでスキーマ修飾が使えないという説明を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-01-23 [76ac6bb]
    -->
    <para>
     <!--
     Fix typo about wd_priority in watchdog_setup. (Takuma Hoshiai)
     -->
     <command>watchdog_setup</command>スクリプトの<xref linkend="GUC-WD-PRIORITY">に関するタイポを修正しました。(Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2019-01-10 [776ee0a]
    -->
    <para>
     <!--
     Fix Pgpool child segfault if failover occurs when trying to establish a connection. (Tatsuo Ishii)
     -->
     接続を確立しようとするとき、フェイルオーバが発生する場合に発生しうるセグメンテーション違反を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     参照: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2019-January/003214.html">[pgpool-hackers: 3214]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2019-01-03 [79ef2b0]
    -->
    <para>
     <!--
     Doc: fix typo in logdir description. (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=453">bug 453</ulink>)(Tatsuo Ishii)
     -->
     Doc: <link linkend="GUC-WORK-DIR">logdir</link>に関するドキュメントのタイポを修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=453">bug 453</ulink>)(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-12-12 [733852e]
    -->
    <para>
     <!--
     Fix Pgpool-II hang if a client sends a extended query message such as close after sync message but before next simple query. (Tatsuo Ishii)
     -->
     クライアントがsyncメッセージの後、次の簡易問い合わせの前にcloseメッセージを送ると発生しうるハングアップを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     参照: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2018-December/003164.html">[pgpool-hackers: 3164]</ulink>
    </para>
   </listitem>

   <listitem>
    <!--
    2018-12-06 [f8f8e3d]
    -->
    <para>
     <!--
     Fix Pgpool-II hang when "idle_in_transaction_session_timeout=on". (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=448">bug 448</ulink>)(Tatsuo Ishii)
     -->
     <productname>PostgreSQL</productname>の<varname>idle_in_transaction_session_timeout</varname>が有効な場合に発生しうる<productname>Pgpool-II</productname>のハングアップを修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=448">bug 448</ulink>)(Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2018-12-05 [6a37de1]
    -->
    <para>
     <!--
     Doc: Fix Japanese document typo in <xref linkend="PCP-COMMON-OPTIONS">. (Bo Peng)
     -->
     Doc: 日本語ドキュメント<xref linkend="PCP-COMMON-OPTIONS">のタイポを修正しました。(Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id=release-3-6-14> 
 <!--
 <title>Release 3.6.14</title>
 -->
 <title>リリース 3.6.14</title>
 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2018-11-22</simpara>
 </note>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>

   <listitem>
    <!--
    2018-11-21 [de263d9]
    -->
    <para>
     <!--
     Fix to sort startup packet's parameters sent by client. 
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=444">bug 444</ulink>)(Takuma Hoshiai)
     -->
     クライアントから送信された startup パケットのパラメータをソートするように修正します。
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=444">bug 444</ulink>)(Takuma Hoshiai)
    </para>
    <para>
     <!--
     If order of startup packet's parameters differ between cached connection
     pools and connection request, did't use connection pool ,and created new
     connection pool.
     -->
     キャッシュされたコネクションプールと接続要求のstartupパケットのパラメータの順序が異なる場合、
     コネクションプールを使用せず、新しいコネクションプールを作成しまていました。
    </para>
   </listitem>
   
   <listitem>
    <!--
    2018-11-13 [b502d75]
    -->
    <para>
     <!--
     Fix segmentation fault occurs when a certain Bind message is sent in native replication mode. 
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=443">bug 443</ulink>)(Bo Peng)
     -->
     ネイティブレプリケーションモードで特定のBindメッセージが送信されたときに発生するセグメンテーション違反を修正しました。
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=443">bug 443</ulink>) (Bo Peng)
    </para>
    <para>
     <!--
     If the number of parameter format codes is specified to one, but the number
     of the original query's parameter is zero, bind_rewrite_timestamp() will
     call memcpy with a negative value. This causes segmentation fault.
     -->
     パラメータ書式コードの数が 1 に指定されて、元のクエリのパラメータの数が 0 の場合、
     <function>bind_rewrite_timestamp()</>に負の値を指定して<function>memcpy</>を呼び出していました。
     これによりセグメンテーション違反が発生していました。
    </para>
    <para>
     <!--
     Patch is provided by Yugo Nagata.
     -->
     パッチがYugo Nagataにより提供されました。
    </para>
   </listitem>
   
   <listitem>
    <!--
    2018-11-08 [24189a1]
    -->
    <para>
     <!--
     Fix a query passed to relcache so that it uses schema qualified table name. (Tatsuo Ishii)
     -->
     スキーマ名で修飾されたテーブル名を使用するようにクエリキャッシュに渡されるクエリを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
   
   <listitem>
    <!--
    2018-11-05 [75560b6]
    -->
    <para>
     <!--
     Fix query cache invalidation bug. (Tatsuo Ishii)
     -->
     クエリキャッシュ無効化のバグを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
   
   <listitem>
    <!--
    2018-11-03 [974ce02]
    -->
    <para>
     <!--
     Fix segfault in extended query + query cache case. (Tatsuo Ishii)
     -->
     拡張問い合わせかつクエリキャッシュ有効の場合に発生するセグメンテーション違反を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
   
   <listitem>
    <!--
    2018-11-01 [96cc513]
    -->
    <para>
     <!--
     Fix memory leak in extended query + query cache enabled. (Tatsuo Ishii)
     -->
     拡張問い合わせかつクエリキャッシュ有効の場合に発生するメモリリークを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-3-6-13">
 <!--
 <title>Release 3.6.13</title>
 -->
 <title>リリース 3.6.13</title>

 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2018-10-31</simpara>
 </note>

 <sect2>
  <!--
  <title>Changes</title>
  -->
  <title>変更点</title>
  <itemizedlist>
   <listitem>
    <!--
    2018-10-30 [3d0311b]
    -->
    <para>
     <!--
     Allow <command>PCP[attach/detach/promote]</command> commands during failover. (Muhammad Usama)
     -->
     フェイルオーバ時に<command>PCP[attach/detach/promote]</command>コマンドを許可するようになりました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-10-18 [8042f5c]
    -->
    <para>
     <!--
     Change <filename>pgpool.spec</filename> file to install extension to DB server which supports LLVM JIT. (Bo Peng)
     -->
     LLVM JITをサポートするDBサーバに拡張機能をインストールするために、<filename>pgpool.spec</filename>ファイルを変更しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-10-10 [d184ab3]
    -->
    <para>
     <!--
     Doc: Add note to online recovery doc. (Tatsuo Ishii)
     -->
     Doc: オンラインリカバリのドキュメントに注意事項を追加しました。
    </para>
    <para>
     <!--
     This warns that <xref linkend="guc-client-idle-limit-in-recovery"> must be smaller than <xref linkend="guc-recovery-timeout">.
     -->
     <xref linkend="guc-client-idle-limit-in-recovery">は<xref linkend="guc-recovery-timeout">よりも小さな値でなければなりません。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-29 [ad930c8]
    -->
    <para>
     <!--
     Test: Add regression test for SSL connection. (Tatsuo Ishii)
     -->
     Test: SSL 接続のレグレッションテストを追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-22 [23c555a]
    -->
    <para>
     <!--
     Doc: Add notes regarding failover script. (Tatsuo Ishii)
     -->
     Doc: フェールオーバスクリプトに関する注意事項を追加しました。
    </para>
    <para>
     <!--
     It's not recommended to access against <productname>Pgpool-II</productname> itself from failover/failback scripts.
     -->
     failover/failbackスクリプトの中で<productname>Pgpool-II</productname>自体にアクセスすることはお勧めしません。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-14 [dce5116]
    -->
    <para>
     <!--
     Doc: Improve <xref linkend="PG-MD5"> docs and error message. (Bo Peng)
     -->
     Doc: <xref linkend="PG-MD5">のドキュメント及びエラーメッセージを改善しました。(Bo Peng)
    </para>
    <para>
     <!--
     Patch provided by Jesper Pedersen and modified by me.
     -->
     パッチはJesper Pedersenにより提供され、Bo Pengにより修正されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-10 [a0b5106]
    -->
    <para>
     <!--
     Test: Add definition of PGLIB in <filename>regress.sh</filename>. (Bo Peng)
     -->
     Test: <filename>regress.sh</filename>にPGLIBの定義を追加しました。 (Bo Peng)
    </para>
    <para>
     <!--
     Patch provided by Jesper Pedersen.
     -->
     パッチはJesper Pedersenにより提供されました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2018-10-25 [f043360]
    -->
    <para>
     <!--
     Fix typo in <varname>child_max_connections</varname> description of <command>SHOW POOL_STATUS</command> output. (Tatsuo Ishii)
     -->
     <command>SHOW POOL_STATUS</command>コマンドの出力の<varname>child_max_connections</varname>の説明のタイポを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Patch provided by Phil Ramirez.
     -->
     パッチはPhil Ramirezにより提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-10-22 [e57e9d8]
    -->
    <para>
     <!--
     Fix segmentation fault when error query and Sync message are sent in native replication mode. (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=434">bug 434</ulink>) (Takuma Hoshiai)
     -->
     ネイティブレプリケーションモードでエラークエリと同期メッセージが送信されたときのセグメンテーション違反を修正しました。
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=434">bug 434</ulink>) (Takuma Hoshiai)
    </para>
    <para>
     <!--
     In native replication mode, segmentation fault occurs when Sync messages is sent just after a query error.
     -->
     ネイティブレプリケーションモードで、クエリエラーの後に同期メッセージが送信されるとセグメンテーション違反が発生していました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-10-18 [b656944]
    -->
    <para>
     <!--
     Fix syntax error when queries including time functions and <literal>IN (SELECT ...)</literal> in 
     <literal>WHERE</literal> clause in native replication mode. 
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=433">bug 433</ulink>) (Bo Peng)
     -->
     ネイティブレプリケーションモードで、クエリに時刻関数を含み、かつ<literal>WHERE</literal>句に<literal>IN (SELECT ...)</literal>を含むと構文エラーになる不具合を修正しました。(Bo Peng)
    </para>
    <para>
     <!--
     In native replication mode, queries including time functions (e.g. <function>now()</function>, <function>CURRENT_TIMESTAMP</function> etc.) are rewritten to a timestamp constant value. 
     However, <productname>Pgpool-II</productname> doesn't support queries including time functions and <literal>IN (SELECT ...)</literal> in <literal>WHERE</literal> clause.
     -->
     ネイティブレプリケーションモードで、クエリに<function>now()</function>、<function>CURRENT_TIMESTAMP</function>などの時刻関数を利用した場合、
     タイムスタンプ型の定数に書き換えるようになっています。
     しかし、<productname>Pgpool-II</productname>は時刻関数含み、かつ<literal>WHERE</literal>句に<literal>IN (SELECT ...)</literal>を含むクエリを対応しませんでした。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-10-12 [f1b6572]
    -->
    <para>
     <!--
     Fix occasional less data returned to frontend with extended protocol. (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=432">bug432</ulink>) (Tatsuo Ishii)
     -->
     拡張問い合わせの場合、時々期待される応答がフロントエンドに返されないことがあったので、修正しました。
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=432">bug 432</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     <!--
     The idea for fix is, use pending message data list. It records
     messages from frontend, and it is expected that we will receive same
     number of messages.
     -->
     解決策は、保留中のメッセージデータリストを使用することです。それはフロントエンドからのメッセージを記録し、同じ数のメッセージを受け取ることが期待されます。
    </para>
    <para>
     <!--
     Initial patch is created by Yugo Nagata and fixed by Tatsuo Ishii.
     -->
     パッチは Yugo Nagata によって作成され、Tatsuo Ishii により修正されました。 
    </para>
   </listitem>

   <listitem>
    <!--
    2018-10-11 [4d6371a]
    -->
    <para>
     <!--
     Fix memory leak when query cache enabled in streaming replication mode + extended query case. (Tatsuo Ishii)
     -->
     ストリーミングレプリケーションモードかつ拡張問い合わせの場合、クエリキャッシュを有効にするときに発生するメモリリークを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-10-11 [88f63b0]
    -->
    <para>
     <!--
     Fix memory leak in <function>trigger_failover_command()</function>. (Tatsuo Ishii)
     -->
     <function>trigger_failover_command()</function> 関数で発生するメモリリークを修正しました。 (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-10-09 [eee60a0]
    -->
    <para>
     <!--
     Fix memory leak when memory_cache_enabled = on and write SQLs are sent. (Bo Peng)
     -->
     ストリーミングレプリケーションモードかつクエリキャッシュが有効の場合に更新クエリが発行された場合に発生するメモリリークを修正しました。(Bo Peng)
    </para>
    <para>
     <!--
     In a explicit transaction, the <literal>SELECT</literal> results are cached in temporary buffer.
     If a write <acronym>SQL</acronym> is sent which modifies the table, the temporary buffer should be reset.
     -->
     明示的なトランザクションでは、<literal>SELECT</literal>の結果は一時バッファにキャッシュされます。
     テーブルを変更する書込み<acronym>SQL</acronym>が送信されると、一時的なバッファをリセットしなければなりません。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-10-09 [6406b3b]
    -->
    <para>
     <!--
     Test: Fix occasional failure in regression 065.bug152. (Tatsuo Ishii)
     -->
     時々発生するレグレッションテスト 065.bug152 のエラーを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-09-21 [3a56b21]
    -->
    <para>
     <!--
     Test: Add <literal>EXECUTE/DEALLOCATE</literal> regression test. (Takuma Hoshiai)
     -->
     Test: <literal>EXECUTE/DEALLOCATE</literal>のレグレッションテストを追加しました。(Takuma Hoshiai)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-09-19 [e3cd328]
    -->
    <para>
     <!--
     Add missing <filename>pgpool_recovery/-/-1.0/-/-1.1.sql</filename> file to update 
     <function>pgpool_recovery()</function> function version to 1.1. (Bo Peng)
     -->
     <function>pgpool_recovery()</function>関数のバージョンを1.1に更新するための<filename>pgpool_recovery--1.0--1.1.sql</filename>ファイルを追加しました。 (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-09-13 [4bdf973]
    -->
    <para>
     <!--
     Fix kind mismatch error when <literal>DEALLOCATE</literal> statement is issued. (Bo Peng)
     -->
     <literal>DEALLOCATE</literal>ステートメントが発行された場合に発生するkind mismatchエラーを修正しました。(Bo Peng)
    </para>
    <para>
     <!--
     <literal>PREPARE</literal> should be add to pool_add_sent_message, 
     so that <literal>EXECUTE</literal> and <literal>DEALLOCATE</literal>
     can be sent to the same node as <literal>PREPARE</literal>.
     -->
     <literal>EXECUTE</literal>と<literal>DEALLOCATE</literal>が<literal>PREPARE</literal>と同じノードに送信されるために、<literal>PREPARE</literal>をpool_add_sent_messageに追加するように修正しました。
    </para>
    <para>
     <!--
     See <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2018-September/006284.html">[pgpool-general: 6226]</ulink> for more details.
     -->
     詳細は<ulink url="https://www.pgpool.net/pipermail/pgpool-general/2018-September/006284.html">[pgpool-general: 6226]</ulink>を参照してください。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-27 [75feb8c]
    -->
    <para>
     <!--
     Do not update <xref linkend="guc-pool-passwd"> if the password length is incorrect. 
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=419">bug 419</ulink>) (Takuma Hoshiai, Tatsuo Ishii)
     -->
     パスワードの長さが正しくない場合、<xref linkend="guc-pool-passwd">を更新しないように修正しました。
      (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=419">bug 419</ulink>) (Takuma Hoshiai, Tatsuo Ishii)
    </para>
    <para>
     <!--
     For <productname>Pgpool-II</productname> 3.7 or before, the password stored in 
     <xref linkend="guc-pool-passwd"> is <literal>MD5</literal> password only. 
     So check the correctness of <xref linkend="guc-pool-passwd"> by scanning entire file.
     -->
     <productname>Pgpool-II 3.7</productname>以前では、<xref linkend="guc-pool-passwd">に保存されているパスワードは<literal>MD5</literal> パスワードのみです。
      <xref linkend="guc-pool-passwd">ファイルのパスワードの長さをチェックするように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-20 [900afee]
    -->
    <para>
     <!--
     Doc: Change <xref linkend="GUC-FOLLOW-PRIMARY-COMMAND"> description "new master" to "new primary". (Bo Peng)
     -->
     Doc: <xref linkend="GUC-FOLLOW-PRIMARY-COMMAND">ドキュメントの"new master"を"new primary"に変更しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-16 [c7990a9]
    -->
    <para>
     <!--
     Fix newer version of gcc warnings. (Tatsuo Ishii)
     -->
     gccの新しいバージョンで発生するwarningを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-10 [58db070]
    -->
    <para>
     <!--
     Test: Update <filename>clean.sh</filename> which clean up regression test results. (Bo Peng)
     -->
     Test: レグレッションテストの結果を削除するための<filename>clean.sh</filename>ファイルを更新しました。(Bo Peng)
    </para>
    <para>
     <!--
     Patch provided by Jesper Pedersen.
     -->
     パッチはJesper Pedersenにより提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-10 [96e740f]
    -->
    <para>
     <!--
     Add .gitignore files. (Bo Peng)
     -->
     .gitignoreファイルを追加しました。(Bo Peng)
    </para>
    <para>
     <!--
     Patch provided by Jesper Pedersen.
     -->
     パッチはJesper Pedersenにより提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-05 [129566a]
    -->
    <para>
     <!--
     Fix segfault when node 0 is in down status in case of both health check and fail_over_on_backend_error are disabled. (Tatsuo Ishii)
     -->
     ヘルスチェックと<xref linkend="guc-failover-on-backend-error">の両方が無効になっている場合に、ノード0がダウンしたときに発生するセグメンテーション違反を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-03 [c7f1aab]
    -->
    <para>
     <!--
     Doc: Fix typos in documents and scripts. (Tatsuo Ishii)
     -->
     Doc: ドキュメントとスクリプトのタイポを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Patch contributed by Jesper Pedersen.
     -->
     パッチはJesper Pedersenにより提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-08-01 [861d535]
    -->
    <para>
     <!--
     Doc: Fix document mistakes of <xref linkend="GUC-RECOVERY-1ST-STAGE-COMMAND"> and <xref linkend="GUC-RECOVERY-2ND-STAGE-COMMAND">. (Bo Peng)
     -->
     Doc: <xref linkend="GUC-RECOVERY-1ST-STAGE-COMMAND">と<xref linkend="GUC-RECOVERY-2ND-STAGE-COMMAND">のドキュメントの誤りを修正しました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-3-6-12">
 <!--
 <title>Release 3.6.12</title>
 -->
 <title>リリース 3.6.12</title>

 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2018-07-31</simpara>
 </note>

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

   <listitem>
    <!--
    2018-07-04 [06a1d33]
    -->
    <para>
     <!--
     Fix "write on backend 0 failed with error :"Success"" error.
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=403">bug 403</ulink>) (Tatsuo Ishii)
     -->
     「write on backend 0 failed with error :"Success"」エラーを修正しました。
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=403">bug 403</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     <function>write()</function> が 0 を返した場合、エラーとして扱わないように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-07-03 [7f9aad9]
    -->
    <para>
     <!--
     Fix for 0000409: worker process is not restarted after failover on standby Pgpool-II.
     -->
     フェイルオーバ後、スタンバイ Pgpool-II で worker プロセスが起動されない不具合を修正しました。
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=409">bug 409</ulink>) (Muhammad Usama)
    </para>
    <para>
     <!--
     Patch contributed by Yugo Nagata.
     -->
     修正パッチは Yugo Nagataによって提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-06-20 [9956328]
    -->
    <para>
     <!--
     Fix memory leaks related to pool_extract_error_message(). (Tatsuo Ishii)
     -->
     <function>pool_extract_error_message()</function> で発生するメモリリークを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-06-19 [8aadbd3]
    -->
    <para>
     <!--
     Fix an incorrect declare as bool, rather than int in pool_extract_error_message(). (Tatsuo Ishii)
     -->
     <function>pool_extract_error_message()</function> 関数での誤ったデータ型の変数宣言を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     This led to a segfault issue mentioned on certain platform.
     -->
     これにより、特定のプラットフォームでセグメンテーション違反が発生する可能性がありました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-06-19 [ff2260f]
    -->
    <para>
     <!--
     Fix segfault in per_node_error_log() on armhf architecture. (Tatsuo Ishii)
     -->
     <literal>armhf</literal> アーキテクチャで発生する <function>per_node_error_log()</function> のセグメンテーション違反を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Patch provided by Christian Ehrhardt.
     -->
     修正パッチは Christian Ehrhardt によって提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-07-24 [68f9645]
    -->
    <para>
     <!--
     Fix document typos. (Bo Peng)
     -->
     Doc:「クライアント認証」、「Pgpool-II のインストール」、「pg_md5」などのドキュメントを改善しました。(Bo Peng)
    </para>
    <para>
     <!--
     Patch provided by Takuma Hoshiai.
     -->
     修正パッチは Takuma Hoshiai によって提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-06-20 [7c4aff8]
    2018-07-11 [893b1ef]
    -->
    <para>
     <!--
     Test: Fix 006.memqcache test failure. (Tatsuo Ishii)
     -->
     Test: テスト006.memqcache の失敗を修正しました。(	Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-3-6-11">
 <!--
 <title>Release 3.6.11</title>
 -->
 <title>リリース 3.6.11</title>

 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2018-06-12</simpara>
 </note>

 <sect2>
  <title>不具合修正</title> 
  <itemizedlist>
   <listitem>
    <!--
    2018-05-31 [abb1260]
    -->
    <para>
     <!--
     Fix pgpool hung if replication delay is too much, when query cache enabled in extended query mode. (Tatsuo Ishii)
     -->
     拡張問合せ、かつクエリキャッシュが有効の場合、レプリケーション遅延が大きすぎるときに発生しうる <productname>Pgpool-II</productname> のハングアップを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     See <ulink url="https://www.pgpool.net/pipermail/pgpool-general-jp/2018-May/001533.html">[pgpool-general-jp: 1534]</ulink> 
     for more details.
     -->
     詳細は <ulink url="https://www.pgpool.net/pipermail/pgpool-general-jp/2018-May/001533.html">[pgpool-general-jp: 1534]</ulink> 
     を参考してください。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-05-30 [8574062]
    -->
    <para>
     <!--
     Doc: Fix document typo of PCP commands option "-U". (Bo Peng)
     -->
     Doc: PCP コマンドの "-U" オプションのタイポを修正しました。 (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-05-24 [75348b5]
    -->
    <para>
     <!--
     Delete some debug code. (Bo Peng)
     -->
     デバッグ用コードを削除しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-05-24 [b28ae33]
    -->
    <para>
     <!--
     In extended query mode, do not set writing tx flag with SET TRANSACTION READ ONLY. (Tatsuo Ishii) 
     -->
     拡張問合せでは、SET TRANSACTION READ ONLY の場合、書き込みトランザクションフラグを立てないように修正しました。 (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-05-09 [eb427b7]
    -->
    <para>
     <!--
     Doc: Update outdated pcp_proc_info manual. (Tatsuo Ishii)
     -->
     Doc: 古い <xref linkend="PCP-PROC-INFO"> のドキュメントを修正しました。 (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-05-04 [5231624]
    -->
    <para>
     <!--
     Doc: Enhance online recovery document to Clarify 
     that recovery_2nd_stage_command is only required in native replication mode. (Tatsuo Ishii)
     -->
     Doc: recovery_2nd_stage_command はネイティブレプリケーションモードのみで設定する必要がある明確な説明をドキュメントに追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-04-18 [53a5b1a]
    -->
    <para>
     <!--
     Prevent pcp_recovery_node from recovering "unused" status node. (Tatsuo Ishii)
     -->
     pcp_recovery_node が "unused" 状態のノードをリカバリしないように修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     This allowed to try to recover a node without configuration data,
     which leads to variety of problems. 
     -->
     これにより、設定情報がないノードをリカバリしようとするときに発生する様々な問題を回避できます。
    </para>
    <para>
     <!--
     See <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2018-March/006021.html">[pgpool-general: 5963]</ulink> 
     for more details.
     -->
     詳細は
     <ulink url="https://www.pgpool.net/pipermail/pgpool-general/2018-March/006021.html">[pgpool-general: 5963]</ulink> 
     をご参照してください。
    </para>
    <para>
     <!--
     Also I fixed pgpool_recovery function so that it quotes an empty
     string argument with double quotes. 
     -->
     また、空の文字列の引数に対応できるように引数をダブルクォートで囲むように、<function>pgpool_recovery</function> 関数を修正しました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-3-6-10">
 <!--
 <title>Release 3.6.10</title>
 -->
 <title>リリース 3.6.10</title>

 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2018-04-17</simpara>
 </note>

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

   <listitem>
    <!--
    2018-04-09 [56dcc8d]
    -->
    <para>
     <!--
     Add new regression test for node 0 is down. (Tatsuo Ishii)
     -->
     Test: ノード0 がダウンした場合のレグレッションテストを追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-04-08 [62cd287]
    -->
    <para>
     <!--
     Make calls to to_regclass fully schema qualified. (Tatsuo Ishii)
     -->
     to_regclass を呼び出すときにスキーマ名を含むように修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-04-04 [61dbb77]
    -->
    <para>
     <!--
     Improve watchdog documents. (Tatsuo Ishii)
     -->
     Doc: watchdog に関するドキュメントを更新しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-03-20 [a144e9a]
    -->
    <para>
     <!--
     Test: Improve test script 003.failover. (Bo Peng)
     -->
     Test: 003.failover レグレッションテストが失敗しないように修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-03-14 [95ed081]
    -->
    <para>
     <!--
     Deal with "unable to bind D cannot get parse message "S1" error. (Tatsuo Ishii)
     -->
     「unable to bind D cannot get parse message "S1"」エラーによるハングアップを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-03-02 [426c2df]
    -->
    <para>
     <!--
     Doc: Mention that users can avoid failover using backend_flag even PostgreSQL admin shutdown. (Tatsuo Ishii)
     -->
     Doc: backend_flag を使用してフェイルオーバ回避できるようにする説明をドキュメントに追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-02-28 [3cc5422]
    -->
    <para>
     <!--
     Doc: Fix document typos. (Bo Peng)
     -->
     Doc: ドキュメントのタイポを修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-02-27 [bfb46bc]
    -->
    <para>
     <!--
     Fix <command>pgpool_setup</command> failure in replication mode. (Tatsuo Ishii)
     -->
     レプリケーションモードで <command>pgpool_setup</command> が失敗するのを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-02-27 [4a47d33]
    -->
    <para>
     <!--
     Allow to support <function>pgpool_switch_xlog</function> <productname>PostgreSQL</productname> 10. (Tatsuo Ishii)
     -->
     <productname>PostgreSQL</productname> 10 に対応できるように pgpool_switch_xlog を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-02-14 [41978bf]
    -->
    <para>
     <!--
     Doc: Fix <link linkend="pgpool-adm"> pgpool_adm</link> family functions examples. (Tatsuo Ishii)
     -->
     Doc: <link linkend="pgpool-adm"> pgpool_adm エクステンション</link>関数の例を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

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

<sect1 id="release-3-6-9">
 <!--
 <title>Release 3.6.9</title>
 -->
 <title>リリース 3.6.9</title>

 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2018-02-13</simpara>
 </note>
 <note>
  <para>
   このリリースでは、Pgpool-II 3.7.0、3.6.6、3.5.10 で追加された、ソケット
   への書き込み不具合を修正しています。この障害により、ネットワーク負荷が
   高い状態でのフロントエンド、バックエンドへのメッセージ送信の際に、不正
   なメッセージが送信される可能性があります。3.7.x、3.6.6 以降、3.5.10 以降
   のバージョンを利用中のユーザは、できるだけ早くアップグレードすることを
   お勧めします。
  </para>
 </note>

 <sect2>
  <title>変更点</title> 
  <itemizedlist>
   <listitem>
    <!--
    2018-02-10 [8a6e181]
    -->
    <para>
     <!--
     Allow to build with libressl. (Tatsuo Ishii)
     -->
     <productname>Pgpool-II</> が libressl の環境でビルドできるようになりました。(Tatsuo Ishii)
    </para>
    <para>
     詳細は <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2018-February/002714.html">[pgpool-hackers: 2714]</ulink> を参照してください。パッチは Sandino Araico Sanchez により提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-01-29 [6d83d12]
    -->
    <para>
     <!--
     Set TCP_NODELAY and non blocking to frontend socket. (Tatsuo Ishii)
     -->
     <productname>PostgreSQL</>のようにフロントエンドソケットを TCP_NODELAY、non-blocking に設定しました。 (Tatsuo Ishii) 
    </para>
   </listitem>

   <listitem>
    <!--
    2018-01-19 [cc4b56c]
    -->
    <para>
     <!--
     Change systemd service file to use STOP_OPTS=" -m fast". (Bo Peng)
     -->
     systemd サービスを用いて<productname>Pgpool-II</> を停止するときに fast モードで停止するように変更しました。 (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-01-19 [b083cdc]
    -->
    <para>
     <!--
     Change pgpool_setup to add restore_command in recovery.conf. (Bo Peng)
     -->
     pgpool_setup の recovery.conf で  restore_command を使用するように pgpool_setup を変更します。 (Bo Peng)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <title>不具合修正</title> 
  <itemizedlist>
   <listitem>
    <!--
    2018-02-09 [fc1a744]
    -->
    <para>
     <!--
     Fix writing transaction flag is accidentally set at commit or rollback. (Tatsuo Ishii)
     -->
     コミットまたはロールバック時に誤って書き込みトランザクションフラグをセットする不具合を修正しました。 (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-01-31 [114632b]
    -->
    <para>
     <!--
     Fix document typo. (Bo Peng)
     -->
     Doc: ドキュメントのタイポを修正しました。 (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2018-01-29 [361b9da]
    -->
    <para>
     <!--
     Fix bug with socket writing. (Tatsuo Ishii)
     -->
     ソケット書き込みの不具合を修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     ネットワーク負荷が高い場合に、フロントエンド、バックエンドへのメッセージ送信の際に、
     不正なメッセージが送信される可能性があるのを修正しました。
    </para>
    <para>
     このバグは 3.6.6、3.5.10 がリリースされた際に追加されたものです。
    </para>
   </listitem>

   <listitem>
    <!--
    2018-01-24 [29bd679]
    -->
    <para>
     <!--
     Fix segfault when %a is in log_line_prefix and debug message is on. (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=376">bug 376</ulink>) (Tatsuo Ishii)
     -->
     デバッグモードがオン、かつ log_line_prefix に %a を指定した場合に発生するセグメンテーション違反を修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=376">bug 376</ulink>) (Tatsuo Ishii)
    </para>

   </listitem>

   <listitem>
    <!--
    2018-01-18 [235b9a6]
    -->
    <para>
     <!--
     Fix queries hanging in parse_before_bind with extended protocol and replication + load-balancing. (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=377">bug 377</ulink>) (Tatsuo Ishii)
     -->
     拡張プロトコル、レプリケーションモードかつロードバランスを使用した場合に発生しうるハングアップを修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=377">bug 377</ulink>) (Tatsuo Ishii)
    </para>
   </listitem>

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

<sect1 id="release-3-6-8">
 <!--
 <title>Release 3.6.8</title>
 -->
 <title>リリース 3.6.8</title>

 <note>
  <!--
  <title>Release Date</title>
  -->
  <title>リリース日</title>
  <simpara>2018-01-09</simpara>
 </note>

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

   <listitem>
    <!--
    2018-01-06 [f355084]
    2017-12-21 [b34623e]
    -->
    <para>
     <!--
     Fix document typo. (Bo Peng)
     -->
     Doc: ドキュメントのミスとタイポを修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-12-22 [5c6922f]
    -->
    <para>
     <!--
     Replace /bin/ed with /bin/sed, because /bin/sed is included in most distribution's base packages. (Tatsuo Ishii)
     -->
     <xref linkend="pgpool-setup"> スクリプト内の <command>/bin/ed</command> を <command>/bin/sed</command> に置き換えました。(Tatsuo Ishii)
    </para>
    <para>
     <command>/bin/sed</command> は <command>/bin/ed</command>に比べてほとんどのディストリビューションの基本パッケージに含まれているためです。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-12-21 [c963cb1]
    -->
    <para>
     <!--
     Change the pgpool.service and sysconfig files to output Pgpool-II log. (Bo Peng)
     -->
     ログを取得するために <filename>pgpool.service</filename> とsysconfig ファイルを変更しました。(Bo Peng)
    </para>
    <para>
     <!--
     Removing "Type=forking" and add OPTS=" -n" to
     run Pgpool-II with non-daemon mode, because we need to redirect logs.
     Using "journalctl" command to see Pgpool-II systemd log.
     -->
     ログを取得するために、非デーモンモードで <productname>Pgpool-II</productname> を起動するように Type=forking を削除し、OPTS=" -n" を追加しました。<command>journalctl</command> コマンドで <productname>Pgpool-II</productname> の systemd のログを確認することができます。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-12-19 [9c61ded]
    -->
    <para>
     <!--
     Add documentation for SGML document build. (Tatsuo Ishii)
     -->
     Doc: 新しいドキュメント<link linkend="install-docs">「ドキュメントのコンパイルとインストール」</link>を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-12-17 [38e6a35]
    2017-12-18 [c74f4d4]
    -->
    <para>
     <!--
     Fix timestamp data inconsistency by replication mode. (Bo Peng)
     -->
     ネイティブレプリケーションモードで発生するタイムスタンプデータの不整合を修正しました。 (Bo Peng)
    </para>
    <para>
     <!--
     From PostgreSQL10 the column default value such as 'CURRENT_DATE' changes,
     Pgpool-II didn't rewrite timestamp by the added default
     values. This caused data inconsistency.
     -->
     <productname>PostgreSQL</productname> 10から「CURRENT_DATE」のようなカラムのデフォルト値が変わったので、<productname>Pgpool-II</productname> はこれらのタイムスタンプをリライトしませんでした。これによって、データの不整合が発生していました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-12-14 [b959b35]
    -->
    <para>
     <!--
     Fix watchdog_setup up doc. (Tatsuo Ishii)
     -->
     Doc: <xref linkend="watchdog-setup"> のドキュメントを修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     <!--
     It lacked to mention that it supports logical replication mode.
     -->
     ロジカルレプリケーションモードにも対応するとの説明を追加しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-12-14 [7ac5acc]
    -->
    <para>
     <!--
     Downgrade a log message to debug message. (Tatsuo Ishii)
     -->
     一部のログメッセージをデバッグメッセージにダウングレードしました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     That was mistaken left while last development cycle.
     -->
     前回の開発で誤って残していました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-12-12 [911d6e7]
    -->
    <para>
     <!--
     Fix for re-sync logic in reading packet from backend. (Tatsuo Ishii)
     -->
     バックエンドからのパケットを読み込む際の再同期のロジックを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Fix for re-sync logic in reading packet from backend. (Tatsuo Ishii)
     read_kind_from_backend(), which reads message kind from backend,
     re-syncs backend nodes when a ready for query message is
     received. Unfortunately it forgot to call
     pool_pending_message_pull_out() to delete sync pending message. This
     leads to random stuck while reading packets from backend. Fix this to
     call pool_pending_message_pull_out().
     -->
     <function>read_kind_from_backend()</function> は、バックエンドからメッセージを読み取り、"ready for query" メッセージが受信されたときにバックエンドノードを再同期します。
     しかし、<function>pool_pending_message_pull_out()</function> を呼び出して「sync メッセージを受信した」を削除することを忘れていました。
     これによって、バックエンドからのパケットの読み取り中に <productname>Pgpool-II</productname> がハングアップする可能性がありました。
     <function>pool_pending_message_pull_out()</function>を呼び出し、「sync メッセージを受信した」を削除するように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-12-12 [921421c]
    -->
    <para>
     <!--
     Fix Pgpool-II hangs.(Bug370) (Tatsuo Ishii)
     -->
     問い合わせ中に <productname>Pgpool-II</productname> がハングアップする不具合を修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=370">bug 370</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     <!--
     If an erroneous query is sent to primary and without a sync message the next query that requires a catalog cache look up is send, Pgpool-II hangs in do_query().
     -->
     エラークエリがプライマリに送信され、sync メッセージを送信せずに、次のクエリを実行するときに、
     <productname>PostgreSQL</productname> のシステムカタログへの問い合わせが必要な場合、<productname>Pgpool-II</productname> は <function>do_query()</function> 関数でハングアップしていました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-12-12 [6e51410]
    -->
    <para>
     <!--
     Add SL_MODE macro for upper compatibility with Pgpool-II 3.7 or later. (Tatsuo Ishii)
     -->
     <productname>Pgpool-II</productname> 3.7 以降の上位互換性のために SL_MODE マクロを追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-12-10 [522dacd]
    -->
    <para>
     <!--
     Fix returning transaction state when "ready for query" message received. (Tatsuo Ishii)
     -->
     "ready for query" メッセージを受信したときにトランザクション状態を返すように修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     We return primary or master node state of ready for query message to
     frontend. In most cases this is good. However if other than primary
     node or master node returns an error state (this could happen if load
     balance node is other than primary or master node and the query is an
     errornous SELECT), this should be returned to frontend, because the
     frontend already received an error.
     -->
     今まではプライマリノードまたはマスターノードの状態をフロントエンドに返していました。
     ほとんどの場合、問題がありませんでした。
     ただし、プライマリノードまたはマスターノード以外のノードがエラー状態を返した場合(ロードバランスノードがプライマリまたはマスターノード以外で、誤った SELECT クエリの場合に発生する可能性がある)、このエラー状態をフロントエンドに返す必要がありました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-11-16 [beade50]
    -->
    <para>
     <!--
     Fix pgpool start message printed multiple times. (Tatsuo Ishii)
     -->
     pgpool 開始メッセージが複数回出力されるのを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-11-15 [11d506a]
    -->
    <para>
     <!--
     Add an execute permission bit to the start/stop script in <xref linkend="watchdog-setup">. (Tatsuo Ishii)
     -->
     <xref linkend="watchdog-setup"> 内の start/stop スクリプトの実行権限を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-3-6-7">
 <title>リリース 3.6.7</title>

 <note>
  <title>リリース日</title>
  <simpara>2017-11-01</simpara>
 </note>

 <sect2>
  <title>不具合修正</title>
  <itemizedlist>
   <listitem>
    <!--
    2017-10-31 [f652ec4]
    -->
    <para>
     <!--
     Add different pgpool.sysconfig file for RHEL6 and RHEL7. (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=343">bug 343</ulink>) (Bo Peng)
     -->
     <filename>/etc/sysconfig/pgpool</filename> を RHEL6 と RHEL7 向けに分け、RHEL6 では起動時に "-n" オプションを指定するようにしました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=343">bug 343</ulink>) (Bo Peng)
    </para>
    <para>
     <!--
     In RHEL6, the "-n" option is needed to redirect log.
     -->
     RHEL6 では、起動時のログが出力されなくなったとの報告がありました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-10-25 [43e0994]
    -->
    <para>
     <!--
     Fixing an issue in the handling of pg_terminate_backend() (Muhammad Usama)
     -->
     <function>pg_terminate_backend()</function> の処理における問題を修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     In some cases <function>pg_terminate_backend()</function> can cause failover even when
     the call is properly issued through Pgpool-II.
     -->
     特定の場合で、Pgpool-II が正常に <function>pg_terminate_backend()</function>を呼び出しても、フェイルオーバを引き起こす可能性がありました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-10-16 [f6ac530]
    -->
    <para>
     <!--
     Fix for bug in watchdog where sometime failover is not reliably performed (Muhammad Usama)
     -->
     たまにフェイルオーバが実行されない watchdog の不具合を修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     Currently watchdog process only considers the node's watchdog state before
     deciding if it can handle the failover and failover-locking requests.
     -->
     今までは、watchdog プロセスは、自分の状態のみを考慮し、フェイルオーバおよびフェイルオーバロック要求の処理を判断していました。
    </para>
    <para>
     <!--
     But the problem with this technique is that, for the instance when the node has
     announced itself as a master/coordinator of the cluster and is waiting for
     the standby nodes to recognize it as a Master node. For that period of time
     the watchdog state of the node is Master/coordinator, but it is yet not fully
     capable of handling the failover and failover-locking requests.
     -->
     しかし、この処理の問題点は、ある watchdog が自分をクラスタのマスター/コーディネーターとして通知し、スタンバイノードが自分をマスターノードとして認識するのを待っている間に、自分の状態はマスター/コーディネータですが、まだフェイルオーバおよびフェイルオーバロック要求処理することができない点にありました。
    </para>
    <para>
     <!--
     So sometimes this leads to a situation where a failover is not reliably
     performed in case when the failover request arrives while watchdog cluster
     is in the process of electing a leader.
     -->
     そのため、たまに watchdog クラスタがリーダーを選出している間にフェイルオーバが実行されないことがありました。
    </para>
    <para>
     <!--
     The fix for the above situation is to make sure that the node has fully acquired
     the Master status before accepting the failover and failover-locking requests.
     -->
     ノードがフェイルオーバおよびフェイルオーバーロック要求を受け入れる前に、完全にマスター状態を取得したことを確認するように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-10-10 [dc858b9]
    -->
    <para>
     <!--
     Fix bug with handling of 'H' (flush) message in streaming replication mode. (Tatsuo Ishii)
     -->
     ストリーミングレプリケーションモードで 'H'(フラッシュ) メッセージの処理に関するバグを修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=345">bug 345</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     <!--
     If user expects to read response right after 'H', Pgpool-II hangs. The
     cause was, when 'H' received, extended query mode was reset and
     pending message was not used.
     -->
     ユーザが 'H' メッセージの直後に応答を読み込もうとすると、<productname>Pgpool-II</productname>はハングアップしていました。
     原因は、'H' が受信されたときに拡張クエリモードがリセットされ、保留メッセージが使用されなかったためです。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-10-04 [3dc6bc1]
    -->
    <para>
     <!--
     Doc: Fix pcp_node_info documents. (Tatsuo Ishii)
     -->
     Doc: pcp_node_info のドキュメントのミスを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-09-22 [21047aa]
    -->
    <para>
     <!--
     Fix bug mistakenly overriding global backend status right after failover. (Tatsuo Ishii)
     -->
     フェイルオーバの直後にグローバルバックエンドの状態が誤って上書きされる不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     詳細は <ulink url="http://www.sraoss.jp/pipermail/pgpool-general/2017-September/005786.html">[pgpool-general: 5728]</ulink>を参照してください。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-09-22 [2ead26d]
    -->
    <para>
     <!--
     Fix exit signal handlers to not call ereport. (Tatsuo Ishii)
     -->
     exit シグナルハンドラが ereport を呼び出さないように修正しました。(Tatsuo Ishii)
    </para>
    <para>
     詳細は <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2017-September/002545.html">[pgpool-hackers: 2545]</ulink>を参照してください。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-09-11 [1349bec]
    -->
    <para>
     <!--
     Deal with OpenSSL 1.1. (Tatsuo Ishii)
     -->
     OpenSSL 1.1に対応しました。(Tatsuo Ishii, Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-09-05 [288baea]
    -->
    <para>
     <!--
     Doc: Fix table about replicate_select behavior (Yugo Nagata)
     -->
     Doc: replicate_select の動作に関する説明を修正しました。(Yugo Nagata)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-3-6-6">
 <title>リリース 3.6.6</title>

 <note>
  <title>リリース日</title>
  <simpara>2017-09-05</simpara>
 </note>

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

  <itemizedlist>

   <listitem>
    <!--
    2017-09-02 [6b4216d]
    -->
    <para>
     ストリーミングレプリケーションモード/拡張クエリで発生する可能性のあるハングアップを修正しました。 (Tatsuo Ishii)
    </para>
    <para>
     エラーが発生すると、<productname>Pgpool-II</productname>はフロントエンドから送られてきた<literal>Sync</literal>メッセージを読み取ります。しかし、タイミングによってはまれに<literal>Sync</literal>メッセージがまだ送出されていないことがあり、<literal>sync</literal>が送られるまで待つように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-09-01 [39de4a1]
    -->
    <para>
     <literal>watchdog</literal>が新しいノードを追加しようとした時にmasterに拒否される問題を修正しました。 (Yugo Nagata)
    </para>
    <para>
     <literal>watchdog</literal>の間の認証の際に、秒を元にした文字列が使われていたため、<literal>watchdog</literal>ノードの間で秒単位の時刻同期ができていないときに、この問題が発生します。修正は、単に秒を元にした文字列を認証キーに使わないようにしました。
    </para>
    <para>
     これは3.5.6, 3.6.3で追加された問題です。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-29 [83c35ea]
    -->
    <para>
     Test: 001.load_balance のテストスクリプトを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     ネイティブレプリケーションモードのみで実行される一部のテストが、ストリーミングレプリケーションモードでも実行されていたので、修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-29 [3914c90]
    -->
    <para>
     拡張クエリで<literal>slony</literal>モードが動かなくなっていたのを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <literal>slony</literal>モードの場合、応答がバックエンドから返されたときに、進行中フラグがリセットされず、バックエンドからの次のメッセージ待ち状態になり、ハングアップしていました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-29 [d7347f1]
    -->
    <para>
     ストリーム書き込みモジュールのバグを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     要求された長さが残りの書き込みバッファサイズを超えた場合に発生する<function>pool_write_noerror()</function>の不具合を修正しました。この不具合はバッファオーバーランの問題につながる可能性がありました。
    </para>
    <para>
     書き込みバッファがいっぱいになると、<function>pool_flush_it()</function>を呼び出し、バッファをフラッシュし、要求されたデータを直接書き込むように修正しました。
    </para>
    <para>
     さらに、<function>pool_unread()</function>のパフォーマンスが向上しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-24 [03a221c]
    -->
    <para>
     Test: レグレッションテストスクリプトを修正しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-24 [62275b5]
    -->
    <para>
     Doc: ロードバランスに関するドキュメントを修正しました。(Yugo Nagata)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-16 [1793074]
    -->
    <para>
     コアダンプが発生する可能性があったのと、一時テーブルの扱いに関するバグを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-15 [da75d24]
    -->
    <para>
     <function>pool_unread()</function> の不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <function>pool_unread()</function> が<function>realloc()</function>を呼び出すときに、バッファサイズが更新されませんでした。これにより、メモリ破損や予期しないデータの読み取りが発生する可能性がありました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-13 [55d1ed0]
    -->
    <para>
     空文字のクエリの処理を修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=328">bug 328</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     空文字のクエリ (空文字列またはコメントクエリ) が送信されると、コマンド完了メッセージがフロントエンドに返されていました。この動作は正しくありません。空文字クエリのレスポンスをフロントエンドに返すように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-09 [730a545]
    -->
    <para>
     ストリーミングレプリケーションモード/拡張クエリで発生するクエリキャッシュのバグを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-03 [5fe66ad]
    -->
    <para>
     ストリーミングレプリケーションモード/拡張クエリで発生するメモリリークを修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=324">bug 324</ulink>)(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-03 [bcbca37]
    -->
    <para>
     Test: テスト 005.jdbc の Java プログラムを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-03 [8f00811]
    -->
    <para>
     <literal>worker</literal>プロセスが間違った DB ノードをフェイルオーバーさせる不具合を修正しました。 (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=303">bug 303</ulink>) (Tatsuo Ishii)
    </para>
    <para>
     <literal>worker</literal>プロセスが間違った DB ノードをフェイルオーバーさせる可能性がありました。原因は、<varname>POLL_CONNECTIO</varname>構造体の<varname>db_node_id</varname>メンバがこのプロセスで初期化されていなかったからです （子プロセスでは適切に初期化されていました）。
    </para>
    <para>
     この問題を解決するには、ノード ID をセットする関数 <function>pool_set_db_node_id()</function>を追加し、<function>make_persistent_db_connection()</function>内で呼び出すように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-07-31 [7469f45]
    -->
    <para>
     <command>SET</command>コマンド発行時の不要なトランザクションの開始を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-07-27 [45e4df4]
    -->
    <para>
     ヘルスチェックアラームを無効にした状態で <function>Failover()</function>関数を実行するように修正しました。(Muhammad Usama)
    </para>
    <para>
     詳細は <ulink url="http://www.pgpool.net/pipermail/pgpool-general/2017-July/005679.html">[pgpool-general: 5621]</ulink> をご参照ください。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-07-27 [6881a5a]
    -->
    <para>
     ストリーミングレプリケーションモード/拡張クエリの場合、フロントエンドが 'S' (同期) メッセージを送信する前に、バックエンドからエラーレスポンスを受信するときに発生するハングアップを修正しました。
    </para>
    <para>
     さらに、以下の修正を行いました。
    </para>
    <para>
     - ストリーミングレプリケーションモードで <function>ErrorResponse3()</function> 関数が意図的にエラークエリをバックエンドに送信しないように修正しました。
    </para>
    <para>
     - クエリが進行中でクエリコンテキストが存在する場合のみ、<varname>virtual_master_node_id</varname>を返すように <function>pool_virtual_master_db_node_id()</function>関数を修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-07-25 [431811b]
    -->
    <para>
     Doc: ドキュメントのタイポを修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-07-20 [a9ada5c]
    -->
    <para>
     配布物に<filename>pgpool.service</filename>が含まれるように修正しました。(Yugo Nagata)
    </para>
   </listitem>
  </itemizedlist>

 </sect2>

 <sect2>
  <title>改善点</title>

  <itemizedlist>
   <listitem>
    <!--
    2017-08-21 [1812a84]
    -->
    <para>
     Doc: 英語/日本語ドキュメントに <link linkend="example-cluster">「Pgpool-II + Watchdogの構築の例」</link>を追加しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-08-09 [34890b2]
    -->
    <para>
     Test: メモリリークのレグレッションテストを追加しました。(Tatsuo Ishii)
    </para>
   </listitem>
  </itemizedlist>
 </sect2>
</sect1>

<sect1 id="release-3-6-5">
 <title>リリース 3.6.5</title>

 <note>
  <title>リリース日</title>
  <simpara>2017-07-11</simpara>
 </note>

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

  <itemizedlist>

   <listitem>
    <!--
    2017-07-07 [33fd84c]
    -->
    <para>
     <ulink url="http://www.sraoss.jp/pipermail/pgpool-hackers/2017-June/002400.html">[pgpool-hackers: 2400]</ulink>で報告された、ログ出力中の不正なバイトを修正しました。(Muhammad Usama)
    </para>
    <para>
     ほとんどログメッセージの修正でした。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-06-29 [85392b8]
    -->
    <para>
     <productname>PostgreSQL</productname>の<productname>MemoryManager API</productname>に関する最新の変更をインポートしました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-06-24 [2ad4abd]
    -->
    <para>
     スプリットブレインが発生した場合、間違ったノードが MASTER になってしまう不具合を修正しました。
     <ulink url="http://www.pgpool.net/mantisbt/view.php?id=306">(bug 306)</ulink> (Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-06-21 [045e516]
    -->
    <para>
     <ulink url="http://www.sraoss.jp/pipermail/pgpool-hackers/2017-June/002390.html">[pgpool-hackers: 2390]</ulink> によって報告されたデーモンモードでの相対パスの問題を修正しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-06-19 [16db1f1]
    -->
    <para>
     <productname>PostgreSQL</productname> 10の変更に合わせて以下の関数名を修正しました。(Tatsuo Ishii)
    </para>

    <programlisting>
     pg_current_wal_location     -> pg_current_wal_lsn
     pg_last_wal_replay_location -> pg_last_wal_replay_lsn
    </programlisting>
   </listitem>

   <listitem>
    <!--
    2017-06-09 [d9b0b83]
    -->
    <para>
     ストリーミングレプリケーションと拡張プロトコルで発生するハングアップを修正しました。(Yugo Nagata)
    </para>
    <para>
     以下の例で再現できます。

     <programlisting>
      - <filename>pgpool.conf</filename>ですべての読み取りクエリをスタンバイに送信するように設定しています。
      - まず、トランザクションブロックで書き込みクエリを発行します。
      - トランザクションをコミットした後、<command>SELECT</command>クエリを発行します。
      - クエリを処理するときに、<command>Parse</command>の直後に<command>Describe（statement)</command>メッセージを送信します。
     </programlisting>
    </para>

    <para>
     <productname>JDBC</productname>を使用せず、<productname>pgproto</productname>を利用し以下のデータでこの問題を再現できます。
     <programlisting>

      'Q' "DROP TABLE IF EXISTS test_tbl"
      'Y'
      'Q' "CREATE TABLE test_tbl(i int)"
      'Y'
      'Q' "INSERT INTO test_tbl VALUES(1)"
      'Y'

      'P' "" "BEGIN" 0
      'B' "" "" 0 0 0
      'E' "" 0
      'S'
      'Y'

      'P' "" "INSERT INTO test_tbl VALUES(1)" 0
      'B' "" "" 0 0 0
      'E' "" 0
      'S'
      'Y'

      'P' "" "COMMIT" 0
      'B' "" "" 0 0 0
      'E' "" 0
      'S'
      'Y'

      'P' "S_1" "SELECT * FROM test_tbl" 0
      'D' 'S' "S_1"
      'B' "C_1" "S_1" 0 0 0
      'E' "C_1" 0
      'S'
      'Y'

      'X'
     </programlisting>

    </para>
    <para>
     <command>Bind</command>と<command>Execute</command>を適切なバックエンドに送信するように、<function>parse_before_bind()</function>は、トランザクション中にのみ呼び出されるように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-06-07 [204b08e]
    -->
    <para>
     <productname>erlang</productname>アプリケーションを使用する場合、<productname>Pgpool-II</productname> がハングする不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <productname>Erlang</productname>クライアントは "Describe"メッセージの後に "Flush"を送信し、バックエンドは "Row description" を返します。しかし、<productname>Pgpool-II</productname>は、"Row description" メッセージを受信した後、進行中のクエリフラグをリセットすることを忘れてしまい、<productname>Pgpool-II</productname>はバックエンドからの応答を待っていました。これが<productname>erlang</productname>クライアントのハングアップの原因でした。

    </para>
    <para>
     <productname>Pgpool-II</productname>が "Row description" メッセージを受信した際に、クエリ処理中のフラグをリセットするように修正しました。"no data" メッセージと同じ扱いにする必要がありました。
    </para>
    <para>
     詳細は<ulink url="http://www.pgpool.net/pipermail/pgpool-general/2017-June/005613.html">[pgpool-general: 5555]</ulink>を参照してください。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-06-07 [e310167]
    -->
    <para>
     間違ったターゲットノードにバインドメッセージを送信するバグを修正しました。 <ulink url="http://www.pgpool.net/mantisbt/view.php?id=306">(bug 306)</ulink> (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-05-31 [bc84c0b]
    -->
    <para>
     <productname>node.js</productname>を使用する場合に発生するクエリキャッシュのハングアップの問題を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     詳細は<ulink url="http://www.pgpool.net/pipermail/pgpool-general/2017-May/005569.html">[pgpool-general: 5511]</ulink>を参照してください。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-05-28 [6e6b022]
    -->
    <para>
     <productname>PostgreSQL</productname> 10のストリーミングレプリケーションの遅延チェックに関する変更に合わせて修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-05-27 [e4f37e4]
    -->
    <para>
     クエリキャッシュのメモリリークを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     oidがないクエリ（<command>BEGIN</command>、<command>CHECKPOINT</command>、<command>VACUUM</command>など）の場合キャッシュバッファがクリアされるべきでしたが、されていませんでした。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-05-23 [f1b8877]
    -->
    <para>
     特定の場合に発生する拡張クエリのハングアップを修正しました。(Tatsuo Ishii)
    </para>

    <para>
     <productname>erlang</productname> PostgreSQL APIは<command>Parse ('P')</command>、<command>Describe ('D')</command>、<command>Flush ('H')</command>、<command>Bind (B)</command>、<command>Execute('E')</command>を生成します。この"H"は<productname>JDBC</productname>にはありませんので、今まで問題が起こらなかったと思われます。その後、<productname>Pgpool-II</productname>は拡張クエリモードを削除し、データを読み取るバックエンドを見つけることができませんでした。したがって、<productname>Pgpool-II</productname>はバックエンドの一部にメッセージを送信していない可能性があるため、ハングアップを引き起こすすべてのバックエンドを読み取ろうとします。
    </para>
    <para>
     この問題を避けるために、<command>Flush</command>メッセージを受信後拡張クエリフラグを設定するように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-05-23 [512fbae]
    -->
    <para>
     <ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2017-May/002354.html">[pgpool-hackers: 2354]</ulink>によって報告された<command>pg_md5</command> のセグメンテーション違反を修正しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-05-31 [02ad737]
    2017-05-17 [6fe79be]
    -->
    <para>
     <function>white/black_memcache_table_list</function>のドキュメントを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     実際の実装と異なっています。
    </para>
    <para>
     詳細は<ulink url="http://www.sraoss.jp/pipermail/pgpool-general/2017-May/005537.html">[pgpool-general：5479]</ulink>を参照してください。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-05-10 [c901024]
    -->
    <para>
     滅多に発生しない<productname>Pgpool-II</productname>起動時のバグを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     プライマリノードが見つかる前にフェールオーバーの要求が受け入れられる可能性がありました。
     これにより、<productname>Pgpool-II</productname>は奇妙な状態に陥ります。障害が発生したノードはプライマリノードの場合、
     プライマリノードは存在しないと判断していました。（既存のスタンバイが昇格し新しいプライマリノードになった場合でも）
    </para>
    <para>
     詳細は<ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2017-May/002321.html">[pgpool-hackers: 2321]</ulink>  をご参照下さい。
    </para>
   </listitem>

  </itemizedlist>

 </sect2>

</sect1>


<sect1 id="release-3-6-4">
 <title>リリース 3.6.4</title>

 <note>
  <title>リリース日</title>
  <simpara>2017-05-11</simpara>
 </note>

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

  <itemizedlist>

   <listitem>
    <!--
    2017-05-10 [c99e0fc]
    -->
    <para>
     Watchdog のフェイルオーバーリクエスト処理の不具合を修正しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-05-10 [ee0a415]
    -->
    <para>
     Watchdog クラスタのメンバーの基準を改善しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-05-10 [54aa688]
    -->
    <para>
     ロードバランスに関するドキュメントを改善しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-05-08 [eb83f0b]
    -->
    <para>
     ノード 0 がフェイルオーバーする場合のレグレッションテストを追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-05-04 [2b0edb1]
    -->
    <para>
     <ulink url="http://www.sraoss.jp/pipermail/pgpool-hackers/2017-May/002312.html">[pgpool-hackers：2312]</ulink> で報告された
     <productname>Pgpool-II</productname>ノード 0 がフェイルオーバーするときに発生するセグメンテーション違反を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

  </itemizedlist>

 </sect2>

</sect1>


<sect1 id="release-3-6-3">
 <title>リリース 3.6.3</title>

 <note>
  <title>リリース日</title>
  <simpara>2017-04-28</simpara>
 </note>

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

  <itemizedlist>

   <listitem>
    <!--
    2017-04-18 [b8eb551]
    -->
    <para>
     memcachedが使用されているときに発生する"show pool_cache"のセグメンテーション違反を修正しました。
     <ulink url="http://www.pgpool.net/mantisbt/view.php?id=301">(Bug 301)</ulink> (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-14 [bedb509]
    -->
    <para>
     いくつかのソースコードの警告を修正しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-14 [8b25ca3]
    -->
    <para>
     いくつかのコンパイラの警告を修正しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-14 [50fb9a4]
    -->
    <para>
     pool_config_variable.cから「定義されたが未使用の関数」という警告を削除しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-14 [9007558]
    -->
    <para>
     古いdebug_level設定パラメーターの参照を削除しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-12 [7105243]
    -->
    <para>
     Watchdogのソースコードのミスを修正し、いくつかのdebugメッセージを追加しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-12 [f5f42be]
    -->
    <para>
     pool_hba.confファイルをリロード時に発生するエラーを修正しました。<ulink url="http://www.pgpool.net/mantisbt/view.php?id=299">(Bug 299)</ulink> (Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-12 [32b7c6d]
    2017-04-11 [d47add6]
    2017-04-11 [02a6f45]
    -->
    <para>
     英語/日本語のドキュメントにpgpool_adm extensionに関する情報を追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-11 [a6cc0c9]
    -->
    <para>
     ドキュメントを改善しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-11 [2997b3a]
    -->
    <para>
     watchdog 使用時に Pgpool-II 間でバックエンドの状態が一致しない不具合を修正しました。
     <ulink url="http://www.pgpool.net/mantisbt/view.php?id=289">(Bug 289)</ulink> (Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-03-30 [be9d634]
    -->
    <para>
     Watchdogによるスプリットブレインシナリオの処理を強化しました。(Muhammad Usama)
    </para>
    <para>

     watchdogクラスタを使用しmaster/coordinatorノードの再選出が呼び出されていました。その結果、すべてのノードがウォッチドッグネットワークに再結合する必要がありました。これはwatchdogクラスタ全体の再起動と本質的に同じでした。
    </para>
    <para>
     今回の修正では、master/coordinatorノードの候補は、次の基準で選択されるようになりました。
    </para>
    <para>
     (1) 2つのウォッチドッグノードがクラスタマスターであると主張している場合、エスカレーションを実行したマスターノードはマスター状態を保持し、他のノードはステップダウンするように要求されます。
    </para>
    <para>
     (2) 競合がノードのエスカレーション状況によって解決できない場合、クォーラムを保持するノードはマスター/コーディネータのままです。
    </para>
    <para>
     (3) 両方の候補のクォーラムステータスが同じ場合、接続されたアライブノードの数が多いノードが優先されます。
    </para>
    <para>
     (4) 最後に、上記3つでマスターノードを選出できなかった場合、古いマスター(長期間コーディネーターステータスを持つノード) はマスターのままです。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-03-21 [deaa822]
    -->
    <para>
     複数の並行コマンドを処理するためにwatchdog内部コマンドのメカニズムを強化しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-07 [e989242]
    -->
    <para>
     コンパイラ時の警告を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-06 [d87f93d]
    -->
    <para>
     リグレッションの失敗を防ぐために、サポートされていないJavaメソッドを新しいJDBCドライバでコメントアウトしました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-05 [e5541d7]
    -->
    <para>
     <function>parse_before_bind() </function> のログメッセージを debug1 にダウングレードしました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-04-04 [aa4e308]
    2017-04-04 [24d9770]
    2017-04-03 [7d8482a]
    -->
    <para>
     coverity警告を修正しました。(Muhammad Usama, Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-03-31 [c4f816b]
    -->
    <para>
     <ulink url="http://www.sraoss.jp/pipermail/pgpool-general/2017-March/005454.html">[pgpool-general: 5396]</ulink>
     pam ldapが失敗する不具合を修正しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-03-31 [6899b7d]
    -->
    <para>
     拡張クエリモードでSQL型コマンドが使用できないことをドキュメントに追加しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-03-31 [9cd2f8a]
    -->
    <para>
     <command>SHOW</command>コマンドを読み込みクエリの一つとして認識するようにしました。(Tatsuo Ishii)
    </para>
    <para>
     ストリーミングレプリケーションモードでは、<command>SHOW</command>が発行されるとその後のSELECTは明示的なトランザクションでプライマリノードに送信されていました。この制限は不適切でした。また、parseコマンドがエラーを返すときに発生するハングアップを修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-03-30 [9aaec32]
    -->
    <para>
     コミットadcb636によって引き起こされたメモリリークの問題を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     Commit adcb636では"pending message queue"を導入しました。メッセージを受信すると、情報がキューに追加され、オブジェクトのコピーが同時に作成されますが、オブジェクトを解放するのを忘れてしまいました。
    </para>
    <para>
     今回の修正では、新しい関数<function>pool_pending_message_free_pending_message()</function>を作成し、<function>pool_pending_message_add()</function>、<function>pool_pending_message_get()</function>および<function>pool_pending_message_pull_out()</function>の後に呼び出すように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-03-29 [18f9501]
    -->
    <para>
     ストリーミングレプリケーションモードで「kind mismatch」(またはそれに関連する)エラーが修正されました。
     <ulink url="http://www.pgpool.net/mantisbt/view.php?id=271">(Bug 271)</ulink> (Tatsuo Ishii)
    </para>
    <para>
     このエラー原因はデータベースノードがPgpool-IIに送る応答の予測が誤っていたことです。以前使用した「sync map」の実装は弱く、予測に失敗することがありました。今回の修正では、送信されたすべてのメッセージをバックエンドに記録する"pending message queue"を導入しました。このキューの要素には、メッセージのタイプ(parse/bind/execute/describe/close/sync)、メッセージが送信されたデータベースノードの情報などが格納されます。これは単純なFIFOキューです。バックエンドからメッセージが到着すると、"pending message queue"の先頭を見れば、受信したメッセージの種類やデータベースノードを確実に予測できます。 メッセージを受信した後、この要素はキューから削除されます。
    </para>
    <para>
     一連のパッチをテストしてくれたSergey Kimさんに感謝します。
    </para>
    <para>
     詳細は <ulink url="http://www.pgpool.net/mantisbt/view.php?id=271">Bug 271</ulink>、
     <ulink url="http://www.sraoss.jp/pipermail/pgpool-hackers/2017-February/002043.html">[pgpool-hackers: 2043]</ulink> と
     <ulink url="http://www.sraoss.jp/pipermail/pgpool-hackers/2017-March/002140.html">[pgpool-hackers: 2140]</ulink> をご参照下さい。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-03-24 [c2a0cc5]
    -->
    <para>
     [Service] が Type=forking に設定されている場合、Pgpool-II 3.6.2 が systemd によって強制終了されていた不具合を修正しました。
     <ulink url="http://www.pgpool.net/mantisbt/view.php?id=296">(Bug 296)</ulink> (Muhammad Usama)
    </para>
   </listitem>
  </itemizedlist>

 </sect2>

</sect1>

<sect1 id="release-3-6-2">
 <title>リリース 3.6.2</title>

 <note>
  <title>リリース日</title>
  <simpara>2017-03-17</simpara>
 </note>

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

  <itemizedlist>

   <listitem>
    <!--
    2017-03-17 [ba1bcc3]
    -->
    <para>
     pgpool.serviceファイルに"Wants=network.target"を追加しました。
     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=294">bug 294</ulink>) (Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-03-09 [1ddb7f1]
    -->
    <para>
     <link linkend="PCP-PROMOTE-NODE">pcp_promote_node</link>を使ってノード0の昇格に失敗する不具合を修正しました。(Yugo Nagata)
    </para>
    <para>
     失敗したときのエラーメッセージは以下のとおりです。
    </para>

    <programlisting>
     FATAL: invalid pgpool mode for process recovery request
     DETAIL: specified node is already primary node, can't promote node id 0
    </programlisting>

    <para>
     ストリーミングレプリケーションモードでは、<productname>Pgpool-II</productname>がプライマリノードを何らかの理由で「スタンバイ」とみなしていました。たとえば、<productname>Pgpool-II</productname>が起動中で、pg_ctl promoteを手動で実行したとき、<productname>Pgpool-II</productname>はプライマリノードが存在しないと認識します。
    </para>

    <para>
     この状態の不一致は、pcp_promote_nodeコマンドによって直されるはずですが、昇格させたいノードがマスターノード（最初のアライブノード）である場合、上記のように失敗しました。
     失敗した理由は次のとおりです。ステータスを変更する前に、pcp_promote_nodeコマンドがPRIMARY_NODE_IDのノードIDと比較することによって、指定されたノードが既にプライマリであるかどうかをチェックします。ただし、プライマリが存在しない場合<productname>Pgpool-II</productname>のビューでは、PRIMARY_NODE_IDが0に設定されます。これはMASTER_NODE_IDと同じです。したがって、マスタノードを昇格させるように指定する場合、pcp_promote_nodeはこのノードが既にプライマリであるとのエラーを返して終了しました。
    </para>

    <para>
     これを修正するには、pcp_promote_nodeは指定したノードがプライマリーノードであるかどうかをチェックするとき、PRIMARY_NODE_IDではなくREAL_PRIMARY_NODE_IDを使うように修正しました。REAL_PRIMARY_NODE_IDはプライマリが存在しない場合、-1に設定されます。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-02-28 [b1060bd]
    2017-01-10 [1e4e494]
    2017-02-09 [767eff3]
    -->
    <para>
     <productname>Pgpool-II</productname>のドキュメントを修正しました。(Tatsuo Ishii, Bo Peng)
    </para>
    <para>

    </para>
   </listitem>

   <listitem>
    <!--
    2017-02-23 [2b7217e]
    -->
    <para>
     <productname>Pgpool-II</productname>がVIPを解除した後にpingテストを続けている不具合を修正しました。(Muhammad Usama)
    </para>
    <para>
     <ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2016-June/001611.html">[pgpool-hackers: 1611]</ulink> により報告されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-02-23 [7ed400b]
    -->
    <para>
     特定の場合に、<productname>Pgpool-II</productname>が終了したときに共有メモリセグメントを解放しない不具合を修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=272">bug 272</ulink>) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-02-14 [c1cd41c]
    -->
    <para>
     pg_terminate_backend関数を実行するときに発生する不具合を修正しました。(Muhammad Usama)
    </para>
    <para>
     <ulink url="http://www.pgpool.net/pipermail/pgpool-general/2017-February/005373.html">[pgpool-general: 5315]</ulink>により報告されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-02-06 [8fa731a]
    -->
    <para>
     ExecStopとExecReloadコマンドをsystemdサービス設定ファイルに追加しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-01-30 [6362ba6]
    -->
    <para>
     <link linkend="PCP-ATTACH-NODE">pcp_attach_node</link>を実行するときのセグメンテーション違反を修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=281">bug 281</ulink>)(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-01-30 [fb58877]
    -->
    <para>
     ストリーミングレプリケーションモードでロードバランスのバグを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     明示的なトランザクションでは、書き込みクエリが送信されるまで、SELECTはロードバランスされます。書込みクエリが送信された後、SELECTがプライマリノードに送信されます。しかし、syncメッセージが送信される前にSELECTが送信された場合、これは正しく動作しませんでした。
    </para>
    <para>
     書き込みクエリが実行されると書き込みクエリの処理が行われるように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-01-30 [8371649]
    -->
    <para>
     ストリーミングレプリケーションモードでのkind mismatchエラーを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-01-27 [4f98bf0]
    -->
    <para>
     closeメッセージの後に<function>do_query()</function>がハングする問題を修正しました。(Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-01-27 [7512482]
    -->
    <para>
     <function>wd_get_cmd</function>関数のバッファオーバーフローを修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=280">bug 280</ulink>)(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-01-19 [839a709]
    -->
    <para>
     watchdogプロセスを再起動する時の不具合を修正しました。(Muhammad Usama)
    </para>
    <para>
     watchdogプロセスが何らかの問題（例えばセグメンテーションフォルト）によって異常終了した場合、新たに生成されたwatchdogプロセスの起動が失敗し、"bind on ... failed with reason: Address already in use"とのエラーを返しました。
    </para>

    <para>
     理由は、異常終了したwatchdogプロセスはIPCに使用するソケットをクリーンアップする時間がなかったからです。
    </para>

    <para>
     この不具合を修正するために、Pgpoolのメインプロセスは、watchdogプロセスが異常終了したときに共有メモリにフラグを設定するように修正しました。
     watchdogプロセスが再起動されるとき、フラグがセットされたら、ソケットファイルをクリーンアップするようにしました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-01-19 [779d029]
    -->
    <para>
     特定の条件下で、ストリーミングレプリケーションモードでクエリキャッシュが有効な場合、SELECTがハングアップする不具合を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <ulink url="http://www.pgpool.net/pipermail/pgpool-general-jp/2017-January/001440.html">pgpool-general-jp:1441</ulink>により報告されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-01-11 [29b61eb]
    -->
    <para>
     シグナルハンドラがelog/ereportを呼び出さないように修正しました。(Tatsuo Ishii)
    </para>
    <para>
     詳しくは<ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2016-December/001950.html">[pgpool-hackers: 1950]</ulink>をご参照ください。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-01-10 [39d24e7]
    -->
    <para>
     FreeBSDでlisten_addresses = '*'の場合、INETドメインソケットが作成できない不具合を修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=202">bug 202</ulink>)(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2017-01-04 [8598d5a]
    -->
    <para>
     特定に場合にwatchdogがデエスカレーションに失敗する不具合を修正しました。(<ulink url="http://www.pgpool.net/mantisbt/view.php?id=249">bug 249</ulink>)(Muhammad Usama)
    </para>

    <para>
     WNOHANGオプションなしで<function>waitpid()</function>システムコールを使用するように修正しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2017-01-04 [bd92a11]
    -->
    <para>
     authentication_timeoutが有効な場合、connection_life_timeが正しく処理されない不具合を修正しました。(Yugo Nagata)
    </para>
   </listitem>

   <listitem>
    <!--
    2016-12-28 [afebadf]
    -->
    <para>
     クライアント接続直後に発生しうる認証タイムアウトを修正しました。(Yugo Nagata)
    </para>
   </listitem>

  </itemizedlist>

 </sect2>

</sect1>


<sect1 id="release-3-6-1">
 <!--
 <title>release 3.6.1</title>
 -->
 <title>リリース 3.6.1</title>

 <note>
  <title>リリース日</title>
  <simpara>2016-12-26</simpara>
 </note>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>

  <itemizedlist>

   <listitem>
    <!--
    2016-12-23 [4124e5e]
    -->
    <para>
     <!--
     Tightening up the watchdog security. (Muhammad Usama)
     -->
     watchdog のセキュリティを強化しました。(Muhammad Usama)
    </para>

    <para>
     <!--
     Now wd_authkey uses the HMAC SHA-256 hashing.
     -->
     wd_authkeyは、HMAC SHA-256ハッシングを使用するようになりました。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-12-22 [f8a157a]
    -->
    <para>
     <!--
     Add pgpool_adm extension. (Bo Peng)
     -->
     <productname>Pgpool-II</productname>のRPM にpgpool_adm extension が含まれるように修正しました。(Bo Peng)
    </para>
   </listitem>

   <listitem>
    <!--
    2016-12-20 [888ac16]
    -->
    <para>
     <!--
     Fix occasional segfault when query cache is enabled. (Tatsuo Ishii)
     -->
     クエリキャッシュが有効になっている場合に、時々発生しうるセグメンテーション違反を修正しました。(bug 263) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2016-12-20 [9274f82]
    -->
    <para>
     <!--
     Fix packet kind does not match error in extended protocol per bug 231. (Tatsuo Ishii)
     -->
     拡張プロトコルにおいて発生しうるkind mismatchエラーを修正しました。(bug 231) (Tatsuo Ishii)
    </para>
    <para>
     <!--
     According to the bug231, the bug seem to bite you if all of
     following conditions are met:
     -->
     bug 231によると、以下の条件がすべて満たされていると、このバグが発生する可能性がありました。
    </para>
    <itemizedlist>
     <listitem>
      <para>
       <!--
       Streaming replication mode
       -->
       ストリーミングレプリケーションモード
      </para>
     </listitem>
     <listitem>
      <para>
       <!--
       Load balance node is not node 0
       -->
       ロードバランスノードがnode 0ではない
      </para>
     </listitem>
     <listitem>
      <para>
       <!--
       Extended protocol is used
       -->
       拡張プロトコルを使用している
      </para>
     </listitem>
     <listitem>
      <para>
       <!--
       SELECT is executed, the statement is closed, then a
       transaction command is executed
       -->
       SELECTが実行され、ステートメントがクローズされた後、トランザクションコマンドが実行されている
      </para>
     </listitem>
    </itemizedlist>
    <para>
     <!--
     The sequence of how the problem bites is:
     -->
     問題の発生順序:
     <orderedlist>
      <listitem>
       <para>
        <!--
	SELECT executes on statement S1 on the load balance node 1
	-->
	ロードバランスノード1でステートメントS1のSELECTが実行されます。
       </para>
      </listitem>
      <listitem>
       <para>
        <!--
	Frontend send Close statement
	-->
	フロントエンドがクローズステートメントを送ります。
       </para>
      </listitem>
      <listitem>
       <para>
        <!--
	Pgpool-II forward it to backend 1
	-->
	Pgpool-IIはそれをバックエンド1に転送します。
       </para>
      </listitem>
      <listitem>
       <para>
        <!--
	Frontend sends Parse, Bind, Execute of COMMIT
	-->
	フロントエンドは、COMMITのParse、Bind、Executeを送信します。
       </para>
      </listitem>
      <listitem>
       <para>
        <!--
	Pgpool-II forward it to backend 0 & 1
	-->
	Pgpool-IIはそれをバックエンド0と1に転送します。
       </para>
      </listitem>
      <listitem>
       <para>
        <!--
	Frontend sends sync message
	-->
	フロントエンドが同期メッセージを送信します。
       </para>
      </listitem>
      <listitem>
       <para>
        <!--
	Pgpool-II forward it to backend 0 & 1
	-->
	Pgpool-IIはそれをバックエンド0と1に転送します。
       </para>
      </listitem>
      <listitem>
       <para>
        <!--
	Backend 0 replies back Parse complete ("1"), while
	backend 1 replies back close complete ("3") because of
	#3.
	-->
	バックエンド0はParse complete（ "1"）を返しますが、バックエンド1は＃3によりclose complete（ "3"）を返します。
       </para>
      </listitem>
      <listitem>
       <para>
        <!--
	Kind mismatch occurs
	-->
	Kind mismatch が発生します。
       </para>
      </listitem>
     </orderedlist>

    </para>
    <para>
     <!--
     The solution is, in #3, let Pgpool-II wait for response from backend
     1, but do not read the response message. Later on Pgpool-II's state
     machine will read the response from it before the sync message is sent
     in #6. With this, backend 1 will reply back "1" in #8, and the kind
     mismatch error does not occur.
     -->
     解決策は、＃3では、Pgpool-IIがバックエンド1からの応答を待つようにしますが、応答メッセージは読み取らないようにします。 その後、Pgpool-IIの状態マシンは、＃6で同期メッセージが送信される前に、その応答を読み込みます。 これによりバックエンド1は＃8で "1"を返信し、kind mismatchエラーは発生しなくなります。
    </para>
    <para>
     <!--
     Also, fix not calling pool_set_doing_extended_query_message() when
     receives Close message.  (I don't know why it was missed).
     -->
     また、Closeメッセージを受け取ったときにpool_set_doing_extended_query_message（）が呼び出されない不具合を修正しました。
    </para>
    <para>
     <!--
     New regression test "067.bug231" was added.
     -->
     新しいリグレッションテスト "067.bug231"を追加しました。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-12-06 [336e932]
    -->
    <para>
     <!--
     Fix a race condition in a signal handler per bug 265. (Tatsuo Ishii)
     -->
     シグナルハンドラでの競合状態を修正しました。(bug 265) (Tatsuo Ishii)
    </para>
    <para>
     <!--
     In child.c there's signal handler which calls elog. Since the signal
     handler is not blocked against other signals while processing, deadlock
     could occur in the system calls in the pgpool shutdown sequence. To
     fix the problem, now the signal handler is blocked by using
     POOL_SETMASK.
     -->
     child.cには、elogを呼び出すシグナルハンドラがあります。 シグナルハンドラは処理中に他のシグナルに対してブロックされないため、pgpoolのシャットダウンシーケンスでシステムコールにデッドロックが発生する可能性がありました。 この問題を解決するために、シグナルハンドラはPOOL_SETMASKを使用してブロックされるように修正されました。
    </para>
    <para>
     <!--
     Ideally we should avoid calling elog in signal handlers though.
     -->
     理想的にはシグナルハンドラでelogを呼び出すことを避けるべきです。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-11-24 [cc452ad]
    -->
    <para>
     <!--
     Fix wrong minimum configuration value for client_idle_limit_in_recovery. (Tatsuo Ishii)
     -->
     誤ったclient_idle_limit_in_recoveryの最小設定値を修正しました。(bug 264) (Tatsuo Ishii)
    </para>
   </listitem>

   <listitem>
    <!--
    2016-11-22 [94d9378]
    -->
    <para>
     <!--
     Allow to execute "make xslthtml" under doc.ja. (Tatsuo Ishii)
     -->
     doc.jaの下で "make xslthtml"を実行できるように修正しました。(Tatsuo Ishii)
    </para>
    <para>

    </para>
   </listitem>

  </itemizedlist>

 </sect2>

</sect1>




<sect1 id="release-3-6">
 <!--
 <title>Release 3.6</title>
 -->
 <title>リリース 3.6</title>

 <note>
  <title>Release Date</title>
  <simpara>2016-11-21</simpara>
 </note>

 <sect2>
  <!--
  <title>Overview</title>
  -->
  <title>概要</title>

  <para>
   <!--
   Major enhancements in <productname>Pgpool-II</productname> 3.6 include:
   -->
   <productname>Pgpool-II</productname> 3.6 の主な改善点は以下のとおりです。
  </para>

  <!-- Items in this list summarize one or more items below -->

  <itemizedlist>

   <listitem>
    <!--
    Improve the behavior of failover. In the steaming
    replication mode, client sessions will not be disconnected
    when a failover occurs any more if the session does not use
    the failed standby server. If the primary server goes down,
    still all sessions will be disconnected. Also it is possible
    to connect to <productname>Pgpool-II</productname> even if
    it is doing health checking retries. Before all attempt of
    connecting to <productname>Pgpool-II</productname> failed
    while doing health checking retries.
    -->
    <para>
     failover の挙動が改善されました。
    </para>
    <para>
     Streaming Replicationモードで、フェイルオーバーが発生した時に、ダウンしたスタンバイサーバを利用しなければ、クライアントセッションが切断されなくなります。
     プライマリサーバがダウンした場合、すべてのセッションが切断されます。
     また、ヘルスチェックのリトライの最中でも <productname>Pgpool-II</productname>に接続することが可能です。
     <productname>Pgpool-II</productname>への接続リトライする最大回数までヘルスチェックのリトライが続きます。
    </para>
   </listitem>

   <listitem>
    <para>
     <!--
     New PGPOOL SET command has been introduced. Certain
     configuration parameters now can be changed on the fly in a
     session.
     -->
     新しいコマンド <link linkend="SQL-PGPOOL-SET">PGPOOL SET</link> が追加されました。
     このコマンドを使用することで、現行セッション内で設定パラメータを変更することができるようになりました。
    </para>
   </listitem>

   <listitem>
    <para>
     <!--
     Watchdog is significantly enhanced. It becomes more reliable
     than previous releases.
     -->
     Watchdogが大幅に改善されました。
     以前のバージョンよりも信頼性が向上しています。
    </para>
   </listitem>

   <listitem>
    <para>
     <!--
     Handling of extended query protocol (e.g. used by Java
     applications) in streaming replication mode speeds up if
     many rows are returned in a result set.
     -->
     問合せから大量の行が返される場合、ストリーミングレプリケーション時の拡張問い合わせプロトコル（例えば、Java アプリケーションで使用される場合）の処理速度が改善されました。
    </para>
   </listitem>

   <listitem>
    <para>
     <!--
     Import parser of PostgreSQL 9.6.
     -->
     PostgreSQL 9.6 のパーサを取り込みました。
    </para>
   </listitem>

   <listitem>
    <para>
     <!--
     In some cases pg_terminate_backend() now does not trigger a
     failover.
     -->
     特定の場合に<function>pg_terminate_backend()</function>がフェイルオーバを起こさないようになりました。
    </para>
   </listitem>

   <listitem>
    <para>
     <!--
     Change documentation format from raw HTML to SGML.
     -->
     ドキュメントの形式が HTML から SGML に変更されました。
    </para>
   </listitem>

  </itemizedlist>

  <para>
   <!--
   The above items are explained in more detail in the sections below.
   -->
   上記の項目は以下のセクションで詳しく説明します。
  </para>

 </sect2>

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

  <itemizedlist>

   <listitem>
    <!--
    2016-04-17 [259cdf9] Do not restart child process if certain conditions met
    2016-04-21 [9cc243a] Minimize the chance of session disconnection while failover
    2016-05-05 [0d66032] Allow to access to pgpool while doing health checking
    -->
    <para>
     <!--
     Improve the behavior of failover. (Tatsuo Ishii)
     -->
     failover の挙動が改善されました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     In the steaming replication mode, client sessions will not
     be disconnected when a failover occurs any more if the
     session does not use the failed standby server. If the
     primary server goes down, still all sessions will be
     disconnected. Health check timeout case will also cause the
     full session disconnection. Other health check error,
     including retry over case does not trigger full session
     disconnection.
     -->
     Streaming Replication モードで、フェイルオーバーが発生した時に、ダウンしたスタンバイサーバがそのセッションで使用されていなければ、クライアントセッションが切断されなくなりました。
     プライマリサーバがダウンした場合は、すべてのセッションが切断されます。
     ヘルスチェックタイムアウトした場合でも、すべてのセッションが切断されます。
     リトライ最大回数を超えた場合を含めて、他のヘルスチェックエラーではすべてのセッションは切断されません。
    </para>

    <para>
     <!--
     For user's convenience, "show pool_nodes" command shows the
     session local load balance node info since this is important
     for users in case of failover. If the load balance node is
     not the failed node, the session will not be affected by
     failover.
     -->
     failover が発生する場合にローカル負荷分散ノードの情報が重要なので、<command>show pool_nodes</command> コマンドで、ローカル負荷分散ノードの情報が利用者の便宜のために表示されるようになりました。
     負荷分散ノードがダウンしたノードではない場合、フェイルオーバーによる影響はありません。
    </para>

    <para>
     <!--
     Also now it is possible to connect
     to <productname>Pgpool-II</productname> even if it is doing
     health checking retries. Before all attempt of connecting
     to <productname>Pgpool-II</productname> failed while doing
     health checking retries.  Before any attempt to connect to
     <productname>Pgpool-II</productname> fails if it is doing a
     health check against failed node even if
     <xref linkend="guc-failover-on-backend-error"> is off
     because <productname>Pgpool-II</productname> child first
     tries to connect to all backend including the failed one and
     exits if it fails to connect to a backend (of course it
     fails). This is a temporary situation and will be resolved
     once pgpool executes failover. However if the health check
     is retrying, the temporary situation keeps longer depending
     on the setting
     of <xref linkend="guc-health-check-max-retries"> and
     <xref linkend="guc-health-check-retry-delay">. This is not
     good. Attached patch tries to mitigate the problem:
     -->
     また、ヘルスチェックのリトライの最中でも <productname>Pgpool-II</productname> に接続できるようになりました。
     以前は、<xref linkend="guc-failover-on-backend-error">がオフの場合でも<productname>Pgpool-II</productname>への接続は、ヘルスチェックのリトライをしている間はすべて失敗していました。
      これは、<productname>Pgpool-II</productname>の子プロセスがまず失敗したバックエンドを含めてすべてのバックエンドへの接続を試み、失敗した場合終了するためです（これはもちろん失敗します）。
      これは一時的な状況であり、<productname>Pgpool-II</productname>がフェールオーバーを行えば解決します。
      しかし、ヘルスチェックの再試行が行っている場合は、この一時的な状況は
      <xref linkend="guc-health-check-max-retries">と<xref linkend="guc-health-check-retry-delay">の設定次第で長時間続きます。
	この状況は良くないので、以下のように修正しました。

    </para>
    <para>
     <!--
     When an attempt to connect to backend fails, give up
     connecting to the failed node and skip to other node, rather
     than exiting the process if operating in streaming
     replication mode and the node is not primary node.
     -->
     ストリーミングレプリケーションモードにおいて、バックエンドへの接続に失敗したら、そのダウンしたノードがプライマリではなければ、このバックエンドへの接続をあきらめて、他のノードへの接続を試みます。
    </para>
    <para>
     <!--
     Mark the local status of the failed node to "down".  This
     will let the primary node be selected as a load balance node
     and every queries will be sent to the primary node. If
     there's other healthy standby nodes, one of them will be
     chosen as the load balance node.
     -->
     ローカルノードのステータスを"down"と記録します。
     これによりプライマリーノードがロードバランスノードとして選択され、すべてのクエリがプライマリーノードへ転送されます。
     他にスタンバイのノードが存在する場合、その中からロードバランスノードが選択されます。
    </para>
    <para>
     <!--
     After the session is over, the child process will suicide to
     not retain the local status.
     -->
     セッションが終了した後、ローカルの状態を保持しないように子プロセスは自殺します。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-05-22 [b9955ce] Adding new PGPOOL SET and PGPOOL RESET commands.
    2016-05-11 [25dc79e] Adding new SHOW command for pgpool-II configuration parameters.
    -->
    <para>
     <!--
     Add <link linkend="SQL-PGPOOL-SHOW">PGPOOL
     SHOW</link>, <link linkend="SQL-PGPOOL-SET">PGPOOL
     SET</link> and
     <link linkend="SQL-PGPOOL-RESET">PGPOOL RESET</link>
     commands. (Muhammad Usama)
     -->
     <link linkend="SQL-PGPOOL-SHOW">PGPOOL
      SHOW</link>, <link linkend="SQL-PGPOOL-SET">PGPOOL
      SET</link> と
     <link linkend="SQL-PGPOOL-RESET">PGPOOL RESET</link>
     コマンドが追加されました。 (Muhammad Usama)
    </para>
    <para>
     <!--
     These are similar to the PostgreSQL's SET and SHOW commands
     for GUC variables, adding the functionality
     in <productname>Pgpool-II</productname> to set and reset the
     value of config parameters for the current session, and for
     that it adds a new syntax
     in <productname>Pgpool-II</productname> which is similar to
     PostgreSQL's SET and RESET variable syntax with an addition
     of <literal>PGPOOL</literal> keyword at the start.
     -->
     これは<productname>Pgpool-II</productname>に現在のセッションの設定パラメータを設定またはリセットする機能を追加するという点で<productname>PostgreSQL</productname>のSET、SHOW、RESETコマンドと似ていますが、PostgreSQLのSET、RESETコマンドコマンドと区別するために、<literal>PGPOOL</literal>というキーワードが前に挿入してあります。
    </para>
    <para>
     <!--
     Currently supported configuration parameters by PGPOOL
     SHOW/SET/RESET are: <xref linkend="guc-log-statement">,
     -->
     現在 PGPOOL SHOW/SET/RESET に対応している設定パラメータは以下です。
     <xref linkend="guc-log-per-node-statement">, <xref linkend="guc-check-temp-table">,
       <xref linkend="guc-check-unlogged-table">, <xref linkend="guc-allow-sql-comments">,
	 <xref linkend="guc-client-idle-limit">, <xref linkend="guc-log-error-verbosity">,
	   <xref linkend="guc-client-min-messages">, <xref linkend="guc-log-min-messages">,
	     <xref linkend="guc-client-idle-limit-in-recovery">.
    </para>
   </listitem>

   <listitem>
    <!--
    2016-08-02 [bda946e] Fix for 218: Inconsistent status of
    Postgresql nodes in pgPool instances after
    restart. Watchdog not syncing status.
    -->
    <para>
     <!--
     Sync inconsistent status
     of <productname>PostgreSQL</productname> nodes
     in <productname>Pgpool-II</productname> instances after
     restart. (Muhammad Usama)
     -->
     <productname>Pgpool-II</productname>再起動後、<productname>PostgreSQL</productname>ノードの状態の不整合がある場合、これを同期するようにしました。(bug 218) (Muhammad Usama)
    </para>
    <para>
     <!--
     Watchdog does not synchronize status.
     -->
     watchdog がバックエンドノードを同期させなかったのが原因でした。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-09-06 [c0eb0ee] Enhance performance of SELECT when lots of rows involved.
    -->
    <para>
     <!--
     Enhance performance of SELECT when lots of rows involved. (Tatsuo Ishii)
     -->
     多くの行が出力されるSELECTの性能を改善しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     <productname>Pgpool-II</productname> flushes data to network
     (calling write(2)) every time it sends a row data ("Data
     Row" message) to frontend. For example, if 10,000 rows
     needed to be transfer, 10,000 times write()s are
     issued. This is pretty expensive. Since after repeating to
     send row data, "Command Complete" message is sent, it's
     enough to issue a write() with the command complete
     message. Also there are unnecessary flushing are in handling
     the command complete message.
     -->
     <productname>Pgpool-II</productname> がフロントエンドに行データ（"Data Row"メッセージ）を送るたびにネットワークにデータを（<function>write(2)</function>を呼び出して）フラッシュしていました。
     例えば、10,000行を転送する必要がある場合、write()が10,000 回呼び出されます。
     これは非常にコストが高いです。
     繰り返し行データを送信した後、"Command Complete"メッセージが送られるので、Command Completeメッセージの時に併せてwrite()を発行すれば十分です。
     また、command completeメッセージの取り扱いにおいて、不必要なフラッシュがありました。
    </para>
    <para>
     <!--
     <ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2016-September/001784.html">Quick
     testing</ulink> showed that from 47% to 62% performance
     enhancements were achieved in some cases.
     -->
     <ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2016-September/001784.html">Quick testing</ulink>のテスト結果から、この修正により、特定の場合で、47%から62%の性能向上が得られたことが分かりました。
    </para>
    <para>
     <!--
     Unfortunately, performance in workloads where transferring
     few rows, will not be enhanced since such rows are needed to
     flush to network anyway.
     -->
     しかし、問い合わせが返す行が少ない場合は、まだ改善されていません。
     そうした行はいずれにせよネットワークへのフラッシュが必要だからです。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-08-26 [d768944] import PostgreSQL 9.6 parser
    -->
    <para>
     <!--
     Import <productname>PostgreSQL</productname> 9.6's SQL
     parser. (Bo Peng)
     -->
     <productname>PostgreSQL</productname> 9.6's のパーサを取り込みました。 (Bo Peng)
    </para>
    <para>
     <!--
     This allows <productname>Pgpool-II</productname> to fully
     understand the newly added SQL syntax such as <literal>COPY
     INSERT RETURNING</literal>.
     -->
     これにより、<productname>Pgpool-II</productname> は <productname>PostgreSQL</productname>
     9.6 で導入された新しい構文 (<literal>COPY INSERT/UPDATE/DELETE ... RETURNING</literal> など) を理解可能です。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-08-26 [f284be4] Handling of pg_terminate_backend for simple query protocol
    -->
    <para>
     <!--
     In some cases pg_terminate_backend() now does not trigger a
     failover. (Muhammad Usama)
     Because PostgreSQL returns exactly the same error code as postmaster
     down case and <function>pg_terminate_backend()</function> case, using
     <function>pg_terminate_backend()</function> raises a failover which user might not want. To
     fix this, now <productname>Pgpool-II</productname> finds a pid of backend which is the target of
     <function>pg_terminate_backend()</function> and does not trigger failover if so.
     This functions is limited to the case of simple protocol and the pid
     is given to <function>pg_terminate_backend()</function> as a constant. So if you call
     <function>pg_terminate_backend()</function> via extended protocol (e.g. Java) still
     <function>pg_terminate_backend()</function> triggers a failover.
     -->
     ある場合では、pg_terminate_backend() 関数が failover を引き起さないようになりました。(Muhammad Usama)
    </para>
    <para>
     <function>pg_terminate_backend()</function>でバックエンドを終了させた場合、
     <productname>PostgreSQL</productname>がpostmasterをシャットダウンしたときと同じメッセージを返しますので、
     ユーザが望まないかもしれないフェールオーバーを発生させます。
    </para>
    <para>
     これを修正するために、<productname>Pgpool-II</productname>は、
     <function>pg_terminate_backend()</function>の対象バックエンドのPIDを検出し、フェールオーバーを発生させません。
    </para>
    <para>
     この修正は単純なプロトコルの場合、または<function>pg_terminate_backend()</function>
     に渡されたPIDが定数の場合にのみ適用します。
     拡張プロトコル（Javaなど）の場合、<function>pg_terminate_backend()</function>はフェールオーバーを起こします。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-03-15 [47d9af9] Mega patch to add SGML docs.
    -->
    <para>
     <!--
     HTML documents are now generated from SGML documents.
     (Muhammad Usama, Tatsuo Ishii, Bo Peng)
     -->
     HTMLドキュメントが、SGMLドキュメントから生成されるようになりました。(Muhammad Usama, Tatsuo Ishii, Bo Peng)
    </para>
    <para>
     <!--
     It is intended to have better construction, contents and
     maintainability. Also man pages are now generated from SGML.
     However, still there's tremendous room to
     enhance the SGML documents. Please help us!
     -->
     これはより良い構成、内容、保守の容易性をもたらすためです。
     また、manページがSGMLから生成されるようになりました。
     しかし、SGMLドキュメントにはまだたくさんの改良の余地があります。
     どうか私達を助けてください！
    </para>
   </listitem>

  </itemizedlist>
 </sect2>

 <sect2>
  <!--
  <title>Other Enhancements</title>
  -->
  <title>他の改善点</title>

  <itemizedlist>

   <listitem>
    <!--
    2016-08-24 [0f4d1de] Make authentication error message more user friendly.
    -->

    <para>
     <!--
     Make authentication error message more user friendly. (Tatsuo Ishii)
     -->
     認証エラーメッセージをわかりやすくしました。 (Tatsuo Ishii)
    </para>
    <para>
     <!--
     When attempt to connect to backend (including health
     checking), emit error messages from backend something like
     "sorry, too many clients already" instead of "invalid
     authentication message response type, Expecting 'R' and
     received '%c'"
     -->
     バックエンドに接続する時に(ヘルスチェックを含む)、"invalid authentication message response type, Expecting 'R' and received '%c'" メッセージではなく"sorry, too many clients already"のようなメッセージを返すようにしました。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-08-22 [2088a17] Tighten up health check timer expired condition in pool_check_fd()
    -->
    <para>
     <!--
     Tighten up health check timer expired condition in pool_check_fd(). (Muhammad Usama)
     -->
     pool_check_fd()のヘルスチェックタイマーの期限切れ条件を強化しました。(Muhammad Usama)
    </para>
   </listitem>

   <listitem>
    <!--
    2016-07-29 [6ff2ac0] Add new script called "watchdog_setup".
    2016-08-18 [d3211dc] Let watchdog_setup to be installed.
    -->
    <para>
     <!--
     Add new script called "watchdog_setup". (Tatstuo Ishii)
     -->
     新しいスクリプト "watchdog_setup" が追加されました。 (Tatstuo Ishii)
    </para>
    <para>
     <!--
     <xref linkend="WATCHDOG-SETUP"> is a command to create a
     temporary installation
     of <productname>Pgpool-II</productname> clusters with
     watchdog for mainly testings.
     -->
     <xref linkend="WATCHDOG-SETUP"> は watchdog 機能を有効にした<productname>Pgpool-II</productname>クラスタのテスト環境を構築するコマンドです。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-07-29 [cf319c4] Add "-pg" option to pgpool_setup.
    2016-08-16 [d5c3cf2]  Let pgpool_setup install into dist bin.
    -->
    <para>
     <!--
     Add "-pg" option to pgpool_setup. (Tatsuo Ishii)
     -->
     pgpool_setup に "pg" オプションが追加されました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     This is useful when you want to assign specific port numbers to
     <productname>PostgreSQL</productname> while
     using <xref linkend="PGPOOL-SETUP">. Also
     now <command>pgpool_setup</command> is installed in the
     standard bin directory which is same
     as <command>pgpool</command>.
     -->
     これは<xref linkend="PGPOOL-SETUP">を使用する時に、<productname>PostgreSQL</productname>に特定のポート番号を割り当てたい場合に便利です。
      また、<command>pgpool</command> と同じように、<command>pgpool_setup</command>は標準binディレクトリにインストールされるようになりました。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-08-12 [9db83a8] Add "replication delay" column to "show pool_nodes".
    -->
    <para>
     <!--
     Add "replication delay" column to "show pool_nodes". (Tatsuo Ishii)
     -->
     <link linkend="SQL-SHOW-POOL-NODES">show pool_nodes</link> の出力結果に replication delay カラムが追加されました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     This column
     shows the <link linkend="runtime-streaming-replication-check">
     replication delay</link> value in bytes if operated in
     streaming replication mode.
     -->
     streaming replication モードの場合、
     このカラムは <link linkend="runtime-streaming-replication-check">replication delay</link> の値を bytes 単位で表示します。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-07-12 [726cb5d] Do not update status file if all backend nodes are in down status.
    -->
    <para>
     <!--
     Do not update status file if all backend nodes are in down status. (Chris Pacejo, Tatsuo Ishii)
     -->
     すべてのノードがダウンした場合、 status ファイルを更新しないように変更されました。(Chris Pacejo, Tatsuo Ishii)
    </para>
    <para>
     <!--
     This commit tries to remove the data inconsistency in
     replication mode found
     in <ulink url="http://www.pgpool.net/pipermail/pgpool-general/2015-August/003974.html">[pgpool-general:
     3918]</ulink> by not recording the status file when all
     backend nodes are in down status.  This surprisingly simple
     but smart solution was provided by Chris Pacejo.
     -->
     レプリケーションモードにおいて、すべてのノードがダウン状態の場合にstatusファイルに記録しないようにすることで、<ulink url="http://www.pgpool.net/pipermail/pgpool-general/2015-August/003974.html">[pgpool-general:3918]</ulink> で報告されたデータの不整合を修正しました。
     この驚ほど単純ですが、スマートな解決方法はChris Pacejoにより提供されました。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-05-23 [9342472] Permit pgpool to support multiple SSL cipher protocols
    -->
    <para>
     <!--
     Allow to use multiple SSL cipher protocols. (Muhammad Usama)
     -->
     <productname>Pgpool-II</productname> が 複数 SSL cipher protocols に対応できるように修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     By replacing TLSv1_method() with SSLv23_method() while
     initializing the SSL session, we can use more protocols than
     TLSv1 protocol.
     -->
     SSLセッションを初期化する際の処理でTLSv1_method()を<function>SSLv23_method()</function>で置き換えることにより、TLSv1プロトコルよりも多くのプロトコルを使うことができるようになりました。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-04-07 [0e01d32] removing the limit on the maximum number
    of items in the black_function_list and read_only_function_list lists.
    -->
    <para>
     <!--
     Allow to use arbitrary number of items in the
     black_function_list/read_only_function_list. (Muhammad Usama)
     -->
     black_function_list/read_only_function_list
     に任意のアイテムの数が使用できるようになりました。(Muhammad Usama)
    </para>
    <para>
     <!--
     Previously there were fixed limits for those.
     -->
     これまで、このアイテムの数には固定の上限がありました。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-02-17 [f2a5081] Properly process empty query (all comments)
    -->
    <para>
     <!--
     Properly process empty queries (all comments). (Tatsuo Ishii)
     -->
     コメントのみを含む空クエリを適切に処理できるよう修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     <productname>Pgpool-II</productname> now recognizes an empty
     query consisted of all comments (for example "/* DBD::Pg
     ping test v3.5.3 */") (note that no ';') as an empty query.
     -->
     この修正で、<productname>Pgpool-II</productname>"/* DBD::Pg ping test v3.5.3 */" (';' を含まないことに注意)のような空クエリを正しく識別できるようになりました。
    </para>
    <para>
     <!--
     Before such that query was recognized an error.
     -->
     これまではエラークエリとして処理していました。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-02-01 [44f43cc]  Add some warning messages for wd_authkey hash calculation failure
    -->
    <para>
     <!--
     Add some warning messages for wd_authkey hash calculation failure. (Yugo Nagata)
     -->
     wd_authkey ハッシュ計算失敗時に警告メッセージを出力するようにしました。(Yugo Nagata)
    </para>
    <para>
     <!--
     Sometimes wd_authkey calculation fails for some reason other
     than authkey mismatch. The additional messages make these
     distinguishable for each other.
     -->
     たまに、認証キー不一致以外の何らかの理由で wd_authkey 計算に失敗することがあります。
     メッセージ出力を追加することでこれらを互いに区別できるようにしました。
    </para>
   </listitem>

  </itemizedlist>

 </sect2>

 <sect2>
  <!--
  <title>Changes</title>
  -->
  <title>変更点</title>

  <itemizedlist>

   <listitem>
    <!--
    2016-11-09 [f6ec434] Fix the broken log_destination = syslog functionality.
    -->
    <para>
     <!--
     Fix the broken log_destination = syslog functionality.
     -->
     log_destination = syslog 設定の不具合を修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     Fixing the logging to the syslog destination, which got broken by the
     PGPOOL SET/SHOW command commit, and also enhancing the log_destination
     configuration parameter to be assigned with the comma separated list of multiple
     destinations for the <productname>Pgpool-II</productname> log. Now, after this commit log_destination can
     be set to any combination of 'syslog' and 'stderr' log destinations.
     -->
     PGPOOL SET/SHOW コマンド追加の修正によって、ログの出力先がsyslogの場合、不具合がありましたので、修正しました。また、log_destinationパラメータがカンマ区切りで複数出力先を指定することができるようになりました。この修正によって、log_destination は "syslog" と "stderr" の任意の組み合わせに設定できるようになりました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-09-24 [cc33fe3] Change the default value of search_primary_node_timeout from 10 to 300.
    -->
    <para>
     <!--
     Change the default value of
     <xref linkend="guc-search-primary-node-timeout"> from 10 to 300. (Tatstuo Ishii)
     -->
     <xref linkend="guc-search-primary-node-timeout">のデフォルト値を10から300に変更しました。(Tatstuo Ishii)
    </para>
    <para>
     <!--
     Prior default value 10 seconds is sometimes too short for a standby to
     be promoted.
     -->
     これまでのデフォルト値10秒は、スタンバイを昇格する際には小さすぎでした。
    </para>
   </listitem>

   <listitem>
    <!--
    2016-06-09 [7671794] Change the Makefile under directory src/sql/,that is proposed by [pgpool-hackers: 1611]
    -->
    <para>
     <!--
     Change the <filename>Makefile</filename> under directory
     <filename>src/sql/</filename>, that is proposed by
     <ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2016-June/001611.html">
     [pgpool-hackers: 1611]</ulink>. (Bo Peng)
     -->
     src/sql/ 配下の Makefile が修正されました。(Bo Peng)
    </para>
    <para>
     詳しくは  <ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2016-June/001611.html">
      [pgpool-hackers: 1611]</ulink> を参照してください。
    </para>

   </listitem>
   <listitem>
    <!--
    2016-04-20 [883d761] Change the PID length of pcp_proc_count command output to 6 characters long
    -->
    <para>
     <!--
     Change the PID length of <link linkend="PCP-PROC-COUNT">pcp_proc_count</link> command output to 6 characters long. (Bo Peng)
     -->
     pcp_proc_count コマンドの出力結果のプロセス ID を 6 桁まで表示 できるよう修正しました。(Bo Peng)
    </para>
    <para>
     <!--
     If the <productname>Pgpool-II</productname> process ID are over 5 characters, the 6th character of each process ID
     will be removed. This commit changes the process ID length of <link linkend="PCP-PROC-COUNT">pcp_proc_count</link> command
     output to 6 characters long.
     -->
     特定の環境において、pcp_proc_count コマンドの出力結果のプロセス ID が6 桁の場合、
     6 番目の文字が表示されませんでした。 この修正で、プロセス ID が最大 6 桁まで表示するよう変更しました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-04-15 [9b62eca] Redirect all user queries to primary server
    -->
    <para>
     <!--
     Redirect all user queries to primary server. (Tatsuo Ishii)
     -->
     すべてのクエリがプライマリサーバに送信されるように変更しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Up to now some user queries are sent to other than the primary server
     even if <xref linkend="guc-load-balance-mode"> = off. This commit changes the behavior: if
     load_balance_mode = off in streaming replication mode, now all the
     user queries are sent to the primary server only.
     -->
     <xref linkend="guc-load-balance-mode"> = off の場合でも、一部のクエリがプライマリサーバ以外にも転送されていました。
      この修正で、 streaming replication モードで load_balance_mode = off
      の場合はすべてのクエリをプライマリサーバにのみ送るようにしました。
    </para>
   </listitem>
  </itemizedlist>
 </sect2>

 <sect2>
  <!--
  <title>Bug fixes</title>
  -->
  <title>不具合修正</title>

  <itemizedlist>
   <listitem>
    <!--
    2016-11-14 [266b67a]  Fixing a potential crash in pool_stream functions.
    -->
    <para>
     <!--
     Fixing a potential crash in pool_stream functions.
     -->
     pool_stream関数の潜在的なクラッシュを修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     POOL_CONNECTION->con_info should be checked for null value before de-referencing when read or write fails on backend socket.
     -->
     POOL_CONNECTION-> con_infoは、バックエンドソケットで読み取りまたは書き込みが失敗したときに、逆参照する前にヌル値をチェックする必要があります。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-11-14 [ef6c0c8] Fixing the design of failover command propagation on watchdog cluster
    -->
    <para>
     <!--
     Fixing the design of failover command propagation on watchdog cluster
     -->
     watchdogクラスタでのフェイルオーバーコマンドの転送処理が改善されました。(Muhammad Usama)
    </para>
    <para>
     <!--
     Overhauling the design of how failover, failback and promote node commands are
     propagated to the watchdog nodes. Previously the watchdog on pgpool-II node that
     needs to perform the node command (failover, failback or promote node) used to
     broadcast the failover command to all attached pgpool-II nodes. And this
     sometimes makes the synchronization issues, especially when the watchdog cluster
     contains a large number of nodes and consequently the failover command sometimes
     gets executed by more than one <productname>Pgpool-II</productname>.
     -->
     これまでは、<productname>Pgpool-II</productname> ノードの watchdogがすべての接続されたノードにフェイルオーバーコマンド(failover、 failback 及び promote node)を転送していました。多数のノードが含まれているwatchdogクラスタでは、フェールオーバーコマンドが複数の<productname>Pgpool-II</productname>によって実行されることによって、データの同期問題を引き起こす可能性がありました。このコミットでは、すべてのフェイルオーバーコマンド(failover、 failback 及び promote node)が master/coordinator watchdog に転送され、master/coordinator watchdogはすべてのスタンバイノードに転送するようになりました。
    </para>
    <para>
     <!--
     Now with this commit all the node commands are forwarded to the
     master/coordinator watchdog, which in turn propagates to all standby nodes.
     Apart from above the commit also changes the failover command interlocking
     mechanism and now only the master/coordinator node can become the lock holder
     so the failover commands will only get executed on the master/coordinator node.
     -->
     また、今回の修正では、インターロック機能も変更されました。master/coordinatorノーのみがロックホルダになり、フェイルオーバコマンドはmaster/coordinatorノードでのみ実行されます。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-09-27 [a7e459f] Fix the case when all backends are down then 1 node attached.
    -->
    <para>
     <!--
     Fix the case when all backends are down then 1 node attached. (Tatsuo Ishii)
     -->
     すべてのバックエンドがダウンした後に、1つのノードを復帰させる時の不具合が修正されました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     When all backends are down, no connection is accepted. Then 1
     <productname>PostgreSQL</productname> becomes up, and attach the node using pcp_attach_node. It
     successfully finishes. However, when a new connection arrives, still
     the connection is refused because<productname>Pgpool-II</productname> child process looks into the
     cached status, in which the recovered node is still in down status if
     mode is streaming replication mode (native replication and other modes
     are fine). Solution is, if all nodes are down, force to restart all
     pgpool child.
     -->
     すべてのノードがダウンすると、すべてのコネクションを受け付けなくなります。
     その状態で1つの<productname>PostgreSQL</productname>が起動し、<command>pcp_attach_node</command>コマンドでそのノードを復帰させます。
     そしてこのコマンドは成功しました。
     しかし、新しい接続が拒否されました。
     これは<productname>Pgpool-II</productname> の子プロセスがキャッシュされた古い情報を参照したのが原因でした。
     ストリーミングレプリケーションモードでは、このキャッシュされた情報において、復帰させたノードの状態がdownのままでした。
     （ネィティブレプリケーションモード、およびそれ以外のモードでは問題ありません）
     解決法として、全ノードがダウンした場合、強制的に全 <productname>Pgpool-II</productname>子プロセスを再起動するようにしました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-09-19 [e89e365] Fix for: [pgpool-general: 4997] Avoiding downtime when pgpool changes require a restart
    -->
    <para>
     <!--
     Fix for avoiding downtime when <productname>Pgpool-II</productname> changes require a restart. (Muhammad Usama)
     -->
     再起動が必要なパラメータの設定を変更した際の<productname>Pgpool-II</productname>停止が起こらないようにしました。(Muhammad Usama)
    </para>
    <para>
     <!--
     To fix this, the verification mechanism of configuration parameter values is
     reversed, previously the standby nodes used to verify their parameter values
     against the respective values on the master <productname>Pgpool-II</productname> node and when the
     inconsistency was found the FATAL error was thrown, now with this commit the
     verification responsibility is delegated to the master <productname>Pgpool-II</productname> node.
     Now the master node will verify the configuration parameter values of each
     joining standby node against its local values and will produce
     a WARNING message instead of an error in case of a difference.
     This way the nodes having the different configurations will also be allowed to
     join the watchdog cluster and the user has to manually look out for the
     configuration inconsistency warnings in the master <productname>Pgpool-II</productname> log to avoid the
     surprises at the time of <productname>Pgpool-II</productname> master switch over.
     -->
     この修正のために、設定パラメータの検証機構の順序を逆にしました。
     以前はスタンバイノードが<productname>Pgpool-II</productname>マスターノードに対して設定パラメータの値を検証し、不整合が見つかった場合にはFATALエラーが出力されていました。
     この修正で、<productname>Pgpool-II</productname>マスターノードに検証の役割が移譲されました。
     マスターノードは参加している個々のスタンバイノードの設定値をローカルの設定値と比較し、違っている場合にはエラーではなくてWARNINGメッセージを出力します。
     この方法では、ユーザは、手動でマスター<productname>Pgpool-II</productname>ログの中から不整合ワーニングを見つけて、<productname>Pgpool-II</productname>マスターのスイッチオーバが起きたときに驚くようなことが起こらないようにしなければなりません。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-09-19 [233ae46] Fixing a problem with the watchdog failover_command locking mechanism
    -->
    <para>
     <!--
     Fix a problem with the watchdog <xref linkend="guc-failover-command"> locking mechanism. (Muhammad Usama)
     -->
     watchdog が有効な場合、<xref linkend="guc-failover-command"> コマンドのロック取得時の処理が改善されました。(Muhammad Usama)
    </para>
   </listitem>
   <listitem>
    <!--
    2016-09-12 [b412da2] Disable strict aliasing optimization.
    -->
    <para>
     <!--
     Add compiler flag "-fno-strict-aliasing" in <filename>configure.ac</filename> to fix compiler error. (Tatsuo Ishii)
     -->
     コンパイルエラーを修正するために、<filename>configure.ac</filename>
     ファイルにコンパイルフラグ "-fno-strict-aliasing" が追加されました。(Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2016-09-09 [650c660] Do not use random() while generating MD5 salt.
    -->
    <para>
     <!--
     Do not use <function>random()</function> while generating MD5 salt. (Tatsuo Ishii)
     -->
     MD5 salt を生成するときに、<function>random()</function> を使用しないように修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     <function>random()</function> should not be used in security related applications.  To
     replace <function>random()</function>, import <function>PostmasterRandom()</function> from PostgreSQL.
     -->
     <function>random()</function>関数はセキュリティ関連のアプリケーションで使用すべきではありません。
     <function>random()</function>の代わりに<productname>PostgreSQL</productname>の<function>PostmasterRandom()</function> 使用するように変更しました。
    </para>

   </listitem>
   <listitem>
    <!--
    2016-09-05 [455df3d] Don't ignore sync message from frontend when query cache is enabled.
    -->
    <para>
     <!--
     Don't ignore sync message from frontend when query cache is enabled. (Tatsuo Ishii)
     -->
     クエリキャッシュが有効な場合、sync メッセージが廃棄されないよう修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2016-08-29 [4c23c9b] Fix for 237: Pgpool-II fails to start if listen_addresses is empty string
    -->
    <para>
     <!--
     Fix bug that <productname>Pgpool-II</productname> fails to start if <xref linkend="guc-listen-addresses"> is empty string. (bug 237) (Muhammad Usama)
     -->
     <xref linkend="guc-listen-addresses">が空文字の場合、Pgpool-II が起動できない不具合を修正しました。(bug 237) (Muhammad Usama)
    </para>
    <para>
     <!--
     The socket descriptor array (fds[]) was not getting the array end marker
     when TCP listen addresses are not used.
     -->
     TCP listen addresses が空の場合、socket descriptor 配列（fds[]）の終了マークがないのが原因でした。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-08-22 [879d16a] Create regression log directory if it does not exist yet.
    -->
    <para>
     <!--
     Create regression log directory if it does not exist yet. (Tatsuo Ishii)
     -->
     リグレッションログディレクトリが存在しない場合、作成されるようになりました。(Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2016-08-17 [37e376e] Fixing the error messages when the socket operation fails
    -->
    <para>
     <!--
     Fixing the error messages when the socket operation fails. (Muhammad Usama)
     -->
     ソケットの操作に失敗したときのエラーメッセージを修正しました。(Muhammad Usama)
    </para>
   </listitem>
   <listitem>
    <!--
    2016-08-15 [f2b5d17]  Fix regression failure of 003.failover.
    -->
    <para>
     <!--
     Update regression test 003.failover to reflect the changes made to
     <link linkend="SQL-SHOW-POOL-NODES">show pool_nodes</link>. (Tatsuo Ishii)
     -->
     <link linkend="SQL-SHOW-POOL-NODES">show pool_nodes</link> コマンドの修正を反映し、レグレッションテスト 003.failover を変更しました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-08-09 [a7bc4c8] Fix hang when portal suspend received
    -->
    <para>
     <!--
     Fix hang when portal suspend received. (bug 230) (Tatsuo Ishii)
     -->
     Portal suspend を受け取ったときのハングが修正されました。(bug 230) (Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2016-08-04 [3b2db66] Fix for 228: pgpool doesn't de-escalate IP in case network restored
    -->
    <para>
     <!--
     Fix pgpool doesn't de-escalate IP in case network restored. (bug 228) (Muhammad Usama)
     -->
     ネットワークが復旧した時にIPを降格しない問題を修正しました。(bug 228) (Muhammad Usama)
    </para>
    <para>
     <!--
     set_state function is made to de-escalate, when it is changing the local node's
     state from the coordinator state to some other state.
     -->
     ローカルノードの状態が調停者状態から他の状態に変わった時に降格させるために、set_state関数が実装されました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-08-02 [9b122ab]  SIGUSR1 signal handler should be installed before watchdog initialization.
    -->
    <para>
     <!--
     SIGUSR1 signal handler should be installed before watchdog initialization. (Muhammad Usama)
     -->
     SIGUSR1 シグナルハンドラーを watchdog の初期化前にインストールするように修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     Since there can be a case where a failover request from other watchdog nodes
     arrive at the same time when the watchdog has just been initialized,
     and if we wait any longer to install a SIGUSR1 signal handler, it can
     result in a potential crash
     -->
     watchdog 初期化直後に 他のwatchdog ノードから failover リクエストがあった場合、
     SIGUSR1 シグナルハンドラーのインストールを待っていれば、クラッシュが発生する可能性がありました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-08-01 [024eaea]  Fix for 215: pgpool doesn't escalate ip in case of another node unavailability
    -->
    <para>
     <!--
     Fix <productname>Pgpool-II</productname> doesn't escalate ip in case of another node unavailability. (bug 215) (Muhammad Usama)
     -->
     他のノードが利用できない場合、<productname>Pgpool-II</productname> が
     IPアドレスをエスカレートしない不具合を修正しました。(bug 215) (Muhammad Usama)
    </para>
    <para>
     <!--
     The heartbeat receiver fails to identify the heartbeat sender watchdog node when
     the heartbeat destination is specified in terms of an IP address while
     wd_hostname is configured as a hostname string or vice versa.
     -->
     Heartbeat destination が IPアドレスで指定され、wd_hostname が hostname で設定される場合、
     heartbeat receiver が heartbeat sender watchdog ノードを識別できなかったのが原因でした。
     逆の場合でも同様なエラーが起こります。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-07-29 [5bce300]  Fixing a coding mistake in watchdog code.
    -->
    <para>
     <!--
     Fixing a coding mistake in watchdog code. (Muhammad Usama)
     -->
     watchdog に関するコーデイングミスを修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     <function>wd_issue_failover_lock_command()</function> function is supposed to forward command type
     passed in as an argument to the <function>wd_send_failover_sync_command()</function> function instead
     it was passing the NODE_FAILBACK_CMD command type.
     -->
     <function>wd_issue_failover_lock_command()</function>関数は、渡ってきたコマンドタイプを<function>wd_send_failover_sync_command()</function>関数の引数に渡すように想定されていますが、その代わりにNODE_FAILBACK_CMDコマンドタイプを渡していました。
    </para>
    <para>
     <!--
     The commit also contains some log message enhancements.
     -->
     この修正で、いくつかのログメッセージも改善しました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-07-28 [541451e]  Display human readable output for backend node status.
    -->
    <para>
     <!--
     Display human readable output for backend node status. (Muhammad Usama)
     -->
     <link linkend="PCP-PROC-INFO">pcp_node_info</link> コマンドの標準出力の「Status」がわかりやすくように変更されました。(Muhammad Usama)

    </para>
    <para>
     <!--
     Changed the output of <link linkend="PCP-PROC-INFO">pcp_node_info</link> utility and show commands display human
     readable backend status string instead of internal status code.
     -->
     <link linkend="PCP-PROC-INFO">pcp_node_info</link> コマンドの標準出力の「Status」が内部状態コードから人間がわかりやすい状態の文字列に変更されました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-07-27 [3cbce4e]  Replace "MAJOR" macro to prevent occasional failure.
    -->
    <para>
     <!--
     Replace "MAJOR" macro to prevent occasional failure. (Tatsuo Ishii)
     -->
     「MAJOR」マクロによる発生しうるセグメンテーションフォルトを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     The macro calls <function>pool_virtual_master_db_node_id()</function> and then access
     backend->slots[id]->con using the node id returned. In rare cases, it
     could point to 0 (in case when the DB node is not connected), which
     gives access to con->major, then it causes a segfault.
     -->
     MAJOR が <function>pool_virtual_master_db_node_id()</function> を呼出し、
     戻り値 idを使ってbackend->slots[id]->con にアクセスします。
     可能性は低いですが、conが0を指し（DB にアクセスできない場合）、con->major にアクセスし、セグメンテーションフォルトを引き起す可能性がありました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-07-14 [866575c]  Fix for  [pgpool-hackers: 1501]  kind does not match error
    -->
    <para>
     <!--
     Fix "kind mismatch" error message in <productname>Pgpool-II</productname>. (Muhammad Usama)
     -->
     "kind mismatch" エラーメッセージの処理について修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     Many of "kind mismatch..." errors are caused by notice/warning
     messages produced by one or more of the DB nodes. In this case now
     <productname>Pgpool-II</productname> forwards the messages to frontend, rather than throwing the
     "kind mismatch..." error. This would reduce the chance of "kind
     mismatch..."  errors.
     -->
     多くの"kind mismatch..."エラーは、NOTICE や WARNING メッセージが
     DBノードのいくつかで起こることによるものです。
     この修正では、そうしたケースにおいて、"kind mismatch..."エラーを引き起こすのではなく、
     NOTICE や WARNINGメッセージをフロントエンドに送るようになりました。
     これにより、"kind mismatch..."エラーの発生が減少します。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-07-14 [680e329]  Fix handling of pcp_listen_addresses config parameter.
    -->
    <para>
     <!--
     Fix handling of <xref linkend="guc-pcp-listen-addresses"> config parameter. (Muhammad Usama)
     -->
     <xref linkend="guc-pcp-listen-addresses"> パラメータの処理の不具合を修正しました。(Muhammad Usama)
    </para>
   </listitem>
   <listitem>
    <!--
    2016-07-07 [e245587]  Save and restore errno in each signal handler.
    -->
    <para>
     <!--
     Save and restore errno in each signal handler. (Tatsuo Ishii)
     -->
     シグナルハンドラ中でエラー番号が保存されるようになりました。 (Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    commit 0d1cdf96feb77de6f1dfc2d46ecd7467325d1f79
    2016-07-07 [0d1cdf9] Fix usage of wait(2) in pgpool main process
    -->
    <para>
     <!--
     Fix usage of <function>wait(2)</function> in pgpool main process. (Tatsuo Ishii)
     -->
     pgpool メインプロセスの <function>wait(2)</function> の扱いを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     The usage of <function>wait(2)</function> in <productname>Pgpool-II</productname>
     main could cause infinite wait in the system call. Solution is,
     to use <function>waitpid(2)</function> instead of <function>wait(2)</function>.
     -->
     <productname>Pgpool-II</productname> メインプロセスから呼び出される<function>wait(2)</function>はそのシステムコール内で永久に待つ可能性があります。
     この修正で、 <function>wait(2)</function> の代わりに、<function>waitpid(2)</function> を使うように変更しました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-06-28 [bb41a1e]  Fix confusing error messages.
    -->
    <para>
     <!--
     Fix confusing error messages. (Tatsuo Ishii)
     -->
     <xref linkend="guc-failover-on-backend-error"> が off の場合、
      <function>read(2)</function> が -1 を返しても
      <function>pool_read()</function> がエラーメッセージを発行しない不具合が修正されました。(Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2016-06-24 [a01624f]  Fix buffer over run problem in "show pool_nodes".
    -->
    <para>
     <!--
     Fix buffer over run problem in "show pool_nodes". (Tatsuo Ishii)
     -->
     <command>show pool_nodes</command> でのバッファオーバーランを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     While processing "show pool_nodes", the buffer for hostname was too
     short. It should be same size as the buffer used for <filename>pgpool.conf</filename>.
     -->
     <command>show pool_nodes</command> を実行時、hostname に割り当てられたバッファが十分ではないのが原因でした。
     <filename>pgpool.conf</filename> のバッファサイズと同じようにしました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-06-17 [4c63d10]  Fixing [pgpool-hackers: 1638] pgpool-II does not use default configuration
    -->
    <para>
     <!--
     Fix <ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2016-June/001638.html">
     [pgpool-hackers: 1638]</ulink> pgpool-II does not use default configuration. (Muhammad Usama)
     -->
     <ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2016-June/001638.html">
      [pgpool-hackers: 1638]</ulink> で報告された、<productname>Pgpool-II</productname>
     がデフォルトの設定を使用しない不具合が修正されました。(Muhammad Usama)
    </para>
    <para>
     <!--
     Configuration file not found should just throw a WARNING message
     instead of ERROR or FATAL.
     -->
     設定ファイルが見つからない場合は、 ERROR または FATAL ではなく、WARNING を返すように修正しました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-06-15 [226a21b]  Fix bug with load balance node id info on shmem
    -->
    <para>
     <!--
     Fix bug with load balance node id info on shmem. (Tatsuo Ishii)
     -->
     共有メモリ上のロードバランスノードの書き込みに関するバグを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     There are few places where the load balance node was mistakenly put on
     wrong place. It should be placed on:
     -->
     2, 3の箇所で、ロードバランスノードが間違ったことろに置かれてしまいました。
    </para>
    <para>
     [正しい場所]
    </para>
    <programlisting>
     ConnectionInfo *con_info[child id, connection pool_id, backend id].load_balancing_node].
    </programlisting>
    <!--
    In fact it was placed on:
    -->
    <para>
     [実際に置かれた場所]
    </para>
    <programlisting>
     *con_info[child id, connection pool_id, 0].load_balancing_node].
    </programlisting>
    <para>
     <!--
     As long as the backend id in question is 0, it is ok. However while
     testing <productname>Pgpool-II</productname> 3.6's enhancement regarding failover, if primary
     node is 1 (which is the load balance node) and standby is 0, a client
     connecting to node 1 is disconnected when failover happens on node
     0. This is unexpected and the bug was revealed.
     -->
     バックエンド id が 0 の場合、上記バグが発生しませんが、<productname>Pgpool-II</productname> 3.6 のフェイルオーバーテストで、プライマリノードが 1 (ロードバランスノード)、スタンバイノードが 0 の場合、ノード1 の接続が切断され、フェイルオーバーが起きています。
     これは想定外のことだったのでこのバグが見つかりました。
    </para>
    <para>
     <!--
     It seems the bug was there since long time ago but it had not found
     until today by the reason above.
     -->
     このバグはかなり前からありましたが、上記の理由で、今まで見つかっておリませんでした。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-06-09 [6ae42e7]  fix for 0000197: pgpool hangs connections to database.
    -->
    <para>
     <!--
     Fix for bug that pgpool hangs connections to database. (bug 197) (Muhammad Usama)
     -->
     #197 で報告されたpgpoolのハングを修正しました。(bug 197) (Muhammad Usama)
    </para>
    <para>
     <!--
     The client connection was getting stuck when backend node and remote <productname>Pgpool-II</productname>
     node becomes unavailable at the same time. The reason was a missing command
     timeout handling in the function that sends the IPC commands to watchdog.
     -->
     watchdog が有効で、バックエンドノードとリモート <productname>Pgpool-II</productname>ノードが同時接続できなくなった場合、クライアント接続がスタックします。
     原因は watchdog に IPC コマンドを送信する関数を呼び出すコマンドタイムアウトがなかったからです。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-06-08 [294cf4a]  Fix a possible hang during health checking
    -->
    <para>
     <!--
     Fix a possible hang during health checking. (bug 204) (Yugo Nagata)
     -->
     ヘルスチェックで発生し得るハングアップを修正しました。(bug 204) (Yugo Nagata)
    </para>
    <para>
     <!--
     Health checking was hang when any data wasn't sent
     from backend after <function>connect(2)</function> succeeded. To fix this,
     <function>pool_check_fd()</function> returns 1 when <function>select(2)</function> exits with
     EINTR due to SIGALRM while health checking is performed.
     -->
     <function>connect(2)</function> が成功し、
     その後バックエンドからデータが送信されない場合、ヘルスチェックがハングしていました。
     ヘルスチェック中に、<function>select(2)</function>がSIGALRMのためにEINTRで終了した場合、<function>pool_check_fd()</function>が1を返すように修正しました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-05-25 [a2d04ab]  Deal with the case when the primary is not node 0 in streaming replication mode.
    -->
    <para>
     <!--
     Deal with the case when the primary is not node 0 in streaming replication mode. (Tatsuo Ishii)
     -->
     streaming replication モードで、プライマリノードが 0 ではない場合に発生する不具合が修正されました。 (Tatsuo Ishii)
    </para>
    <para>
     <!--
     <ulink url="http://www.pgpool.net/mantisbt/view.php?id=194#c837">
     http://www.pgpool.net/mantisbt/view.php?id=194#c837</ulink> reported that if
     primary is not node 0, then statement timeout could occur even after
     bug194-3.3.diff was applied. After some investigation, it appeared
     that MASTER macro could return other than primary or load balance
     node, which was not supposed to happen, thus <function>do_query()</function> sends queries
     to wrong node (this is not clear from the report but I confirmed it in
     my investigation).
     -->
     <ulink url="http://www.pgpool.net/mantisbt/view.php?id=194#c837">http://www.pgpool.net/mantisbt/view.php?id=194#c837</ulink>の報告により、bug194-3.3.diff を適用しても、プライマリノードが 0 ではない場合、ステートメントタイムアウトが発生する可能性がありました。
     調査した結果、MASTER マクロがプライマリノードまたはロードバランスノード
     以外のノードを返したからです。
     そのため、<function>do_query()</function>がクエリを間違ったノードに送信していました（これは報告では明確ではありませんでしが、 調査で確認できました）。
    </para>
    <para>
     <!--
     <function>pool_virtual_master_db_node_id()</function>, which is called in MASTER macro
     returns query_context->virtual_master_node_id if query context
     exists. This could return wrong node if the variable has not been set
     yet. To fix this, the function is modified: if the variable is not
     either load balance node or primary node, the primary node id is
     returned.
     -->
     MASTER マクロから呼ばれる<function>pool_virtual_master_db_node_id()</function> は、クエリコンテキストが存在する場合、query_context->virtual_master_node_id を返します。
     その変数がまだ初期化されていない場合、この関数が間違ったノード を返す可能性があります。
     そのため、<function>pool_virtual_master_db_node_id()</function> 関数を以下のように修正しました。
     変数にプライマリノードもロード バランスノードも設定されていない場合、プライマリノードを返します。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-05-24 [69d3fae]  If statement timeout is enabled on backend and do_query() sends a
    -->
    <para>
     <!--
     If statement timeout is enabled on backend and <function>do_query()</function>
     sends a query to primary node, and all of following user queries are sent to
     standby, it is possible that the next command, for example END, could
     cause a statement timeout error on the primary, and a kind mismatch
     error on pgpool-II is raised. (bug 194) (Tatsuo Ishii)
     -->
     バックエンドのステートメントタイムアウトが有効で、<function>do_query()</function>がクエリをプライマリノードに送信し、それ以降のユーザクエリがスタンバイノードに送信された場合、次のコマンド、例えば、ENDコマンドが、プライマリノードのステートメントタイムアウトを引き起こし、kind mismatch error が発生する可能性がありました。(bug 194) (Tatsuo Ishii)
    </para>
    <para>
     <!--
     This fix tries to mitigate the problem by sending sync message instead
     of flush message in <function>do_query()</function>, expecting that the sync message reset
     the statement timeout timer if we are in an explicit transaction. We
     cannot use this technique for implicit transaction case, because the
     sync message removes the unnamed portal if there's any.

     Plus, pg_stat_statement will no longer show the query issued by
     do_query() as "running".
     -->
     この問題を軽減するために、<function>do_query()</function>
     がフラッシュメッセージを送信する代わりに、sync メッセージ送信するように修正しました。
     明示的トランザクションのときは、sync メッセージを送信することで、ステートメントタイムアウトタイマーがリセットされます。
     暗黙的なトランザクションでは、このやり方は使えません。
     なぜなら、unnamed portal が存在する場合、sync メッセージが unnamed portalを削除するからです。
    </para>
    <para>
     <!--
     Plus, pg_stat_statement will no longer show the query issued by
     <function>do_query()</function> as "running".
     -->
     更にこれにより、pg_stat_statement が <function>do_query()</function> が発行したクエリを "running" で表示しなくなります。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-05-22 [0c0e727]  Fix extended protocol handling in raw mode
    -->
    <para>
     <!--
     Fix extended protocol handling in raw mode. (Tatsuo Ishii)
     -->
     拡張プロトコルのraw モードでのバグを修正しました。(bug 152) (Tatsuo Ishii)
    </para>
    <para>
     <!--
     Bug152 reveals that extended protocol handling in raw mode (actually
     other than in stream mode) was wrong in <function>Describe(</function>) and <function>Close()</function>.
     Unlike stream mode, they should wait for backend response.
     -->
     Bug 152の報告により、拡張プロトコルの raw モード（実は stream モード以外）で
     <function>Describe()</function> と <function>Close()</function>
     の処理に誤りがありました。stream モードとは異なり、バックエンドからの応答を待つべきでした。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-05-20 [78c5d56]  Fix confusing comments in pgpool.conf
    -->
    <para>
     <!--
     Fix confusing comments in <filename>pgpool.conf</filename>. (Tatsuo Ishii)
     -->
     <filename>pgpool.conf</filename> の不正確なコメントを修正しました。(Tatsuo Ishii)
    </para>
   </listitem>
   <listitem>
    <!--
    2016-05-11 [de905f6]  Fix documentation bug about raw mode
    -->
    <para>
     <!--
     Fix  Japanese and Chinese documentation bug about raw mode. (Yugo Nagata, Bo Peng)
     -->
     日本語と中国語ドキュメントのraw モードに関する内容の誤りを修正しました。(Yugo Nagata, Bo Peng)
    </para>
    <para>
     <!--
     Connection pool is available in raw mode.
     -->
     raw モードでも、コネクションプーリングが有効です。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-05-09 [9512999] Fix is_set_transaction_serializable() when
    SET default_transaction_isolation TO 'serializable'.
    -->
    <para>
     <!--
     Fix is_<function>set_transaction_serializable()</function> when
     SET default_transaction_isolation TO 'serializable'. (bug 191) (Bo Peng)
     -->
     <function>is_set_transaction_serializable()</function>関数の<command>SET default_transaction_isolation TO 'serializable'</command>の扱いに関するバグを修正しました。(bug 191) (Bo Peng)
    </para>
    <para>
     <!--
     SET default_transaction_isolation TO 'serializable' is sent to
     not only primary but also to standby server in streaming replication mode,
     and this causes an error. Fix is, in streaming replication mode,
     SET default_transaction_isolation TO 'serializable' is sent only to the
     primary server.
     -->
     <productname>Pgpool-II</productname> は <command>SET default_transaction_isolation TO 'serializable'</command>
     をプライマリだけではなく、スタンバイにも送信してしまい、エラーが起きていました。
     この修正で、streaming replication モードの場合、<command>SET default_transaction_isolation TO 'serializable'</command>
     がプライマリサーバのみに送信されます。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-04-13 [a5fdf78]  Fix extended protocol hang with empty query
    -->
    <para>
     <!--
     Fix extended protocol hang with empty query. (bug 190) (Tatsuo Ishii)
     -->
     拡張プロトコルにおける空クエリの場合、発生し得るハングアップを修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     The fixes related to extended protocol cases in 3.5.1 broke the case
     of empty query.  In this case backend replies with "empty query
     response" which is same meaning as a command complete message. Problem
     is, when empty query response is received, pgpool does not reset the
     query in progress flag thus keeps on waiting for backend. However,
     backend will not send the ready for query message until it receives a
     sync message. Fix is, resetting the in progress flag after receiving
     the empty query response and reads from frontend expecting it sends a
     sync message.
     -->
     この修正は3.5.1で空のクエリの場合の拡張プロトコルの扱いに関係しています。
     この場合バックエンドはcommand complete messageと同じ意味を持つ"empty query response"を返します。
     問題は、"empty query response"を受信した際に、<productname>Pgpool-II</productname>がクエリ進行中フラグをリセットせず、 バックエンドの応答を待ち続けることことです。
     しかし、バックエンドはsyncメッセージをを受け取るまではready for queryメッセージを返しません。
     解決方法は、"empty query response"を受信した際に、クエリ進行中フラグをリセットし、フロントエンドがsync メッセージを送信することを期待してフロントエンドからの応答を待つことです。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-04-05 [64696fd]  Fix for [pgpool-general: 4569] PGPoolII-3.5 : segfault
    -->
    <para>
     <!--
     Fix for <ulink url="http://www.pgpool.net/pipermail/pgpool-general/2016-March/004627.html">
     [pgpool-general: 4569]</ulink> segfault during trusted_servers check. (Muhammad Usama)
     -->
     <ulink url="http://www.pgpool.net/pipermail/pgpool-general/2016-March/004627.html">
      [pgpool-general: 4569]</ulink> により報告された
     trusted_servers チェック時のセグメンテーションフォルトを修正しました。 (Muhammad Usama)
    </para>
    <para>
     <!--
     PostgreSQL's memory and exception manager APIs adopted by the <productname>Pgpool-II</productname> 3.4 are not
     thread safe and are causing the segmentation fault in the watchdog lifecheck
     process, as it uses the threads to ping configured trusted hosts for checking
     the upstream connections.
     Fix is to remove threads and use the child process approach instead.
     -->
     <productname>Pgpool-II</productname> 3.4 からは <productname>PostgreSQL</productname>
     のメモリマネージャおよび 例外マネージャ API を流用していますが、
     それはスレッドセーフ ではありません。上位接続を確認するため ping の応答で信頼できるサーバ確認時、
     watchdog lifecheck プロセスでセグメンテ ーションフォルトを引き起こしていました。
     スレッドを削除し、 子プロセスを使うように修正しました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-03-29 [f7723c8]  Validating the PCP packet length
    -->
    <para>
     <!--
     Validating the PCP packet length. (Muhammad Usama)
     -->
     PCP パケットの長さを検証するよう修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     Without the validation check, a malformed PCP packet can crash the PCP child
     and/or can run the server out of memory by sending the packet with a
     very large data size.
     -->
     この検証がない場合、非常に巨大なデータサイズのパケットを送信することで、
     不正な PCP パケットが PCP 子プロセスをクラッシュさせたり、サーバで out of memory を発生させることが可能でした。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-03-26 [d1c03f2]  Fix pgpool_setup to not confuse log output
    -->
    <para>
     <!--
     Fix <link linkend="PGPOOL-SETUP">pgpool_setup </link> to not confuse log output. (Tatsuo Ishii)
     -->
     <link linkend="PGPOOL-SETUP">pgpool_setup</link>がログ出力を混乱させないように修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     Before it simply redirects the stdout and stderr of pgpool process to
     a log file. This could cause log contents being garbled or even
     missed because of race condition caused by multiple process being
     writing concurrently.
     -->
     以前は <productname>Pgpool-II</productname> プロセスの stdout および stderr
     は単にログファイルにリダイレクトされていました。
     これは複数プロセスが同時に書き込みを行うため競合が発生し、
     ログの文字化けや消失の原因となっていました。
    </para>

    <para>
     <!--
     To fix this, <link linkend="PGPOOL-SETUP">pgpool_setup </link> now generates startall script so that pgpool
     now sends stdout/stderr to cat command and cat writes to the log file
     (It seems the race condition does not occur when writing to a pipe).
     -->
     このため、<link linkend="PGPOOL-SETUP">pgpool_setup </link>
     が生成する startall スクリプトでは、<productname>Pgpool-II</productname>
     は stdout/stderr を cat コマンドにパイプで送信し、
     cat がログファイルの書き込みを行うように修正されました。
     （パイプに書き込む際にはこの競合状態は発生しないようです）
    </para>
   </listitem>
   <listitem>
    <!--
    2016-03-07 [e55c230]  Fix for [pgpool-general: 4519] Worker Processes Exit and Are Not Re-spawned
    -->
    <para>
     <!--
     Fix for <ulink url="http://www.pgpool.net/pipermail/pgpool-general/2016-March/004577.html">
     [pgpool-general: 4519]</ulink> Worker Processes Exit and Are Not Re-spawned. (Muhammad Usama)
     -->
     <ulink url="http://www.pgpool.net/pipermail/pgpool-general/2016-March/004577.html">[pgpool-general: 4519]</ulink> により報告されたワーカープロセスが終了し再生成されなくなる不具合を修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     The problem was due to a logical mistake in the code for checking the exiting
     child process type when the watchdog is enabled.
     I have also changed the severity of the message from FATAL to LOG, emitted
     for child exits due to max connection reached.
     -->
     この問題は watchdog が有効のときに終了した子プロセスのタイプをチェックするコードにロジック間違いがあったのが原因でした。
     また、接続が max connection に達して子プロセスが終了する際に出力されるメッセージの重要度を FATAL からLOG に変更されました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-03-04 [67ac541]  Fix pgpool hung after receiving error state from backend
    -->
    <para>
     <!--
     Fix pgpool hung after receiving error state from backend. (bug #169) (Tatsuo Ishii)
     -->
     バックエンドからエラー状態を受信した後のハングを修正しました。 (bug #169) (Tatsuo Ishii)
    </para>
    <para>
     <!--
     This could happened if we execute an extended protocol query and it fails.
     -->
     これは拡張プロトコル問い合わせを実行しそれが失敗したときに発生し得ました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-03-03 [bb295a2]  Fix query stack problems in extended protocol case.
    -->
    <para>
     <!--
     Fix query stack problems in extended protocol case. (bug 167, 168) (Tatstuo Ishii)
     -->
     ストリーミングレプリケーションモードで拡張プロトコル問い合わせを使用したときに
     スタックが発生する問題を修正しました。(bug 167, 168) (Tatsuo Ishii)
    </para>
    <para>
    </para>
   </listitem>
   <listitem>
    <!--
    2016-03-03 [63a0b70]  Fix yet another reset query stuck problem
    -->
    <para>
     <!--
     Fix <ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2016-March/001440.html">
     [pgpool-hackers: 1440]</ulink> yet another reset query stuck problem. (Tatsuo Ishii)
     -->
     <ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2016-March/001440.html">
      [pgpool-hackers: 1440]</ulink> により報告されたリセットクエリがスタックする問題を修正しました。(Tatsuo Ishii)
    </para>
    <para>
     <!--
     After receiving X message from frontend, if <productname>Pgpool-II</productname> detects EOF on
     the connection before sending reset query, <productname>Pgpool-II</productname> could wait for
     backend which had not received the reset query. To fix this, if EOF
     received, treat this as FRONTEND_ERROR, rather than ERROR.
     -->
     フロントエンドから 'X' メッセージを受信した後、リセットクエリ送信前に <productname>Pgpool-II</productname> が
     EOF をその接続で検出すると、<productname>Pgpool-II</productname>
     がリセットクエリを受信していないバックエンドからの応答を待ち続けることがありました。
     EOF を受信した場合には、これを ERROR ではなく FRONTEND_ERROR として扱うことで修正しました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-02-22 [f1cfeb6]  Yet another reset query stuck problem fix. [pgpool-general: 4265]
    -->
    <para>
     <!--
     Fix for <ulink url="http://www.pgpool.net/pipermail/pgpool-general/2015-December/004323.html">
     [pgpool-general: 4265]</ulink> another reset query stuck problem. (Muhammad Usama)
     -->
     <ulink url="http://www.pgpool.net/pipermail/pgpool-general/2015-December/004323.html">[pgpool-general: 4265]</ulink>
     より報告されたリセットクエリがスタックする問題を修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     The solution is to report FRONTEND_ERROR instead of simple ERROR when
     pool_flush on front-end socket fails.
     -->
     フロントエンドソケットにおける pool_flush が失敗したときには、ERRORではなく FRONTEND_ERROR を発生させることで解決しました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-02-12 [c50f357] Fixing pgpool-recovery module compilation issue with PostgreSQL 9.6
    -->
    <para>
     <!--
     Fixing pgpool-recovery module compilation issue with <productname>PostgreSQL</productname> 9.6. (Muhammad Usama)
     -->
     <productname>PostgreSQL</productname> 9.6における pgpool-recovery モジュールのコンパイルエラーを修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     Incorporating the change of function signature for
     <function>GetConfigOption()</function> functions in <productname>PostgreSQL</productname> 9.6
     -->
     <productname>PostgreSQL</productname> 9.6 の <function>GetConfigOption()</function>
     関数の関数定義の変化に対応しました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-02-03 [48e9d4b]  Fix for [pgpool-II 0000166]: compile issue on freebsd
    -->
    <para>
     <!--
     Fix compile issue on freebsd. (Muhammad Usama)
     -->
     FreeBSD でのコンパイルエラーを修正しました。(Muhammad Usama)
    </para>
    <para>
     <!--
     Add missing include files. The patch is contributed by
     the bug reporter and enhanced a little by me.
     -->
     不足していた include ファイルを追加しました。
     パッチはバグ報告者によって作成され、Usama により改善されました。
    </para>
   </listitem>
   <listitem>
    <!--
    2016-02-01 [6688332]  Fix regression test to check timeout of each test
    -->
    <para>
     <!--
     Fix regression test to check timeout of each test. (Yugo Nagata)
     -->
     個々のテストのタイムアウトをチェックできるようレグレッションテストを修正しました。(Yugo Nagata)
    </para>
   </listitem>

  </itemizedlist>

 </sect2>

</sect1>

