summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/release-17.sgml1250
1 files changed, 1250 insertions, 0 deletions
diff --git a/doc/src/sgml/release-17.sgml b/doc/src/sgml/release-17.sgml
index 2f1bed2e290..5f68e118760 100644
--- a/doc/src/sgml/release-17.sgml
+++ b/doc/src/sgml/release-17.sgml
@@ -1,6 +1,1256 @@
<!-- doc/src/sgml/release-17.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-17-5">
+ <title>Release 17.5</title>
+
+ <formalpara>
+ <title>Release date:</title>
+ <para>2025-05-08</para>
+ </formalpara>
+
+ <para>
+ This release contains a variety of fixes from 17.4.
+ For information about new features in major release 17, see
+ <xref linkend="release-17"/>.
+ </para>
+
+ <sect2 id="release-17-5-migration">
+ <title>Migration to Version 17.5</title>
+
+ <para>
+ A dump/restore is not required for those running 17.X.
+ </para>
+
+ <para>
+ However, if you have any BRIN bloom indexes, it may be advisable to
+ reindex them after updating. See the first changelog entry below.
+ </para>
+
+ <para>
+ Also, if you are upgrading from a version earlier than 17.1,
+ see <xref linkend="release-17-1"/>.
+ </para>
+ </sect2>
+
+ <sect2 id="release-17-5-changes">
+ <title>Changes</title>
+
+ <itemizedlist>
+
+ <listitem>
+<!--
+Author: Tomas Vondra <[email protected]>
+Branch: master [818245506] 2025-03-26 17:01:41 +0100
+Branch: REL_17_STABLE [cb0ad70b8] 2025-03-26 17:02:17 +0100
+Branch: REL_16_STABLE [ebcc799a7] 2025-03-26 17:02:50 +0100
+Branch: REL_15_STABLE [e064b770c] 2025-03-26 17:03:02 +0100
+Branch: REL_14_STABLE [6be02bbc8] 2025-03-26 17:03:06 +0100
+-->
+ <para>
+ Avoid data loss when merging compressed BRIN summaries
+ in <function>brin_bloom_union()</function> (Tomas Vondra)
+ </para>
+
+ <para>
+ The code failed to account for decompression results not being
+ identical to the input objects, which would result in failure to add
+ some of the data to the merged summary, leading to missed rows in
+ index searches.
+ </para>
+
+ <para>
+ This mistake was present back to v14 where BRIN bloom indexes were
+ introduced, but this code path was only rarely reached then. It's
+ substantially more likely to be hit in v17 because parallel index
+ builds now use the code.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+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)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Dean Rasheed <[email protected]>
+Branch: master [8b6a0e239] 2025-03-29 09:58:40 +0000
+Branch: REL_17_STABLE [25303678a] 2025-03-29 09:50:14 +0000
+Branch: REL_16_STABLE [8d4cd3b4a] 2025-03-29 09:51:23 +0000
+Branch: REL_15_STABLE [14a33d3f0] 2025-03-29 09:52:18 +0000
+-->
+ <para>
+ Fix <command>MERGE</command> into a partitioned table
+ with <literal>DO NOTHING</literal> actions (Tender Wang)
+ </para>
+
+ <para>
+ Some cases failed with <quote>unknown action in MERGE WHEN
+ clause</quote> errors.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+Branch: master [7c8728494] 2025-04-15 12:08:34 -0400
+Branch: REL_17_STABLE [3c39c000c] 2025-04-15 12:08:34 -0400
+Branch: REL_16_STABLE [f04e0faa3] 2025-04-15 12:08:34 -0400
+Branch: REL_15_STABLE [97d671672] 2025-04-15 12:08:34 -0400
+Branch: REL_14_STABLE [4604928ed] 2025-04-15 12:08:34 -0400
+-->
+ <para>
+ Prevent failure in <command>INSERT</command> commands when the table
+ has a <literal>GENERATED</literal> column of a domain data type and
+ the domain's constraints disallow null values (Jian He)
+ </para>
+
+ <para>
+ Constraint failure was reported even if the generation expression
+ produced a perfectly okay result.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+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)
+ </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: Amit Langote <[email protected]>
+Branch: master [d4f79865d] 2025-03-13 09:56:36 +0900
+Branch: REL_17_STABLE [8b2392ae3] 2025-03-13 09:56:49 +0900
+-->
+ <para>
+ Fix misprocessing of casts within the keys of JSON constructor
+ expressions (Amit Langote)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+Branch: master [fedfcf665] 2025-03-09 13:11:20 -0400
+Branch: REL_17_STABLE [43847dd5e] 2025-03-09 13:11:20 -0400
+Branch: REL_16_STABLE [a7aa9f21f] 2025-03-09 13:11:20 -0400
+-->
+ <para>
+ Don't try to parallelize <function>array_agg()</function> when the
+ argument is of an anonymous record type (Richard Guo, Tom Lane)
+ </para>
+
+ <para>
+ The protocol for communicating with parallel workers doesn't support
+ identifying the concrete record type that a worker is returning.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+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)
+ </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 <[email protected]>
+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)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+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 (Tom Lane, Tender Wang)
+ </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: Tom Lane <[email protected]>
+Branch: master [43b8e6c4a] 2025-04-04 20:11:48 -0400
+Branch: REL_17_STABLE [5e6e97fbf] 2025-04-04 20:11:48 -0400
+Branch: REL_16_STABLE [fb3a77fd9] 2025-04-04 20:11:48 -0400
+Branch: REL_15_STABLE [f5069f026] 2025-04-04 20:11:48 -0400
+-->
+ <para>
+ Repair misbehavior when there are duplicate column names in a
+ foreign key constraint's <literal>ON DELETE SET DEFAULT</literal>
+ or <literal>SET NULL</literal> action (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Álvaro Herrera <[email protected]>
+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)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Noah Misch <[email protected]>
+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)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <[email protected]>
+Branch: master [984410b92] 2025-02-21 17:30:56 +0900
+Branch: REL_17_STABLE [2e0f93d7c] 2025-02-21 17:31:01 +0900
+Branch: REL_16_STABLE [0af3ae468] 2025-02-21 17:31:02 +0900
+Branch: master [665cafe8a] 2025-02-21 20:37:31 +0900
+Branch: REL_17_STABLE [310907aaf] 2025-02-21 20:37:36 +0900
+Branch: REL_16_STABLE [514d47dfb] 2025-02-21 20:37:38 +0900
+-->
+ <para>
+ Add missing deparsing of the <literal>INDENT</literal> option
+ of <function>XMLSERIALIZE()</function> (Jim Jones)
+ </para>
+
+ <para>
+ Previously, views or rules
+ using <literal>XMLSERIALIZE(... INDENT)</literal> were dumped
+ without the <literal>INDENT</literal> clause, causing incorrect
+ results after restore.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: David Rowley <[email protected]>
+Branch: master [d47f92224] 2025-04-20 22:12:07 +1200
+Branch: REL_17_STABLE [065ce49a1] 2025-04-20 22:12:37 +1200
+Branch: REL_16_STABLE [887a23237] 2025-04-20 22:12:59 +1200
+-->
+ <para>
+ Avoid premature evaluation of the arguments of an aggregate function
+ that has both <literal>FILTER</literal> and <literal>ORDER
+ BY</literal> (or <literal>DISTINCT</literal>) options (David Rowley)
+ </para>
+
+ <para>
+ If there is <literal>ORDER BY</literal>
+ or <literal>DISTINCT</literal>, we consider pre-sorting the
+ aggregate input values rather than doing the sort within the Agg
+ plan node. But this is problematic if the aggregate inputs include
+ expressions that could fail (for example, a division where some of
+ the input divisors could be zero) and there is
+ a <literal>FILTER</literal> clause that's meant to prevent such
+ failures. Pre-sorting would push the expression evaluations to
+ before the <literal>FILTER</literal> test, allowing the failures to
+ happen anyway. Avoid this by not pre-sorting if there's
+ a <literal>FILTER</literal> and the input expressions are anything
+ more complex than a simple Var or Const.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Richard Guo <[email protected]>
+Branch: master [716a051aa] 2025-03-04 16:11:03 +0900
+Branch: REL_17_STABLE [bc5a08af3] 2025-03-04 16:17:19 +0900
+-->
+ <para>
+ Fix erroneous deductions from column <literal>NOT NULL</literal>
+ constraints in the presence of outer joins (Richard Guo)
+ </para>
+
+ <para>
+ In some cases the planner would discard an <literal>IS NOT
+ NULL</literal> query condition, even though the condition applies
+ after an outer join and thus is not redundant.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Bruce Momjian <[email protected]>
+Branch: master [46b4ba533] 2025-04-07 21:33:42 -0400
+Branch: REL_17_STABLE [b8b1e87b7] 2025-04-07 21:33:41 -0400
+-->
+ <para>
+ Avoid incorrect optimizations based on <literal>IS [NOT]
+ NULL</literal> tests that are applied to composite values
+ (Bruce Momjian)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: David Rowley <[email protected]>
+Branch: master [b136db07c] 2025-04-02 11:56:29 +1300
+Branch: REL_17_STABLE [5672a8399] 2025-04-02 11:57:27 +1300
+Branch: REL_16_STABLE [5a0840b76] 2025-04-02 11:57:54 +1300
+Branch: REL_15_STABLE [a7f213b11] 2025-04-02 11:58:16 +1300
+Branch: REL_14_STABLE [b68f664bb] 2025-04-02 11:58:37 +1300
+-->
+ <para>
+ Fix planner's failure to identify more than one hashable
+ ScalarArrayOpExpr subexpression within a top-level expression
+ (David Geier)
+ </para>
+
+ <para>
+ This resulted in unnecessarily-inefficient execution of any
+ additional subexpressions that could have been processed with a hash
+ table (that is, <literal>IN</literal>, <literal>NOT IN</literal>,
+ or <literal>= ANY</literal> clauses with all-constant right-hand
+ sides).
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tomas Vondra <[email protected]>
+Branch: master [9ba7bcc89] 2025-02-19 23:53:37 +0100
+Branch: REL_17_STABLE [587b6aa3f] 2025-02-19 23:54:18 +0100
+-->
+ <para>
+ Fix incorrect table size estimate with low fill factor (Tomas Vondra)
+ </para>
+
+ <para>
+ When the planner estimates the number of rows in a
+ never-yet-analyzed table, it uses the table's fillfactor setting in
+ the estimation, but it neglected to clamp the result to at least one
+ row per page. A low fillfactor could thus result in an unreasonably
+ small estimate.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Andres Freund <[email protected]>
+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)
+ </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 <[email protected]>
+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)
+ </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 <[email protected]>
+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)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Heikki Linnakangas <[email protected]>
+Branch: master [af717317a] 2025-03-12 20:53:09 +0200
+Branch: REL_17_STABLE [e731e9d5e] 2025-03-12 20:53:16 +0200
+Branch: REL_16_STABLE [004dbbd72] 2025-03-12 20:53:19 +0200
+Branch: REL_15_STABLE [d4d34c08c] 2025-03-12 20:53:23 +0200
+Branch: REL_14_STABLE [d2fb076be] 2025-03-12 20:53:25 +0200
+-->
+ <para>
+ Respond to interrupts (such as query cancel) while waiting for
+ asynchronous subplans of an Append plan node (Heikki Linnakangas)
+ </para>
+
+ <para>
+ Previously, nothing would happen until one of the subplans becomes
+ ready.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <[email protected]>
+Branch: master [039549d70] 2025-04-08 07:57:19 +0900
+Branch: REL_17_STABLE [5cbbe70a9] 2025-04-08 07:58:47 +0900
+Branch: REL_16_STABLE [e2a82cd23] 2025-04-08 07:58:50 +0900
+-->
+ <para>
+ Report the I/O statistics of active WAL senders more frequently
+ (Bertrand Drouvot)
+ </para>
+
+ <para>
+ Previously, the <structname>pg_stat_io</structname> view failed to
+ accumulate I/O performed by a WAL sender until that process exited.
+ Now such I/O will be reported after at most one second's delay.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <[email protected]>
+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)
+ </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: Thomas Munro <[email protected]>
+Branch: master [75da2bece] 2025-03-13 15:43:34 +1300
+Branch: REL_17_STABLE [e27346807] 2025-03-13 15:48:02 +1300
+-->
+ <para>
+ Cope with possible intra-query changes
+ of <varname>io_combine_limit</varname> (Thomas Munro)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Richard Guo <[email protected]>
+Branch: master [7c82b4f71] 2025-03-26 17:46:51 +0900
+Branch: REL_17_STABLE [34fbfe1f5] 2025-03-26 17:49:57 +0900
+Branch: REL_16_STABLE [de1484736] 2025-03-26 17:51:44 +0900
+-->
+ <para>
+ Avoid infinite loop if <varname>scram_iterations</varname> is set to
+ <systemitem>INT_MAX</systemitem> (Kevin K Biju)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+Branch: master [e33f2335a] 2025-04-05 12:13:35 -0400
+Branch: REL_17_STABLE [717e8a1e5] 2025-04-05 12:13:35 -0400
+Branch: REL_16_STABLE [ca54f9b70] 2025-04-05 12:13:35 -0400
+-->
+ <para>
+ Avoid possible crashes due to double transformation
+ of <function>json_array()</function>'s subquery (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+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)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Daniel Gustafsson <[email protected]>
+Branch: master [058b5152f] 2025-03-27 22:57:34 +0100
+Branch: REL_17_STABLE [8afec4ef6] 2025-03-27 22:57:34 +0100
+Branch: REL_16_STABLE [8d48e84c5] 2025-03-27 22:57:34 +0100
+-->
+ <para>
+ Fix crash after out-of-memory in certain GUC assignments (Daniel
+ Gustafsson)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+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)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Richard Guo <[email protected]>
+Branch: master [c39392eba] 2025-02-19 10:02:32 +0900
+Branch: REL_17_STABLE [727bc6ac3] 2025-02-19 10:04:44 +0900
+-->
+ <para>
+ Fix over-enthusiastic freeing of SpecialJoinInfo structs during
+ planning (Richard Guo)
+ </para>
+
+ <para>
+ This led to crashes during planning if partitionwise joining is
+ enabled.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Noah Misch <[email protected]>
+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 <[email protected]>
+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)
+ </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: Masahiko Sawada <[email protected]>
+Branch: master [fd09c1316] 2025-04-03 10:30:00 -0700
+Branch: REL_17_STABLE [a4309e85f] 2025-04-03 10:30:02 -0700
+Branch: REL_16_STABLE [87e8599e0] 2025-04-03 10:30:05 -0700
+-->
+ <para>
+ Disallow copying of invalidated replication slots (Shlok Kyal)
+ </para>
+
+ <para>
+ This prevents trouble when the invalid slot points to WAL that's
+ already been removed.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Masahiko Sawada <[email protected]>
+Branch: master [48796a98d] 2025-02-24 14:03:04 -0800
+Branch: REL_17_STABLE [174952ece] 2025-02-24 14:03:07 -0800
+Branch: REL_16_STABLE [cc628f661] 2025-02-24 14:03:10 -0800
+-->
+ <para>
+ Disallow restoring logical replication slots on standby servers that
+ are not in hot-standby mode (Masahiko Sawada)
+ </para>
+
+ <para>
+ This prevents a scenario where the slot could remain valid after
+ promotion even if <varname>wal_level</varname> is too low.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Amit Kapila <[email protected]>
+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)
+ </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 <[email protected]>
+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)
+ </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: Amit Kapila <[email protected]>
+Branch: master [0e091ce40] 2025-04-23 11:08:24 +0530
+Branch: REL_17_STABLE [05676d87e] 2025-04-23 10:52:36 +0530
+Branch: REL_16_STABLE [0de091a4b] 2025-04-23 10:35:54 +0530
+-->
+ <para>
+ Prevent incorrect reset of replication origin when an apply worker
+ encounters an error but the error is caught and does not result in
+ worker exit (Hayato Kuroda)
+ </para>
+
+ <para>
+ This mistake could allow duplicate data to be applied.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+Branch: master [9ff68679b] 2025-02-19 16:35:15 -0500
+Branch: REL_17_STABLE [788baa9a2] 2025-02-19 16:35:15 -0500
+-->
+ <para>
+ Fix crash in logical replication if the subscriber's partitioned
+ table has a BRIN index (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Heikki Linnakangas <[email protected]>
+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)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Amit Kapila <[email protected]>
+Branch: master [b4e0d0c53] 2025-02-21 14:34:40 +0530
+Branch: REL_17_STABLE [0ae1245e0] 2025-02-21 14:21:29 +0530
+Branch: REL_16_STABLE [1c2a2354c] 2025-02-21 14:08:27 +0530
+-->
+ <para>
+ Improve detection of mixed-origin subscriptions
+ (Hou Zhijie, Shlok Kyal)
+ </para>
+
+ <para>
+ Subscription creation gives a warning if a subscribed-to table is
+ also being followed through other publications, since that could
+ cause duplicate data to be received. This change improves that
+ logic to also detect cases where a partition parent or child table
+ is the one being followed through another publication.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <[email protected]>
+Branch: master [71f17823b] 2025-02-20 10:42:20 +0900
+Branch: REL_17_STABLE [29cce279b] 2025-02-20 10:43:35 +0900
+Branch: REL_16_STABLE [b4969a296] 2025-02-20 10:43:38 +0900
+Branch: REL_15_STABLE [62bed7bb0] 2025-02-20 10:43:40 +0900
+-->
+ <para>
+ Fix wrong checkpoint details in error message about incorrect
+ recovery timeline choice (David Steele)
+ </para>
+
+ <para>
+ If the requested recovery timeline is not reachable, the reported
+ checkpoint and timeline should be the values read from the
+ backup_label, if there is one. This message previously reported
+ values from the control file, which is correct when recovering from
+ the control file without a backup_label, but not when there is a
+ backup_label.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Andres Freund <[email protected]>
+Branch: master [499faf906] 2025-03-18 14:04:44 -0400
+Branch: REL_17_STABLE [ee578921b] 2025-03-18 13:44:10 -0400
+-->
+ <para>
+ Fix order of operations in <function>smgropen()</function>
+ (Andres Freund)
+ </para>
+
+ <para>
+ Ensure that the SMgrRelation object is fully initialized before
+ calling the smgr_open callback, so that it can be cleaned up
+ properly if the callback fails.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Daniel Gustafsson <[email protected]>
+Branch: REL_15_STABLE [0f404c581] 2025-04-30 20:36:24 +0200
+Branch: REL_14_STABLE [7be51eb4e] 2025-04-30 20:36:23 +0200
+-->
+ <para>
+ Fix assertion failure in snapshot building (Masahiko Sawada)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Michael Paquier <[email protected]>
+Branch: master [1f7878c33] 2025-04-23 13:53:29 +0900
+Branch: REL_17_STABLE [4b6331e0f] 2025-04-23 13:54:53 +0900
+Branch: REL_16_STABLE [e9ab8677b] 2025-04-23 13:54:56 +0900
+Branch: REL_15_STABLE [c1201ffcf] 2025-04-23 13:54:57 +0900
+-->
+ <para>
+ Remove incorrect assertion
+ in <function>pgstat_report_stat()</function> (Michael Paquier)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Heikki Linnakangas <[email protected]>
+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)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Masahiko Sawada <[email protected]>
+Branch: master [f4290f20d] 2025-03-18 16:37:02 -0700
+Branch: REL_17_STABLE [a38dce3c4] 2025-03-18 16:36:59 -0700
+-->
+ <para>
+ Avoid assertion failure in parallel vacuum
+ when <varname>maintenance_work_mem</varname> has a very small value
+ (Masahiko Sawada)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Heikki Linnakangas <[email protected]>
+Branch: master [2817525f0] 2025-03-23 20:41:16 +0200
+Branch: REL_17_STABLE [302ce5bd9] 2025-03-23 20:41:52 +0200
+Branch: REL_16_STABLE [2f33de3cd] 2025-03-23 20:41:54 +0200
+Branch: REL_15_STABLE [b30c77a0e] 2025-03-23 20:41:57 +0200
+Branch: REL_14_STABLE [66235baab] 2025-03-23 20:41:59 +0200
+-->
+ <para>
+ Fix rare assertion failure in standby servers when the primary is
+ restarted (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+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)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+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)
+ </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 <[email protected]>
+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)
+ </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: Michael Paquier <[email protected]>
+Branch: master [2a083ab80] 2025-02-28 10:15:29 +0900
+Branch: REL_17_STABLE [ee78823ff] 2025-02-28 10:15:32 +0900
+Branch: REL_16_STABLE [9ca2145b0] 2025-02-28 10:15:34 +0900
+Author: Jeff Davis <[email protected]>
+Branch: master [945126234] 2025-04-03 11:04:37 -0700
+Branch: REL_17_STABLE [0851b6573] 2025-04-06 09:13:43 -0700
+Branch: REL_16_STABLE [57467ec7b] 2025-04-06 09:14:42 -0700
+Author: Michael Paquier <[email protected]>
+Branch: master [48e4ae9a0] 2025-02-27 14:05:51 +0900
+Branch: REL_17_STABLE [f903d4da9] 2025-02-27 14:05:55 +0900
+Branch: REL_16_STABLE [816149dc6] 2025-02-27 14:05:57 +0900
+Branch: REL_15_STABLE [ec741d480] 2025-02-27 14:05:58 +0900
+Branch: REL_14_STABLE [35a591a04] 2025-02-27 14:06:00 +0900
+-->
+ <para>
+ In <application>pg_amcheck</application>
+ and <application>pg_upgrade</application>, use the correct function
+ to free allocations made by <application>libpq</application>
+ (Michael Paquier, Ranier Vilela)
+ </para>
+
+ <para>
+ These oversights could result in crashes in certain Windows build
+ configurations, such as a debug build
+ of <application>libpq</application> used by a non-debug build of the
+ calling application.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Alexander Korotkov <[email protected]>
+Branch: master [682c5be25] 2025-03-16 13:29:15 +0200
+Branch: REL_17_STABLE [09ef2f8df] 2025-03-16 13:29:20 +0200
+-->
+ <para>
+ Fix <application>reindexdb</application>'s scheduling of parallel
+ reindex operations (Alexander Korotkov)
+ </para>
+
+ <para>
+ The original coding failed to achieve the expected amount of
+ parallelism.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Noah Misch <[email protected]>
+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 <[email protected]>
+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)
+ </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 <[email protected]>
+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)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+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)
+ </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: Alexander Korotkov <[email protected]>
+Branch: master [023fb5127] 2025-03-25 05:49:47 +0200
+Branch: REL_17_STABLE [729fe699e] 2025-03-25 05:50:39 +0200
+-->
+ <para>
+ In <filename>contrib/postgres_fdw</filename>, avoid pulling up
+ restriction conditions from subqueries (Alexander Pyhalov)
+ </para>
+
+ <para>
+ This fix prevents rare cases of <quote>unexpected expression in
+ subquery output</quote> errors.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+Branch: master [cb36f8ec2] 2025-03-25 20:03:56 -0400
+Branch: REL_17_STABLE [f186f90e5] 2025-03-25 20:03:56 -0400
+-->
+ <para>
+ Fix build failure when an old version
+ of <filename>libpq_fe.h</filename> is present in system include
+ directories (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+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)
+ </para>
+
+ <para>
+ This macOS update broke our configuration probe
+ for <function>strchrnul()</function>.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Thomas Munro <[email protected]>
+Branch: master [2a8a00674] 2025-02-15 13:14:03 +1300
+Branch: master [2509b857c] 2025-02-18 14:44:59 +1300
+Branch: REL_17_STABLE [57dca6faa] 2025-02-21 15:16:37 +1300
+-->
+ <para>
+ Fix valgrind labeling of per-buffer data of read streams
+ (Thomas Munro)
+ </para>
+
+ <para>
+ This affects no core code in released versions
+ of <productname>PostgreSQL</productname>, but an extension using the
+ per-buffer data feature might have encountered spurious failures
+ when being tested under valgrind.
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: John Naylor <[email protected]>
+Branch: master [0600d276d] 2025-02-24 18:03:29 +0700
+Branch: REL_17_STABLE [fde7c0164] 2025-02-24 18:03:48 +0700
+-->
+ <para>
+ Avoid valgrind complaints about string hashing code (John Naylor)
+ </para>
+ </listitem>
+
+ <listitem>
+<!--
+Author: Tom Lane <[email protected]>
+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)
+ </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-17-4">
<title>Release 17.4</title>