From a8b766a916e43a08eddb6514df9a3585576e398e Mon Sep 17 00:00:00 2001
From: Tom Lane
Date: Sun, 5 Nov 2023 13:14:07 -0500
Subject: Release notes for 16.1, 15.5, 14.10, 13.13, 12.17, 11.22.
---
doc/src/sgml/release-11.sgml | 701 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 701 insertions(+)
diff --git a/doc/src/sgml/release-11.sgml b/doc/src/sgml/release-11.sgml
index 8a35fbe2bff..86c73bedc57 100644
--- a/doc/src/sgml/release-11.sgml
+++ b/doc/src/sgml/release-11.sgml
@@ -1,6 +1,707 @@
+
+ Release 11.22
+
+
+ Release date:
+ 2023-11-09
+
+
+
+ This release contains a variety of fixes from 11.21.
+ For information about new features in major release 11, see
+ .
+
+
+
+ This is expected to be the last PostgreSQL
+ release in the 11.X series. Users are encouraged to update to a newer
+ release branch soon.
+
+
+
+ Migration to Version 11.22
+
+
+ A dump/restore is not required for those running 11.X.
+
+
+
+ However, if you are upgrading from a version earlier than 11.21,
+ see .
+
+
+
+
+ Changes
+
+
+
+
+
+
+ Fix partition step generation and runtime partition pruning for
+ hash-partitioned tables with multiple partition keys (David Rowley)
+
+
+
+ Some cases involving an IS NULL condition on one
+ of the partition keys could result in a crash.
+
+
+
+
+
+
+ Fix edge case in btree mark/restore processing of ScalarArrayOpExpr
+ clauses (Peter Geoghegan)
+
+
+
+ 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 indexcol = ANY(ARRAY[])) clause. This could
+ result in missing some rows that should have been fetched.
+
+
+
+
+
+
+ Fix intra-query memory leak when a set-returning function repeatedly
+ returns zero rows (Tom Lane)
+
+
+
+
+
+
+ Don't crash if cursor_to_xmlschema() is applied
+ to a non-data-returning Portal (Boyu Yang)
+
+
+
+
+
+
+ Handle invalid indexes more cleanly in assorted SQL functions
+ (Noah Misch)
+
+
+
+ Report an error if pgstatindex(),
+ pgstatginindex(),
+ pgstathashindex(),
+ or pgstattuple() is applied to an invalid
+ index. If brin_desummarize_range(),
+ brin_summarize_new_values(),
+ brin_summarize_range(),
+ or gin_clean_pending_list() 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 CREATE
+ INDEX had left behind.
+
+
+
+
+
+
+ Avoid premature memory allocation failure with long inputs
+ to to_tsvector() (Tom Lane)
+
+
+
+
+
+
+ Fix over-allocation of the constructed tsvector
+ in tsvectorrecv() (Denis Erokhin)
+
+
+
+ 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 tsvector. In extreme
+ cases this could lead to maximum total lexeme length
+ exceeded failures for vectors that were under the length
+ limit when emitted. In any case it could lead to wasted space
+ on-disk.
+
+
+
+
+
+
+ Fix incorrect coding in gtsvector_picksplit()
+ (Alexander Lakhin)
+
+
+
+ This could lead to poor page-split decisions in GiST indexes
+ on tsvector columns.
+
+
+
+
+
+
+ Ensure we have a snapshot while dropping ON COMMIT
+ DROP temp tables (Tom Lane)
+
+
+
+ This prevents possible misbehavior if any catalog entries for the
+ temp tables have fields wide enough to require toasting (such as a
+ very complex CHECK condition).
+
+
+
+
+
+
+ Avoid improper response to shutdown signals in child processes
+ just forked by system() (Nathan Bossart)
+
+
+
+ This fix avoids a race condition in which a child process that has
+ been forked off by system(), 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.
+
+
+
+
+
+
+ Avoid torn reads of pg_control in relevant SQL
+ functions (Thomas Munro)
+
+
+
+ Acquire the appropriate lock before
+ reading pg_control, to ensure we get a
+ consistent view of that file.
+
+
+
+
+
+
+ Track the dependencies of cached CALL statements,
+ and re-plan them when needed (Tom Lane)
+
+
+
+ DDL commands, such as replacement of a function that has been
+ inlined into a CALL argument, can create the need
+ to re-plan a CALL that has been cached by
+ PL/pgSQL. That was not happening, leading to misbehavior or strange
+ errors such as cache lookup failed.
+
+
+
+
+
+
+ Track nesting depth correctly when
+ inspecting RECORD-type Vars from outer query levels
+ (Richard Guo)
+
+
+
+ This oversight could lead to assertion failures, core dumps,
+ or bogus varno errors.
+
+
+
+
+
+
+ Avoid record type has not been registered failure
+ when deparsing a view that contains references to fields of
+ composite constants (Tom Lane)
+
+
+
+
+
+
+ Allow extracting fields from
+ a RECORD-type ROW() expression
+ (Tom Lane)
+
+
+
+ SQL code that knows that we name such
+ fields f1, f2, 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.
+
+
+
+
+
+
+ Fix error-handling bug in RECORD type cache management
+ (Thomas Munro)
+
+
+
+ An out-of-memory error occurring at just the wrong point could leave
+ behind inconsistent state that would lead to an infinite loop.
+
+
+
+
+
+
+ Fix assertion failure when logical decoding is retried in the same
+ session after an error (Hou Zhijie)
+
+
+
+
+
+
+ Avoid doing plan cache revalidation of utility statements
+ that do not receive interesting processing during parse analysis
+ (Tom Lane)
+
+
+
+ Aside from saving a few cycles, this prevents failure after a cache
+ invalidation for statements that must not set a snapshot, such
+ as SET TRANSACTION ISOLATION LEVEL.
+
+
+
+
+
+
+ Keep by-reference attmissingval values in
+ a long-lived context while they are being used (Andrew Dunstan)
+
+
+
+ This avoids possible use of dangling pointers when a tuple slot
+ outlives the tuple descriptor with which its value was constructed.
+
+
+
+
+
+
+ Recalculate the effective value of search_path
+ after ALTER ROLE (Jeff Davis)
+
+
+
+ This ensures that after renaming a role, the meaning of the special
+ string $user is re-determined.
+
+
+
+
+
+
+ Fix order of operations in GenericXLogFinish
+ (Jeff Davis)
+
+
+
+ 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 (contrib/bloom
+ does, for example).
+
+
+
+
+
+
+ Remove incorrect assertion in PL/Python exception handling
+ (Alexander Lakhin)
+
+
+
+
+
+
+ Fix pg_restore so that selective restores
+ will include both table-level and column-level ACLs for selected
+ tables (Euler Taveira, Tom Lane)
+
+
+
+ Formerly, only the table-level ACL would get restored if both types
+ were present.
+
+
+
+
+
+
+ Avoid generating invalid temporary slot names
+ in pg_basebackup (Jelte Fennema)
+
+
+
+ This has only been seen to occur when the server connection runs
+ through pgbouncer.
+
+
+
+
+
+
+ In contrib/amcheck, do not report interrupted
+ page deletion as corruption (Noah Misch)
+
+
+
+ This fix prevents false-positive reports of the first child
+ of leftmost target page is not leftmost of its
+ level, block NNNN is not leftmost
+ or left link/right link pair in index XXXX not in
+ agreement. They appeared
+ if amcheck ran after an unfinished btree
+ index page deletion and before VACUUM had cleaned
+ things up.
+
+
+
+
+
+
+ Fix failure of contrib/btree_gin indexes
+ on interval columns,
+ when an indexscan using the <
+ or <= operator is performed (Dean Rasheed)
+
+
+
+ Such an indexscan failed to return all the entries it should.
+
+
+
+
+
+
+ Suppress assorted build-time warnings on
+ recent macOS (Tom Lane)
+
+
+
+ Xcode 15 (released
+ with macOS Sonoma) changed the linker's
+ behavior in a way that causes many duplicate-library warnings while
+ building PostgreSQL. These were
+ harmless, but they're annoying so avoid citing the same libraries
+ twice. Also remove use of the linker switch, which apparently has been a no-op
+ for a long time, and is now actively complained of.
+
+
+
+
+
+
+ Remove PHOT (Phoenix Islands Time) from the
+ default timezone abbreviations list (Tom Lane)
+
+
+
+ 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.
+
+
+
+
+
+
+
+
Release 11.21
--
cgit v1.2.3