mirror of
https://github.com/postgres/postgres.git
synced 2025-05-11 00:03:01 -04:00
Release notes for 17.5, 16.9, 15.13, 14.18, 13.21.
This commit is contained in:
parent
b3a9c536db
commit
26d056ad74
@ -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">§</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">§</ulink>
|
||||
<ulink url="&commit_baseurl;28a7e31d0">§</ulink>
|
||||
<ulink url="&commit_baseurl;b200180de">§</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">§</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">§</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">§</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">§</ulink>
|
||||
<ulink url="&commit_baseurl;dd34cbfce">§</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">§</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">§</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">§</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">§</ulink>
|
||||
<ulink url="&commit_baseurl;c7597a1d3">§</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">§</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">§</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">§</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">§</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">§</ulink>
|
||||
<ulink url="&commit_baseurl;a5b0c06da">§</ulink>
|
||||
<ulink url="&commit_baseurl;cbed472a9">§</ulink>
|
||||
<ulink url="&commit_baseurl;d0b6acaf0">§</ulink>
|
||||
<ulink url="&commit_baseurl;20e5ef3ca">§</ulink>
|
||||
<ulink url="&commit_baseurl;df8ec9634">§</ulink>
|
||||
<ulink url="&commit_baseurl;e77d9cd4f">§</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">§</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">§</ulink>
|
||||
<ulink url="&commit_baseurl;4164d6976">§</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">§</ulink>
|
||||
<ulink url="&commit_baseurl;6c1e79589">§</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">§</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">§</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">§</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">§</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">§</ulink>
|
||||
<ulink url="&commit_baseurl;5a3d5c083">§</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">§</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">§</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">§</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">§</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>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user