Release notes for 16.1, 15.5, 14.10, 13.13, 12.17, 11.22.

This commit is contained in:
Tom Lane 2023-11-05 13:14:07 -05:00
parent 930bc76bec
commit a8b766a916

View File

@ -1,6 +1,707 @@
<!-- doc/src/sgml/release-11.sgml -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-11-22">
<title>Release 11.22</title>
<formalpara>
<title>Release date:</title>
<para>2023-11-09</para>
</formalpara>
<para>
This release contains a variety of fixes from 11.21.
For information about new features in major release 11, see
<xref linkend="release-11"/>.
</para>
<para>
This is expected to be the last <productname>PostgreSQL</productname>
release in the 11.X series. Users are encouraged to update to a newer
release branch soon.
</para>
<sect2>
<title>Migration to Version 11.22</title>
<para>
A dump/restore is not required for those running 11.X.
</para>
<para>
However, if you are upgrading from a version earlier than 11.21,
see <xref linkend="release-11-21"/>.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<!--
Author: David Rowley <drowley@postgresql.org>
Branch: master [d9e46dfb7] 2023-10-13 01:12:31 +1300
Branch: REL_16_STABLE [595db9e9c] 2023-10-13 01:13:07 +1300
Branch: REL_15_STABLE [1e81d3e6e] 2023-10-13 01:13:36 +1300
Branch: REL_14_STABLE [d26f33c32] 2023-10-13 01:13:59 +1300
Branch: REL_13_STABLE [890a73ba3] 2023-10-13 01:14:22 +1300
Branch: REL_12_STABLE [3cc0c2517] 2023-10-13 01:14:46 +1300
Branch: REL_11_STABLE [2759924f3] 2023-10-13 01:15:12 +1300
Author: David Rowley <drowley@postgresql.org>
Branch: master [f0c409d9c] 2023-10-12 19:50:38 +1300
Branch: REL_16_STABLE [6352f1627] 2023-10-12 19:51:26 +1300
Branch: REL_15_STABLE [916adc7c5] 2023-10-12 19:52:05 +1300
Branch: REL_14_STABLE [cd15bff48] 2023-10-12 19:52:31 +1300
Branch: REL_13_STABLE [45c4b2a3a] 2023-10-12 19:52:58 +1300
Branch: REL_12_STABLE [cd259de50] 2023-10-12 19:53:23 +1300
Branch: REL_11_STABLE [07f261b31] 2023-10-12 19:53:50 +1300
-->
<para>
Fix partition step generation and runtime partition pruning for
hash-partitioned tables with multiple partition keys (David Rowley)
</para>
<para>
Some cases involving an <literal>IS NULL</literal> condition on one
of the partition keys could result in a crash.
</para>
</listitem>
<listitem>
<!--
Author: Peter Geoghegan <pg@bowt.ie>
Branch: master [714780dcd] 2023-09-28 16:29:37 -0700
Branch: REL_16_STABLE [3fa81b62e] 2023-09-28 16:29:35 -0700
Branch: REL_15_STABLE [cac37c1a1] 2023-09-28 16:29:32 -0700
Branch: REL_14_STABLE [41486c4aa] 2023-09-28 16:29:29 -0700
Branch: REL_13_STABLE [d4724e94a] 2023-09-28 16:29:27 -0700
Branch: REL_12_STABLE [b36d72cbc] 2023-09-28 16:29:24 -0700
Branch: REL_11_STABLE [7c07305e6] 2023-09-28 16:29:22 -0700
-->
<para>
Fix edge case in btree mark/restore processing of ScalarArrayOpExpr
clauses (Peter Geoghegan)
</para>
<para>
When restoring an indexscan to a previously marked position, the
code could miss required setup steps if the scan had advanced
exactly to the end of the matches for a ScalarArrayOpExpr (that is,
an <literal>indexcol = ANY(ARRAY[])</literal>) clause. This could
result in missing some rows that should have been fetched.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [237f8765d] 2023-10-28 14:05:01 -0400
Branch: REL_16_STABLE [07494a0df] 2023-10-28 14:04:43 -0400
Branch: REL_15_STABLE [592cb11fb] 2023-10-28 14:04:43 -0400
Branch: REL_14_STABLE [5d7515d7d] 2023-10-28 14:04:43 -0400
Branch: REL_13_STABLE [b7684473d] 2023-10-28 14:04:43 -0400
Branch: REL_12_STABLE [d8d7f282f] 2023-10-28 14:04:43 -0400
Branch: REL_11_STABLE [7ab6971c6] 2023-10-28 14:04:43 -0400
-->
<para>
Fix intra-query memory leak when a set-returning function repeatedly
returns zero rows (Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [f73fa5a47] 2023-09-18 14:28:17 -0400
Branch: REL_16_STABLE [ec693a3f3] 2023-09-18 14:27:47 -0400
Branch: REL_15_STABLE [95f54f0d0] 2023-09-18 14:27:47 -0400
Branch: REL_14_STABLE [9baabfa38] 2023-09-18 14:27:47 -0400
Branch: REL_13_STABLE [e6e50ada0] 2023-09-18 14:27:47 -0400
Branch: REL_12_STABLE [123337079] 2023-09-18 14:27:47 -0400
Branch: REL_11_STABLE [db00be6d7] 2023-09-18 14:27:47 -0400
-->
<para>
Don't crash if <function>cursor_to_xmlschema()</function> is applied
to a non-data-returning Portal (Boyu Yang)
</para>
</listitem>
<listitem>
<!--
Author: Noah Misch <noah@leadboat.com>
Branch: master [13503eb59] 2023-10-30 14:46:05 -0700
Branch: REL_16_STABLE [1a368dd3e] 2023-10-30 14:46:08 -0700
Branch: REL_15_STABLE [e633e9b13] 2023-10-30 14:46:08 -0700
Branch: REL_14_STABLE [0a7b183fd] 2023-10-30 14:46:09 -0700
Branch: REL_13_STABLE [123b0d111] 2023-10-30 14:46:09 -0700
Branch: REL_12_STABLE [975ae0553] 2023-10-30 14:46:09 -0700
Branch: REL_11_STABLE [bae063db4] 2023-10-30 14:46:09 -0700
-->
<para>
Handle invalid indexes more cleanly in assorted SQL functions
(Noah Misch)
</para>
<para>
Report an error if <function>pgstatindex()</function>,
<function>pgstatginindex()</function>,
<function>pgstathashindex()</function>,
or <function>pgstattuple()</function> is applied to an invalid
index. If <function>brin_desummarize_range()</function>,
<function>brin_summarize_new_values()</function>,
<function>brin_summarize_range()</function>,
or <function>gin_clean_pending_list()</function> is applied to an
invalid index, do nothing except to report a debug-level message.
Formerly these functions attempted to process the index, and might
fail in strange ways depending on what the failed <command>CREATE
INDEX</command> had left behind.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [cf1c65070] 2023-09-25 11:50:28 -0400
Branch: REL_16_STABLE [8465efc1a] 2023-09-25 11:50:28 -0400
Branch: REL_15_STABLE [71bb73f60] 2023-09-25 11:50:28 -0400
Branch: REL_14_STABLE [a2799f53d] 2023-09-25 11:50:28 -0400
Branch: REL_13_STABLE [52a676ef4] 2023-09-25 11:50:28 -0400
Branch: REL_12_STABLE [4a81ed29d] 2023-09-25 11:50:28 -0400
Branch: REL_11_STABLE [0fb91ed2b] 2023-09-25 11:50:28 -0400
-->
<para>
Avoid premature memory allocation failure with long inputs
to <function>to_tsvector()</function> (Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [5b7b38246] 2023-10-01 13:16:47 -0400
Branch: REL_16_STABLE [5c34a7374] 2023-10-01 13:16:59 -0400
Branch: REL_15_STABLE [55e188a15] 2023-10-01 13:17:06 -0400
Branch: REL_14_STABLE [cf12c4fd2] 2023-10-01 13:17:11 -0400
Branch: REL_13_STABLE [9da153846] 2023-10-01 13:17:15 -0400
Branch: REL_12_STABLE [2296bc362] 2023-10-01 13:17:20 -0400
Branch: REL_11_STABLE [7a310cae0] 2023-10-01 13:17:25 -0400
-->
<para>
Fix over-allocation of the constructed <type>tsvector</type>
in <function>tsvectorrecv()</function> (Denis Erokhin)
</para>
<para>
If the incoming vector includes position data, the binary receive
function left wasted space (roughly equal to the size of the
position data) in the finished <type>tsvector</type>. In extreme
cases this could lead to <quote>maximum total lexeme length
exceeded</quote> failures for vectors that were under the length
limit when emitted. In any case it could lead to wasted space
on-disk.
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
Branch: master [ae10dbb0c] 2023-09-04 14:55:37 +0900
Branch: REL_16_STABLE Release: REL_16_0 [fac3fa0d5] 2023-09-04 14:55:49 +0900
Branch: REL_15_STABLE [88aa4a049] 2023-09-04 14:55:51 +0900
Branch: REL_14_STABLE [df11421d8] 2023-09-04 14:55:53 +0900
Branch: REL_13_STABLE [82fa8ae5f] 2023-09-04 14:55:55 +0900
Branch: REL_12_STABLE [40ddb8db9] 2023-09-04 14:55:57 +0900
Branch: REL_11_STABLE [358cd2b25] 2023-09-04 14:55:58 +0900
-->
<para>
Fix incorrect coding in <function>gtsvector_picksplit()</function>
(Alexander Lakhin)
</para>
<para>
This could lead to poor page-split decisions in GiST indexes
on <type>tsvector</type> columns.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [54b208f90] 2023-10-16 14:06:14 -0400
Branch: REL_16_STABLE [57e6e861d] 2023-10-16 14:06:15 -0400
Branch: REL_15_STABLE [0d1a7cd14] 2023-10-16 14:06:15 -0400
Branch: REL_14_STABLE [f6e1ee3cf] 2023-10-16 14:06:11 -0400
Branch: REL_13_STABLE [1e678175c] 2023-10-16 14:06:11 -0400
Branch: REL_12_STABLE [07eb22a77] 2023-10-16 14:06:11 -0400
Branch: REL_11_STABLE [a295684b8] 2023-10-16 14:06:12 -0400
-->
<para>
Ensure we have a snapshot while dropping <literal>ON COMMIT
DROP</literal> temp tables (Tom Lane)
</para>
<para>
This prevents possible misbehavior if any catalog entries for the
temp tables have fields wide enough to require toasting (such as a
very complex <literal>CHECK</literal> condition).
</para>
</listitem>
<listitem>
<!--
Author: Nathan Bossart <nathan@postgresql.org>
Branch: master [97550c071] 2023-10-17 10:41:48 -0500
Branch: REL_16_STABLE [ee06199fc] 2023-10-17 10:41:58 -0500
Branch: REL_15_STABLE [c9265ae80] 2023-10-17 10:42:06 -0500
Branch: REL_14_STABLE [54fc9dca5] 2023-10-17 10:42:12 -0500
Branch: REL_13_STABLE [ac1dfc303] 2023-10-17 10:42:17 -0500
Branch: REL_12_STABLE [e2e169042] 2023-10-17 10:42:22 -0500
Branch: REL_11_STABLE [d0e7f95b4] 2023-10-17 10:42:28 -0500
Author: Nathan Bossart <nathan@postgresql.org>
Branch: REL_14_STABLE [555bc89c9] 2023-10-17 16:11:03 -0500
Branch: REL_13_STABLE [ebc093fa6] 2023-10-17 16:11:08 -0500
Branch: REL_12_STABLE [0e32652a7] 2023-10-17 16:11:13 -0500
Branch: REL_11_STABLE [bc322c73c] 2023-10-17 16:11:18 -0500
-->
<para>
Avoid improper response to shutdown signals in child processes
just forked by <function>system()</function> (Nathan Bossart)
</para>
<para>
This fix avoids a race condition in which a child process that has
been forked off by <function>system()</function>, but hasn't yet
exec'd the intended child program, might receive and act on a signal
intended for the parent server process. That would lead to
duplicate cleanup actions being performed, which will not end well.
</para>
</listitem>
<listitem>
<!--
Author: Thomas Munro <tmunro@postgresql.org>
Branch: master [c558e6fd9] 2023-10-16 10:43:47 +1300
Branch: REL_16_STABLE [2371432cd] 2023-10-16 10:45:05 +1300
Branch: REL_15_STABLE [606be8a35] 2023-10-16 10:45:18 +1300
Branch: REL_14_STABLE [a56fe5cf0] 2023-10-16 10:47:01 +1300
Branch: REL_13_STABLE [ae9da357b] 2023-10-16 10:47:10 +1300
Branch: REL_12_STABLE [637e86ecc] 2023-10-16 10:47:33 +1300
Branch: REL_11_STABLE [f1634c968] 2023-10-16 10:52:40 +1300
-->
<para>
Avoid torn reads of <filename>pg_control</filename> in relevant SQL
functions (Thomas Munro)
</para>
<para>
Acquire the appropriate lock before
reading <filename>pg_control</filename>, to ensure we get a
consistent view of that file.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [dc8d72c1c] 2023-09-25 14:42:17 -0400
Branch: REL_16_STABLE [055f786ea] 2023-09-25 14:42:17 -0400
Branch: REL_15_STABLE [0e59266a5] 2023-09-25 14:41:57 -0400
Branch: REL_14_STABLE [5cff431bc] 2023-09-25 14:41:57 -0400
Branch: REL_13_STABLE [8cfc3e80b] 2023-09-25 14:41:57 -0400
Branch: REL_12_STABLE [4435a8d5d] 2023-09-25 14:41:57 -0400
Branch: REL_11_STABLE [fdc7cf73b] 2023-09-25 14:41:57 -0400
-->
<para>
Track the dependencies of cached <command>CALL</command> statements,
and re-plan them when needed (Tom Lane)
</para>
<para>
DDL commands, such as replacement of a function that has been
inlined into a <command>CALL</command> argument, can create the need
to re-plan a <command>CALL</command> that has been cached by
PL/pgSQL. That was not happening, leading to misbehavior or strange
errors such as <quote>cache lookup failed</quote>.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [e0e492e5a] 2023-09-15 17:01:52 -0400
Branch: REL_16_STABLE [53630f12d] 2023-09-15 17:01:26 -0400
Branch: REL_15_STABLE [2679a107a] 2023-09-15 17:01:26 -0400
Branch: REL_14_STABLE [ae13f8166] 2023-09-15 17:01:26 -0400
Branch: REL_13_STABLE [c5b7f791d] 2023-09-15 17:01:26 -0400
Branch: REL_12_STABLE [d29812c0c] 2023-09-15 17:01:26 -0400
Branch: REL_11_STABLE [a374f6c61] 2023-09-15 17:01:26 -0400
-->
<para>
Track nesting depth correctly when
inspecting <type>RECORD</type>-type Vars from outer query levels
(Richard Guo)
</para>
<para>
This oversight could lead to assertion failures, core dumps,
or <quote>bogus varno</quote> errors.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: REL_13_STABLE [59bc0dfe4] 2023-09-15 16:39:27 -0400
Branch: REL_12_STABLE [8a15b4178] 2023-09-15 16:39:27 -0400
Branch: REL_11_STABLE [479b99125] 2023-09-15 16:39:27 -0400
-->
<para>
Avoid <quote>record type has not been registered</quote> failure
when deparsing a view that contains references to fields of
composite constants (Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: REL_12_STABLE [2f02d4a2b] 2023-09-15 16:20:08 -0400
Branch: REL_11_STABLE [ece1154f4] 2023-09-15 16:20:08 -0400
-->
<para>
Allow extracting fields from
a <type>RECORD</type>-type <literal>ROW()</literal> expression
(Tom Lane)
</para>
<para>
SQL code that knows that we name such
fields <literal>f1</literal>, <literal>f2</literal>, etc can use
those names to extract fields from the expression. This change was
originally made in version 13, and is now being back-patched into
older branches to support tests for a related bug.
</para>
</listitem>
<listitem>
<!--
Author: Thomas Munro <tmunro@postgresql.org>
Branch: master [3acd0599b] 2023-09-13 14:58:22 +1200
Branch: REL_16_STABLE [f899c7f1e] 2023-09-13 15:06:07 +1200
Branch: REL_15_STABLE [a26cc0334] 2023-09-13 14:43:04 +1200
Branch: REL_14_STABLE [e2452c2a6] 2023-09-13 14:46:16 +1200
Branch: REL_13_STABLE [189097db8] 2023-09-13 14:48:00 +1200
Branch: REL_12_STABLE [012b80ad2] 2023-09-13 14:50:14 +1200
Branch: REL_11_STABLE [6ae57f190] 2023-09-13 14:52:34 +1200
-->
<para>
Fix error-handling bug in <type>RECORD</type> type cache management
(Thomas Munro)
</para>
<para>
An out-of-memory error occurring at just the wrong point could leave
behind inconsistent state that would lead to an infinite loop.
</para>
</listitem>
<listitem>
<!--
Author: Amit Kapila <akapila@postgresql.org>
Branch: REL_15_STABLE [c7256e656] 2023-09-12 10:23:17 +0530
Branch: REL_14_STABLE [f7d25117b] 2023-09-12 10:12:51 +0530
Branch: REL_13_STABLE [c570bb4d6] 2023-09-12 09:58:50 +0530
Branch: REL_12_STABLE [7e57208ed] 2023-09-12 09:44:37 +0530
Branch: REL_11_STABLE [feb4e218e] 2023-09-12 09:36:56 +0530
-->
<para>
Fix assertion failure when logical decoding is retried in the same
session after an error (Hou Zhijie)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [d8b2fcc9d] 2023-08-24 12:02:46 -0400
Branch: REL_16_STABLE Release: REL_16_0 [ba0d737ca] 2023-08-24 12:02:40 -0400
Branch: REL_15_STABLE [870085135] 2023-08-24 12:02:40 -0400
Branch: REL_14_STABLE [9b2a41db1] 2023-08-24 12:02:40 -0400
Branch: REL_13_STABLE [27566bcf3] 2023-08-24 12:02:40 -0400
Branch: REL_12_STABLE [b808dbf90] 2023-08-24 12:02:40 -0400
Branch: REL_11_STABLE [9c59f3862] 2023-08-24 12:02:40 -0400
-->
<para>
Avoid doing plan cache revalidation of utility statements
that do not receive interesting processing during parse analysis
(Tom Lane)
</para>
<para>
Aside from saving a few cycles, this prevents failure after a cache
invalidation for statements that must not set a snapshot, such
as <command>SET TRANSACTION ISOLATION LEVEL</command>.
</para>
</listitem>
<listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
Branch: master [a68458108] 2023-08-22 15:17:05 -0400
Branch: REL_16_STABLE Release: REL_16_0 [f938acd68] 2023-08-22 15:18:19 -0400
Branch: REL_15_STABLE [75f323aa1] 2023-08-22 15:16:01 -0400
Branch: REL_14_STABLE [7f4515a58] 2023-08-22 15:15:45 -0400
Branch: REL_13_STABLE [1bb619d4d] 2023-08-22 15:15:31 -0400
Branch: REL_12_STABLE [01993ac74] 2023-08-22 15:15:18 -0400
Branch: REL_11_STABLE [2d13dab04] 2023-08-23 17:22:16 -0400
Branch: REL_11_STABLE [b915bf495] 2023-08-24 16:14:26 -0400
-->
<para>
Keep by-reference <structfield>attmissingval</structfield> values in
a long-lived context while they are being used (Andrew Dunstan)
</para>
<para>
This avoids possible use of dangling pointers when a tuple slot
outlives the tuple descriptor with which its value was constructed.
</para>
</listitem>
<listitem>
<!--
Author: Jeff Davis <jdavis@postgresql.org>
Branch: master [fa2e87494] 2023-08-09 13:09:25 -0700
Branch: REL_16_STABLE Release: REL_16_0 [0d56c32c8] 2023-08-09 13:09:01 -0700
Branch: REL_15_STABLE [9f3343e40] 2023-08-07 15:12:49 -0700
Branch: REL_14_STABLE [00953f1e2] 2023-08-07 15:12:33 -0700
Branch: REL_13_STABLE [90cadfd49] 2023-08-07 15:12:09 -0700
Branch: REL_12_STABLE [a86d40227] 2023-08-07 15:11:18 -0700
Branch: REL_11_STABLE [43ba5105a] 2023-08-07 15:09:11 -0700
Branch: master [bee263b08] 2023-08-10 10:20:54 -0700
Branch: REL_16_STABLE Release: REL_16_0 [7bed93a46] 2023-08-10 10:24:58 -0700
Branch: REL_15_STABLE [1bc19dfcf] 2023-08-10 10:25:47 -0700
Branch: REL_14_STABLE [5a32af3f2] 2023-08-10 10:26:12 -0700
Branch: REL_13_STABLE [4caa9e33e] 2023-08-10 10:26:46 -0700
Branch: REL_12_STABLE [01bc42634] 2023-08-10 10:27:00 -0700
Branch: REL_11_STABLE [ae1269295] 2023-08-10 10:27:24 -0700
-->
<para>
Recalculate the effective value of <varname>search_path</varname>
after <command>ALTER ROLE</command> (Jeff Davis)
</para>
<para>
This ensures that after renaming a role, the meaning of the special
string <literal>$user</literal> is re-determined.
</para>
</listitem>
<listitem>
<!--
Author: Jeff Davis <jdavis@postgresql.org>
Branch: master [ef74c7197] 2023-10-10 11:01:13 -0700
Branch: REL_16_STABLE [b8963e8a2] 2023-10-10 11:01:55 -0700
Branch: REL_15_STABLE [b9bb02620] 2023-10-10 11:02:45 -0700
Branch: REL_14_STABLE [6615bb95a] 2023-10-10 11:02:56 -0700
Branch: REL_13_STABLE [469d367be] 2023-10-10 11:03:03 -0700
Branch: REL_12_STABLE [6dbd01b9f] 2023-10-10 11:03:10 -0700
Branch: REL_11_STABLE [04f0baa85] 2023-10-10 11:03:20 -0700
-->
<para>
Fix order of operations in <function>GenericXLogFinish</function>
(Jeff Davis)
</para>
<para>
This code violated the conditions required for crash safety by
writing WAL before marking changed buffers dirty. No core code uses
this function, but extensions do (<filename>contrib/bloom</filename>
does, for example).
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
Branch: master [af5b3c3d1] 2023-09-19 08:31:06 +0900
Branch: REL_16_STABLE [f171430f0] 2023-09-19 08:31:22 +0900
Branch: REL_15_STABLE [9e0ce80f3] 2023-09-19 08:31:24 +0900
Branch: REL_14_STABLE [bb65f3c1b] 2023-09-19 08:31:26 +0900
Branch: REL_13_STABLE [35e8ba3e5] 2023-09-19 08:31:27 +0900
Branch: REL_12_STABLE [99d27e55c] 2023-09-19 08:31:29 +0900
Branch: REL_11_STABLE [ddded779a] 2023-09-19 08:31:31 +0900
-->
<para>
Remove incorrect assertion in PL/Python exception handling
(Alexander Lakhin)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [06c0c3688] 2023-10-02 13:27:58 -0400
Branch: REL_16_STABLE [aaaf8fbb6] 2023-10-02 13:27:51 -0400
Branch: REL_15_STABLE [10e705bd2] 2023-10-02 13:27:51 -0400
Branch: REL_14_STABLE [829d91cc6] 2023-10-02 13:27:51 -0400
Branch: REL_13_STABLE [295953f8b] 2023-10-02 13:27:51 -0400
Branch: REL_12_STABLE [c02f29758] 2023-10-02 13:27:51 -0400
Branch: REL_11_STABLE [4f16152d9] 2023-10-02 13:27:51 -0400
-->
<para>
Fix <application>pg_restore</application> so that selective restores
will include both table-level and column-level ACLs for selected
tables (Euler Taveira, Tom Lane)
</para>
<para>
Formerly, only the table-level ACL would get restored if both types
were present.
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
Branch: master [e1c6db630] 2023-09-07 14:12:18 +0900
Branch: REL_16_STABLE Release: REL_16_0 [105795843] 2023-09-07 14:12:25 +0900
Branch: REL_15_STABLE [574bff7bd] 2023-09-07 14:12:29 +0900
Branch: REL_14_STABLE [9de74ca70] 2023-09-07 14:12:31 +0900
Branch: REL_13_STABLE [6cdd7b805] 2023-09-07 14:12:33 +0900
Branch: REL_12_STABLE [2fe968ce9] 2023-09-07 14:12:34 +0900
Branch: REL_11_STABLE [dbd1a06c9] 2023-09-07 14:12:36 +0900
-->
<para>
Avoid generating invalid temporary slot names
in <application>pg_basebackup</application> (Jelte Fennema)
</para>
<para>
This has only been seen to occur when the server connection runs
through <application>pgbouncer</application>.
</para>
</listitem>
<listitem>
<!--
Author: Noah Misch <noah@leadboat.com>
Branch: master [6ec9e9975] 2023-10-30 14:46:05 -0700
Branch: REL_16_STABLE [3c6a05b80] 2023-10-30 14:46:08 -0700
Branch: REL_15_STABLE [6f81386a9] 2023-10-30 14:46:08 -0700
Branch: REL_14_STABLE [42496cba6] 2023-10-30 14:46:09 -0700
Branch: REL_13_STABLE [f31ccb575] 2023-10-30 14:46:09 -0700
Branch: REL_12_STABLE [3a205c916] 2023-10-30 14:46:09 -0700
Branch: REL_11_STABLE [e04509f32] 2023-10-30 14:46:09 -0700
-->
<para>
In <filename>contrib/amcheck</filename>, do not report interrupted
page deletion as corruption (Noah Misch)
</para>
<para>
This fix prevents false-positive reports of <quote>the first child
of leftmost target page is not leftmost of its
level</quote>, <quote>block NNNN is not leftmost</quote>
or <quote>left link/right link pair in index XXXX not in
agreement</quote>. They appeared
if <application>amcheck</application> ran after an unfinished btree
index page deletion and before <command>VACUUM</command> had cleaned
things up.
</para>
</listitem>
<listitem>
<!--
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
Branch: master [849172ff4] 2023-10-29 11:14:37 +0000
Branch: REL_16_STABLE [ab73a37e9] 2023-10-29 11:14:36 +0000
Branch: REL_15_STABLE [5f0691839] 2023-10-29 11:14:35 +0000
Branch: REL_14_STABLE [162b38a06] 2023-10-29 11:14:34 +0000
Branch: REL_13_STABLE [35e6a5c20] 2023-10-29 11:14:34 +0000
Branch: REL_12_STABLE [f7cd7b265] 2023-10-29 11:14:33 +0000
Branch: REL_11_STABLE [c804ffb56] 2023-10-29 11:14:32 +0000
-->
<para>
Fix failure of <filename>contrib/btree_gin</filename> indexes
on <type>interval</type> columns,
when an indexscan using the <literal>&lt;</literal>
or <literal>&lt;=</literal> operator is performed (Dean Rasheed)
</para>
<para>
Such an indexscan failed to return all the entries it should.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [06843df4a] 2023-09-29 14:07:30 -0400
Branch: REL_16_STABLE [75c562653] 2023-09-29 14:07:30 -0400
Branch: REL_15_STABLE [be3398ea1] 2023-09-29 14:07:30 -0400
Branch: REL_14_STABLE [e9d1560d3] 2023-09-29 14:07:30 -0400
Branch: REL_13_STABLE [1b64e374c] 2023-09-29 14:07:30 -0400
Branch: REL_12_STABLE [d8ceb98e4] 2023-09-29 14:07:30 -0400
Branch: REL_11_STABLE [4d10fda52] 2023-09-29 14:07:30 -0400
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [3aa021b29] 2023-09-26 21:06:21 -0400
Branch: REL_16_STABLE [e73d6a0df] 2023-09-26 21:06:21 -0400
Branch: REL_15_STABLE [78f17fb97] 2023-09-26 21:06:21 -0400
Branch: REL_14_STABLE [5d60e8ed3] 2023-09-26 21:06:21 -0400
Branch: REL_13_STABLE [53cc19bfa] 2023-09-26 21:06:21 -0400
Branch: REL_12_STABLE [abe423712] 2023-09-26 21:06:21 -0400
Branch: REL_11_STABLE [0e0de20c8] 2023-09-26 21:06:21 -0400
-->
<para>
Suppress assorted build-time warnings on
recent <productname>macOS</productname> (Tom Lane)
</para>
<para>
<productname>Xcode 15</productname> (released
with <productname>macOS Sonoma</productname>) changed the linker's
behavior in a way that causes many duplicate-library warnings while
building <productname>PostgreSQL</productname>. These were
harmless, but they're annoying so avoid citing the same libraries
twice. Also remove use of the <option>-multiply_defined
suppress</option> linker switch, which apparently has been a no-op
for a long time, and is now actively complained of.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [5fd3e06f6] 2023-10-28 11:54:40 -0400
Branch: REL_16_STABLE [d1537afe3] 2023-10-28 11:54:51 -0400
Branch: REL_15_STABLE [85b98a70b] 2023-10-28 11:54:59 -0400
Branch: REL_14_STABLE [877e7b4b9] 2023-10-28 11:55:06 -0400
Branch: REL_13_STABLE [d94612873] 2023-10-28 11:55:14 -0400
Branch: REL_12_STABLE [7180bb827] 2023-10-28 11:55:22 -0400
Branch: REL_11_STABLE [64fc5e005] 2023-10-28 11:55:30 -0400
-->
<para>
Remove <literal>PHOT</literal> (Phoenix Islands Time) from the
default timezone abbreviations list (Tom Lane)
</para>
<para>
Presence of this abbreviation in the default list can cause failures
on recent Debian and Ubuntu releases, as they no longer install the
underlying tzdb entry by default. Since this is a made-up
abbreviation for a zone with a total human population of about two
dozen, it seems unlikely that anyone will miss it. If someone does,
they can put it back via a custom abbreviations file.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-11-21">
<title>Release 11.21</title>