diff options
-rw-r--r-- | doc/src/sgml/release-12.sgml | 894 |
1 files changed, 894 insertions, 0 deletions
diff --git a/doc/src/sgml/release-12.sgml b/doc/src/sgml/release-12.sgml index 40aa84166c6..80b9a21cf7c 100644 --- a/doc/src/sgml/release-12.sgml +++ b/doc/src/sgml/release-12.sgml @@ -1,6 +1,900 @@ <!-- doc/src/sgml/release-12.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-12-21"> + <title>Release 12.21</title> + + <formalpara> + <title>Release date:</title> + <para>2024-11-14</para> + </formalpara> + + <para> + This release contains a variety of fixes from 12.20. + For information about new features in major release 12, see + <xref linkend="release-12"/>. + </para> + + <para> + This is expected to be the last <productname>PostgreSQL</productname> + release in the 12.X series. Users are encouraged to update to a newer + release branch soon. + </para> + + <sect2> + <title>Migration to Version 12.21</title> + + <para> + A dump/restore is not required for those running 12.X. + </para> + + <para> + However, if you are upgrading from a version earlier than 12.18, + see <xref linkend="release-12-18"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> +<!-- +Author: Álvaro Herrera <alvherre@alvh.no-ip.org> +Branch: master [a90bdd7a4] 2024-08-08 19:35:13 -0400 +Branch: REL_17_STABLE Release: REL_17_0 [344f9f5e2] 2024-08-08 19:35:13 -0400 +Branch: REL_16_STABLE [ada34d714] 2024-08-08 19:35:13 -0400 +Branch: REL_15_STABLE [8c0944ac8] 2024-08-08 19:35:13 -0400 +Branch: REL_14_STABLE [e97121d90] 2024-08-08 19:35:13 -0400 +Branch: REL_13_STABLE [2ee02c98d] 2024-08-08 19:35:13 -0400 +Branch: REL_12_STABLE [17ed92e1f] 2024-08-08 19:35:13 -0400 +Author: Peter Eisentraut <peter@eisentraut.org> +Branch: REL_16_STABLE [57c8b8726] 2024-11-08 07:17:55 +0100 +Branch: REL_15_STABLE [38f506470] 2024-11-08 07:31:48 +0100 +Branch: REL_14_STABLE [a54a5c426] 2024-11-08 07:32:07 +0100 +Branch: REL_13_STABLE [ebbfa2ae3] 2024-11-08 07:32:14 +0100 +Branch: REL_12_STABLE [cae459d11] 2024-11-08 07:32:21 +0100 +--> + <para> + Disallow <command>ALTER TABLE ATTACH PARTITION</command> if the + table to be attached has a foreign key referencing the partitioned + table (Álvaro Herrera) + <ulink url="&commit_baseurl;17ed92e1f">§</ulink> + <ulink url="&commit_baseurl;cae459d11">§</ulink> + </para> + + <para> + This arrangement is not supported, and other ways of creating it + already fail. + </para> + </listitem> + + <listitem> +<!-- +Author: Amit Langote <amitlan@postgresql.org> +Branch: master [075acdd93] 2024-11-08 17:25:24 +0900 +Branch: REL_17_STABLE [a0cdfc889] 2024-11-08 17:19:35 +0900 +Branch: REL_16_STABLE [f734b6b4d] 2024-11-08 17:19:13 +0900 +Branch: REL_15_STABLE [33040b171] 2024-11-08 17:18:55 +0900 +Branch: REL_14_STABLE [62df5484f] 2024-11-08 17:18:38 +0900 +Branch: REL_13_STABLE [054701a2b] 2024-11-08 17:18:21 +0900 +Branch: REL_12_STABLE [9c4757491] 2024-11-08 17:18:04 +0900 +Branch: master [90fe6251c] 2024-11-08 16:07:22 +0900 +Branch: REL_17_STABLE [b6484ca95] 2024-11-08 16:07:13 +0900 +Branch: REL_16_STABLE [dd2f8ebee] 2024-11-08 16:07:05 +0900 +Branch: REL_15_STABLE [0a620659c] 2024-11-08 16:06:58 +0900 +Branch: REL_14_STABLE [96f9b29a3] 2024-11-08 16:06:46 +0900 +Branch: REL_13_STABLE [ff65f695c] 2024-11-08 16:06:12 +0900 +Branch: REL_12_STABLE [46d9be5ef] 2024-11-08 16:05:33 +0900 +--> + <para> + Don't use partitionwise joins or grouping if the query's collation + for the key column doesn't match the partition key's collation (Jian + He, Webbo Han) + <ulink url="&commit_baseurl;9c4757491">§</ulink> + <ulink url="&commit_baseurl;46d9be5ef">§</ulink> + </para> + + <para> + Such plans could produce incorrect results. + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [fae55f0bb] 2024-09-13 16:17:04 -0400 +Branch: REL_17_STABLE Release: REL_17_0 [418c6a2c7] 2024-09-13 16:17:04 -0400 +Branch: REL_16_STABLE [d23109f4b] 2024-09-13 16:16:47 -0400 +Branch: REL_15_STABLE [e0857898b] 2024-09-13 16:16:47 -0400 +Branch: REL_14_STABLE [b49013f2e] 2024-09-13 16:16:47 -0400 +Branch: REL_13_STABLE [b27215dbb] 2024-09-13 16:16:47 -0400 +Branch: REL_12_STABLE [813ade548] 2024-09-13 16:16:47 -0400 +--> + <para> + Allow cancellation of the second stage of index build for large hash + indexes (Pavel Borisov) + <ulink url="&commit_baseurl;813ade548">§</ulink> + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [68ad9816c] 2024-10-21 15:08:22 -0400 +Branch: REL_17_STABLE [3685ad618] 2024-10-21 15:08:22 -0400 +Branch: REL_16_STABLE [6c3b2d204] 2024-10-21 15:08:22 -0400 +Branch: REL_15_STABLE [c80a1e048] 2024-10-21 15:08:22 -0400 +Branch: REL_14_STABLE [5e94f616c] 2024-10-21 15:08:22 -0400 +Branch: REL_13_STABLE [beab395a4] 2024-10-21 15:08:22 -0400 +Branch: REL_12_STABLE [6a57a457c] 2024-10-21 15:08:22 -0400 +--> + <para> + Fix assertion failure or confusing error message for <literal>COPY + (<replaceable>query</replaceable>) TO ...</literal>, when + the <replaceable>query</replaceable> is rewritten by a <literal>DO + INSTEAD NOTIFY</literal> rule (Tender Wang, Tom Lane) + <ulink url="&commit_baseurl;6a57a457c">§</ulink> + </para> + </listitem> + + <listitem> +<!-- +Author: Thomas Munro <tmunro@postgresql.org> +Branch: master [98c7c7152] 2024-10-17 22:11:59 +1300 +Branch: REL_17_STABLE [4ac5d33a8] 2024-10-17 22:10:29 +1300 +Branch: REL_16_STABLE [53edc9485] 2024-10-17 22:08:13 +1300 +Branch: REL_15_STABLE [1831545ca] 2024-10-17 22:04:05 +1300 +Branch: REL_14_STABLE [20d948994] 2024-10-17 22:01:54 +1300 +Branch: REL_13_STABLE [45329466f] 2024-10-17 22:00:38 +1300 +Branch: REL_12_STABLE [4fa80a6d7] 2024-10-17 22:00:16 +1300 +--> + <para> + Fix detection of skewed data during parallel hash join (Thomas + Munro) + <ulink url="&commit_baseurl;4fa80a6d7">§</ulink> + </para> + + <para> + After repartitioning the inner side of a hash join because one + partition has accumulated too many tuples, we check to see if all + the partition's tuples went into the same child partition, which + suggests that they all have the same hash value and further + repartitioning cannot improve matters. This check malfunctioned in + some cases, allowing repeated futile repartitioning which would + eventually end in a resource-exhaustion error. + </para> + </listitem> + + <listitem> +<!-- +Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> +Branch: master [1a43de5e0] 2024-10-21 09:49:21 +0300 +Branch: REL_17_STABLE [234f6d09e] 2024-10-21 09:49:29 +0300 +Branch: REL_16_STABLE [22665f210] 2024-10-21 09:49:32 +0300 +Branch: REL_15_STABLE [d97419b85] 2024-10-21 09:49:35 +0300 +Branch: REL_14_STABLE [520ec2474] 2024-10-21 09:49:38 +0300 +Branch: REL_13_STABLE [8e607a5a4] 2024-10-21 09:49:41 +0300 +Branch: REL_12_STABLE [e2ec3afeb] 2024-10-21 09:49:50 +0300 +--> + <para> + Fix race condition in committing a serializable transaction (Heikki + Linnakangas) + <ulink url="&commit_baseurl;e2ec3afeb">§</ulink> + </para> + + <para> + Mis-processing of a recently committed transaction could lead to an + assertion failure or a <quote>could not access status of + transaction</quote> error. + </para> + </listitem> + + <listitem> +<!-- +Author: Michael Paquier <michael@paquier.xyz> +Branch: master [cf4401fe6] 2024-10-01 15:44:03 +0900 +Branch: REL_17_STABLE [f250cb29d] 2024-10-01 15:44:07 +0900 +Branch: REL_16_STABLE [7de9b64a5] 2024-10-01 15:44:09 +0900 +Branch: REL_15_STABLE [41ab45680] 2024-10-01 15:44:11 +0900 +Branch: REL_14_STABLE [5f1510787] 2024-10-01 15:44:12 +0900 +Branch: REL_13_STABLE [7bfaa4671] 2024-10-01 15:44:14 +0900 +Branch: REL_12_STABLE [34d751ba7] 2024-10-01 15:44:15 +0900 +--> + <para> + Fix race condition in <command>COMMIT PREPARED</command> + that resulted in orphaned 2PC files (wuchengwen) + <ulink url="&commit_baseurl;34d751ba7">§</ulink> + </para> + + <para> + A concurrent <command>PREPARE TRANSACTION</command> could + cause <command>COMMIT PREPARED</command> to not remove the on-disk + two-phase state file for the completed transaction. There was no + immediate ill effect, but a subsequent crash-and-recovery could fail + with <quote>could not access status of transaction</quote>, + requiring manual removal of the orphaned file to restore service. + </para> + </listitem> + + <listitem> +<!-- +Author: Michael Paquier <michael@paquier.xyz> +Branch: master [09620ea09] 2024-09-27 09:40:09 +0900 +Branch: REL_17_STABLE [1532599a8] 2024-09-27 09:40:14 +0900 +Branch: REL_16_STABLE [afbd3dc7d] 2024-09-27 09:40:16 +0900 +Branch: REL_15_STABLE [a613edc5c] 2024-09-27 09:40:18 +0900 +Branch: REL_14_STABLE [6530b869c] 2024-09-27 09:40:19 +0900 +Branch: REL_13_STABLE [911eda9f3] 2024-09-27 09:40:21 +0900 +Branch: REL_12_STABLE [2f33e68a5] 2024-09-27 09:40:22 +0900 +--> + <para> + Avoid invalid memory accesses after skipping an invalid toast index + during <command>VACUUM FULL</command> (Tender Wang) + <ulink url="&commit_baseurl;2f33e68a5">§</ulink> + </para> + + <para> + A list tracking yet-to-be-rebuilt indexes was not properly updated + in this code path, risking assertion failures or crashes later on. + </para> + </listitem> + + <listitem> +<!-- +Author: Noah Misch <noah@leadboat.com> +Branch: master [a07e03fd8] 2024-09-24 15:25:18 -0700 +Branch: REL_17_STABLE [fd27b878c] 2024-09-24 15:25:21 -0700 +Branch: REL_16_STABLE [63f019805] 2024-09-24 15:25:22 -0700 +Branch: REL_15_STABLE [8590c942c] 2024-09-24 15:25:23 -0700 +Branch: REL_14_STABLE [82c2d9e02] 2024-09-24 15:25:23 -0700 +Branch: REL_13_STABLE [a8ad1929d] 2024-09-24 15:25:24 -0700 +Branch: REL_12_STABLE [7354b680a] 2024-09-24 15:25:25 -0700 +Branch: master [aac2c9b4f] 2024-09-24 15:25:18 -0700 +Branch: REL_17_STABLE [3b7a689e1] 2024-09-24 15:25:22 -0700 +Branch: REL_16_STABLE [51ff46de2] 2024-09-24 15:25:22 -0700 +Branch: REL_15_STABLE [5c837f8fa] 2024-09-24 15:25:23 -0700 +Branch: REL_14_STABLE [f51b34b3e] 2024-09-24 15:25:23 -0700 +Branch: REL_13_STABLE [14c57cb63] 2024-09-24 15:25:24 -0700 +Branch: REL_12_STABLE [cafcc3ad0] 2024-09-24 15:25:25 -0700 +Branch: master [0d5a3d757] 2024-09-29 15:54:25 -0700 +Branch: REL_17_STABLE [da99df15c] 2024-09-29 15:54:28 -0700 +Branch: REL_16_STABLE [4c922821e] 2024-09-29 15:54:28 -0700 +Branch: REL_15_STABLE [159bf0f31] 2024-09-29 15:54:29 -0700 +Branch: REL_14_STABLE [b9ee1339b] 2024-09-29 15:54:29 -0700 +Branch: REL_13_STABLE [db1992455] 2024-09-29 15:54:29 -0700 +Branch: REL_12_STABLE [5a33a39a8] 2024-09-29 15:54:30 -0700 +Branch: master [e947224cb] 2024-10-24 09:16:14 -0700 +Branch: REL_17_STABLE [e11907682] 2024-10-24 09:16:17 -0700 +Branch: REL_16_STABLE [2d63c964f] 2024-10-24 09:16:18 -0700 +Branch: REL_15_STABLE [d34ffbaa1] 2024-10-24 09:16:18 -0700 +Branch: REL_14_STABLE [ad24b7565] 2024-10-24 09:16:19 -0700 +Branch: REL_13_STABLE [3e5ea478d] 2024-10-24 09:16:19 -0700 +Branch: REL_12_STABLE [a0c0078b1] 2024-10-24 09:16:20 -0700 +Branch: master [30d47ec8c] 2024-10-29 09:39:55 -0700 +Branch: REL_17_STABLE [9aef6f19a] 2024-10-29 09:39:58 -0700 +Branch: REL_16_STABLE [370bc7740] 2024-10-29 09:39:58 -0700 +Branch: REL_15_STABLE [0fe002d0c] 2024-10-29 09:39:59 -0700 +Branch: REL_14_STABLE [11e3f288f] 2024-10-29 09:39:59 -0700 +Branch: REL_13_STABLE [2a912bc1a] 2024-10-29 09:40:00 -0700 +Branch: REL_12_STABLE [c2139db11] 2024-10-29 09:40:00 -0700 +Branch: master [b412f402d] 2024-11-02 09:04:55 -0700 +Branch: REL_17_STABLE [0bcb9d079] 2024-11-02 09:05:00 -0700 +Branch: REL_16_STABLE [6c837c237] 2024-11-02 09:05:02 -0700 +Branch: REL_15_STABLE [6d5b4031b] 2024-11-02 09:05:04 -0700 +Branch: REL_14_STABLE [bb3054297] 2024-11-02 09:05:05 -0700 +Branch: REL_13_STABLE [6b01cac0b] 2024-11-02 09:05:07 -0700 +Branch: REL_12_STABLE [d729f1ea5] 2024-11-02 09:05:08 -0700 +Branch: master [825c72c07] 2024-11-02 19:42:52 -0700 +Branch: REL_17_STABLE [54bc22fbf] 2024-11-02 19:42:55 -0700 +Branch: REL_16_STABLE [f8f9110b4] 2024-11-02 19:42:56 -0700 +Branch: REL_15_STABLE [d14e94ac4] 2024-11-02 19:42:56 -0700 +Branch: REL_14_STABLE [803655e66] 2024-11-02 19:42:57 -0700 +Branch: REL_13_STABLE [4dc0c933f] 2024-11-02 19:42:57 -0700 +Branch: REL_12_STABLE [766809db3] 2024-11-02 19:42:58 -0700 +--> + <para> + Fix ways in which an <quote>in place</quote> catalog update could be + lost (Noah Misch) + <ulink url="&commit_baseurl;7354b680a">§</ulink> + <ulink url="&commit_baseurl;cafcc3ad0">§</ulink> + <ulink url="&commit_baseurl;5a33a39a8">§</ulink> + <ulink url="&commit_baseurl;a0c0078b1">§</ulink> + <ulink url="&commit_baseurl;c2139db11">§</ulink> + <ulink url="&commit_baseurl;d729f1ea5">§</ulink> + <ulink url="&commit_baseurl;766809db3">§</ulink> + </para> + + <para> + Normal row updates write a new version of the row to preserve + rollback-ability of the transaction. However, certain system + catalog updates are intentionally non-transactional and are done + with an in-place update of the row. These patches fix race + conditions that could cause the effects of an in-place update to be + lost. As an example, it was possible to forget having set + <structname>pg_class</structname>.<structfield>relhasindex</structfield> + to true, preventing updates of the new index and thus causing index + corruption. + </para> + </listitem> + + <listitem> +<!-- +Author: Noah Misch <noah@leadboat.com> +Branch: REL_17_STABLE [a4668c99f] 2024-10-25 06:51:06 -0700 +Branch: REL_16_STABLE [d36b4d8ec] 2024-10-25 06:51:06 -0700 +Branch: REL_15_STABLE [3baf804b7] 2024-10-25 06:51:07 -0700 +Branch: REL_14_STABLE [dca68242a] 2024-10-25 06:51:07 -0700 +Branch: REL_13_STABLE [67f30c79a] 2024-10-25 06:51:08 -0700 +Branch: REL_12_STABLE [da9950456] 2024-10-25 06:51:08 -0700 +--> + <para> + Reset catalog caches at end of recovery (Noah Misch) + <ulink url="&commit_baseurl;da9950456">§</ulink> + </para> + + <para> + This prevents scenarios wherein an in-place catalog update could be + lost due to using stale data from a catalog cache. + </para> + </listitem> + + <listitem> +<!-- +Author: Noah Misch <noah@leadboat.com> +Branch: master [ac04aa84a] 2024-09-17 19:53:11 -0700 +Branch: REL_17_STABLE Release: REL_17_0 [2370582ab] 2024-09-17 19:54:25 -0700 +Branch: REL_16_STABLE [6f6521de9] 2024-09-17 19:54:25 -0700 +Branch: REL_15_STABLE [884860bfc] 2024-09-17 19:54:26 -0700 +Branch: REL_14_STABLE [5c698e898] 2024-09-17 19:54:26 -0700 +Branch: REL_13_STABLE [916b8ae47] 2024-09-17 19:54:26 -0700 +Branch: REL_12_STABLE [507b72bd9] 2024-09-17 19:54:26 -0700 +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [b8df69049] 2024-11-08 13:42:10 -0500 +Branch: REL_17_STABLE [943b65358] 2024-11-08 13:42:01 -0500 +Branch: REL_16_STABLE [06424e9a2] 2024-11-08 13:42:01 -0500 +Branch: REL_15_STABLE [bcbdb176e] 2024-11-08 13:42:01 -0500 +Branch: REL_14_STABLE [989ccd26c] 2024-11-08 13:42:01 -0500 +Branch: REL_13_STABLE [62685876f] 2024-11-08 13:42:01 -0500 +Branch: REL_12_STABLE [6e39ca6e7] 2024-11-08 13:42:01 -0500 +--> + <para> + Avoid using parallel query while holding off interrupts + (Francesco Degrassi, Noah Misch, Tom Lane) + <ulink url="&commit_baseurl;507b72bd9">§</ulink> + <ulink url="&commit_baseurl;6e39ca6e7">§</ulink> + </para> + + <para> + This situation cannot arise normally, but it can be reached with + test scenarios such as using a SQL-language function as B-tree + support (which would be far too slow for production usage). If it + did occur it would result in an indefinite wait. + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [d5622acb3] 2024-09-15 13:33:09 -0400 +Branch: REL_17_STABLE Release: REL_17_0 [b9645dca1] 2024-09-15 13:33:09 -0400 +Branch: REL_16_STABLE [4c9bf947a] 2024-09-15 13:33:09 -0400 +Branch: REL_15_STABLE [634804885] 2024-09-15 13:33:09 -0400 +Branch: REL_14_STABLE [7721fff06] 2024-09-15 13:33:09 -0400 +Branch: REL_13_STABLE [4310dfa25] 2024-09-15 13:33:09 -0400 +Branch: REL_12_STABLE [0206795d2] 2024-09-15 13:33:09 -0400 +--> + <para> + Guard against stack overflow in <application>libxml2</application> + with too-deeply-nested XML input (Tom Lane, with hat tip to Nick + Wellnhofer) + <ulink url="&commit_baseurl;0206795d2">§</ulink> + </para> + + <para> + Use <function>xmlXPathCtxtCompile()</function> rather + than <function>xmlXPathCompile()</function>, because the latter + fails to protect itself against recursion-to-stack-overflow + in <application>libxml2</application> releases before 2.13.4. + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [b2be5cb2a] 2024-08-11 12:24:56 -0400 +Branch: REL_17_STABLE Release: REL_17_0 [aed881386] 2024-08-11 12:24:56 -0400 +Branch: REL_16_STABLE [9db6650a5] 2024-08-11 12:24:56 -0400 +Branch: REL_15_STABLE [16e67bc5f] 2024-08-11 12:24:56 -0400 +Branch: REL_14_STABLE [bc5446a21] 2024-08-11 12:24:56 -0400 +Branch: REL_13_STABLE [016f44364] 2024-08-11 12:24:56 -0400 +Branch: master [b919a97a6] 2024-08-09 11:21:39 -0400 +Branch: REL_17_STABLE Release: REL_17_0 [81a12a447] 2024-08-09 11:21:39 -0400 +Branch: REL_16_STABLE [03f679475] 2024-08-09 11:21:39 -0400 +Branch: REL_15_STABLE [12010f414] 2024-08-09 11:21:39 -0400 +Branch: REL_14_STABLE [120dd0337] 2024-08-09 11:21:39 -0400 +Branch: REL_13_STABLE [3ad35d502] 2024-08-09 11:21:39 -0400 +Branch: REL_12_STABLE [7408772de] 2024-08-09 11:21:39 -0400 +--> + <para> + Fix <quote>failed to find plan for subquery/CTE</quote> errors + in <command>EXPLAIN</command> (Richard Guo, Tom Lane) + <ulink url="&commit_baseurl;7408772de">§</ulink> + </para> + + <para> + This case arose while trying to print references to fields of a + RECORD-type output of a subquery when the subquery has been + optimized out of the plan altogether (which is possible at least in + the case that it has a constant-false <literal>WHERE</literal> + condition). Nothing remains in the plan to identify the original + field names, so fall back to + printing <literal>f<replaceable>N</replaceable></literal> for + the <replaceable>N</replaceable>'th record column. (That's actually + the right thing anyway, if the record output arose from + a <literal>ROW()</literal> constructor.) + </para> + </listitem> + + <listitem> +<!-- +Author: Peter Eisentraut <peter@eisentraut.org> +Branch: master [4d68a0432] 2024-08-29 09:06:15 +0200 +Branch: REL_17_STABLE Release: REL_17_0 [fdbf7e46a] 2024-08-29 08:59:30 +0200 +Branch: REL_16_STABLE [5867ee005] 2024-08-29 09:00:06 +0200 +Branch: REL_15_STABLE [cf49a606c] 2024-08-29 09:01:02 +0200 +Branch: REL_14_STABLE [ecd19a3cc] 2024-08-29 09:01:33 +0200 +Branch: REL_13_STABLE [7589d5c5b] 2024-08-29 09:02:06 +0200 +Branch: REL_12_STABLE [1c57ae795] 2024-08-29 09:03:06 +0200 +--> + <para> + Disallow a <literal>USING</literal> clause when altering the type of + a generated column (Peter Eisentraut) + <ulink url="&commit_baseurl;1c57ae795">§</ulink> + </para> + + <para> + A generated column already has an expression specifying the column + contents, so including <literal>USING</literal> doesn't make sense. + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [f8d9a9f21] 2024-10-06 16:03:48 -0400 +Branch: REL_17_STABLE [3daeb539a] 2024-10-06 16:03:48 -0400 +Branch: REL_16_STABLE [5de77b609] 2024-10-06 16:03:48 -0400 +Branch: REL_15_STABLE [aef75219c] 2024-10-06 16:03:48 -0400 +Branch: REL_14_STABLE [3922c9e9f] 2024-10-06 16:03:48 -0400 +Branch: REL_13_STABLE [4a17acd0d] 2024-10-06 16:03:48 -0400 +Branch: REL_12_STABLE [5c17f5a63] 2024-10-06 16:03:48 -0400 +--> + <para> + Ignore not-yet-defined Portals in + the <structname>pg_cursors</structname> view (Tom Lane) + <ulink url="&commit_baseurl;5c17f5a63">§</ulink> + </para> + + <para> + It is possible for user-defined code that inspects this view to be + called while a new cursor is being set up, and if that happens a + null pointer dereference would ensue. Avoid the problem by defining + the view to exclude incompletely-set-up cursors. + </para> + </listitem> + + <listitem> +<!-- +Author: Masahiko Sawada <msawada@postgresql.org> +Branch: master [1b9b6cc34] 2024-10-16 12:08:05 -0700 +Branch: REL_17_STABLE [eef9cc4dc] 2024-10-16 12:08:02 -0700 +Branch: REL_16_STABLE [05e982cdc] 2024-10-16 12:08:00 -0700 +Branch: REL_15_STABLE [4a675f318] 2024-10-16 12:07:58 -0700 +Branch: REL_14_STABLE [5c1ed0a51] 2024-10-16 12:07:55 -0700 +Branch: REL_13_STABLE [cb988b04d] 2024-10-16 12:07:52 -0700 +Branch: REL_12_STABLE [53fa68b3b] 2024-10-16 12:07:50 -0700 +--> + <para> + Reduce memory consumption of logical decoding (Masahiko Sawada) + <ulink url="&commit_baseurl;53fa68b3b">§</ulink> + </para> + + <para> + Use a smaller default block size to store tuple data received during + logical replication. This reduces memory wastage, which has been + reported to be severe while processing long-running transactions, + even leading to out-of-memory failures. + </para> + </listitem> + + <listitem> +<!-- +Author: Daniel Gustafsson <dgustafsson@postgresql.org> +Branch: master [4fdb6558c] 2024-08-19 12:55:11 +0200 +Branch: REL_17_STABLE Release: REL_17_0 [19021d28c] 2024-08-19 12:55:11 +0200 +Branch: REL_16_STABLE [9333174af] 2024-08-19 12:55:11 +0200 +Branch: REL_15_STABLE [23c200940] 2024-08-19 12:55:11 +0200 +Branch: REL_14_STABLE [8cea8c023] 2024-08-19 12:55:11 +0200 +Branch: REL_13_STABLE [f925b7f65] 2024-08-19 12:55:11 +0200 +Branch: REL_12_STABLE [cd98a142c] 2024-08-19 12:55:11 +0200 +--> + <para> + Re-disable sending of stateless (TLSv1.2) session tickets + (Daniel Gustafsson) + <ulink url="&commit_baseurl;cd98a142c">§</ulink> + </para> + + <para> + A previous change to prevent sending of stateful (TLSv1.3) session + tickets accidentally re-enabled sending of stateless ones. Thus, + while we intended to prevent clients from thinking that TLS session + resumption is supported, some still did. + </para> + </listitem> + + <listitem> +<!-- +Author: Tomas Vondra <tomas.vondra@postgresql.org> +Branch: master [0f92b230f] 2024-08-19 00:04:48 +0200 +Branch: REL_17_STABLE Release: REL_17_0 [d1da80115] 2024-08-19 00:05:23 +0200 +Branch: REL_16_STABLE [545794515] 2024-08-19 00:05:42 +0200 +Branch: REL_15_STABLE [df9c5fb58] 2024-08-19 00:06:03 +0200 +Branch: REL_14_STABLE [b3bb1e24b] 2024-08-19 00:06:23 +0200 +Branch: REL_13_STABLE [33c615f76] 2024-08-19 00:07:04 +0200 +Branch: REL_12_STABLE [f18d3e47f] 2024-08-19 00:07:20 +0200 +Branch: master [5cb902e9d] 2024-08-19 13:31:51 +0200 +Branch: REL_17_STABLE Release: REL_17_0 [de8770b47] 2024-08-19 13:43:27 +0200 +Branch: REL_16_STABLE [f6991cafa] 2024-08-19 13:43:43 +0200 +Branch: REL_15_STABLE [e498d22e2] 2024-08-19 14:00:50 +0200 +Branch: REL_14_STABLE [3acbe198e] 2024-08-19 13:47:07 +0200 +Branch: REL_13_STABLE [4e7531fda] 2024-08-19 13:49:23 +0200 +Branch: REL_12_STABLE [9d42627bc] 2024-08-19 13:49:36 +0200 +--> + <para> + Avoid <quote>wrong tuple length</quote> failure when dropping a + database with many ACL (permission) entries (Ayush Tiwari) + <ulink url="&commit_baseurl;f18d3e47f">§</ulink> + <ulink url="&commit_baseurl;9d42627bc">§</ulink> + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [364de74cf] 2024-08-10 15:51:30 -0400 +Branch: REL_17_STABLE Release: REL_17_0 [2b8d33f66] 2024-08-10 15:51:28 -0400 +Branch: REL_16_STABLE [f3ab5d3a2] 2024-08-10 15:51:28 -0400 +Branch: REL_15_STABLE [2f4e895be] 2024-08-10 15:51:28 -0400 +Branch: REL_14_STABLE [546a26b3d] 2024-08-10 15:51:28 -0400 +Branch: REL_13_STABLE [adf9808fa] 2024-08-10 15:51:28 -0400 +Branch: REL_12_STABLE [adc28d01e] 2024-08-10 15:51:28 -0400 +--> + <para> + Allow adjusting the <varname>session_authorization</varname> + and <varname>role</varname> settings in parallel workers (Tom Lane) + <ulink url="&commit_baseurl;adc28d01e">§</ulink> + </para> + + <para> + Our code intends to allow modifiable server settings to be set by + function <literal>SET</literal> clauses, but not otherwise within a + parallel worker. <literal>SET</literal> clauses failed for these + two settings, though. + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [c96de42c4] 2024-10-16 17:36:40 -0400 +Branch: REL_17_STABLE [b5eef7539] 2024-10-16 17:36:29 -0400 +Branch: REL_16_STABLE [25d639eea] 2024-10-16 17:36:29 -0400 +Branch: REL_15_STABLE [b35231989] 2024-10-16 17:36:29 -0400 +Branch: REL_14_STABLE [ab13c46ff] 2024-10-16 17:36:30 -0400 +Branch: REL_13_STABLE [0d83ced3c] 2024-10-16 17:36:30 -0400 +Branch: REL_12_STABLE [cf1443d67] 2024-10-16 17:36:30 -0400 +--> + <para> + Fix behavior of stable functions called from + a <command>CALL</command> statement's argument list, when + the <command>CALL</command> is within a + PL/pgSQL <literal>EXCEPTION</literal> block (Tom Lane) + <ulink url="&commit_baseurl;cf1443d67">§</ulink> + </para> + + <para> + As with a similar fix in our previous quarterly releases, this case + allowed such functions to be passed the wrong snapshot, causing them + to see stale values of rows modified since the start of the outer + transaction. + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [920d51979] 2024-10-02 17:30:36 -0400 +Branch: REL_17_STABLE [c7a201053] 2024-10-02 17:30:36 -0400 +Branch: REL_16_STABLE [65f431aff] 2024-10-02 17:30:36 -0400 +Branch: REL_15_STABLE [bb8c89dbc] 2024-10-02 17:30:36 -0400 +Branch: REL_14_STABLE [e7af9b52f] 2024-10-02 17:30:36 -0400 +Branch: REL_13_STABLE [2120eda94] 2024-10-02 17:30:36 -0400 +Branch: REL_12_STABLE [47d8a15de] 2024-10-02 17:30:36 -0400 +--> + <para> + Parse <application>libpq</application>'s <literal>keepalives</literal> + connection option in the same way as other integer-valued options + (Yuto Sasaki) + <ulink url="&commit_baseurl;47d8a15de">§</ulink> + </para> + + <para> + The coding used here rejected trailing whitespace in the option + value, unlike other cases. This turns out to be problematic + in <application>ecpg</application>'s usage, for example. + </para> + </listitem> + + <listitem> +<!-- +Author: Michael Paquier <michael@paquier.xyz> +Branch: master [a0bff38d1] 2024-10-23 08:33:54 +0900 +Branch: REL_17_STABLE [2c37cb26f] 2024-10-23 08:35:00 +0900 +Branch: REL_16_STABLE [a1e613b81] 2024-10-23 08:35:02 +0900 +Branch: REL_15_STABLE [335501fb2] 2024-10-23 08:35:04 +0900 +Branch: REL_14_STABLE [9a51d4af1] 2024-10-23 08:35:05 +0900 +Branch: REL_13_STABLE [fcafbaadf] 2024-10-23 08:35:07 +0900 +Branch: REL_12_STABLE [9ecfd8a48] 2024-10-23 08:35:08 +0900 +--> + <para> + In <application>ecpglib</application>, fix out-of-bounds read when + parsing incorrect datetime input (Bruce Momjian, Pavel Nekrasov) + <ulink url="&commit_baseurl;9ecfd8a48">§</ulink> + </para> + + <para> + It was possible to try to read the location just before the start of + a constant array. Real-world consequences seem minimal, though. + </para> + </listitem> + + <listitem> +<!-- +Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> +Branch: master [49dc191bd] 2024-08-08 10:20:25 +0300 +Branch: REL_17_STABLE Release: REL_17_0 [a7bf3e668] 2024-08-08 10:21:12 +0300 +Branch: REL_16_STABLE [e8240dbd8] 2024-08-08 10:22:49 +0300 +Branch: REL_15_STABLE [b5a5027c9] 2024-08-08 10:22:45 +0300 +Branch: REL_14_STABLE [bb5592cac] 2024-08-08 10:22:39 +0300 +Branch: REL_13_STABLE [c943e2aae] 2024-08-08 10:22:30 +0300 +Branch: REL_12_STABLE [8b86e289f] 2024-08-08 10:22:04 +0300 +--> + <para> + Include the source timeline history + in <application>pg_rewind</application>'s debug output + (Heikki Linnakangas) + <ulink url="&commit_baseurl;8b86e289f">§</ulink> + </para> + + <para> + This was the intention to begin with, but a coding error caused the + source history to always print as empty. + </para> + </listitem> + + <listitem> +<!-- +Author: Michael Paquier <michael@paquier.xyz> +Branch: master [1ab67c9df] 2024-09-25 14:43:16 +0900 +Branch: REL_17_STABLE [85cb21df6] 2024-09-25 14:44:50 +0900 +Branch: REL_16_STABLE [1ea4d9c00] 2024-09-25 14:44:53 +0900 +Branch: REL_15_STABLE [74eaa0544] 2024-09-25 14:44:56 +0900 +Branch: REL_14_STABLE [60c618216] 2024-09-25 14:44:57 +0900 +Branch: REL_13_STABLE [9db4598c9] 2024-09-25 14:44:59 +0900 +Branch: REL_12_STABLE [ef57a7135] 2024-09-25 14:45:01 +0900 +Author: Fujii Masao <fujii@postgresql.org> +Branch: master [20cfec896] 2024-09-30 11:13:55 +0900 +Branch: REL_17_STABLE [77f154681] 2024-09-30 11:15:56 +0900 +Branch: REL_16_STABLE [653ce5b8b] 2024-09-30 11:16:15 +0900 +Branch: REL_15_STABLE [92cc21d15] 2024-09-30 11:16:21 +0900 +Branch: REL_14_STABLE [88e1153cb] 2024-09-30 11:16:27 +0900 +Branch: REL_13_STABLE [9410f7cbf] 2024-09-30 11:17:23 +0900 +Author: Nathan Bossart <nathan@postgresql.org> +Branch: master [8318f2b17] 2024-10-07 16:49:20 -0500 +Branch: REL_17_STABLE [5bd26e652] 2024-10-07 16:49:20 -0500 +Branch: REL_16_STABLE [eba8cc1af] 2024-10-07 16:49:20 -0500 +Branch: REL_15_STABLE [6d047c6a9] 2024-10-07 16:49:20 -0500 +Branch: REL_14_STABLE [ce6f27857] 2024-10-07 16:49:20 -0500 +Branch: REL_13_STABLE [d4ade0baf] 2024-10-07 16:49:20 -0500 +Branch: REL_12_STABLE [5e0431c32] 2024-10-07 16:49:20 -0500 +--> + <para> + Avoid trying to reindex temporary tables and indexes + in <application>vacuumdb</application> and in + parallel <application>reindexdb</application> (VaibhaveS, Michael + Paquier, Fujii Masao, Nathan Bossart) + <ulink url="&commit_baseurl;ef57a7135">§</ulink> + <ulink url="&commit_baseurl;5e0431c32">§</ulink> + </para> + + <para> + Reindexing other sessions' temporary tables cannot work, but the + check to skip them was missing in some code paths, leading to + unwanted failures. + </para> + </listitem> + + <listitem> +<!-- +Author: Nathan Bossart <nathan@postgresql.org> +Branch: master [05036a315] 2024-09-12 16:31:29 -0500 +Branch: REL_17_STABLE Release: REL_17_0 [6ea7f04b7] 2024-09-12 16:31:29 -0500 +Branch: REL_16_STABLE [2bd4c06bb] 2024-09-12 16:31:29 -0500 +Branch: REL_15_STABLE [e03042a70] 2024-09-12 16:31:29 -0500 +Branch: REL_14_STABLE [8a94af8a2] 2024-09-12 16:31:29 -0500 +Branch: REL_13_STABLE [ca902529c] 2024-09-12 16:31:29 -0500 +Branch: REL_12_STABLE [dd5670fa5] 2024-09-12 16:31:29 -0500 +Branch: master [70d1c664f] 2024-09-13 10:16:40 -0500 +Branch: REL_17_STABLE Release: REL_17_0 [9b3c3c0fc] 2024-09-13 10:16:40 -0500 +Branch: REL_16_STABLE [0938a4ecd] 2024-09-13 10:16:40 -0500 +Branch: REL_15_STABLE [a63aef5e4] 2024-09-13 10:16:40 -0500 +Branch: REL_14_STABLE [0970889e3] 2024-09-13 10:16:40 -0500 +Branch: REL_13_STABLE [ef46a73f6] 2024-09-13 10:16:40 -0500 +Branch: REL_12_STABLE [e0277d90a] 2024-09-13 10:16:40 -0500 +--> + <para> + Allow inspection of sequence relations in relevant functions + of <filename>contrib/pageinspect</filename> + and <filename>contrib/pgstattuple</filename> (Nathan Bossart, Ayush + Vatsa) + <ulink url="&commit_baseurl;dd5670fa5">§</ulink> + <ulink url="&commit_baseurl;e0277d90a">§</ulink> + </para> + + <para> + This had been allowed in the past, but it got broken during the + introduction of non-default access methods for tables. + </para> + </listitem> + + <listitem> +<!-- +Author: Thomas Munro <tmunro@postgresql.org> +Branch: master [9044fc1d4] 2024-11-06 23:17:18 +1300 +Branch: REL_17_STABLE [b7467ab71] 2024-11-06 23:07:34 +1300 +Branch: REL_16_STABLE [ee67b73f5] 2024-11-06 23:09:03 +1300 +Branch: REL_15_STABLE [19bf81c06] 2024-11-06 23:09:28 +1300 +Branch: REL_14_STABLE [0b022ddf3] 2024-11-06 23:09:50 +1300 +Branch: REL_13_STABLE [e88d824a4] 2024-11-06 23:10:05 +1300 +Branch: REL_12_STABLE [50c1453a3] 2024-11-06 23:10:20 +1300 +--> + <para> + Fix incorrect LLVM-generated code on ARM64 platforms (Thomas + Munro, Anthonin Bonnefoy) + <ulink url="&commit_baseurl;50c1453a3">§</ulink> + </para> + + <para> + When using JIT compilation on ARM platforms, the generated code + could not support relocation distances exceeding 32 bits, allowing + unlucky placement of generated code to cause server crashes on + large-memory systems. + </para> + </listitem> + + <listitem> +<!-- +Author: Nathan Bossart <nathan@postgresql.org> +Branch: master [5d6187d2a] 2024-10-07 13:51:03 -0500 +Branch: REL_17_STABLE [a356d23fd] 2024-10-07 13:51:03 -0500 +Branch: REL_16_STABLE [8aaf88b63] 2024-10-07 13:51:03 -0500 +Branch: REL_15_STABLE [01731eeea] 2024-10-07 13:51:03 -0500 +Branch: REL_14_STABLE [5cea7168d] 2024-10-07 13:51:03 -0500 +Branch: REL_13_STABLE [b255493ae] 2024-10-07 13:51:03 -0500 +Branch: REL_12_STABLE [c91d0af0a] 2024-10-07 13:51:03 -0500 +--> + <para> + Fix a few places that assumed that process start time (represented + as a <type>time_t</type>) will fit into a <type>long</type> value + (Max Johnson, Nathan Bossart) + <ulink url="&commit_baseurl;c91d0af0a">§</ulink> + </para> + + <para> + On platforms where <type>long</type> is 32 bits (notably Windows), + this coding would fail after Y2038. Most of the failures appear + only cosmetic, but notably <literal>pg_ctl start</literal> would + hang. + </para> + </listitem> + + <listitem> +<!-- +Author: Noah Misch <noah@leadboat.com> +Branch: REL_14_STABLE [ecf7c4846] 2024-08-07 11:43:34 -0700 +Branch: REL_13_STABLE [382909b63] 2024-08-07 11:43:40 -0700 +Branch: REL_12_STABLE [646b16bca] 2024-08-07 11:43:45 -0700 +--> + <para> + Prevent <quote>nothing provides + perl(PostgreSQL::Test::Utils)</quote> failures while building RPM + packages of <productname>PostgreSQL</productname> (Noah Misch) + <ulink url="&commit_baseurl;646b16bca">§</ulink> + </para> + </listitem> + + <listitem> +<!-- +Author: Andrew Dunstan <andrew@dunslane.net> +Branch: master [bc46104fc] 2024-09-14 08:47:06 -0400 +Branch: REL_17_STABLE Release: REL_17_0 [648397b1d] 2024-09-14 08:48:04 -0400 +Branch: REL_16_STABLE [0a0db4631] 2024-09-14 08:50:44 -0400 +Branch: REL_15_STABLE [17c35ab23] 2024-09-14 09:17:51 -0400 +Branch: REL_14_STABLE [9f7749464] 2024-09-14 09:19:04 -0400 +Branch: REL_13_STABLE [f40d9e9f1] 2024-09-14 09:19:53 -0400 +Branch: REL_12_STABLE [d94e3b33e] 2024-09-14 09:20:12 -0400 +--> + <para> + Fix building with Strawberry Perl on Windows (Andrew Dunstan) + <ulink url="&commit_baseurl;d94e3b33e">§</ulink> + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [502e7bf7f] 2024-10-29 11:49:38 -0400 +Branch: REL_17_STABLE [cad65907e] 2024-10-29 11:49:50 -0400 +Branch: REL_16_STABLE [a0c8d600b] 2024-10-29 11:49:56 -0400 +Branch: REL_15_STABLE [74f70cb86] 2024-10-29 11:50:00 -0400 +Branch: REL_14_STABLE [dedced73e] 2024-10-29 11:50:05 -0400 +Branch: REL_13_STABLE [8a8486175] 2024-10-29 11:50:10 -0400 +Branch: REL_12_STABLE [8f1759c9b] 2024-10-29 11:50:14 -0400 +Branch: master [b8ea0f675] 2024-09-14 17:55:02 -0400 +Branch: REL_17_STABLE Release: REL_17_0 [6283ff201] 2024-09-14 17:55:02 -0400 +Branch: REL_16_STABLE [2abc88958] 2024-09-14 17:55:03 -0400 +Branch: REL_15_STABLE [2b94ee58b] 2024-09-14 17:55:03 -0400 +Branch: REL_14_STABLE [b27622c90] 2024-09-14 17:55:03 -0400 +Branch: REL_13_STABLE [b28b9b19b] 2024-09-14 17:55:03 -0400 +Branch: REL_12_STABLE [205813da4] 2024-09-14 17:55:03 -0400 +--> + <para> + Update time zone data files to <application>tzdata</application> + release 2024b (Tom Lane) + <ulink url="&commit_baseurl;8f1759c9b">§</ulink> + <ulink url="&commit_baseurl;205813da4">§</ulink> + </para> + + <para> + This <application>tzdata</application> release changes the old + System-V-compatibility zone names to duplicate the corresponding + geographic zones; for example <literal>PST8PDT</literal> is now an + alias for <literal>America/Los_Angeles</literal>. The main visible + consequence is that for timestamps before the introduction of + standardized time zones, the zone is considered to represent local + mean solar time for the named location. For example, + in <literal>PST8PDT</literal>, <type>timestamptz</type> input such + as <literal>1801-01-01 00:00</literal> would previously have been + rendered as <literal>1801-01-01 00:00:00-08</literal>, but now it is + rendered as <literal>1801-01-01 00:00:00-07:52:58</literal>. + </para> + + <para> + Also, historical corrections for Mexico, Mongolia, and Portugal. + Notably, <literal>Asia/Choibalsan</literal> is now an alias + for <literal>Asia/Ulaanbaatar</literal> rather than being a separate + zone, mainly because the differences between those zones were found to + be based on untrustworthy data. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-12-20"> <title>Release 12.20</title> |