diff --git a/doc/src/sgml/release-15.sgml b/doc/src/sgml/release-15.sgml
index be2de3be02c..3019d6c61f2 100644
--- a/doc/src/sgml/release-15.sgml
+++ b/doc/src/sgml/release-15.sgml
@@ -31,63 +31,6 @@
-
- Avoid rare PANIC during updates occurring concurrently
- with VACUUM (Tom Lane, Jeff Davis)
-
-
-
- If a concurrent VACUUM sets the all-visible flag
- bit in a page that UPDATE
- or DELETE is in process of modifying, the
- updating command needs to clear that bit again; but some code paths
- failed to do so, ending in a PANIC exit and database restart.
-
-
-
- This is known to be possible in versions 14 and 15. It may be only
- latent in previous branches.
-
-
-
-
-
-
- Fix VACUUM to press on if an attempted page
- deletion in a btree index fails to find the page's parent downlink
- (Peter Geoghegan)
-
-
-
- Rather than throwing an error, just log the issue and continue
- without deleting the empty page. Previously, a buggy operator class
- or corrupted index could indefinitely prevent completion of
- vacuuming of the index, eventually leading to transaction wraparound
- problems.
-
-
-
-
-
-
- Fix resource management bug in saving tuples
- for AFTER triggers (Tom Lane)
-
-
-
- Given the right circumstances, this manifested as a tupdesc
- reference NNNN is not owned by resource
- owner
error followed by a PANIC exit.
-
-
-
-
-
-
- Repair rare failure of MULTIEXPR_SUBLINK subplans in inherited
- updates (Tom Lane)
-
-
-
- Use of the syntax UPDATE tab SET (c1, ...) = (SELECT
- ...) with an inherited or partitioned target table could
- result in failure if the child tables are sufficiently dissimilar.
- This typically manifested as failure of consistency checks in the
- executor; but a crash or incorrect data updates are also possible.
-
-
-
-
-
-
- Fix generation of constraint names for per-partition foreign key
- constraints (Jehan-Guillaume de Rorthais)
-
-
-
- If the initially-given name is already in use for some constraint of
- the partition, a new one is selected; but it wasn't being spelled as
- intended.
-
-
-
-
-
-
- Fix incorrect matching of index expressions and predicates when
- creating a partitioned index (Richard Guo, Tom Lane)
-
-
-
- While creating a partitioned index, we try to identify any existing
- indexes on the partitions that match the partitioned index, so that
- we can absorb those as child indexes instead of building new ones.
- Matching of expressions was not done right, so that a usable child
- index might be ignored, leading to creation of a duplicative index.
-
-
-
-
-
- Fix planner failure with extended statistics on partitioned tables
- (Richard Guo, Justin Pryzby)
+ Fix planner failure with extended statistics on partitioned or
+ inherited tables (Richard Guo, Justin Pryzby)
@@ -303,48 +150,6 @@ Branch: REL_15_STABLE [1f1865e90] 2022-11-01 14:34:44 -0400
-
- Avoid flattening FROM-less subqueries when the
- outer query has grouping sets (Tom Lane)
-
-
-
- This oversight could lead to assertion failures or planner errors
- such as variable not found in subplan target list
.
-
-
-
-
-
-
- Prevent WAL corruption after a standby promotion (Dilip Kumar,
- Robert Haas)
-
-
-
- When a PostgreSQL instance performing
- archive recovery (but not using standby mode) is promoted, and the
- last WAL segment that it attempted to read ended in a partial
- record, the instance would write an invalid WAL segment on the new
- timeline.
-
-
-
-
-
-
- Prevent examining system catalogs with the wrong snapshot during
- logical decoding (Masahiko Sawada)
-
-
-
- If decoding begins partway through a transaction that modifies
- system catalogs, the decoder may not recognize that, causing it to
- fail to treat that transaction as in-progress for catalog lookups.
-
-
-
-
-
-
- Remove pointless check on replica identity setting of partitioned
- tables (Hou Zhijie)
-
-
-
- What matters is the replica identity setting of the leaf partitions,
- so there's no need to throw error if it's not set on the parent.
-
-
-
-
-
-
- Fix handling of read-write expanded datums that are passed to SQL
- functions (Tom Lane)
-
-
-
- If a non-inlined SQL function uses a parameter in more than one
- place, and one of those functions expects to be able to modify
- read-write datums in place, then later uses of the parameter would
- observe the wrong value. (Within
- core PostgreSQL, the expanded-datum
- mechanism is only used for array and composite-type values; but
- extensions might use it for other structured types.)
-
-
-
-
-
-
- Fix type circle's equality comparator to handle NaNs
- properly (Ranier Vilela)
-
-
-
- If the left-hand circle had a floating-point NaN for its radius,
- it would be considered equal to a circle with the same center and
- any radius.
-
-
-
-
-
-
- In Snowball dictionaries, don't try to stem excessively-long words
- (Olly Betts, Tom Lane)
-
-
-
- If the input word exceeds 1000 bytes, return it as-is after case
- folding, rather than trying to run it through the Snowball code.
- This restriction protects against a known
- recursion-to-stack-overflow problem in the Turkish stemmer, and it
- seems like good insurance against any other safety or performance
- issues that may exist in the Snowball stemmers. Such a long string
- is surely not a word in any human language, so it's doubtful that
- the stemmer would have done anything desirable with it anyway.
-
-
-
-
-
-
- Fix use-after-free hazard in string comparisons (Tom Lane)
-
-
-
- Improper memory management in the string comparison functions
- could result in scribbling on no-longer-allocated buffers,
- potentially breaking things for whatever is using that memory
- now. This would only happen with fairly long strings (more than
- 1kB), and only if an ICU collation is in use.
-
-
-
-
-
-
- Add some more defenses against recursion till stack overrun
- (Richard Guo, Tom Lane)
-
-
-
-
-
-
- Avoid misbehavior when choosing hash table size with very
- small work_mem and large tuples (Zhang Mingli)
-
-
-
-
-
-
- Avoid long-term memory leakage in the autovacuum launcher process
- (Reid Thompson)
-
-
-
- The lack of field reports suggests that this problem is only latent
- in pre-v15 branches; but it's not very clear why, so back-patch the
- fix anyway.
-
-
-
-
-
-
- Improve PL/pgSQL's ability to handle
- parameters declared as RECORD (Tom Lane)
-
-
-
- Build a separate function cache entry for each concrete type passed
- to the RECORD parameter during a session, much as we do
- for polymorphic parameters. This allows some usages to work that
- previously failed with errors such as type of parameter does
- not match that when preparing the plan
.
-
-
-
-
-
-
- Add missing guards for NULL connection pointer
- in libpq (Daniele Varrazzo, Tom Lane)
-
-
-
- There's a convention that libpq functions
- should check for a NULL PGconn argument, and fail gracefully instead
- of crashing. PQflush()
- and PQisnonblocking() didn't get that memo, so
- fix them.
-
-
-
-
-
-
- In ecpg, fix omission of variable storage
- classes when multiple varchar or bytea
- variables are declared in the same declaration (Andrey Sokolov)
-
-
-
- For example, ecpg
- translated static varchar str1[10], str2[20],
- str3[30]; in such a way that only str1
- was marked static.
-
-
-
-
-
-
- In postgres_fdw, ensure that target lists
- constructed for EvalPlanQual plans will have all required columns
- (Richard Guo, Etsuro Fujita)
-
-
-
- This avoids variable not found in subplan target list
- errors in rare cases.
-
-
-
-
-
-
- Reject unwanted output from the platform's
- uuid_create() function (Nazir Bilal Yavuz)
-
-
-
- The uuid-ossp module expects
- libc's uuid_create() to produce a version-1
- UUID, but recent NetBSD releases produce a version-4 (random) UUID
- instead. Check for that, and complain if so. Drop the
- documentation's claim that the NetBSD implementation is usable
- for uuid-ossp.
- (If a version-4 UUID is okay for your purposes, you don't
- need uuid-ossp at all; just
- use gen_random_uuid().)
-
-
-
-
-
-
- Include new Perl test modules in standard installations
- (Álvaro Herrera)
-
-
-
- Add PostgreSQL/Test/Cluster.pm and
- PostgreSQL/Test/Utils.pm to the standard
- installation file set in pre-version-15 branches. This is for the
- benefit of extensions that want to use newly-written test code in
- older branches.
-
-
-
-
-
-
- On NetBSD, force dynamic symbol resolution at postmaster start
- (Andres Freund, Tom Lane)
-
-
-
- This avoids a risk of deadlock in the dynamic linker on NetBSD 10.
-
-
-
-
-
-
- Silence assorted compiler warnings from clang 15 and later (Tom Lane)
-
-
-
-
-