Release notes for 15.1, 14.6, 13.9, 12.13, 11.18, 10.23.
authorTom Lane
Sun, 6 Nov 2022 16:07:28 +0000 (11:07 -0500)
committerTom Lane
Sun, 6 Nov 2022 16:07:28 +0000 (11:07 -0500)
doc/src/sgml/release-15.sgml

index be2de3be02c5094aa48d5fefa55b0a4906f4b4b0..3019d6c61f2a83cbed39916d31160cd499698b4e 100644 (file)
     
 
-     
-      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)
-     
-    
-
-    
-