pgpool2.git / summary / log / commit / refs

commit    88ebfda227f09ed152caa264e79dae0a88e928f7
Author:   Bo Peng <pengbo@sraoss.co.jp>
Date:     Fri Aug 17 05:44:05 2018 +0000

    Add Pgpool-II 4.0 release note.


doc/src/sgml/filelist.sgml | 1 + doc/src/sgml/release-4.0.sgml | 474 ++++++++++++++++++++++++++++++++++++++++++ doc/src/sgml/release.sgml | 1 + 3 files changed, 476 insertions(+) diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index f7e1e7405..a7efd6a7a 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -181,6 +181,7 @@ <!ENTITY sourcerepo SYSTEM "sourcerepo.sgml"> <!ENTITY release SYSTEM "release.sgml"> +<!ENTITY release-4.0 SYSTEM "release-4.0.sgml"> <!ENTITY release-3.7 SYSTEM "release-3.7.sgml"> <!ENTITY release-3.6 SYSTEM "release-3.6.sgml"> <!ENTITY release-3.5 SYSTEM "release-3.5.sgml"> diff --git a/doc/src/sgml/release-4.0.sgml b/doc/src/sgml/release-4.0.sgml new file mode 100644 index 000000000..757051789 --- /dev/null +++ b/doc/src/sgml/release-4.0.sgml @@ -0,0 +1,474 @@ +<sect1 id="release-4-0"> + <title>Release 4.0</title> + <note> + <title>Release Date</title> + <simpara>2018-xx-xx</simpara> + </note> + + <sect2> + <title>Overview</title> + <para> +<!-- + This version addes support for SCRAM and CERT authentication, + improves load balancing control and import PostgreSQL 11 + new SQL parser. +--> + This version addes support for SCRAM and CERT authentication, + and improves load balancing control. + </para> + <para> + Major enhancements in <productname>Pgpool-II</productname> 4.0 include: + </para> + + <!-- Items in this list summarize one or more items below --> + + <itemizedlist> + <listitem> + <para> + Add <acronym>SCRAM</acronym> and <acronym>Certificate</acronym> authentication support. + </para> + </listitem> + <listitem> + <para> + Detecting "false" primary server of <productname>PostgreSQL</productname>. + </para> + </listitem> + + <listitem> + <para> + Improvements to load balancing: + <itemizedlist> + <listitem> + <para> + More load balancing fine control after write queries. + </para> + </listitem> + <listitem> + <para> + Load balancing control for specific queries. + </para> + </listitem> + <listitem> + <para> + Allow to specify load balance weight ratio for load balance parameters. + </para> + </listitem> + </itemizedlist> + </para> + </listitem> + + <listitem> + <para> + Add last state change timestamp to <xref linkend="SQL-SHOW-POOL-NODES">. + </para> + </listitem> +<!-- + <listitem> + <para> + Import PostgreSQL 11 SQL parser. + </para> + </listitem> +--> + <listitem> + <para> + Logging client messages. + </para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Major Enhancements</title> + <itemizedlist> + <listitem> + <para> + Add support for <acronym>SCRAM</acronym> and <acronym>Certificate</acronym> + based authentication methods. (Muhammad Usama) + <itemizedlist> + <listitem> + <para> + Able to use different auth methods for frontend and backend. + </para> + <para> + Now it is possible to use different authentication methods between + client to <productname>Pgpool-II</productname> and <productname>Pgpool-II</productname> to backend. + </para> + </listitem> + </itemizedlist> + <itemizedlist> + <listitem> + <para> + Able to use <acronym>MD5</acronym> and <acronym>SCRAM</acronym> authentication methods + to connect to database without <filename>pool_passwd</filename>. + </para> + <para> + A new configuration parameter <xref linkend="guc-allow-clear-text-frontend-auth"> is added. + This parameter enables this config allows the <productname>Pgpool-II</productname> + to use clear-text-password authentication with frontend clients when + <filename>pool_passwd</filename> file does not contains the password for the connecting user, + and use that password (provided by client) to authenticate with the backend + using <acronym>MD5</acronym> and/or <acronym>SCRAM</acronym> authentication. + </para> + </listitem> + </itemizedlist> + <itemizedlist> + <listitem> + <para> + New <xref linkend="PG-ENC"> utility to create encrypted passwords. + </para> + <para> + A new utility <xref linkend="PG-ENC"> is added to create AES encrypted passwords. + </para> + </listitem> + </itemizedlist> + <itemizedlist> + <listitem> + <para> + Allow to specify the AES encrypted password in the <filename>pgpool.conf</filename>. + </para> + <para> + Allow to specify the AES encrypted password in the + <filename>pgpool.conf</filename> file for <xref linkend="guc-health-check-user">, + <xref linkend="guc-sr-check-user">, <xref linkend="guc-wd-lifecheck-user"> and + <xref linkend="guc-recovery-user"> users. + </para> + </listitem> + </itemizedlist> + </para> + <para> + See <xref linkend="client-authentication"> for more details. + </para> + </listitem> + + <listitem> + <!-- + 2018-04-09 [f0631a6] + 2018-04-17 [bbc270f] + --> + <para> + Add new parameter <xref linkend="guc-detach-false-primary">. (Tatsuo Ishii) + </para> + <para> + If set <literal>detach_false_primary = on</literal>, detach false primary node. + The default is off. This parameter is only valid in streaming replication mode + and for <productname>PostgreSQL</productname> 9.6 or after since this feature + uses <structname>pg_stat_wal_receiver</structname>. + If <productname>PostgreSQL</productname> 9.5.x or older version is used, no + error is raised, just the feature is ignored. + </para> + </listitem> + <listitem> + <!-- + 2018-04-23 [33e52ba] + 2018-04-19 [ba19a38] + --> + <para> + Add <xref linkend="guc-disable-load-balance-on-write"> parameter to specify + load balance behavior after write queries appear. (Tatsuo Ishii) + </para> + <para> + This parameter allows to specify the behavior when a write query issued. + </para> + </listitem> + + <listitem> + <!-- + 2018-08-07 [5108031] + --> + <para> + Allow to specify load balance weight ratio for load balance parameters. (Bo Peng) + </para> + <para> + Add a new feature to allow to specify load balance weight ratio for + <xref linkend="guc-database-redirect-preference-list"> and + <xref linkend="guc-app-name-redirect-preference-list"> parameters. + </para> + <para> + You can specify the list of "database-name:node id(ratio)" pairs to + send SELECT queries to a particular backend node for a particular + database connection at a specified load balance ratio. + </para> + <para> + Also you can specify list of "application-name:node id(ratio)" pairs to + send SELECT queries to a particular backend node for a particular client + application connection at a specified load balance ratio. + </para> + <para> + This load balance ratio specifies a value between 0 and 1, + and the default is 1.0. + </para> + </listitem> + + <listitem> + <!-- + 2018-06-14 [83906d1] + --> + <para> + Add new parameter <xref linkend="guc-black-query-pattern-list"> to enable + specifying SQL patterns lists that should not be load-balanced. (Bo Peng) + </para> + <para> + Specify a semicolon separated list of SQL patterns that + should be sent to primary node only. Regular expression can be + used in SQL patterns. Only Maste Slave mode is supported. + </para> + </listitem> + + <listitem> + <!-- + 2018-07-27 [54503f4] + 2018-08-02 [dac5573] + 2018-08-01 [8745853] + --> + <para> + Add new parameter <xref linkend="guc-log-client-messages"> to allow logging client message. (Takuma Hoshiai, Tatsuo Ishii) + </para> + <para> + Set <varname>log_client_messages = on</varname>, any client messages will be logged without debugging messages. + </para> + </listitem> + + <listitem> + <!-- + 2018-07-09 [62bd296] + --> + <para> + Allow to display <productname>Pgpool-II</productname> child process id and + <productname>PostgreSQL</productname> backend id in <xref linkend="PCP-PROC-INFO">. (Tatsuo Ishii) + </para> + <para> + Add --all option to display all child processes and their available connection slots. + </para> + </listitem> + <listitem> + <!-- + 2018-06-12 [0312dc5] + --> + <para> + Add <literal>last_status_change</literal> column to <xref linkend="SQL-SHOW-POOL-NODES"> command. (Tatsuo Ishii) + </para> + <para> + The new column indicates the time when <literal>status</literal> or <literal>role</literal> has been changed. + </para> + <para> + See <ulink url="http://www.sraoss.jp/pipermail/pgpool-hackers/2018-June/002822.html"> + [pgpool-hackers: 2822]</ulink> for the reasoning to add the column. + </para> + </listitem> + <listitem> + <!-- + 2018-07-03 [a8a666a] + --> + <para> + Add <literal>replication_delay</> and <literal>last_status_change</> to + <xref linkend="PCP-NODE-INFO">. (Tatsuo Ishii) + </para> + </listitem> + <listitem> + <!-- + 2018-07-05 [c47ac16] + --> + <para> + Add <literal>role</>, <literal>replication_delay</> and <literal>last_status_change</> columns to pgpool_adm's + <xref linkend="PGPOOL-ADM-PCP-NODE-INFO">. (Tatsuo Ishii) + </para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Other Enhancements</title> + <itemizedlist> + <listitem> + <!-- + 2018-05-09 [719fbaa] + 2018-05-10 [edd10f6] + --> + <para> + Add "-r" option to <command>pgpool_setup</command> to allow use of <application>pg_rewind</application>. (Tatsuo Ishii) + </para> + <para> + With this option, <command>pgpool_setup</command> creates <filename>basebackup.sh</filename> which tries + <application>pg_rewind</application> first. If it fails, falls back to rsync. + </para> + <para> + Also a new environment variable "USE_PG_REWIND" to <application>pgpool_setup</application> is added. + This brings the same effect as "-r" option is specified. + </para> + </listitem> + + <listitem> + <!-- + 2018-04-16 [3d63b8a] + 2018-04-15 [4867cf2] + 2018-04-18 [1c9a5dd] + 2018-05-05 [50b4d27] + 2018-04-26 [b3a361c] + 2018-04-18 [1c9a5dd] + 2018-04-18 [1c9a5dd] + --> + <para> + Add "-s" option to <application>pgpool_setup</application> to support for replication slot. (Tatsuo Ishii) + </para> + <para> + This eliminates the problem when standby is promoted. When a standby + is promoted, it changes the time line in PITR archive, which will stop + other standby if any because of shared archive directory. + </para> + <para> + Also a new environment variable "USE_REPLICATION_SLOT" to <application>pgpool_setup</application> is added. + This brings the same effect as "-s" option is specified. + </para> + <para> + If "USE_REPLICATION_SLOT=true", in streaming replication mode, + use replication slot instead of archive. + </para> + <para> + By setting USE_REPLICATION_SLOT environment variable, + now <application>pgpool_setup</application> in all tests uses replication slots. + This reduces disk space under <filename>src/test/regression</filename> from + 6.3GB to 5,1GB (1.2GB savings). + </para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Changes</title> + <itemizedlist> + <listitem> + <!-- + 2018-04-16 [3d63b8a] + 2018-05-04 [2e41451] + --> + <para> + Add 1st/2nd stage online recovery commands parameter to + get the node number to be recovered. (Tatsuo Ishii) + </para> + <para> + Now 1st/2nd stage online recovery commands accept 5 parameters. + </para> + <para> + See recovery_1st_stage_command and recovery_2nd_stage_command for more details. + </para> + </listitem> + + <listitem> + <!-- + 2018-05-07 [05c9297] + --> + <para> + Downgrade most of DEBUG1 messages to DEBUG5. (Tatsuo Ishii) + </para> + <para> + This significantly reduces the size of pgpool log when pgpool starts + with -d option (this is equivalent to setting <xref linkend="guc-client-min-messages"> to + debug1). + </para> + <para> + Per discussion <ulink url="http://www.sraoss.jp/pipermail/pgpool-hackers/2018-May/002794.html"> + [pgpool-hackers: 2794]</ulink>. + </para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Bug fixes</title> + <itemizedlist> + <listitem> + <!-- + 2018-07-31 [0f45b8d] + --> + <para> + Fix compiler error if HAVE_ASPRINTF is not defined. (Tatsuo Ishii) + </para> + </listitem> + + <listitem> + <!-- + 2018-07-31 [24973c0] + --> + <para> + Fix <filename>configure.ac</> to remove generating <filename>src/sql/pgpool_adm/Makefile.in</>. (Tatsuo Ishii) + </para> + </listitem> + + <listitem> + <!-- + 2018-05-24 [d2b8efd] + --> + <para> + Fix pgpool main process segfault when <productname>PostgreSQL</productname> 9.5 is used. (Tatsuo Ishii) + </para> + <para> + pgpool_setup -n 3 (or greater) triggers the bug. While recovering node + 2, pgpool main process tried to retrieve version info from backend #2 + even if it's not running. This causes the sefault because connection + was not established yet. The reason why <productname>PostgreSQL 9.6</productname> + or later was not suffered from the bug was, <productname>PostgreSQL</productname> + exited the loop as soon as the server version is higher than 9.5. To fix this, + call to VALID_BACKEND macro was added. + </para> + </listitem> + + <listitem> + <!-- + 2018-05-04 [4621577] + --> + <para> + Add missing <xref linkend="guc-health-check-timeout"> in pgpool_setup. (Tatsuo Ishii) + </para> + <para> + Per node health_check_timeout was missing and this should had been + there since the per node health check parameter support was added. + </para> + </listitem> + + <listitem> + <!-- + 2018-07-11 [27a0056] + --> + <para> + Test: Try to reduce the chance of regression 006.memcache failure. (Tatsuo Ishii) + </para> + <para> + It seems the occasional failure of the test is caused by replication + lag. The script tries to read tables from standby but it returns a + table not existing error. So insert pg_sleep() after creation of + tables. + </para> + </listitem> + + <listitem> + <!-- + 2018-05-21 [1d3ab38] + --> + <para> + Test: Fix regression test 055.backend_all_down error. (Bo Peng) + </para> + </listitem> + + <listitem> + <!-- + 2018-05-04 [1903325] + --> + <para> + Doc: Enhance online recovery document. (Tatsuo Ishii) + </para> + <para> + Clarify that 2nd stage command is only required in native replication mode. + </para> + </listitem> + + <listitem> + <!-- + 2018-02-27 [4eabecb] + --> + <para> + Test: Add new regression test <filename>017.node_0_is_down</> for node 0 not being primary. (Tatsuo Ishii) + </para> + </listitem> + </itemizedlist> + </sect2> +</sect1> diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 5b55bda9f..11b2031d2 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -72,6 +72,7 @@ For new features, add links to the documentation sections. subsets can easily be copied into back branches. --> +&release-4.0; &release-3.7; &release-3.6; &release-3.5; [parent: f1224167920d]