<!-- doc/src/sgml/release-3.7.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+<sect1 id="release-3-7-23">
+ <title>リリース 3.7.23</title>
+ <note>
+ <title>リリース日</title>
+ <simpara>2022-02-17</simpara>
+ </note>
+
+ <sect2>
+ <title>変更点</title>
+ <itemizedlist>
+ <listitem>
+ <!--
+ 2022-01-06 [6ccbbee4]
+ -->
+ <para>
+ <varname>in_hot_standby</varname>によるメッセージ長の違いに関する不要なログを抑制しました。(Tatsuo Ishii)
+ </para>
+ <para>
+ PostgreSQL 14 は新しいパラメータを導入しました: <ulink url="https://www.postgresql.org/docs/14/runtime-config-preset.html">in_hot_standby</ulink>
+ </para>
+ <para>
+ この値はスタンバイサーバの場合は "on" で、プライマリサーバの場合は "off" になります。
+ その結果 pgpool のログは以下のメッセージで溢れていました。
+ </para>
+
+ <programlisting>
+ LOG: reading message length
+ DETAIL: message length (22) in slot 1 does not match with slot 0(23)
+ </programlisting>
+
+ <para>
+ これを防ぐために、パラメータ名が<varname>in_hot_standby</varname>でない場合にのみログを出力するようになりました。
+ </para>
+ <para>
+ また、メッセージにパラメータ名を表示するようになりました。例を示します。
+ </para>
+
+ <programlisting>
+ LOG: ParameterStatus "TimeZone": node 1 message length 30 is different from main node message length 24
+ </programlisting>
+
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-December/004077.html">[pgpool-hackers: 4076]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-13 [fd8b0fb2]
+ -->
+ <para>
+ パラメータステータスの取り扱いを変更しました。(Tatsuo Ishii)
+ </para>
+ <para>
+ バックエンドからパラメータステータスのメッセージが届いたときにただメモリー上に記憶するだけでなく、フロントエンドに転送するようになりました。
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>不具合修正</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2022-01-31 [3f3c8ade]
+ -->
+ <para>
+ <command>pcp_node_info</command>の実行の際に長時間待機する不具合を修正しました。(Tatsuo Ishii)
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-January/004110.html">[pgpool-hackers: 4109]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-02 [0ef11f32]
+ -->
+ <para>
+ <productname>Coverity</productname>によって見つかったヘルスチェックプロセスの問題を修正しました。(Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-02 [9c663530]
+ -->
+ <para>
+ <productname>Coverity</productname>によって見つかったメモリリークを修正しました。(Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-06 [04679cb6]
+ -->
+ <para>
+ プライマリノードが存在しない場合の対処をするように<function>failover()</function>を修正しました。(Tatsuo Ishii)
+ </para>
+ <para>
+ プライマリノードが存在しない場合に pgpool が起動したときなど<varname>Req_info->primary_node_id</varname>が -1 である場合に<function>failover()</function>は<function>find_primary_node_repeatedly()</function>の呼び出しをスキップしていました。
+ また、<varname>follow_master_command</varname>も実行されませんでした。
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-February/004114.html">[pgpool-hackers: 4113]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-10 [81cb3ccd]
+ -->
+ <para>
+ バックエンドに接続できないときにストリーミングレプリケーションチェックプロセスがリトライしないように修正しました。(<ulink url="https://www.pgpool.net/mantisbt/view.php?id=742">bug 742</ulink>)(Bo Peng)
+ </para>
+ <para>
+ このリトライによってフェイルオーバに時間がかかっていました。
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>ドキュメント修正</title>
+ <itemizedlist>
+ <listitem>
+ <!--
+ 2022-01-07 [3a01e9ff]
+ -->
+ <para>
+ <varname>ParameterStatus</varname>と<varname>in_hot_standby</varname>パラメータに関する制約を追加しました。(Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-02 [285669de]
+ -->
+ <para>
+ <varname>set_config</varname>に関する制約を追加しました。(Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>テストツール修正</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2022-02-07 [422d3541]
+ 2022-02-06 [00cf7715]
+ -->
+ <para>
+ <command>pgpool_setup</command>が作成するfailoverスクリプトを修正しました。(Tatsuo Ishii)
+ </para>
+ <para>
+ <command>pgpool_setup</command>が<filename>failover.sh</filename>を作成するとき、プライマリサーバが存在しない場合を考慮していませんでした。
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>回帰テスト修正</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2021-12-22 [be947277]
+ -->
+ <para>
+ 再コンパイルしないで既存のインストールで回帰テストを実行できるようになりました。(Tatsuo Ishii)
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-December/004078.html">[pgpool-hackers: 4077]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-01-13 [20b9a031]
+ -->
+ <para>
+ noinstall モード時の<command>pgpool_setup</command>と<command>watchdog_setup</command>のバイナリパスを修正しました。(Bo Peng)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+</sect1>
+
<sect1 id="release-3-7-22">
<title>リリース 3.7.22</title>
<note>
<!-- doc/src/sgml/release-4.0.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+<sect1 id="release-4-0-18">
+ <title>リリース 4.0.18</title>
+ <note>
+ <title>リリース日</title>
+ <simpara>2022-02-17</simpara>
+ </note>
+
+ <sect2>
+ <title>変更点</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2022-01-06 [34c0c8d9]
+ -->
+ <para>
+ <varname>in_hot_standby</varname>によるメッセージ長の違いに関する不要なログを抑制しました。(Tatsuo Ishii)
+ </para>
+ <para>
+ PostgreSQL 14 は新しいパラメータを導入しました: <ulink url="https://www.postgresql.org/docs/14/runtime-config-preset.html">in_hot_standby</ulink>
+ </para>
+ <para>
+ この値はスタンバイサーバの場合は "on" で、プライマリサーバの場合は "off" になります。
+ その結果 pgpool のログは以下のメッセージで溢れていました。
+ </para>
+
+ <programlisting>
+ LOG: reading message length
+ DETAIL: message length (22) in slot 1 does not match with slot 0(23)
+ </programlisting>
+
+ <para>
+ これを防ぐために、パラメータ名が<varname>in_hot_standby</varname>でない場合にのみログを出力するようになりました。
+ </para>
+ <para>
+ また、メッセージにパラメータ名を表示するようになりました。例を示します。
+ </para>
+
+ <programlisting>
+ LOG: ParameterStatus "TimeZone": node 1 message length 30 is different from main node message length 24
+ </programlisting>
+
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-December/004077.html">[pgpool-hackers: 4076]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-13 [b5701e05]
+ -->
+ <para>
+ パラメータステータスの取り扱いを変更しました。(Tatsuo Ishii)
+ </para>
+ <para>
+ バックエンドからパラメータステータスのメッセージが届いたときにただメモリー上に記憶するだけでなく、フロントエンドに転送するようになりました。
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>不具合修正</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2022-01-31 [da2b7f13]
+ -->
+ <para>
+ <command>pcp_node_info</command>の実行の際に長時間待機する不具合を修正しました。(Tatsuo Ishii)
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-January/004110.html">[pgpool-hackers: 4109]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-02 [59cb9418]
+ -->
+ <para>
+ <productname>Coverity</productname>によって見つかったヘルスチェックプロセスの問題を修正しました。(Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-02 [5e39be1f]
+ -->
+ <para>
+ <productname>Coverity</productname>によって見つかったメモリリークを修正しました。(Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-06 [f87d3b51]
+ -->
+ <para>
+ プライマリノードが存在しない場合の対処をするように<function>failover()</function>を修正しました。(Tatsuo Ishii)
+ </para>
+ <para>
+ プライマリノードが存在しない場合に pgpool が起動したときなど<varname>Req_info->primary_node_id</varname>が -1 である場合に<function>failover()</function>は<function>find_primary_node_repeatedly()</function>の呼び出しをスキップしていました。
+ また、<varname>follow_master_command</varname>も実行されませんでした。
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-February/004114.html">[pgpool-hackers: 4113]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-10 [9418df10]
+ -->
+ <para>
+ バックエンドに接続できないときにストリーミングレプリケーションチェックプロセスがリトライしないように修正しました。(<ulink url="https://www.pgpool.net/mantisbt/view.php?id=742">bug 742</ulink>)(Bo Peng)
+ </para>
+ <para>
+ このリトライによってフェイルオーバに時間がかかっていました。
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>ドキュメント修正</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2022-01-04 [beb17035]
+ -->
+ <para>
+ ドキュメントの誤字を修正しました。(pengbo)
+ </para>
+ <para>
+ パッチはUmar Hayatによって提供されました。
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-01-04 [6503b2cc]
+ -->
+ <para>
+ <productname>PostgreSQL</productname> YUM リポジトリから<productname>Pgpool-II</productname>がインストールされないように /etc/yum.repos.d/pgdg-redhat-all.repo を"exclude"する設定を追加しました。(Bo Peng)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-01-07 [019bc2f9]
+ -->
+ <para>
+ <varname>ParameterStatus</varname>と<varname>in_hot_standby</varname>パラメータに関する制約を追加しました。(Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-02 [5cd03ce7]
+ -->
+ <para>
+ <varname>set_config</varname>に関する制約を追加しました。(Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>テストツール修正</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2022-02-06 [c58fcb94]
+ 2022-02-07 [3192ba94]
+ -->
+ <para>
+ <command>pgpool_setup</command>が作成するfailoverスクリプトを修正しました。(Tatsuo Ishii)
+ </para>
+ <para>
+ <command>pgpool_setup</command>が<filename>failover.sh</filename>を作成するとき、プライマリサーバが存在しない場合を考慮していませんでした。
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>回帰テスト修正</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2021-12-22 [022ba990]
+ -->
+ <para>
+ 再コンパイルしないで既存のインストールで回帰テストを実行できるようになりました。(Tatsuo Ishii)
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-December/004078.html">[pgpool-hackers: 4077]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-01-13 [dba249f8]
+ -->
+ <para>
+ noinstall モード時の<command>pgpool_setup</command>と<command>watchdog_setup</command>のバイナリパスを修正しました。(Bo Peng)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+</sect1>
+
<sect1 id="release-4-0-17">
<title>リリース 4.0.17</title>
<note>
SET. See <productname>PostgreSQL</productname> manual for more
details). When <productname>Pgpool-II</productname> is
operated
- with <link linkend="guc-backend-clustering-mode">clustering
- mode</link> being set to
- <literal>streaming_replication</literal>, it sends the function
+ with running mode being set to <literal>master_slave_mode</literal>
+ and <literal>'stream'</literal>, it sends the function
only to the primary server. As the function is not sent to the
standby servers, the parameter values are different among each
servers. To avoid the problem, you can
use <command>SET</command> command instead
of <function>set_config</function>.
Since <command>SET</command> command is sent to all servers
- used for this session, the issue will not happen. However, if
- you use more than 2 <productname>PostgreSQL</productname>
- servers, you need to
- disable <xref linkend="guc-statement-level-load-balance"> and
- use <command>SET</command> command. This is because,
- if <xref linkend="guc-statement-level-load-balance"> enabled,
- queries might be sent to the third server in addition to the
- primary server and the server which is assigned to the load
- balance node.
+ used for this session, the issue will not happen.
-->
<productname>PostgreSQL</productname>には<function>set_config</function>という関数があり、<command>SET</command>コマンドで現在のセッションに対してパラメータの値を変更するのと同じ効果を与えることができます(実際にはSETにない機能もあります。詳細は<productname>PostgreSQL</productname>のマニュアルを見てください)。
- <productname>Pgpool-II</productname>では、現在の<link linkend="guc-backend-clustering-mode">クラスタリングモード</link>が<literal>streaming_replication</literal>の場合、プライマリサーバにのみこの関数を送信します。
+ <productname>Pgpool-II</productname>では、現在の動作モードが<literal>master_slave_mode</literal>で<literal>'stream'</literal>の場合、プライマリサーバにのみこの関数を送信します。
スタンバイサーバにはこの関数が送信されないので、それぞれのサーバでパラメータの値が異なることになります。
この問題を回避するには、<function>set_config</function>の代わりに<command>SET</command>コマンドを使用してください。
<command>SET</command>コマンドは、現在のセッションが使用しているすべてのサーバに送信されるので、この問題は起きません。
- ただし<productname>PostgreSQL</productname>サーバを3台以上使っているときは、<xref linkend="guc-statement-level-load-balance">をoffにした上で<command>SET</command>コマンドを使用してください。
- <xref linkend="guc-statement-level-load-balance">がonの場合、現在のセッションが使用しているプライマリサーバ、ロードバランスノードになっているスタンバイサーバに加え、3台目のスタンバイサーバにもクエリを送信する可能性があるからです。
</para>
<para>
<!--
-<!ENTITY version "4.0.17">
+<!ENTITY version "4.0.18">
<!-- doc/src/sgml/release-3.7.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+<sect1 id="release-3-7-23">
+ <title>Release 3.7.23</title>
+ <note>
+ <title>Release Date</title>
+ <simpara>2022-02-17</simpara>
+ </note>
+
+ <sect2>
+ <title>Changes</title>
+ <itemizedlist>
+ <listitem>
+ <!--
+ 2022-01-06 [6ccbbee4]
+ -->
+ <para>
+ Suppress message length log for <varname>in_hot_standby</varname>. (Tatsuo Ishii)
+ </para>
+ <para>
+ <productname>PostgreSQL 14</productname> introduced new config parameter <ulink url="https://www.postgresql.org/docs/14/runtime-config-preset.html">in_hot_standby</ulink>.
+ </para>
+ <para>
+ The value is either "on" for standby servers or "off" for primary
+ servers. As a result pgpool log is flooded by the messages:
+ </para>
+
+ <programlisting>
+ LOG: reading message length
+ DETAIL: message length (22) in slot 1 does not match with slot 0(23)
+ </programlisting>
+
+ <para>
+ To avoid this, only complain if the parameter name is not <varname>in_hot_standby</varname>.
+ </para>
+ <para>
+ Also the message is enhanced to show the parameter name. For example:
+ </para>
+
+ <programlisting>
+ LOG: ParameterStatus "TimeZone": node 1 message length 30 is different from main node message length 24
+ </programlisting>
+
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-December/004077.html">[pgpool-hackers: 4076]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-13 [fd8b0fb2]
+ -->
+ <para>
+ Enhance parameter status handling. (Tatsuo Ishii)
+ </para>
+ <para>
+ When a parameter status message arrives from backend <productname>Pgpool-II</productname>
+ forwards it to frontend not just memorize.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Bug fixes</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2022-01-31 [3f3c8ade]
+ -->
+ <para>
+ Fix long standing bug with <command>pcp_node_info</command>. (Tatsuo Ishii)
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-January/004110.html">[pgpool-hackers: 4109]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-02 [0ef11f32]
+ -->
+ <para>
+ Fix health check process issues pointed out by <productname>Coverity</productname>. (Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-02 [9c663530]
+ -->
+ <para>
+ Fix memory leak pointed out by <productname>Coverity</productname>. (Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-06 [04679cb6]
+ -->
+ <para>
+ Fix <function>failover()</function> to deal with the case when no former primary node exists. (Tatsuo Ishii)
+ </para>
+ <para>
+ In case <varname>Req_info->primary_node_id</varname> is -1 like no primary
+ node exists when <productname>Pgpool-II</productname> starts up,
+ <function>failover()</function> skipped to call
+ <function>find_primary_node_repeatedly()</function>. Also
+ <varname>follow_master_command</varname> was not executed.
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-February/004114.html">[pgpool-hackers: 4113]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-10 [81cb3ccd]
+ -->
+ <para>
+ Fixed the streaming replication check process not to retry if it cannot connect to the backend.(<ulink url="https://www.pgpool.net/mantisbt/view.php?id=742">bug 742</ulink>) (Bo Peng)
+ </para>
+ <para>
+ This retry caused a long time failover.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Documents</title>
+ <itemizedlist>
+ <listitem>
+ <!--
+ 2022-01-07 [3a01e9ff]
+ -->
+ <para>
+ Add restriction regarding <varname>ParameterStatus</varname> and <varname>in_hot_standby</varname> parameter. (Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-02 [285669de]
+ -->
+ <para>
+ Add restriction about <varname>set_config</varname>. (Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Test tools</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2022-02-07 [422d3541]
+ 2022-02-06 [00cf7715]
+ -->
+ <para>
+ Fix <command>pgpool_setup</command> in failover script creation. (Tatsuo Ishii)
+ </para>
+ <para>
+ When <command>pgpool_setup</command> creates <filename>failover.sh</filename>,
+ it did not consider the case when no primary server existed.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Regression tests</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2021-12-22 [be947277]
+ -->
+ <para>
+ Allow to run regression test against existing installation without recompiling. (Tatsuo Ishii)
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-December/004078.html">[pgpool-hackers: 4077]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-01-13 [20b9a031]
+ -->
+ <para>
+ Fix <command>pgpool_setup</command> and <command>watchdog_setup</command> binary PATH in noinstall mode. (Bo Peng)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+</sect1>
+
<sect1 id="release-3-7-22">
<title>Release 3.7.22</title>
<note>
<!-- doc/src/sgml/release-4.0.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+<sect1 id="release-4-0-18">
+ <title>Release 4.0.18</title>
+ <note>
+ <title>Release Date</title>
+ <simpara>2022-02-17</simpara>
+ </note>
+
+ <sect2>
+ <title>Changes</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2022-01-06 [34c0c8d9]
+ -->
+ <para>
+ Suppress message length log for <varname>in_hot_standby</varname>. (Tatsuo Ishii)
+ </para>
+ <para>
+ <productname>PostgreSQL 14</productname> introduced new config parameter <ulink url="https://www.postgresql.org/docs/14/runtime-config-preset.html">in_hot_standby</ulink>.
+ </para>
+ <para>
+ The value is either "on" for standby servers or "off" for primary
+ servers. As a result pgpool log is flooded by the messages:
+ </para>
+
+ <programlisting>
+ LOG: reading message length
+ DETAIL: message length (22) in slot 1 does not match with slot 0(23)
+ </programlisting>
+
+ <para>
+ To avoid this, only complain if the parameter name is not <varname>in_hot_standby</varname>.
+ </para>
+ <para>
+ Also the message is enhanced to show the parameter name. For example:
+ </para>
+
+ <programlisting>
+ LOG: ParameterStatus "TimeZone": node 1 message length 30 is different from main node message length 24
+ </programlisting>
+
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-December/004077.html">[pgpool-hackers: 4076]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-13 [b5701e05]
+ -->
+ <para>
+ Enhance parameter status handling. (Tatsuo Ishii)
+ </para>
+ <para>
+ When a parameter status message arrives from backend <productname>Pgpool-II</productname>
+ forwards it to frontend not just memorize.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Bug fixes</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2022-01-31 [da2b7f13]
+ -->
+ <para>
+ Fix long standing bug with <command>pcp_node_info</command>. (Tatsuo Ishii)
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-January/004110.html">[pgpool-hackers: 4109]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-02 [59cb9418]
+ -->
+ <para>
+ Fix health check process issues pointed out by <productname>Coverity</productname>. (Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-02 [5e39be1f]
+ -->
+ <para>
+ Fix memory leak pointed out by <productname>Coverity</productname>. (Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-06 [f87d3b51]
+ -->
+ <para>
+ Fix <function>failover()</function> to deal with the case when no former primary node exists. (Tatsuo Ishii)
+ </para>
+ <para>
+ In case <varname>Req_info->primary_node_id</varname> is -1 like no primary
+ node exists when <productname>Pgpool-II</productname> starts up,
+ <function>failover()</function> skipped to call
+ <function>find_primary_node_repeatedly()</function>. Also
+ <varname>follow_master_command</varname> was not executed.
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2022-February/004114.html">[pgpool-hackers: 4113]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-10 [9418df10]
+ -->
+ <para>
+ Fixed the streaming replication check process not to retry if it cannot connect to the backend.(<ulink url="https://www.pgpool.net/mantisbt/view.php?id=742">bug 742</ulink>) (Bo Peng)
+ </para>
+ <para>
+ This retry caused a long time failover.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Documents</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2022-01-04 [beb17035]
+ -->
+ <para>
+ Fix documentation typos. (pengbo)
+ </para>
+ <para>
+ Patch is created by Umar Hayat.
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-01-04 [6503b2cc]
+ -->
+ <para>
+ Add "exclude" settings to /etc/yum.repos.d/pgdg-redhat-all.repo so
+ that <productname>Pgpool-II</productname> is not installed from
+ <productname>PostgreSQL</productname> YUM repository. (Bo Peng)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-01-07 [019bc2f9]
+ -->
+ <para>
+ Add restriction regarding <varname>ParameterStatus</varname> and <varname>in_hot_standby</varname> parameter. (Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-02-02 [5cd03ce7]
+ -->
+ <para>
+ Add restriction about <varname>set_config</varname>. (Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Test tools</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2022-02-06 [c58fcb94]
+ 2022-02-07 [3192ba94]
+ -->
+ <para>
+ Fix <command>pgpool_setup</command> in failover script creation. (Tatsuo Ishii)
+ </para>
+ <para>
+ When <command>pgpool_setup</command> creates <filename>failover.sh</filename>,
+ it did not consider the case when no primary server existed.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Regression tests</title>
+ <itemizedlist>
+
+ <listitem>
+ <!--
+ 2021-12-22 [022ba990]
+ -->
+ <para>
+ Allow to run regression test against existing installation without recompiling. (Tatsuo Ishii)
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2021-December/004078.html">[pgpool-hackers: 4077]</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2022-01-13 [dba249f8]
+ -->
+ <para>
+ Fix <command>pgpool_setup</command> and <command>watchdog_setup</command> binary PATH in noinstall mode. (Bo Peng)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect2>
+</sect1>
+
<sect1 id="release-4-0-17">
<title>Release 4.0.17</title>
<note>
SET. See <productname>PostgreSQL</productname> manual for more
details). When <productname>Pgpool-II</productname> is
operated
- with <link linkend="guc-backend-clustering-mode">clustering
- mode</link> being set to
- <literal>streaming_replication</literal>, it sends the function
+ with running mode being set to <literal>master_slave_mode</literal>
+ and <literal>'stream'</literal>, it sends the function
only to the primary server. As the function is not sent to the
standby servers, the parameter values are different among each
servers. To avoid the problem, you can
use <command>SET</command> command instead
of <function>set_config</function>.
Since <command>SET</command> command is sent to all servers
- used for this session, the issue will not happen. However, if
- you use more than 2 <productname>PostgreSQL</productname>
- servers, you need to
- disable <xref linkend="guc-statement-level-load-balance"> and
- use <command>SET</command> command. This is because,
- if <xref linkend="guc-statement-level-load-balance"> enabled,
- queries might be sent to the third server in addition to the
- primary server and the server which is assigned to the load
- balance node.
+ used for this session, the issue will not happen.
</para>
<para>
If you need to use <function>set_config</function>, turn off
-<!ENTITY version "4.0.17">
+<!ENTITY version "4.0.18">