From cc9a69b271e01f527a0293f44b4a6bccb0563dee Mon Sep 17 00:00:00 2001 From: Bo Peng Date: Thu, 9 Nov 2023 22:21:59 +0900 Subject: [PATCH] Doc: add 4.5 english release notes. --- doc/src/sgml/filelist.sgml | 1 + doc/src/sgml/release-4.5.sgml | 490 ++++++++++++++++++++++++++++++++++ doc/src/sgml/release.sgml | 1 + 3 files changed, 492 insertions(+) create mode 100644 doc/src/sgml/release-4.5.sgml diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index d51ae6778..bf4803f2f 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -53,6 +53,7 @@ + diff --git a/doc/src/sgml/release-4.5.sgml b/doc/src/sgml/release-4.5.sgml new file mode 100644 index 000000000..51b5952fa --- /dev/null +++ b/doc/src/sgml/release-4.5.sgml @@ -0,0 +1,490 @@ + + Release 4.5.0 + + Release Date + 2023-XX-XX + + + + Overview + + This release resolves several long-standing issues, + including support for multiple statements and session disconnections + issue in some cases. Many enhancements are also added for easier + configuration and administration. + + + + Major enhancements are as follows: + + + + + + Allow to use multiple statements in a query string. + + + + + Allow to set in milliseconds. + + + + + Avoid session disconnection issue in failover/failback/backend error in some cases. + + + + + Allow to route queries to a specific backend node for a specific user connection. + + + + + Support multiple directories specification for . + + + + + Import PostgreSQL 16's SQL parser. + + + + + + + Migration to Version 4.5 + + + + + + The following normal ERROR messages are downgraded to DEBUG messages. (Bo Peng) + + + + + + + + These two messages are caused when the client did not send a + terminate message before disconnecting to pgpool. + For example, when the client process was forcefully terminated, this error occurs. + Although they are harmless, it may sometimes confuse users. + + +ERROR:unable to flush data to frontend + + +ERROR: unable to read data from frontend +DETAIL: EOF encountered with frontend + + + + + If is set to a non-zero value, + the connection will be disconnected if it remains idle since the last query. + Because the disconnection is caused by Pgpool-II settings, + Pgpool-II should handle it as "DEBUG" instead of "ERROR". + + +ERROR: unable to read data +DETAIL: child connection forced to terminate due to client_idle_limit:30 is reached + + + + + + + + + Change default behavior of pcp commands for searching password file. (Chen Ningwei) + + + Previously pcp command does not searching for .pcppass/PCPPASSFILE + if option is not given, + which is inconsistent with psql. + + + In the release, the default behavior is changed. + Since this release, option is + not required to read the pcp commands password from .pcppass/PCPPASSFILE. + + + + + + + + Changes + + + + + + Add SSH timeout in escalation.sh.sample. (Bo Peng) + + + + + + + Allow to set in milliseconds. (Tatsuo Ishii) + + + Previously it was allowed only in seconds. Also put some + refactoring. + + + Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2023-August/004372.html + + + + + + + Import PostgreSQL 16 new parser. (Chen Ningwei) + + + Major changes of PostgreSQL 16 parser include: + + + + + + Add new option DEFAULT to COPY FROM + + +COPY ... FROM stdin WITH (default 'xx'); + + + + + + Allow the STORAGE type to be specified by CREATE TABLE + + +CREATE TABLE t1 ( + c1 VARCHAR(10) STORAGE PLAIN, + c2 TEXT STORAGE EXTENDED +); + + + + + + Add EXPLAIN option GENERIC_PLAN to display the generic plan for a parameterized query + + +EXPLAIN (GENERIC_PLAN) SELECT ...; + + + + + + Allow subqueries in the FROM clause to omit aliases + + +SELECT COUNT(*) FROM (SELECT ... FROM ...); + + + + + + Add SQL/JSON constructors + + + + + + Add VACUUM options + SKIP_DATABASE_STATS, ONLY_DATABASE_STATS to skip or update all frozen statistics + PROCESS_MAIN to only process TOAST tables + + +VACUUM (SKIP_DATABASE_STATS); +VACUUM (PROCESS_MAIN FALSE) t1 ; + + + + + + + + + Add new field load_balance_node to and . (Tatsuo Ishii) + + + The new field is "1" if pgpool process is connected by a client and + the session uses the backend id as a load balance node. Users can + execute the commands to find out if there's any session that uses the + backend as the load balance node. If so, shutting down the backend may + cause session disconnection. + + + Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2023-July/004353.html + + + + + + + Mitigate session disconnection issue in failover/failback/backend error. (Tatsuo Ishii) + + + Previously Pgpool-II disconnected client + sessions in various cases. This commit tries to avoid some of cases, + especially when a backend goes down and the backend is not either + primary (or main node) nor load balance node. + + + Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2023-July/004352.html + + + + + + + Allow to route queries to a specific backend node for a specific user connection. (Bo Peng) + + + This commit adds a new parameter + to + allow to send SELECT queries to a specific backend node for a + specific user connection. + + + + + + + Support multiple directories specification for . (Chen Ningwei) + + + + + + + Allow to load balance PREPARE/EXECUTE/DEALLOCATE. (Tatsuo Ishii) + + + Previously PREPARE/EXECUTE/DEALLOCATE are + not load balanced. In streaming replication/logical replication + mode, they were sent to always primary node. + In native replication/snapshot isolation mode, + they were always sent to all nodes. + + + Now they can be load balanced if the SQL statement prepared by PREPARE + command is a read only SELECT. + + + Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2023-May/004334.html + + + + + + + Add new config parameter . (Tatsuo Ishii) + + + This allows to disable logging about normal PCP Process fork and exit + status. When pcp command is executed, pgpool logs its fork/exit event + even if there's no error. This could fill up the pgpool log. + + + Abnormal fork/exit event will be logged even if the parameter is + disabled. + + + Patch is created by Maximilien Cuony and reviewed by Tatsuo Ishii. + + + + + + + Import psqlscan source code into Pgpool-II to judge multi statement query. (Tatsuo Ishii) + + + Psqlscan is a module in the PostgreSQL source tree. + It is essentially subset of PostgreSQL + SQL scanner but it is specialized for detecting + the end of each SQL statement. Therefore we can count the number of + SQL statements in a query string by using it. + + + Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2023-February/004291.html + + + + + + + Allow to use multiple statements extensively. (Tatsuo Ishii) + + + This commit tries to eliminate pgpool's long standing limitations + regarding multiple statements (multi-statements). + + + Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2023-February/004287.html + + + + + + + Add new configuration parameter . (Tatsuo Ishii) + + + The new GUC variable allows to emit NOTICE message of queries per + backend basis. It's similar to + but as the log level is NOTICE, the log is printed on client's terminal, + thus users can know where their queries go to without looking into pgpool + log files. + + + Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2023-February/004276.html + + + + + + + Enhance status file reading log. (Tatsuo Ishii) + + + Previously only if pgpool_status exists and + the status is down, a log message was printed. However it is more + useful no matter what the status (up or unused) is because it also + represents that pgpool_status exists and it is read while pgpool + starting up, which is useful information. + + + + + + + Remove pool_config.c and scan.c + from git repository. (Tatsuo Ishii) + + + They are generated files and we should not keep in the git repository. + + + + + + + Remove Makefile.in etc. generated by autoconf. (Tatsuo Ishii) + + + Also update some .ignore files and add some new .gitignore files. Now + developers need to run autoconf/autoreconf before compiling since the + generated files are not provided by git anymore. + + + + + + + Bug fixes + + + + + Fix race condition with Pgpool-II main and pcp child process. (Tatsuo Ishii) + + + When pcp child process is forked off, pgpool main process unblock all + signals. This could lead to a race condition if a signal is sent to + the pcp process before it sets up signal handlers. Fix is, do not + unblock signals until the signal handlers are set up. + + + Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2023-September/004398.html + + + + + + This release fixes the same bugs as other minor releases. + See for more details of those fixes. + + + + + + + Regression Tests + + + + + Attempt to fix 001.load_balance test timeout. (Tatsuo Ishii) + + + + + + + Enhance regression 001.load_balance. (Tatsuo Ishii) + + + + + + diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 1d812aabd..c699d768f 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.5; &release-4.4; &release-4.3; &release-4.2; -- 2.39.5