Release notes for 17.5, 16.9, 15.13, 14.18, 13.21.

This commit is contained in:
Tom Lane 2025-05-04 13:53:00 -04:00
parent b3a9c536db
commit 26d056ad74

View File

@ -1,6 +1,700 @@
<!-- doc/src/sgml/release-13.sgml -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-13-21">
<title>Release 13.21</title>
<formalpara>
<title>Release date:</title>
<para>2025-05-08</para>
</formalpara>
<para>
This release contains a variety of fixes from 13.20.
For information about new features in major release 13, see
<xref linkend="release-13"/>.
</para>
<para>
The <productname>PostgreSQL</productname> community will stop
releasing updates for the 13.X release series in November 2025.
Users are encouraged to update to a newer release branch soon.
</para>
<sect2>
<title>Migration to Version 13.21</title>
<para>
A dump/restore is not required for those running 13.X.
</para>
<para>
However, if you have any self-referential foreign key constraints on
partitioned tables, it may be necessary to recreate those constraints
to ensure that they are being enforced correctly. See the first
changelog entry below.
</para>
<para>
Also, if you are upgrading from a version earlier than 13.17,
see <xref linkend="release-13-17"/>.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<!--
Author: Álvaro Herrera <alvherre@kurilemu.de>
Branch: master [c83a38758] 2025-05-02 21:25:50 +0200
Branch: REL_17_STABLE [f51ae3187] 2025-05-02 21:25:50 +0200
Branch: REL_16_STABLE [1817d62ec] 2025-05-02 21:25:50 +0200
Branch: REL_15_STABLE [6ba979cf5] 2025-05-02 21:25:50 +0200
Branch: REL_14_STABLE [1649d153a] 2025-05-02 21:25:50 +0200
Branch: REL_13_STABLE [b3a9c536d] 2025-05-02 21:25:50 +0200
-->
<para>
Handle self-referential foreign keys on partitioned tables correctly
(Álvaro Herrera)
<ulink url="&commit_baseurl;b3a9c536d">&sect;</ulink>
</para>
<para>
Creating or attaching partitions failed to make the required catalog
entries for a foreign-key constraint, if the table referenced by the
constraint was the same partitioned table. This resulted in failure
to enforce the constraint fully.
</para>
<para>
To fix this, you should drop and recreate any self-referential
foreign keys on partitioned tables, if partitions have been created
or attached since the constraint was created. Bear in mind that
violating rows might already be present, in which case recreating
the constraint will fail, and you'll need to fix up those rows
before trying again.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [f4e7756ef] 2025-03-12 11:47:38 -0400
Branch: REL_17_STABLE [ca0830e5a] 2025-03-12 11:47:19 -0400
Branch: REL_16_STABLE [fec43428c] 2025-03-12 11:47:19 -0400
Branch: REL_15_STABLE [ae0be2f0b] 2025-03-12 11:47:19 -0400
Branch: REL_14_STABLE [d3a29ae6a] 2025-03-12 11:47:19 -0400
Branch: REL_13_STABLE [39af32f78] 2025-03-12 11:47:19 -0400
Branch: REL_15_STABLE [317aba70e] 2025-03-12 11:27:59 -0400
Branch: REL_14_STABLE [584f17a90] 2025-03-12 11:28:04 -0400
Branch: REL_13_STABLE [28a7e31d0] 2025-03-12 11:28:11 -0400
Branch: REL_15_STABLE [7713f4592] 2025-03-13 12:13:07 -0400
Branch: REL_14_STABLE [1a20bc946] 2025-03-13 12:13:07 -0400
Branch: REL_13_STABLE [b200180de] 2025-03-13 12:13:07 -0400
-->
<para>
Fix unexpected <quote>attribute has wrong type</quote> errors
in <command>UPDATE</command>, <command>DELETE</command>,
and <command>MERGE</command> queries that use whole-row table
references to views or functions in <literal>FROM</literal>
(Tom Lane)
<ulink url="&commit_baseurl;39af32f78">&sect;</ulink>
<ulink url="&commit_baseurl;28a7e31d0">&sect;</ulink>
<ulink url="&commit_baseurl;b200180de">&sect;</ulink>
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [691836405] 2025-04-05 15:01:48 -0400
Branch: REL_17_STABLE [5e7be43f4] 2025-04-05 15:01:33 -0400
Branch: REL_16_STABLE [1980ec2bc] 2025-04-05 15:01:33 -0400
Branch: REL_15_STABLE [ede29a1e4] 2025-04-05 15:01:33 -0400
Branch: REL_14_STABLE [754a3d82d] 2025-04-05 15:01:33 -0400
Branch: REL_13_STABLE [e276b5829] 2025-04-05 15:01:33 -0400
-->
<para>
Correctly process references to outer CTE names that appear within
a <literal>WITH</literal> clause attached to
an <command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command>/<command>MERGE</command>
command that's inside <literal>WITH</literal> (Tom Lane)
<ulink url="&commit_baseurl;e276b5829">&sect;</ulink>
</para>
<para>
The parser failed to detect disallowed recursion cases, nor did it
account for such references when sorting CTEs into a usable order.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [4618045be] 2025-03-13 16:07:55 -0400
Branch: REL_17_STABLE [c826cd1b1] 2025-03-13 16:07:55 -0400
Branch: REL_16_STABLE [0405982c7] 2025-03-13 16:07:55 -0400
Branch: REL_15_STABLE [13dd6f772] 2025-03-13 16:07:55 -0400
Branch: REL_14_STABLE [f7ae51312] 2025-03-13 16:07:55 -0400
Branch: REL_13_STABLE [474aee3df] 2025-03-13 16:07:55 -0400
-->
<para>
Fix <literal>ARRAY(<replaceable>subquery</replaceable>)</literal>
and <literal>ARRAY[<replaceable>expression, ...</replaceable>]</literal>
constructs to produce sane results when the input is of
type <type>int2vector</type> or <type>oidvector</type> (Tom Lane)
<ulink url="&commit_baseurl;474aee3df">&sect;</ulink>
</para>
<para>
This patch restores the behavior that existed
before <productname>PostgreSQL</productname> 9.5: the result is of
type <type>int2vector[]</type> or <type>oidvector[]</type>.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [7fb880102] 2025-03-08 11:24:25 -0500
Branch: REL_17_STABLE [99c01aadf] 2025-03-08 11:24:42 -0500
Branch: REL_16_STABLE [61513da08] 2025-03-08 11:24:47 -0500
Branch: REL_15_STABLE [e2921c0e9] 2025-03-08 11:24:52 -0500
Branch: REL_14_STABLE [da85544ae] 2025-03-08 11:24:57 -0500
Branch: REL_13_STABLE [f1c1bafcd] 2025-03-08 11:25:01 -0500
-->
<para>
Fix possible erroneous reports of invalid affixes while parsing
<application>Ispell</application> dictionaries (Jacob Brazeal)
<ulink url="&commit_baseurl;f1c1bafcd">&sect;</ulink>
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [95f650674] 2025-03-03 12:43:44 -0500
Branch: REL_17_STABLE [d6dd2a02b] 2025-03-03 12:43:29 -0500
Branch: REL_16_STABLE [edc3bccd0] 2025-03-03 12:43:29 -0500
Branch: REL_15_STABLE [1d180931c] 2025-03-03 12:43:29 -0500
Branch: REL_14_STABLE [c75c830e2] 2025-03-03 12:43:29 -0500
Branch: REL_13_STABLE [aac07b562] 2025-03-03 12:43:29 -0500
Branch: master [bd178960c] 2025-04-02 11:13:01 -0400
Branch: REL_17_STABLE [0941aadcd] 2025-04-02 11:13:01 -0400
Branch: REL_16_STABLE [053222a97] 2025-04-02 11:13:01 -0400
Branch: REL_15_STABLE [2d6cfb0cd] 2025-04-02 11:13:01 -0400
Branch: REL_14_STABLE [d31d39cfe] 2025-04-02 11:13:01 -0400
Branch: REL_13_STABLE [dd34cbfce] 2025-04-02 11:13:01 -0400
-->
<para>
Fix <literal>ALTER TABLE ADD COLUMN</literal> to correctly handle
the case of a domain type that has a default
(Jian He, Tom Lane, Tender Wang)
<ulink url="&commit_baseurl;aac07b562">&sect;</ulink>
<ulink url="&commit_baseurl;dd34cbfce">&sect;</ulink>
</para>
<para>
If a domain type has a default, adding a column of that type (without
any explicit <literal>DEFAULT</literal>
clause) failed to install the domain's default
value in existing rows, instead leaving the new column null.
</para>
</listitem>
<listitem>
<!--
Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [7bbc46213] 2025-03-04 20:07:30 +0100
Branch: REL_17_STABLE [4e026be5f] 2025-03-04 20:07:30 +0100
Branch: REL_16_STABLE [9ea5fe5b6] 2025-03-04 20:07:30 +0100
Branch: REL_15_STABLE [bf1e2d2db] 2025-03-04 20:07:30 +0100
Branch: REL_14_STABLE [931a1c023] 2025-03-04 20:07:30 +0100
Branch: REL_13_STABLE [0f354e080] 2025-03-04 20:07:30 +0100
-->
<para>
Improve the error message for disallowed attempts to alter the
properties of a foreign key constraint (Álvaro Herrera)
<ulink url="&commit_baseurl;0f354e080">&sect;</ulink>
</para>
</listitem>
<listitem>
<!--
Author: Noah Misch <noah@leadboat.com>
Branch: master [2d5350cfb] 2025-04-20 08:28:48 -0700
Branch: REL_17_STABLE [d0a049987] 2025-04-20 08:28:52 -0700
Branch: REL_16_STABLE [5905e9935] 2025-04-20 08:28:52 -0700
Branch: REL_15_STABLE [e0f53e669] 2025-04-20 08:28:52 -0700
Branch: REL_14_STABLE [a61b67cd0] 2025-04-20 08:28:53 -0700
Branch: REL_13_STABLE [d34b671a6] 2025-04-20 08:28:53 -0700
-->
<para>
Avoid error when resetting
the <structfield>relhassubclass</structfield> flag of a temporary
table that's marked <literal>ON COMMIT DELETE ROWS</literal>
(Noah Misch)
<ulink url="&commit_baseurl;d34b671a6">&sect;</ulink>
</para>
</listitem>
<listitem>
<!--
Author: Andres Freund <andres@anarazel.de>
Branch: master [459e7bf8e] 2025-04-02 14:54:20 -0400
Branch: REL_17_STABLE [78cb2466f] 2025-04-02 14:42:03 -0400
Branch: REL_16_STABLE [980727b84] 2025-04-02 14:46:31 -0400
Branch: REL_15_STABLE [77d90d6d6] 2025-04-02 14:50:03 -0400
Branch: REL_14_STABLE [4934d3875] 2025-04-02 14:50:44 -0400
Branch: REL_13_STABLE [b9ec8125d] 2025-04-02 14:50:49 -0400
-->
<para>
Disable <quote>skip fetch</quote> optimization in bitmap heap scan
(Matthias van de Meent)
<ulink url="&commit_baseurl;b9ec8125d">&sect;</ulink>
</para>
<para>
It turns out that this optimization can result in returning dead
tuples when a concurrent vacuum marks a page all-visible.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [0f21db36d] 2025-03-06 11:54:31 -0500
Branch: REL_17_STABLE [9094eb25b] 2025-03-06 11:54:27 -0500
Branch: REL_16_STABLE [d52221cf0] 2025-03-06 11:54:27 -0500
Branch: REL_15_STABLE [2d313375c] 2025-03-06 11:54:27 -0500
Branch: REL_14_STABLE [e2a6934a8] 2025-03-06 11:54:27 -0500
Branch: REL_13_STABLE [308d0d443] 2025-03-06 11:54:27 -0500
Branch: master [e708ffe79] 2025-04-12 12:28:02 -0400
Branch: REL_17_STABLE [8c153fcfa] 2025-04-12 12:27:46 -0400
Branch: REL_16_STABLE [4b65b085a] 2025-04-12 12:27:46 -0400
Branch: REL_15_STABLE [9a8c16aec] 2025-04-12 12:27:46 -0400
Branch: REL_14_STABLE [1b47a112a] 2025-04-12 12:27:46 -0400
Branch: REL_13_STABLE [c7597a1d3] 2025-04-12 12:27:46 -0400
-->
<para>
Fix performance issues in GIN index search startup when there are
many search keys (Tom Lane, Vinod Sridharan)
<ulink url="&commit_baseurl;308d0d443">&sect;</ulink>
<ulink url="&commit_baseurl;c7597a1d3">&sect;</ulink>
</para>
<para>
An indexable clause with many keys (for example, <literal>jsonbcol
?| array[...]</literal> with tens of thousands of array elements)
took O(N<superscript>2</superscript>) time to start up, and was
uncancelable for that interval too.
</para>
</listitem>
<listitem>
<!--
Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [17ce344f8] 2025-03-11 12:50:35 +0100
Branch: REL_17_STABLE [ade976f8b] 2025-03-11 12:50:35 +0100
Branch: REL_16_STABLE [e0d8f49a3] 2025-03-11 12:50:35 +0100
Branch: REL_15_STABLE [5d8c58800] 2025-03-11 12:50:35 +0100
Branch: REL_14_STABLE [5144e1f8f] 2025-03-11 12:50:35 +0100
Branch: REL_13_STABLE [f5b4a0b49] 2025-03-11 12:50:35 +0100
-->
<para>
Detect missing support procedures in a BRIN index operator class,
and report an error instead of crashing (Álvaro Herrera)
<ulink url="&commit_baseurl;f5b4a0b49">&sect;</ulink>
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
Branch: master [2e5779083] 2025-04-11 10:00:21 +0900
Branch: REL_17_STABLE [3339847cc] 2025-04-11 10:02:15 +0900
Branch: REL_16_STABLE [c922ae2c4] 2025-04-11 10:02:17 +0900
Branch: REL_15_STABLE [ec59500a1] 2025-04-11 10:02:18 +0900
Branch: REL_14_STABLE [873aff945] 2025-04-11 10:02:20 +0900
Branch: REL_13_STABLE [e2f42f812] 2025-04-11 10:02:21 +0900
-->
<para>
Fix race condition in handling
of <varname>synchronous_standby_names</varname> immediately after
startup (Melnikov Maksim, Michael Paquier)
<ulink url="&commit_baseurl;e2f42f812">&sect;</ulink>
</para>
<para>
For a short period after system startup, backends might fail to wait
for synchronous commit even
though <varname>synchronous_standby_names</varname> is enabled.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [00d61a08c] 2025-03-01 14:22:56 -0500
Branch: REL_17_STABLE [d69c78108] 2025-03-01 14:22:56 -0500
Branch: REL_16_STABLE [5c64ece8a] 2025-03-01 14:22:56 -0500
Branch: REL_15_STABLE [c7303f01c] 2025-03-01 14:22:56 -0500
Branch: REL_14_STABLE [76fbb38ef] 2025-03-01 14:22:56 -0500
Branch: REL_13_STABLE [ebe919e95] 2025-03-01 14:22:56 -0500
-->
<para>
Fix <function>pg_strtof()</function> to not crash with null endptr
(Alexander Lakhin, Tom Lane)
<ulink url="&commit_baseurl;ebe919e95">&sect;</ulink>
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [b464e51ab] 2025-02-18 21:13:54 -0500
Branch: REL_17_STABLE [7edd2cbc5] 2025-02-18 21:23:59 -0500
Branch: REL_16_STABLE [c0c364fa1] 2025-02-18 21:23:59 -0500
Branch: REL_15_STABLE [9c46d902b] 2025-02-18 21:23:59 -0500
Branch: REL_14_STABLE [8388cae55] 2025-02-18 21:24:12 -0500
Branch: REL_13_STABLE [197427fb3] 2025-02-18 21:24:12 -0500
-->
<para>
Avoid crash when a Snowball stemmer encounters an out-of-memory
condition (Maksim Korotkov)
<ulink url="&commit_baseurl;197427fb3">&sect;</ulink>
</para>
</listitem>
<listitem>
<!--
Author: Noah Misch <noah@leadboat.com>
Branch: REL_14_STABLE [3635a0a35] 2025-04-06 15:40:44 +0900
Branch: REL_13_STABLE [69a498eb6] 2025-04-06 15:42:30 +0900
Branch: REL_14_STABLE [014a50800] 2025-04-06 15:37:53 +0900
Branch: REL_13_STABLE [a5b0c06da] 2025-04-06 15:40:15 +0900
Branch: REL_14_STABLE [675b771ca] 2025-04-06 15:26:23 +0900
Branch: REL_13_STABLE [cbed472a9] 2025-04-06 15:27:34 +0900
Branch: REL_14_STABLE [b494640e8] 2025-04-06 14:46:31 +0900
Branch: REL_13_STABLE [d0b6acaf0] 2025-04-06 14:48:01 +0900
Branch: REL_14_STABLE [8967dddf0] 2025-04-06 14:36:08 +0900
Branch: REL_13_STABLE [20e5ef3ca] 2025-04-06 14:38:34 +0900
Branch: REL_14_STABLE [6b168c129] 2025-04-06 14:12:12 +0900
Branch: REL_13_STABLE [df8ec9634] 2025-04-06 14:22:46 +0900
Author: Michael Paquier <michael@paquier.xyz>
Branch: REL_14_STABLE [47d2d2982] 2025-04-06 15:14:52 +0900
Branch: REL_13_STABLE [e77d9cd4f] 2025-04-06 15:15:13 +0900
-->
<para>
Skip WAL recycling and preallocation during archive recovery, to
avoid corruption of WAL files that were restored from the archive
(Noah Misch, Arun Thirupathi)
<ulink url="&commit_baseurl;69a498eb6">&sect;</ulink>
<ulink url="&commit_baseurl;a5b0c06da">&sect;</ulink>
<ulink url="&commit_baseurl;cbed472a9">&sect;</ulink>
<ulink url="&commit_baseurl;d0b6acaf0">&sect;</ulink>
<ulink url="&commit_baseurl;20e5ef3ca">&sect;</ulink>
<ulink url="&commit_baseurl;df8ec9634">&sect;</ulink>
<ulink url="&commit_baseurl;e77d9cd4f">&sect;</ulink>
</para>
<para>
This change back-patches v15-era fixes that were considered largely
cosmetic at the time, but turn out to prevent data corruption in the
wake of subsequent fixes.
</para>
</listitem>
<listitem>
<!--
Author: Amit Kapila <akapila@postgresql.org>
Branch: master [aaf9e95e8] 2025-04-28 11:35:54 +0530
Branch: REL_17_STABLE [36148b22e] 2025-04-28 11:22:07 +0530
Branch: REL_16_STABLE [21a7caeeb] 2025-04-28 11:09:27 +0530
Branch: REL_15_STABLE [f6429bd7d] 2025-04-28 10:56:24 +0530
Branch: REL_14_STABLE [1f63b3626] 2025-04-28 10:34:45 +0530
Branch: REL_13_STABLE [d65485b02] 2025-04-28 11:55:00 +0530
-->
<para>
Prevent over-advancement of catalog xmin in <quote>fast
forward</quote> mode of logical decoding (Zhijie Hou)
<ulink url="&commit_baseurl;d65485b02">&sect;</ulink>
</para>
<para>
This mistake could allow deleted catalog entries to be vacuumed away
even though they were still potentially needed by the WAL-reading
process.
</para>
</listitem>
<listitem>
<!--
Author: Amit Kapila <akapila@postgresql.org>
Branch: master [4909b38af] 2025-04-10 13:14:40 +0530
Branch: REL_17_STABLE [cadaf0ac4] 2025-04-10 12:57:10 +0530
Branch: REL_16_STABLE [9a2f8b4f0] 2025-04-10 12:44:11 +0530
Branch: REL_15_STABLE [9f21be08e] 2025-04-10 12:31:14 +0530
Branch: REL_14_STABLE [0434033e8] 2025-04-10 12:22:30 +0530
Branch: REL_13_STABLE [247ee9415] 2025-04-24 10:31:40 +0530
Branch: master [50b8ad30f] 2025-04-25 12:46:02 +0530
Branch: REL_17_STABLE [d96206f25] 2025-04-25 12:32:00 +0530
Branch: REL_16_STABLE [9987c9466] 2025-04-25 12:17:40 +0530
Branch: REL_15_STABLE [90bc4523f] 2025-04-25 12:05:52 +0530
Branch: REL_14_STABLE [bb1bc9fa9] 2025-04-25 11:53:27 +0530
Branch: REL_13_STABLE [4164d6976] 2025-04-25 11:45:40 +0530
-->
<para>
Avoid data loss when DDL operations that don't take a strong lock
affect tables that are being logically replicated (Shlok Kyal,
Hayato Kuroda)
<ulink url="&commit_baseurl;247ee9415">&sect;</ulink>
<ulink url="&commit_baseurl;4164d6976">&sect;</ulink>
</para>
<para>
The catalog changes caused by the DDL command were not reflected
into WAL-decoding processes, allowing them to decode subsequent
changes using stale catalog data, probably resulting in data
corruption.
</para>
</listitem>
<listitem>
<!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Branch: master [236750317] 2025-03-10 17:07:38 +0200
Branch: REL_17_STABLE [c1dd3a944] 2025-03-10 17:07:59 +0200
Branch: REL_16_STABLE [8171d2dae] 2025-03-10 17:08:02 +0200
Branch: REL_15_STABLE [50c589992] 2025-03-10 17:08:05 +0200
Branch: REL_14_STABLE [2ef048855] 2025-03-10 17:08:07 +0200
Branch: REL_13_STABLE [9b3914f18] 2025-03-10 17:08:10 +0200
Branch: master [f7c566a1a] 2025-03-10 18:58:10 +0200
Branch: REL_17_STABLE [f1ef111a0] 2025-03-10 19:00:08 +0200
Branch: REL_16_STABLE [324e0b656] 2025-03-10 19:01:51 +0200
Branch: REL_15_STABLE [d765226cb] 2025-03-10 19:01:58 +0200
Branch: REL_14_STABLE [136e68b46] 2025-03-10 19:02:02 +0200
Branch: REL_13_STABLE [6c1e79589] 2025-03-10 19:02:08 +0200
-->
<para>
Avoid duplicate snapshot creation in logical replication index
lookups (Heikki Linnakangas)
<ulink url="&commit_baseurl;9b3914f18">&sect;</ulink>
<ulink url="&commit_baseurl;6c1e79589">&sect;</ulink>
</para>
</listitem>
<listitem>
<!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Branch: master [7afca7ede] 2025-04-04 13:49:00 +0300
Branch: REL_17_STABLE [6526d0794] 2025-04-04 13:49:21 +0300
Branch: REL_16_STABLE [419321398] 2025-04-04 13:49:51 +0300
Branch: REL_15_STABLE [3c0fe75c4] 2025-04-04 13:50:00 +0300
Branch: REL_14_STABLE [a749c6f18] 2025-04-04 13:50:12 +0300
Branch: REL_13_STABLE [b92482dc3] 2025-04-04 13:50:52 +0300
-->
<para>
Fix overly-strict assertion
in <function>gistFindCorrectParent()</function> (Heikki Linnakangas)
<ulink url="&commit_baseurl;b92482dc3">&sect;</ulink>
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [7fe312f60] 2025-03-21 11:30:42 -0400
Branch: REL_17_STABLE [1353b1161] 2025-03-21 11:30:42 -0400
Branch: REL_16_STABLE [a28c1fb61] 2025-03-21 11:30:42 -0400
Branch: REL_15_STABLE [5e56efa7c] 2025-03-21 11:30:42 -0400
Branch: REL_14_STABLE [c196c610b] 2025-03-21 11:30:42 -0400
Branch: REL_13_STABLE [0f60e1fba] 2025-03-21 11:30:42 -0400
-->
<para>
In PL/pgSQL, avoid <quote>unexpected plan node type</quote> error
when a scrollable cursor is defined on a
simple <literal>SELECT <replaceable>expression</replaceable></literal>
query (Andrei Lepikhov)
<ulink url="&commit_baseurl;0f60e1fba">&sect;</ulink>
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [1fc340362] 2025-04-16 13:31:59 -0400
Branch: REL_17_STABLE [3424c1075] 2025-04-16 13:31:44 -0400
Branch: REL_16_STABLE [a25f21d99] 2025-04-16 13:31:44 -0400
Branch: REL_15_STABLE [7144cd538] 2025-04-16 13:31:44 -0400
Branch: REL_14_STABLE [148cc0105] 2025-04-16 13:31:44 -0400
Branch: REL_13_STABLE [6a3e57865] 2025-04-16 13:31:44 -0400
-->
<para>
Don't try to drop individual index partitions
in <application>pg_dump</application>'s <option>--clean</option>
mode (Jian He)
<ulink url="&commit_baseurl;6a3e57865">&sect;</ulink>
</para>
<para>
The server rejects such <command>DROP</command> commands. That has
no real consequences, since the partitions will go away anyway in
the subsequent <command>DROP</command>s of either their parent
tables or their partitioned index. However, the error reported for
the attempted drop causes problems when restoring
in <option>--single-transaction</option> mode.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [29d75b25b] 2025-02-21 13:37:15 -0500
Branch: REL_17_STABLE [16eff4261] 2025-02-21 13:37:15 -0500
Branch: REL_16_STABLE [d850a6600] 2025-02-21 13:37:16 -0500
Branch: REL_15_STABLE [6df3be415] 2025-02-21 13:37:16 -0500
Branch: REL_14_STABLE [ce1475acd] 2025-02-21 13:37:16 -0500
Branch: REL_13_STABLE [5302ff95c] 2025-02-21 13:37:12 -0500
-->
<para>
In <application>pg_dumpall</application>, avoid emitting invalid
role <command>GRANT</command> commands
if <structname>pg_auth_members</structname> contains invalid role
OIDs (Tom Lane)
<ulink url="&commit_baseurl;5302ff95c">&sect;</ulink>
</para>
<para>
Instead, print a warning and skip the entry. This copes better with
catalog corruption that has been seen to occur in back branches as a
result of race conditions between <command>GRANT</command>
and <command>DROP ROLE</command>.
</para>
</listitem>
<listitem>
<!--
Author: Noah Misch <noah@leadboat.com>
Branch: REL_16_STABLE [82a8f0f46] 2025-04-03 09:33:58 -0700
Branch: REL_15_STABLE [63f6ecb6b] 2025-04-03 09:34:01 -0700
Branch: REL_14_STABLE [a8a918937] 2025-04-03 09:34:01 -0700
Branch: REL_13_STABLE [186c586c3] 2025-04-03 09:34:02 -0700
Author: Andres Freund <andres@anarazel.de>
Branch: REL_15_STABLE [9e129a224] 2025-04-03 09:34:01 -0700
Branch: REL_14_STABLE [aa435d7c4] 2025-04-03 09:34:01 -0700
Branch: REL_13_STABLE [5a3d5c083] 2025-04-03 09:34:02 -0700
-->
<para>
Allow <filename>contrib/dblink</filename> queries to be interrupted
by query cancel (Noah Misch)
<ulink url="&commit_baseurl;186c586c3">&sect;</ulink>
<ulink url="&commit_baseurl;5a3d5c083">&sect;</ulink>
</para>
<para>
This change back-patches a v17-era fix. It prevents possible hangs
in <command>CREATE DATABASE</command> and <command>DROP
DATABASE</command> due to failure to detect deadlocks.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [d05996340] 2025-04-19 16:37:42 -0400
Branch: REL_17_STABLE [ecb8e5641] 2025-04-19 16:37:42 -0400
Branch: REL_16_STABLE [2d33cf7b8] 2025-04-19 16:37:42 -0400
Branch: REL_15_STABLE [90a3fd811] 2025-04-19 16:37:42 -0400
Branch: REL_14_STABLE [3c2ea65bd] 2025-04-19 16:37:43 -0400
Branch: REL_13_STABLE [3f9132ed2] 2025-04-19 16:37:43 -0400
-->
<para>
Avoid crashing with corrupt input data
in <filename>contrib/pageinspect</filename>'s
<function>heap_page_items()</function> (Dmitry Kovalenko)
<ulink url="&commit_baseurl;3f9132ed2">&sect;</ulink>
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [4623d7144] 2025-03-27 13:20:23 -0400
Branch: REL_17_STABLE [51d038da8] 2025-03-27 13:20:23 -0400
Branch: REL_16_STABLE [41ed749e4] 2025-03-27 13:20:23 -0400
Branch: REL_15_STABLE [0e86bad38] 2025-03-27 13:20:23 -0400
Branch: REL_14_STABLE [5ff827389] 2025-03-27 13:20:23 -0400
Branch: REL_13_STABLE [db8238da4] 2025-03-27 13:20:23 -0400
-->
<para>
Prevent assertion failure
in <filename>contrib/pg_freespacemap</filename>'s
<function>pg_freespacemap()</function> (Tender Wang)
<ulink url="&commit_baseurl;db8238da4">&sect;</ulink>
</para>
<para>
Applying <function>pg_freespacemap()</function> to a relation
lacking storage (such as a view) caused an assertion failure,
although there was no ill effect in non-assert builds.
Add an error check to reject that case.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [6da2ba1d8] 2025-04-01 16:50:09 -0400
Branch: REL_17_STABLE [915e88968] 2025-04-01 16:49:51 -0400
Branch: REL_16_STABLE [a39eb9c77] 2025-04-01 16:49:51 -0400
Branch: REL_15_STABLE [0de9560ba] 2025-04-01 16:49:51 -0400
Branch: REL_14_STABLE [71790aef1] 2025-04-01 16:49:51 -0400
Branch: REL_13_STABLE [e4440a73c] 2025-04-01 16:49:51 -0400
-->
<para>
Fix build failure on macOS 15.4 (Tom Lane, Peter Eisentraut)
<ulink url="&commit_baseurl;e4440a73c">&sect;</ulink>
</para>
<para>
This macOS update broke our configuration probe
for <function>strchrnul()</function>.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [368c3fbf9] 2025-04-30 11:13:49 -0400
Branch: REL_17_STABLE [5d5970b9f] 2025-04-30 11:14:01 -0400
Branch: REL_16_STABLE [e076120d9] 2025-04-30 11:14:06 -0400
Branch: REL_15_STABLE [a144cf145] 2025-04-30 11:14:10 -0400
Branch: REL_14_STABLE [fa4244a43] 2025-04-30 11:14:15 -0400
Branch: REL_13_STABLE [9da548df3] 2025-04-30 11:14:19 -0400
-->
<para>
Update time zone data files to <application>tzdata</application>
release 2025b for DST law changes in Chile, plus historical
corrections for Iran (Tom Lane)
<ulink url="&commit_baseurl;9da548df3">&sect;</ulink>
</para>
<para>
There is a new time zone America/Coyhaique for Chile's Aysén Region,
to account for it changing to UTC-03 year-round and thus diverging
from America/Santiago.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-13-20">
<title>Release 13.20</title>