diff --git a/doc/src/sgml/release-14.sgml b/doc/src/sgml/release-14.sgml
index 0b5ed12817..e2a70b5f83 100644
--- a/doc/src/sgml/release-14.sgml
+++ b/doc/src/sgml/release-14.sgml
@@ -177,48 +177,6 @@ Branch: REL9_6_STABLE [e428699cb] 2021-10-23 18:36:43 -0700
-
- Fix float4 and float8 hash functions to
- produce uniform results for NaNs (Tom Lane)
-
-
-
- Since PostgreSQL's floating-point types
- deem all NaNs to be equal, it's important for the hash functions to
- produce the same hash code for all bit-patterns that are NaNs
- according to the IEEE 754 standard. This failed to happen before,
- meaning that hash indexes and hash-based query plans might produce
- incorrect results for non-canonical NaN values.
- ('-NaN'::float8 is one way to produce such a
- value on most machines.) It is advisable to reindex hash indexes
- on floating-point columns, if there is any possibility that they
- might contain such values.
-
-
-
-
-
-
- Prevent data loss during crash recovery of CREATE
- TABLESPACE, when wal_level
- = minimal (Noah Misch)
-
-
-
- If the server crashed between CREATE TABLESPACE
- and the next checkpoint, replay would fully remove the contents of
- the new tablespace's directory, relying on subsequent WAL replay
- to restore everything within that directory. This interacts badly
- with optimizations that skip writing WAL (one example
- is COPY into a just-created table). Such
- optimizations are applied only when wal_level
- is minimal, which is not the default in v10 and
- later.
-
-
-
-
-
-
- Ensure that the relation cache is invalidated for all partitions
- of a partitioned table that is being added to or removed from a
- publication (Hou Zhijie, Vignesh C)
-
-
-
- This oversight could lead to improper replication behavior until all
- currently-existing sessions have exited.
-
-
-
-
-
-
- Ensure that the relation cache is invalidated when creating or
- dropping a FOR ALL TABLES publication
- (Hou Zhijie, Vignesh C)
-
-
-
- This oversight could lead to improper replication behavior until all
- currently-existing sessions have exited.
-
-
-
-
-
-
- Don't discard a cast to the same type with unspecified type modifier
- (Tom Lane)
-
-
-
- For example, if column f1 is of
- type numeric(18,3), the parser used to simply
- discard a cast like f1::numeric, on the grounds
- that it would have no run-time effect. That's true, but the exposed
- type of the expression should still be considered to be
- plain numeric,
- not numeric(18,3). This is important for
- correctly resolving the type of larger constructs, such
- as recursive UNIONs.
-
-
-
-
-
-
- Disallow creating an ICU collation if the current database's
- encoding won't support it (Tom Lane)
-
-
-
- Previously this was allowed, but then the collation could not be
- referenced because of the way collation lookup works; you could not
- use the collation, nor even drop it.
-
-
-
-
-
-
- Avoid regular expression errors with capturing parentheses
- inside {0} (Tom Lane)
-
-
-
- Regular expressions like (.){0}...\1 drew
- invalid backreference number
. Other regexp engines
- such as Perl don't complain, though, and for that matter ours
- doesn't either in some closely related cases. Worse, it could throw
- an assertion failure instead. Fix it so that no error is thrown and
- instead the back-reference is silently deemed to never match.
-
-
-
-
-
-
- Prevent regular expression back-references from sometimes matching
- when they shouldn't (Tom Lane)
-
-
-
- The regexp engine was careless about clearing match data
- for capturing parentheses after rejecting a partial match. This
- could allow a later back-reference to match in places where it
- should fail for lack of a defined referent.
-
-
-
-
-
-
- Fix regular expression performance bug with back-references inside
- iteration nodes (Tom Lane)
-
-
-
- Incorrect back-tracking logic could result in exponential time spent
- looking for a match. Fortunately the problem is masked in most
- cases by other optimizations.
-
-
-
-
-
-
- Fix incorrect results from AT TIME ZONE applied
- to a time with time zone value (Tom Lane)
-
-
-
- The results were incorrect if the target time zone was specified by
- a dynamic timezone abbreviation (that is, one that is defined as
- equivalent to a full time zone name, rather than a fixed UTC offset).
-
-
-
-
-
-
- Fix mistranslation of PlaceHolderVars to inheritance child relations
- (Tom Lane)
-
-
-
- This error could result in assertion failures, or in mis-planning of
- queries having partitioned or inherited tables on the nullable side
- of an outer join.
-
-
-
-
-
+
+ Prevent wraparound of overflowed-subtransaction tracking on standby
+ servers (Kyotaro Horiguchi, Alexander Korotkov)
+
+
+
+ This oversight could cause significant performance degradation
+ (manifesting as excessive SubtransSLRU traffic) on standby servers.
+
+
+
+
+
-
- Disallow LISTEN in background workers (Tom Lane)
-
-
-
- There's no infrastructure to support this, so if someone did
- it, it would only result in preventing cleanup of
- the NOTIFY queue.
-
-
-
-
-
-
- Send NOTIFY signals to other backends during
- transaction commit, not in the server's idle loop (Artur Zakirov,
- Tom Lane)
-
-
-
- This change allows notifications to be delivered immediately after
- an intra-procedure COMMIT. It also allows
- logical replication workers to send notifications.
-
-
-
-
-
@@ -786,261 +491,6 @@ Branch: REL_14_STABLE [2c25db32e] 2021-10-11 11:56:52 -0400
-
- Refuse to rewind a cursor marked NO SCROLL
- if it has been held over from a previous transaction due
- to the WITH HOLD option (Tom Lane)
-
-
-
- We have long forbidden fetching backwards from a NO
- SCROLL cursor, but for historical reasons the prohibition
- didn't extend to cases in which we rewind the query altogether and
- then re-fetch forwards. That exception leads to inconsistencies,
- particularly for held-over cursors which may not have stored all the
- data necessary to rewind. Disallow rewinding for non-scrollable
- held-over cursors to block the worst inconsistencies. (v15 will
- remove the exception altogether.)
-
-
-
-
-
-
- Fix possible failure while saving a WITH HOLD
- cursor at transaction end, if it had already been read to completion
- (Tom Lane)
-
-
-
-
-
-
- Fix detection of a relation that has grown to the maximum allowed
- length (Tom Lane)
-
-
-
- An attempt to extend a table or index past the limit of 2^32-1
- blocks was rejected, but not soon enough to prevent inconsistent
- internal state from being created.
-
-
-
-
-
-
- Correctly track the presence of data-modifying CTEs when expanding
- a DO INSTEAD rule (Greg Nancarrow, Tom Lane)
-
-
-
- The previous failure to do this could lead to problems such as
- unsafely choosing a parallel plan.
-
-
-
-
-
-
- Fix incorrect reporting of permissions failures on extended
- statistics objects (Tomas Vondra)
-
-
-
- The code typically produced cache lookup error
rather
- than the intended message.
-
-
-
-
-
-
- Fix incorrect snapshot handling in parallel workers (Greg Nancarrow)
-
-
-
- This oversight could lead to misbehavior in parallel queries if the
- transaction isolation level is less than REPEATABLE
- READ.
-
-
-
-
-
-
- Fix logical decoding to correctly ignore toast-table changes for
- transient tables (Bertrand Drouvot)
-
-
-
- Logical decoding normally ignores changes in transient tables such
- as those created during an ALTER TABLE heap
- rewrite. But that filtering wasn't applied to the associated toast
- table if any, leading to possible errors when rewriting a table
- that's being published.
-
-
-
-
-
-
- Fix logical decoding's memory usage accounting to handle TOAST data
- correctly (Bertrand Drouvot)
-
-
-
-
-
-
- Ensure that walreceiver processes create all required archive
- notification files before exiting (Fujii Masao)
-
-
-
- If a walreceiver exited exactly at a WAL segment boundary, it failed
- to make a notification file for the last-received segment, thus
- delaying archiving of that segment on the standby.
-
-
-
-
-
-
- Fix computation of the WAL range to include in a backup manifest
- when a timeline change is involved (Kyotaro Horiguchi)
-
-
-
-
-
-
- Avoid trying to lock the OLD
- and NEW pseudo-relations in a rule
- that uses SELECT FOR UPDATE
- (Masahiko Sawada, Tom Lane)
-
-
-
-
-
-
- Fix parser's processing of aggregate FILTER
- clauses (Tom Lane)
-
-
-
- If the FILTER expression is a plain boolean column,
- the semantic level of the aggregate could be mis-determined, leading
- to not-per-spec behavior. If the FILTER
- expression is itself a boolean-returning aggregate, an error should
- be thrown but was not, likely resulting in a crash at execution.
-
-
-
-
-
-
- Prevent ALTER TYPE/DOMAIN/OPERATOR ... SET
- from changing extension membership (Tom Lane)
-
-
-
- ALTER ... SET executed by an extension script
- would cause the target object to become a member of the extension if
- it was not already. In itself this isn't too troubling, since
- there's little reason for an extension script to touch an object not
- belonging to the extension. But ALTER TYPE SET
- will recurse to dependent domains, thus causing them to also become
- extension members. This causes unwanted side-effects from
- extension upgrade scripts that use that command to adjust the
- properties of a base type belonging to the extension. Fix by
- redefining these ALTER cases to never change
- extension membership.
-
-
-
-
-
-
- Avoid trying to clean up LLVM state after an error within LLVM
- (Andres Freund, Justin Pryzby)
-
-
-
- This prevents a likely crash during backend exit after a fatal LLVM
- error.
-
-
-
-
-
-
- Ensure that scans of SP-GiST indexes are counted in the statistics
- views (Tom Lane)
-
-
-
- Incrementing the number-of-index-scans counter was overlooked in the
- SP-GiST code, although per-tuple counters were advanced correctly.
-
-
-
-
-
-
- Recalculate relevant wait intervals
- if recovery_min_apply_delay is changed during
- recovery (Soumyadeep Chakraborty, Ashwin Agrawal)
-
-
-
-
-
-
- Fix infinite loop if a simplehash.h hash table
- reaches 2^32 elements (Yura Sokolov)
-
-
-
- It seems unlikely that this bug has been hit in practice, as it
- would require work_mem settings of hundreds of
- gigabytes for existing uses of simplehash.h.
-
-
-
-
-
-
- Reduce memory consumption during calculation of extended statistics
- (Justin Pryzby, Tomas Vondra)
-
-
-
-
-
-
- Fix missing libpq functions on AIX
- (Tony Reix)
-
-
-
- Code reorganization led to the following documented functions not
- being exported from libpq on AIX:
- pg_encoding_to_char(),
- pg_utf_mblen(),
- pg_char_to_encoding(),
- pg_valid_server_encoding(), and
- pg_valid_server_encoding_id().
- Restore them to visibility.
-
-
-
-
-
-
- Fix ecpg to recover correctly
- after malloc() failure while establishing a
- connection (Michael Paquier)
-
-
-
-
-
-
- Fix misevaluation of stable functions called in the arguments of a
- PL/pgSQL CALL statement (Tom Lane)
-
-
-
- They were being called with an out-of-date snapshot, so that they
- would not see any database changes made since the start of the
- session's top-level command.
-
-
-
-
-
-
- Allow EXIT out of the outermost block in a
- PL/pgSQL routine (Tom Lane)
-
-
-
- If the routine does not require an explicit RETURN,
- this usage should be valid, but it was rejected.
-
-
-
-
-
-
- Remove pg_ctl's hard-coded limits on the
- total length of generated commands (Phil Krylov)
-
-
-
- For example, this removes a restriction on how many command-line
- options can be passed through to the postmaster. Individual path
- names that pg_ctl deals with, such as the
- postmaster executable's name or the data directory name, are still
- limited to MAXPGPATH bytes in most cases.
-
-
-
-
-
-
- Improve pg_dump's performance by avoiding
- making per-table queries for RLS policies, and by avoiding repetitive
- calls to format_type() (Tom Lane)
-
-
-
- These changes provide only marginal improvement when dumping from a
- local server, but a dump from a remote server can benefit
- substantially due to fewer network round-trips.
-
-
-
-
-
-
- Fix failure of contrib/btree_gin indexes
- on "char"
- (not char(n)) columns,
- when an indexscan using the <
- or <= operator is performed (Tom Lane)
-
-
-
- Such an indexscan failed to return all the entries it should.
-
-
-
-
-
-
- Add spinlock support for the RISC-V architecture (Marek Szuba)
-
-
-
- This is essential for reasonable performance on that platform.
-
-
-
-
-
-
- Support OpenSSL 3.0.0
- (Peter Eisentraut, Daniel Gustafsson, Michael Paquier)
-
-
-
-
-
-
- Set correct type identifier on OpenSSL BIO (I/O abstraction)
- objects created by PostgreSQL
- (Itamar Gafni)
-
-
-
- This oversight probably only matters for code that is doing
- tasks like auditing the OpenSSL installation. But it's
- nominally a violation of the OpenSSL API, so fix it.
-
-
-
-
-
-
- Fix our pkg-config files to again support static
- linking of libpq (Peter Eisentraut)
-
-
-
-
-
-
- Make pg_regexec() robust against an
- out-of-range search_start parameter
- (Tom Lane)
-
-
-
- Return REG_NOMATCH, instead of possibly crashing,
- when search_start is past the end of the
- string. This case is probably unreachable within
- core PostgreSQL, but extensions might be
- more careless about the parameter value.
-
-
-
-
-