mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Release notes for 16.3, 15.7, 14.12, 13.15, 12.19.
This commit is contained in:
		@@ -1,6 +1,806 @@
 | 
				
			|||||||
<!-- doc/src/sgml/release-13.sgml -->
 | 
					<!-- doc/src/sgml/release-13.sgml -->
 | 
				
			||||||
<!-- See header comment in release.sgml about typical markup -->
 | 
					<!-- See header comment in release.sgml about typical markup -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 <sect1 id="release-13-15">
 | 
				
			||||||
 | 
					  <title>Release 13.15</title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <formalpara>
 | 
				
			||||||
 | 
					  <title>Release date:</title>
 | 
				
			||||||
 | 
					  <para>2024-05-09</para>
 | 
				
			||||||
 | 
					  </formalpara>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <para>
 | 
				
			||||||
 | 
					   This release contains a variety of fixes from 13.14.
 | 
				
			||||||
 | 
					   For information about new features in major release 13, see
 | 
				
			||||||
 | 
					   <xref linkend="release-13"/>.
 | 
				
			||||||
 | 
					  </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <sect2>
 | 
				
			||||||
 | 
					   <title>Migration to Version 13.15</title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    A dump/restore is not required for those running 13.X.
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   <para>
 | 
				
			||||||
 | 
					    However, if you are upgrading from a version earlier than 13.14,
 | 
				
			||||||
 | 
					    see <xref linkend="release-13-14"/>.
 | 
				
			||||||
 | 
					   </para>
 | 
				
			||||||
 | 
					  </sect2>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <sect2>
 | 
				
			||||||
 | 
					   <title>Changes</title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   <itemizedlist>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [b4a71cf65] 2024-03-14 14:57:16 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [52898c63e] 2024-03-14 14:57:16 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [7c61d2342] 2024-03-14 14:57:16 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [3621ffd9f] 2024-03-14 14:57:16 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [0200398dd] 2024-03-14 14:57:16 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [82c87af7a] 2024-03-14 14:57:16 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix <command>INSERT</command> from
 | 
				
			||||||
 | 
					      multiple <command>VALUES</command> rows into a target column that is
 | 
				
			||||||
 | 
					      a domain over an array or composite type (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Such cases would either fail with surprising complaints about
 | 
				
			||||||
 | 
					      mismatched datatypes, or insert unexpected coercions that could lead
 | 
				
			||||||
 | 
					      to odd results.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: David Rowley <drowley@postgresql.org>
 | 
				
			||||||
 | 
					Branch: master [4c2369ac5] 2024-02-20 12:49:37 +1300
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [fb95cc72b] 2024-02-20 12:50:09 +1300
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [1b3495e29] 2024-02-20 12:50:34 +1300
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [f9c8f7ccd] 2024-02-20 12:50:57 +1300
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [3850fcca6] 2024-02-20 12:51:17 +1300
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [3ffcd24c2] 2024-02-20 12:51:38 +1300
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix incorrect pruning of NULL partition when a table is partitioned
 | 
				
			||||||
 | 
					      on a boolean column and the query has a boolean <literal>IS
 | 
				
			||||||
 | 
					      NOT</literal> clause (David Rowley)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      A NULL value satisfies a clause such
 | 
				
			||||||
 | 
					      as <literal><replaceable>boolcol</replaceable> IS NOT
 | 
				
			||||||
 | 
					      FALSE</literal>, so pruning away a partition containing NULLs
 | 
				
			||||||
 | 
					      yielded incorrect answers.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [fad3b5b5a] 2024-03-26 15:28:31 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [7445f0928] 2024-03-26 15:28:16 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [b48eda4e5] 2024-03-26 15:28:16 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [66bbad581] 2024-03-26 15:28:16 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [97de2a159] 2024-03-26 15:28:16 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [a8b740868] 2024-03-26 15:28:16 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Make <command>ALTER FOREIGN TABLE SET SCHEMA</command> move any
 | 
				
			||||||
 | 
					      owned sequences into the new schema (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Moving a regular table to a new schema causes any sequences owned by
 | 
				
			||||||
 | 
					      the table to be moved to that schema too (along with indexes and
 | 
				
			||||||
 | 
					      constraints).  This was overlooked for foreign tables, however.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
 | 
				
			||||||
 | 
					Branch: master [0960ae196] 2024-03-18 14:03:58 +0200
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [1f4eb7342] 2024-03-18 14:04:13 +0200
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [d3d95f583] 2024-03-18 14:04:17 +0200
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [262757b73] 2024-03-18 14:04:19 +0200
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [992189a3e] 2024-03-18 14:04:24 +0200
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [f3e4581ac] 2024-03-18 14:04:28 +0200
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix <command>EXPLAIN</command>'s counting of heap pages accessed by
 | 
				
			||||||
 | 
					      a bitmap heap scan (Melanie Plageman)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Previously, heap pages that contain no visible tuples were not
 | 
				
			||||||
 | 
					      counted; but it seems more consistent to count all pages returned by
 | 
				
			||||||
 | 
					      the bitmap index scan.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [6faca9ae2] 2024-04-02 14:59:32 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [cbfbb14bd] 2024-04-02 14:59:04 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [4fb56a734] 2024-04-02 14:59:04 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [ca392df8d] 2024-04-02 14:59:04 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [4afc2c219] 2024-04-02 14:59:04 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [f5d9212e5] 2024-04-02 14:59:04 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Avoid deadlock during removal of orphaned temporary tables
 | 
				
			||||||
 | 
					      (Mikhail Zhilin)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      If the session that creates a temporary table crashes without
 | 
				
			||||||
 | 
					      removing the table, autovacuum will eventually try to remove the
 | 
				
			||||||
 | 
					      orphaned table.  However, an incoming session that's been assigned
 | 
				
			||||||
 | 
					      the same temporary namespace will do that too.  If a temporary table
 | 
				
			||||||
 | 
					      has a dependency (such as an owned sequence) then a deadlock could
 | 
				
			||||||
 | 
					      result between these two cleanup attempts.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Noah Misch <noah@leadboat.com>
 | 
				
			||||||
 | 
					Branch: master [f65ab862e] 2024-04-29 10:24:56 -0700
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [92685c389] 2024-04-29 10:24:59 -0700
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [7c5915c4b] 2024-04-29 10:24:59 -0700
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [2ca19aa81] 2024-04-29 10:25:00 -0700
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [70cadfba0] 2024-04-29 10:25:00 -0700
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [f222349c4] 2024-04-29 10:25:00 -0700
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Avoid race condition while examining per-relation frozen-XID values
 | 
				
			||||||
 | 
					      (Noah Misch)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      <command>VACUUM</command>'s computation of per-database frozen-XID
 | 
				
			||||||
 | 
					      values from per-relation values could get confused by a concurrent
 | 
				
			||||||
 | 
					      update of those values by another <command>VACUUM</command>.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [bf379b555] 2024-04-30 15:22:55 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [51189f98a] 2024-04-30 15:22:55 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [1ee22d1e8] 2024-04-30 15:22:55 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [56d30fb10] 2024-04-30 15:22:56 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Disallow converting a table to a view within an outer SQL command
 | 
				
			||||||
 | 
					      that is using that table (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      This avoids possible crashes.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [03107b4ed] 2024-04-16 11:22:51 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [91800af13] 2024-04-16 11:03:43 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [5aacfa64e] 2024-04-16 11:22:39 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [ab2402268] 2024-04-16 11:22:39 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [d9e4ee74f] 2024-04-16 11:22:39 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [f502849d4] 2024-04-16 11:22:39 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Ensure that join conditions generated from equivalence classes are
 | 
				
			||||||
 | 
					      applied at the correct plan level (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      In versions before <productname>PostgreSQL</productname> 16, it was
 | 
				
			||||||
 | 
					      possible for generated conditions to be evaluated below outer joins
 | 
				
			||||||
 | 
					      when they should be evaluated above (after) the outer join, leading
 | 
				
			||||||
 | 
					      to incorrect query results.  All versions have a similar hazard when
 | 
				
			||||||
 | 
					      considering joins to <command>UNION ALL</command> trees that have
 | 
				
			||||||
 | 
					      constant outputs for the join column in
 | 
				
			||||||
 | 
					      some <command>SELECT </command> arms.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [a767cdc84] 2024-03-27 13:39:03 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [a94f51a7b] 2024-03-27 13:39:03 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [03561a6c7] 2024-03-27 13:39:03 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [0d30e48c2] 2024-03-27 13:39:03 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [de3c5b187] 2024-03-27 13:39:03 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [25675c474] 2024-03-27 13:39:03 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Avoid unnecessary use of moving-aggregate mode with a non-moving
 | 
				
			||||||
 | 
					      window frame (Vallimaharajan G)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      When a plain aggregate is used as a window function, and the window
 | 
				
			||||||
 | 
					      frame start is specified as <literal>UNBOUNDED PRECEDING</literal>,
 | 
				
			||||||
 | 
					      the frame's head cannot move so we do not need to use the special
 | 
				
			||||||
 | 
					      (and more expensive) moving-aggregate mode.  This optimization was
 | 
				
			||||||
 | 
					      intended all along, but due to a coding error it never triggered.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [a6b2a51e1] 2024-02-23 15:21:53 -0500
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [ef0333e67] 2024-02-23 15:21:53 -0500
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [37bbe3d3a] 2024-02-23 15:21:53 -0500
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [cbeb45527] 2024-02-23 15:21:53 -0500
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [9061fd23c] 2024-02-23 15:21:53 -0500
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [cf807eba5] 2024-02-23 15:21:53 -0500
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Avoid use of already-freed data while planning partition-wise joins
 | 
				
			||||||
 | 
					      under GEQO (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      This would typically end in a crash or unexpected error message.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: David Rowley <drowley@postgresql.org>
 | 
				
			||||||
 | 
					Branch: master [a37a3e2b3] 2024-03-05 16:17:02 +1300
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [ac7e6a01c] 2024-03-05 16:17:53 +1300
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [164fe7a6e] 2024-03-05 16:18:19 +1300
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [0c2dda109] 2024-03-05 16:18:42 +1300
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [421dfb41a] 2024-03-05 16:19:05 +1300
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [94246405d] 2024-03-05 16:19:26 +1300
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix incorrectly-reported statistics kind codes in <quote>requested
 | 
				
			||||||
 | 
					      statistics kind <replaceable>X</replaceable> is not yet
 | 
				
			||||||
 | 
					      built</quote> error messages (David Rowley)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [e0df80828] 2024-04-15 12:56:56 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [cc1eb6a3c] 2024-04-15 12:56:56 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [09989ba84] 2024-04-15 12:56:56 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [78e81e14d] 2024-04-15 12:56:56 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [b6e21cef7] 2024-04-15 12:56:56 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [e0970862e] 2024-04-15 12:56:56 -0400
 | 
				
			||||||
 | 
					Branch: master [2ed8f9a01] 2024-03-06 14:41:13 -0500
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [1b3029be5] 2024-03-06 14:41:13 -0500
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [3b671dcf5] 2024-03-06 14:41:13 -0500
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [a595c3075] 2024-03-06 14:41:13 -0500
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [d769f9d97] 2024-03-06 14:41:13 -0500
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [466376c9f] 2024-03-06 14:41:13 -0500
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Be more careful with <type>RECORD</type>-returning functions
 | 
				
			||||||
 | 
					      in <literal>FROM</literal> (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      The output columns of such a function call must be defined by
 | 
				
			||||||
 | 
					      an <literal>AS</literal> clause that specifies the column names and
 | 
				
			||||||
 | 
					      data types.  If the actual function output value doesn't match that,
 | 
				
			||||||
 | 
					      an error is supposed to be thrown at runtime.  However, some code
 | 
				
			||||||
 | 
					      paths would examine the actual value prematurely, and potentially
 | 
				
			||||||
 | 
					      issue strange errors or suffer assertion failures if it doesn't
 | 
				
			||||||
 | 
					      match expectations.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [6ee3261e9] 2024-03-12 18:16:25 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [40d1bdeb7] 2024-03-12 18:16:10 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [6f66fadad] 2024-03-12 18:16:10 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [649bbba11] 2024-03-12 18:16:10 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [28184f039] 2024-03-12 18:16:10 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [dc1503d5b] 2024-03-12 18:16:10 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix confusion about the return rowtype of SQL-language procedures
 | 
				
			||||||
 | 
					      (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      A procedure implemented in SQL language that returns a single
 | 
				
			||||||
 | 
					      composite-type column would cause an assertion failure or core dump.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Alexander Korotkov <akorotkov@postgresql.org>
 | 
				
			||||||
 | 
					Branch: master [d57b7cc33] 2024-02-16 16:02:00 +0200
 | 
				
			||||||
 | 
					Branch: master [75bcba6cb] 2024-02-21 02:51:41 +0200
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [760767182] 2024-03-11 03:06:55 +0200
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [84788ee5b] 2024-03-11 03:06:45 +0200
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [84cc1a552] 2024-03-11 03:06:15 +0200
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [445c7e38f] 2024-03-11 03:06:10 +0200
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [98bfb7558] 2024-03-11 02:53:07 +0200
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Add protective stack depth checks to some recursive functions
 | 
				
			||||||
 | 
					      (Egor Chindyaskin)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [4019285c0] 2024-04-28 13:42:13 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [3752e3d21] 2024-04-28 13:42:13 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [e6e3ee5b7] 2024-04-28 13:42:13 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [1748379b6] 2024-04-28 13:42:13 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [440b6251b] 2024-04-28 13:42:13 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [cb0ccefa0] 2024-04-28 13:42:13 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Detect integer overflow when adding or subtracting
 | 
				
			||||||
 | 
					      an <type>interval</type> to/from a <type>timestamp</type>
 | 
				
			||||||
 | 
					      (Joseph Koshakow)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Some cases that should cause an out-of-range error produced an
 | 
				
			||||||
 | 
					      incorrect result instead.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [ce571434a] 2024-02-09 12:29:41 -0500
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [4eb261165] 2024-02-09 12:29:41 -0500
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [26c89d105] 2024-02-09 12:29:41 -0500
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [d21690edb] 2024-02-09 12:29:41 -0500
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [ceb224b62] 2024-02-09 12:29:41 -0500
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [f38903d1e] 2024-02-09 12:29:41 -0500
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Avoid race condition in <function>pg_get_expr()</function>
 | 
				
			||||||
 | 
					      (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      If the relation referenced by the argument is dropped concurrently,
 | 
				
			||||||
 | 
					      the function's intention is to return NULL, but sometimes it failed
 | 
				
			||||||
 | 
					      instead.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Alexander Korotkov <akorotkov@postgresql.org>
 | 
				
			||||||
 | 
					Branch: master [165d921c9] 2024-02-08 12:45:26 +0200
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [e3e05adde] 2024-02-09 12:37:21 +0200
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [503299b7f] 2024-02-09 12:38:32 +0200
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [18388291a] 2024-02-09 12:39:42 +0200
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [4efaf4b09] 2024-02-09 12:39:54 +0200
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [d44060cfc] 2024-02-09 12:55:43 +0200
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix detection of old transaction IDs in XID status functions
 | 
				
			||||||
 | 
					      (Karina Litskevich)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Transaction IDs more than 2<superscript>31</superscript>
 | 
				
			||||||
 | 
					      transactions in the past could be misidentified as recent,
 | 
				
			||||||
 | 
					      leading to misbehavior of <function>pg_xact_status()</function>
 | 
				
			||||||
 | 
					      or <function>txid_status()</function>.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Etsuro Fujita <efujita@postgresql.org>
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [e79ceafe9] 2024-04-11 19:05:00 +0900
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [b82dca2a5] 2024-04-11 19:05:02 +0900
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [b714bc40c] 2024-04-11 19:05:04 +0900
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [01b01a77f] 2024-04-11 19:05:05 +0900
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [0341d4b10] 2024-04-11 19:05:07 +0900
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix file descriptor leakage when an error is thrown while waiting
 | 
				
			||||||
 | 
					      in <function>WaitEventSetWait</function> (Etsuro Fujita)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [f5a465f1a] 2024-02-25 16:15:07 -0500
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [8c785d354] 2024-02-25 16:15:07 -0500
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [940489b46] 2024-02-25 16:15:07 -0500
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [09f09884c] 2024-02-25 16:15:07 -0500
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [43cca9de9] 2024-02-25 16:15:07 -0500
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [c0b4dad38] 2024-02-25 16:15:07 -0500
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Throw an error if an index is accessed while it is being reindexed
 | 
				
			||||||
 | 
					      (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Previously this was just an assertion check, but promote it into a
 | 
				
			||||||
 | 
					      regular runtime error.  This will provide a more on-point error
 | 
				
			||||||
 | 
					      message when reindexing a user-defined index expression that
 | 
				
			||||||
 | 
					      attempts to access its own table.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: David Rowley <drowley@postgresql.org>
 | 
				
			||||||
 | 
					Branch: master [a63224be4] 2024-05-01 13:21:21 +1200
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [68d358545] 2024-05-01 13:21:50 +1200
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [52f21f928] 2024-05-01 13:22:16 +1200
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [e6b0efc65] 2024-05-01 13:22:41 +1200
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [0a34bcd0c] 2024-05-01 13:23:05 +1200
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [e3f9dcabd] 2024-05-01 13:23:25 +1200
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Ensure that index-only scans on <type>name</type> columns return a
 | 
				
			||||||
 | 
					      fully-padded value (David Rowley)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      The value physically stored in the index is truncated, and
 | 
				
			||||||
 | 
					      previously a pointer to that value was returned to callers.  This
 | 
				
			||||||
 | 
					      provoked complaints when testing under valgrind.  In theory it could
 | 
				
			||||||
 | 
					      result in crashes, though none have been reported.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
 | 
				
			||||||
 | 
					Branch: master [fbf9a7ac4] 2024-02-13 21:23:41 +0200
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [f2f09b825] 2024-02-13 21:24:45 +0200
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [d46c26961] 2024-02-13 21:25:27 +0200
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [9b8550fbd] 2024-02-13 21:25:39 +0200
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [e92375692] 2024-02-13 21:25:48 +0200
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [95cc48ca0] 2024-02-13 21:25:59 +0200
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix crash with DSM allocations larger than 4GB (Heikki Linnakangas)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
 | 
				
			||||||
 | 
					Branch: master [f8c5317d0] 2024-03-12 10:18:32 +0200
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [539e328b1] 2024-03-12 10:18:44 +0200
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [4fce5f970] 2024-03-12 10:18:50 +0200
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [bf1f593e8] 2024-03-12 10:18:51 +0200
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [ad5cd55e6] 2024-03-12 10:18:53 +0200
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [df27d76d3] 2024-03-12 10:18:54 +0200
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Disconnect if a new server session's client socket cannot be put
 | 
				
			||||||
 | 
					      into non-blocking mode (Heikki Linnakangas)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      It was once theoretically possible for us to operate with a socket
 | 
				
			||||||
 | 
					      that's in blocking mode; but that hasn't worked fully in a long
 | 
				
			||||||
 | 
					      time, so fail at connection start rather than misbehave later.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [453c46873] 2024-03-07 19:38:17 -0500
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [6a2c80e95] 2024-03-07 19:37:51 -0500
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [0fe82e45c] 2024-03-07 19:37:51 -0500
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [473babd42] 2024-03-07 19:37:51 -0500
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [9fbe07275] 2024-03-07 19:37:51 -0500
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [c42e5fdcf] 2024-03-07 19:37:51 -0500
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix inadequate error reporting
 | 
				
			||||||
 | 
					      with <application>OpenSSL</application> 3.0.0 and later (Heikki
 | 
				
			||||||
 | 
					      Linnakangas, Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      System-reported errors passed through by OpenSSL were reported with
 | 
				
			||||||
 | 
					      a numeric error code rather than anything readable.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [a584d03ce] 2024-02-09 11:21:08 -0500
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [52afe5632] 2024-02-09 11:21:08 -0500
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [806f98951] 2024-02-09 11:21:08 -0500
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [8ead39e38] 2024-02-09 11:21:08 -0500
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [8c5da20db] 2024-02-09 11:21:08 -0500
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [9fb1396a9] 2024-02-09 11:21:08 -0500
 | 
				
			||||||
 | 
					Branch: master [0028b55bc] 2024-02-09 11:11:39 -0500
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [9440d23a0] 2024-02-09 11:11:39 -0500
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [9f041b041] 2024-02-09 11:11:39 -0500
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [7d7cc7fd6] 2024-02-09 11:11:39 -0500
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [67f8cf0f0] 2024-02-09 11:11:39 -0500
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [95e960e81] 2024-02-09 11:11:39 -0500
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Avoid concurrent calls to <function>bindtextdomain()</function>
 | 
				
			||||||
 | 
					      in <application>libpq</application>
 | 
				
			||||||
 | 
					      and <application>ecpglib</application> (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Although GNU <application>gettext</application>'s implementation
 | 
				
			||||||
 | 
					      seems to be fine with concurrent calls, the version available on
 | 
				
			||||||
 | 
					      Windows is not.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [6f0cef935] 2024-04-16 12:31:42 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [392e6e9e6] 2024-04-16 12:31:32 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [25f937217] 2024-04-16 12:31:32 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [463164639] 2024-04-16 12:31:32 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [02531e8ca] 2024-04-16 12:31:32 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [2b6a74afe] 2024-04-16 12:31:32 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [0018f0af5] 2024-04-18 20:47:37 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [1e7b1b026] 2024-04-18 20:47:37 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [df66319f7] 2024-04-18 20:47:37 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [481597fc6] 2024-04-18 20:47:37 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [61dd815e0] 2024-04-18 20:47:37 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [dd3fddc85] 2024-04-19 01:07:16 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [f7e891748] 2024-04-19 01:07:32 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [de84608e2] 2024-04-19 01:07:41 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [c6bfeab42] 2024-04-19 01:07:47 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [cd26f08e4] 2024-04-19 01:07:52 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix crash in <application>ecpg</application>'s preprocessor if
 | 
				
			||||||
 | 
					      the program tries to redefine a macro that was defined on the
 | 
				
			||||||
 | 
					      preprocessor command line (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [096a761d6] 2024-04-04 15:31:53 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [118558e6d] 2024-04-04 15:31:53 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [f159f1814] 2024-04-04 15:31:53 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [d3167ed3f] 2024-04-04 15:31:53 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [5ba29e945] 2024-04-04 15:31:53 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [360d007e3] 2024-04-04 15:31:53 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      In <application>ecpg</application>, avoid issuing
 | 
				
			||||||
 | 
					      false <quote>unsupported feature will be passed to server</quote>
 | 
				
			||||||
 | 
					      warnings (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Michael Paquier <michael@paquier.xyz>
 | 
				
			||||||
 | 
					Branch: master [e77a1c58e] 2024-02-19 11:38:18 +0900
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [88e03d055] 2024-02-19 11:38:44 +0900
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [b5cb6022b] 2024-02-19 11:38:47 +0900
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [a05bb9add] 2024-02-19 11:38:49 +0900
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [c031ce97b] 2024-02-19 11:38:52 +0900
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [771240f97] 2024-02-19 11:38:54 +0900
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Ensure that the string result
 | 
				
			||||||
 | 
					      of <application>ecpg</application>'s <function>intoasc()</function>
 | 
				
			||||||
 | 
					      function is correctly zero-terminated (Oleg Tselebrovskiy)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Daniel Gustafsson <dgustafsson@postgresql.org>
 | 
				
			||||||
 | 
					Branch: master [7e65ad197] 2024-03-21 23:31:57 +0100
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [5863bacb8] 2024-03-21 23:31:57 +0100
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [12128be62] 2024-03-21 23:31:57 +0100
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [be01c8c34] 2024-03-21 23:31:57 +0100
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [affc46b76] 2024-03-21 23:31:57 +0100
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [d82cb467b] 2024-03-21 23:31:57 +0100
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [6ebd43725] 2024-03-22 01:01:30 +0100
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [d5c6affb8] 2024-03-22 01:01:30 +0100
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [82c2192d9] 2024-03-22 01:01:30 +0100
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix <application>pg_dumpall</application> so that role comments, if
 | 
				
			||||||
 | 
					      present, will be dumped regardless of the setting
 | 
				
			||||||
 | 
					      of <option>--no-role-passwords</option> (Daniel Gustafsson,
 | 
				
			||||||
 | 
					      Álvaro Herrera)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [5392dd3d2] 2024-04-10 15:45:58 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [48f216dc6] 2024-04-10 15:45:58 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [d85db0a8e] 2024-04-10 15:45:59 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [dc5824a06] 2024-04-10 15:45:59 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [f5cee411a] 2024-04-10 15:45:59 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [5e9d8bed0] 2024-04-10 15:45:59 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix <application>PL/pgSQL</application>'s parsing of single-line
 | 
				
			||||||
 | 
					      comments (<literal>--</literal>-style comments) following
 | 
				
			||||||
 | 
					      expressions (Erik Wienhold, Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      This mistake caused parse errors if such a comment followed
 | 
				
			||||||
 | 
					      a <literal>WHEN</literal> expression in
 | 
				
			||||||
 | 
					      a <application>PL/pgSQL</application> <command>CASE</command>
 | 
				
			||||||
 | 
					      statement.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Alexander Korotkov <akorotkov@postgresql.org>
 | 
				
			||||||
 | 
					Branch: master [b1fe8efdf] 2024-03-24 00:09:24 +0200
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [3676b846b] 2024-03-23 23:02:30 +0200
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [0d466bce9] 2024-03-23 23:02:43 +0200
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [4e8529da4] 2024-03-23 23:03:10 +0200
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [5cc1f2626] 2024-03-23 23:03:12 +0200
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [d603e6744] 2024-03-24 00:08:13 +0200
 | 
				
			||||||
 | 
					Branch: master [ab65dfb0f] 2024-03-24 00:09:24 +0200
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [a6ddb8ad0] 2024-03-23 23:02:30 +0200
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [54e6184db] 2024-03-23 23:02:43 +0200
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [5df5d9cd7] 2024-03-23 23:03:10 +0200
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [e2c241416] 2024-03-23 23:03:12 +0200
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [50f8611d0] 2024-03-23 23:03:14 +0200
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      In <filename>contrib/amcheck</filename>, don't report false match
 | 
				
			||||||
 | 
					      failures due to short- versus long-header values (Andrey Borodin,
 | 
				
			||||||
 | 
					      Michael Zhilin)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      A variable-length datum in a heap tuple or index tuple could have
 | 
				
			||||||
 | 
					      either a short or a long header, depending on compression parameters
 | 
				
			||||||
 | 
					      that applied when it was made.  Treat these cases as equivalent
 | 
				
			||||||
 | 
					      rather than complaining if there's a difference.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: David Rowley <drowley@postgresql.org>
 | 
				
			||||||
 | 
					Branch: master [c399248b3] 2024-03-11 12:27:11 +1300
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [6a9e2cb2b] 2024-03-11 12:27:46 +1300
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [ab64b275a] 2024-03-11 12:28:11 +1300
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [628c3f2e1] 2024-03-11 12:28:40 +1300
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [20b85b3da] 2024-03-11 12:29:03 +1300
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [9301e0f41] 2024-03-11 12:29:24 +1300
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      In <filename>contrib/postgres_fdw</filename>, avoid emitting
 | 
				
			||||||
 | 
					      requests to sort by a constant (David Rowley)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      This could occur in cases involving <literal>UNION ALL</literal>
 | 
				
			||||||
 | 
					      with constant-emitting subqueries.  Sorting by a constant is useless
 | 
				
			||||||
 | 
					      of course, but it also risks being misinterpreted by the remote
 | 
				
			||||||
 | 
					      server, leading to <quote>ORDER BY
 | 
				
			||||||
 | 
					      position <replaceable>N</replaceable> is not in select list</quote>
 | 
				
			||||||
 | 
					      errors.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [a3021aafc] 2024-04-21 13:46:20 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [75929b6cf] 2024-04-21 13:46:20 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [6c85e3359] 2024-04-21 13:46:20 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [3ed6e1698] 2024-04-21 13:46:20 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [0e56b2b94] 2024-04-21 13:46:20 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [ce1c30ece] 2024-04-21 13:46:20 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Make <filename>contrib/postgres_fdw</filename> set the remote
 | 
				
			||||||
 | 
					      session's time zone to <literal>GMT</literal>
 | 
				
			||||||
 | 
					      not <literal>UTC</literal> (Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      This should have the same results for practical purposes.
 | 
				
			||||||
 | 
					      However, <literal>GMT</literal> is recognized by hard-wired code in
 | 
				
			||||||
 | 
					      the server, while <literal>UTC</literal> is looked up in the
 | 
				
			||||||
 | 
					      timezone database.  So the old code could fail in the unlikely event
 | 
				
			||||||
 | 
					      that the remote server's timezone database is missing entries.
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Michael Paquier <michael@paquier.xyz>
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [7c93f31de] 2024-04-16 12:25:48 +0900
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [689ba4f1c] 2024-04-16 12:26:10 +0900
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [6fa5e67e8] 2024-04-16 12:26:15 +0900
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [bb418aeee] 2024-04-16 12:26:17 +0900
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [4b0e5d601] 2024-04-16 12:26:21 +0900
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      In <filename>contrib/xml2</filename>, avoid use of library functions
 | 
				
			||||||
 | 
					      that have been deprecated in recent versions
 | 
				
			||||||
 | 
					      of <application>libxml2</application> (Dmitry Koval)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Thomas Munro <tmunro@postgresql.org>
 | 
				
			||||||
 | 
					Branch: master [53c8d6c9f] 2024-04-10 12:13:46 +1200
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [bf1cfe77e] 2024-04-10 10:46:15 +1200
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [74992929a] 2024-04-10 12:14:04 +1200
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [7fe32eaa4] 2024-04-10 12:15:07 +1200
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [4f90750b5] 2024-04-10 12:15:41 +1200
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [01b55203a] 2024-04-10 12:15:59 +1200
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Fix incompatibility with LLVM 18 (Thomas Munro, Dmitry Dolgov)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <listitem>
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					Author: Tom Lane <tgl@sss.pgh.pa.us>
 | 
				
			||||||
 | 
					Branch: master [8a92b70c1] 2024-03-26 11:44:49 -0400
 | 
				
			||||||
 | 
					Branch: REL_16_STABLE [7651fd387] 2024-03-26 11:44:49 -0400
 | 
				
			||||||
 | 
					Branch: REL_15_STABLE [3c3f4fd74] 2024-03-26 11:44:49 -0400
 | 
				
			||||||
 | 
					Branch: REL_14_STABLE [d82605bcd] 2024-03-26 11:44:49 -0400
 | 
				
			||||||
 | 
					Branch: REL_13_STABLE [243e99532] 2024-03-26 11:44:49 -0400
 | 
				
			||||||
 | 
					Branch: REL_12_STABLE [7124e7d52] 2024-03-26 11:44:49 -0400
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					     <para>
 | 
				
			||||||
 | 
					      Allow <literal>make check</literal> to work with
 | 
				
			||||||
 | 
					      the <application>musl</application> C library (Thomas Munro, Bruce
 | 
				
			||||||
 | 
					      Momjian, Tom Lane)
 | 
				
			||||||
 | 
					     </para>
 | 
				
			||||||
 | 
					    </listitem>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   </itemizedlist>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  </sect2>
 | 
				
			||||||
 | 
					 </sect1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 <sect1 id="release-13-14">
 | 
					 <sect1 id="release-13-14">
 | 
				
			||||||
  <title>Release 13.14</title>
 | 
					  <title>Release 13.14</title>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user