diff options
-rw-r--r-- | doc/src/sgml/release-14.sgml | 459 |
1 files changed, 459 insertions, 0 deletions
diff --git a/doc/src/sgml/release-14.sgml b/doc/src/sgml/release-14.sgml index 28341326c54..a6585532b91 100644 --- a/doc/src/sgml/release-14.sgml +++ b/doc/src/sgml/release-14.sgml @@ -1,6 +1,465 @@ <!-- doc/src/sgml/release-14.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-14-4"> + <title>Release 14.4</title> + + <formalpara> + <title>Release date:</title> + <para>2022-06-16</para> + </formalpara> + + <para> + This release contains a variety of fixes from 14.3. + For information about new features in major release 14, see + <xref linkend="release-14"/>. + </para> + + <sect2> + <title>Migration to Version 14.4</title> + + <para> + A dump/restore is not required for those running 14.X. + </para> + + <para> + However, if you have any indexes that were created using + the <option>CONCURRENTLY</option> option under 14.X, + you should re-index them after updating. + See the first changelog entry below. + </para> + + <para> + Also, if you are upgrading from a version earlier than 14.3, + see <xref linkend="release-14-3"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> +<!-- +Author: Alvaro Herrera <alvherre@alvh.no-ip.org> +Branch: master [e28bb8851] 2022-05-31 21:24:59 +0200 +Branch: REL_14_STABLE [042b584c7] 2022-05-31 21:24:59 +0200 +--> + <para> + Prevent possible corruption of indexes created or rebuilt with + the <literal>CONCURRENTLY</literal> option (Álvaro Herrera) + </para> + + <para> + An optimization added in v14 caused <command>CREATE INDEX ... + CONCURRENTLY</command> and <command>REINDEX + ... CONCURRENTLY</command> to sometimes miss indexing rows that were + updated during the index build. Revert that optimization. + It is recommended that any indexes made with + the <literal>CONCURRENTLY</literal> option be rebuilt after + installing this update. (Alternatively, rebuild them + without <literal>CONCURRENTLY</literal>.) + </para> + </listitem> + + <listitem> +<!-- +Author: David Rowley <drowley@postgresql.org> +Branch: master [fa5185b26] 2022-06-08 12:39:09 +1200 +Branch: REL_14_STABLE [cbcea3b91] 2022-06-08 12:39:44 +1200 +--> + <para> + Harden Memoize plan node against non-deterministic equality + functions (David Rowley) + </para> + + <para> + Memoize could crash if a data type's equality or hash functions gave + inconsistent results across different calls. Throw a runtime error + instead. + </para> + </listitem> + + <listitem> +<!-- +Author: David Rowley <drowley@postgresql.org> +Branch: master [1e731ed12] 2022-05-16 16:07:56 +1200 +Branch: REL_14_STABLE [23c2b76a8] 2022-05-16 16:08:37 +1200 +--> + <para> + Fix incorrect cost estimates for Memoize plans (David Rowley) + </para> + + <para> + This mistake could lead to Memoize being used when it isn't really + the best plan, or to very long executor startup times due to + initializing an overly-large hash table for a Memoize node. + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [1218780cc] 2022-06-10 10:35:57 -0400 +Branch: REL_14_STABLE [77c1d92cb] 2022-06-10 10:35:57 -0400 +Branch: REL_13_STABLE [254cd7f31] 2022-06-10 10:35:57 -0400 +Branch: REL_12_STABLE [d3ef5c3ef] 2022-06-10 10:35:57 -0400 +Branch: REL_11_STABLE [199aac8b2] 2022-06-10 10:35:57 -0400 +--> + <para> + Fix queries in which a <quote>whole-row variable</quote> references + the result of a function that returns a domain over composite type + (Tom Lane) + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [79b58c6f6] 2022-05-12 11:31:46 -0400 +Branch: REL_14_STABLE [ac51c9fba] 2022-05-12 11:31:46 -0400 +Branch: REL_13_STABLE [b7579b25c] 2022-05-12 11:31:46 -0400 +Branch: REL_12_STABLE [301b91c56] 2022-05-12 11:31:46 -0400 +Branch: REL_11_STABLE [7f7f1750d] 2022-05-12 11:31:46 -0400 +Branch: REL_10_STABLE [b53442f6f] 2022-05-12 11:31:46 -0400 +--> + <para> + Fix <quote>variable not found in subplan target list</quote> planner + error when pulling up a sub-<literal>SELECT</literal> that's + referenced in a <literal>GROUPING</literal> function (Richard Guo) + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [bf4717b09] 2022-06-07 15:34:30 -0400 +Branch: REL_14_STABLE [5c3b5f7db] 2022-06-07 15:34:30 -0400 +Branch: REL_13_STABLE [a36196972] 2022-06-07 15:34:30 -0400 +Branch: REL_12_STABLE [435251b85] 2022-06-07 15:34:30 -0400 +Branch: REL_11_STABLE [d628ce048] 2022-06-07 15:34:30 -0400 +Branch: REL_10_STABLE [fb646cbd5] 2022-06-07 15:34:30 -0400 +--> + <para> + Prevent <function>pg_stat_get_subscription()</function> from + possibly returning an extra row containing garbage values + (Kuntal Ghosh) + </para> + </listitem> + + <listitem> +<!-- +Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> +Branch: master [fc36ac52e] 2022-05-29 23:54:25 +0300 +Branch: REL_14_STABLE [f82595ac9] 2022-05-29 23:57:16 +0300 +--> + <para> + Fix <command>COPY FROM</command>'s error checking in the case where + the database encoding is <literal>SQL_ASCII</literal> while the + client's encoding is a multi-byte encoding (Heikki Linnakangas) + </para> + + <para> + This mistake could lead to false complaints of invalidly-encoded + input data. + </para> + </listitem> + + <listitem> +<!-- +Author: Alvaro Herrera <alvherre@alvh.no-ip.org> +Branch: master [0fbf01120] 2022-05-18 20:28:31 +0200 +Branch: REL_14_STABLE [94edb85d2] 2022-05-18 20:28:31 +0200 +Branch: REL_13_STABLE [80656f00f] 2022-05-18 20:28:31 +0200 +Branch: REL_12_STABLE [ade17703d] 2022-05-18 20:28:31 +0200 +Branch: REL_11_STABLE [ba83de8ad] 2022-05-18 20:28:31 +0200 +Branch: REL_10_STABLE [16cb7db34] 2022-05-18 20:28:31 +0200 +Branch: master [62221ef18] 2022-05-18 23:19:53 +0200 +Branch: REL_14_STABLE [e8b93c6e2] 2022-05-18 23:19:53 +0200 +Branch: REL_13_STABLE [5139db556] 2022-05-18 23:19:53 +0200 +Branch: REL_12_STABLE [0ebd20e20] 2022-05-18 23:19:53 +0200 +Branch: REL_11_STABLE [50bf3157a] 2022-05-18 23:19:53 +0200 +Branch: REL_10_STABLE [29d111518] 2022-05-18 23:19:53 +0200 +--> + <para> + Avoid crashing if too many column aliases are attached to + an <literal>XMLTABLE</literal> or <literal>JSON_TABLE</literal> + construct (Álvaro Herrera) + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [c7461fc25] 2022-05-21 14:45:58 -0400 +Branch: REL_14_STABLE [6f7eec119] 2022-05-21 14:45:58 -0400 +Branch: REL_13_STABLE [fefd54631] 2022-05-21 14:45:58 -0400 +Branch: REL_12_STABLE [bb2c04676] 2022-05-21 14:45:58 -0400 +Branch: REL_11_STABLE [f3b8d7244] 2022-05-21 14:45:58 -0400 +Branch: REL_10_STABLE [7686403b4] 2022-05-21 14:45:58 -0400 +--> + <para> + When decompiling a view or rule, show a <command>SELECT</command> + output column's <literal>AS "?column?"</literal> alias clause + if it could be referenced elsewhere (Tom Lane) + </para> + + <para> + Previously, this auto-generated alias was always hidden; but there + are corner cases where doing so results in a non-restorable view or + rule definition. + </para> + </listitem> + + <listitem> +<!-- +Author: Alvaro Herrera <alvherre@alvh.no-ip.org> +Branch: master [602986191] 2022-05-20 18:52:55 +0200 +Branch: REL_14_STABLE [58b088a9b] 2022-05-20 18:52:55 +0200 +Branch: REL_13_STABLE [3753a169e] 2022-05-20 18:52:55 +0200 +Branch: REL_12_STABLE [4492e73a6] 2022-05-20 18:52:55 +0200 +Branch: REL_11_STABLE [6c6ea6ea8] 2022-05-20 18:52:55 +0200 +Branch: REL_10_STABLE [70f70d7d3] 2022-05-20 18:52:55 +0200 +Branch: REL_10_STABLE [8c47622bb] 2022-05-20 19:05:55 +0200 +--> + <para> + Report implicitly-created operator families to event triggers + (Masahiko Sawada) + </para> + + <para> + If <command>CREATE OPERATOR CLASS</command> results in the implicit + creation of an operator family, that object was not reported to + event triggers that should capture such events. + </para> + </listitem> + + <listitem> +<!-- +Author: Michael Paquier <michael@paquier.xyz> +Branch: REL_14_STABLE [6dced63b4] 2022-05-16 11:26:22 +0900 +Branch: REL_13_STABLE [2e9559b30] 2022-05-16 11:26:26 +0900 +Branch: REL_12_STABLE [7e59b1219] 2022-05-16 11:26:30 +0900 +Branch: REL_11_STABLE [4525151d4] 2022-05-16 11:26:36 +0900 +Branch: REL_10_STABLE [60e956eb8] 2022-05-16 11:26:41 +0900 +--> + <para> + Fix control file updates made when a restartpoint is running during + promotion of a standby server (Kyotaro Horiguchi) + </para> + + <para> + Previously, when the restartpoint completed it could incorrectly + update the last-checkpoint fields of the control file, potentially + leading to PANIC and failure to restart if the server crashes before + the next normal checkpoint completes. + </para> + </listitem> + + <listitem> +<!-- +Author: Amit Kapila <akapila@postgresql.org> +Branch: master [f95d53ede] 2022-05-11 11:11:44 +0530 +Branch: REL_14_STABLE [d6da71fa8] 2022-05-11 10:51:04 +0530 +Branch: REL_13_STABLE [55558df23] 2022-05-11 10:41:24 +0530 +Branch: REL_12_STABLE [f832b5007] 2022-05-11 10:25:56 +0530 +Branch: REL_11_STABLE [87c1dd246] 2022-05-11 10:12:23 +0530 +Branch: REL_10_STABLE [a4015ec03] 2022-05-11 10:01:35 +0530 +--> + <para> + Prevent triggering of + standby's <varname>wal_receiver_timeout</varname> during logical + replication of large transactions (Wang Wei, Amit Kapila) + </para> + + <para> + If a large transaction on the primary server sends no data to the + standby (perhaps because no table it changes is published), it was + possible for the standby to timeout. Fix that by ensuring we send + keepalive messages periodically in such situations. + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [16c80e7d0] 2022-05-31 14:47:44 -0400 +Branch: REL_14_STABLE [c47a55852] 2022-05-31 14:47:44 -0400 +Branch: REL_13_STABLE [c73748b68] 2022-05-31 14:47:44 -0400 +Branch: REL_12_STABLE [a3faebd6a] 2022-05-31 14:47:44 -0400 +Branch: REL_11_STABLE [ae758e603] 2022-05-31 14:47:44 -0400 +Branch: REL_10_STABLE [2114910ca] 2022-05-31 14:47:44 -0400 +--> + <para> + Prevent open-file leak when reading an invalid timezone abbreviation + file (Kyotaro Horiguchi) + </para> + + <para> + Such cases could result in harmless warning messages. + </para> + </listitem> + + <listitem> +<!-- +Author: Michael Paquier <michael@paquier.xyz> +Branch: master [f1431f3bf] 2022-05-28 12:12:40 +0900 +Branch: REL_14_STABLE [fe441a031] 2022-05-28 12:12:46 +0900 +Branch: REL_13_STABLE [1e6802990] 2022-05-28 12:12:51 +0900 +Branch: REL_12_STABLE [ae236bf66] 2022-05-28 12:12:55 +0900 +Branch: REL_11_STABLE [c3db8a2e2] 2022-05-28 12:12:58 +0900 +Branch: REL_10_STABLE [1b40ceea2] 2022-05-28 12:13:02 +0900 +--> + <para> + Allow custom server parameters to have short descriptions that are + NULL (Steve Chavez) + </para> + + <para> + Previously, although extensions could choose to create such + settings, some code paths would crash while processing them. + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [2b65de7fc] 2022-05-26 14:14:05 -0400 +Branch: REL_14_STABLE [b4be4a082] 2022-05-26 14:14:05 -0400 +Branch: REL_13_STABLE [9e3dbc6fd] 2022-05-26 14:14:05 -0400 +Branch: REL_12_STABLE [01ab9fb7d] 2022-05-26 14:14:05 -0400 +Branch: REL_11_STABLE [a44bc8b8f] 2022-05-26 14:14:05 -0400 +Branch: REL_10_STABLE [ef54a6576] 2022-05-26 14:14:05 -0400 +--> + <para> + Remove misguided SSL key file ownership check + in <application>libpq</application> (Tom Lane) + </para> + + <para> + In the previous minor releases, we copied the server's permission + checking rules for SSL private key files into libpq. But we should + not have also copied the server's file-ownership check. While that + works in normal use-cases, it can result in an unexpected failure + for clients running as root, and perhaps in other cases. + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [6d157e7cb] 2022-06-06 11:20:21 -0400 +Branch: REL_14_STABLE [a5dbca460] 2022-06-06 11:20:31 -0400 +Branch: REL_13_STABLE [16d68007c] 2022-06-06 11:20:36 -0400 +Branch: REL_12_STABLE [02026cadb] 2022-06-06 11:20:41 -0400 +Branch: REL_11_STABLE [d82ed5b2f] 2022-06-06 11:20:46 -0400 +Branch: REL_10_STABLE [89254606b] 2022-06-06 11:20:52 -0400 +--> + <para> + Ensure <application>ecpg</application> reports server connection loss + sanely (Tom Lane) + </para> + + <para> + Misprocessing of a libpq-generated error result, such as a report of + lost connection, would lead to printing <quote>(null)</quote> + instead of a useful error message; or in older releases it would + lead to a crash. + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [51da23159] 2022-06-06 11:26:57 -0400 +Branch: REL_14_STABLE [32a85ee46] 2022-06-06 11:26:57 -0400 +--> + <para> + Prevent crash after server connection loss + in <application>pg_amcheck</application> (Tom Lane) + </para> + + <para> + Misprocessing of a libpq-generated error result, such as a report of + lost connection, would lead to a crash. + </para> + </listitem> + + <listitem> +<!-- +Author: Michael Paquier <michael@paquier.xyz> +Branch: master [157f8739a] 2022-06-06 11:05:59 +0900 +Branch: REL_14_STABLE [a04ccf6df] 2022-06-06 11:07:22 +0900 +Branch: REL_13_STABLE [b364cfdfa] 2022-06-06 11:07:27 +0900 +Branch: REL_12_STABLE [0a1e4f0ca] 2022-06-06 11:07:31 +0900 +Branch: REL_11_STABLE [b0bd9327d] 2022-06-06 11:07:35 +0900 +Branch: REL_10_STABLE [c3df4d53c] 2022-06-06 11:07:39 +0900 +--> + <para> + Fix <application>psql</application>'s + <option>--single-transaction</option> option to consider client-side + errors as a reason to roll back the transaction (Kyotaro Horiguchi, + Michael Paquier) + </para> + + <para> + Previously, <application>psql</application> blindly + issued <command>COMMIT</command> at the end of + a <option>--single-transaction</option> session. Now it will + instead issue <command>ROLLBACK</command> if any errors were + detected. This makes no difference for server-detected errors + (because the server would then convert <command>COMMIT</command> + to <command>ROLLBACK</command> anyway), but it prevents committing + after a client-side error. + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [eb39610f8] 2022-06-01 16:15:47 -0400 +Branch: REL_14_STABLE [1072e4c45] 2022-06-01 16:15:47 -0400 +Branch: REL_13_STABLE [eeac7dd9f] 2022-06-01 16:15:47 -0400 +Branch: REL_12_STABLE [c08538734] 2022-06-01 16:15:47 -0400 +Branch: REL_11_STABLE [b5265196e] 2022-06-01 16:15:47 -0400 +Branch: REL_10_STABLE [d5e1d5ed9] 2022-06-01 16:15:47 -0400 +Branch: REL9_6_STABLE [d4c161842] 2022-06-01 16:15:47 -0400 +Branch: REL9_5_STABLE [9fdeae848] 2022-06-01 16:15:47 -0400 +Branch: REL9_4_STABLE [b53780e1b] 2022-06-01 16:15:47 -0400 +Branch: REL9_3_STABLE [a3b685fdd] 2022-06-01 16:15:47 -0400 +Branch: REL9_2_STABLE [6f9ea6cf3] 2022-06-01 16:15:47 -0400 +--> + <para> + Adjust PL/Perl test case so it will work under Perl 5.36 + (Dagfinn Ilmari MannsÃ¥ker) + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [aff45c879] 2022-05-10 18:42:02 -0400 +Branch: REL_14_STABLE [12736e7dc] 2022-05-10 18:42:02 -0400 +Branch: REL_13_STABLE [af9b96767] 2022-05-10 18:42:02 -0400 +Branch: REL_12_STABLE [8ed13fb93] 2022-05-10 18:42:02 -0400 +Branch: REL_11_STABLE [36d76da81] 2022-05-10 18:42:02 -0400 +Branch: REL_10_STABLE [c61f36d99] 2022-05-10 18:42:02 -0400 +--> + <para> + Avoid incorrectly using an + out-of-date <application>libldap_r</application> library when + multiple <productname>OpenLDAP</productname> installations are + present while building <productname>PostgreSQL</productname> + (Tom Lane) + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-14-3"> <title>Release 14.3</title> |