Release notes for 14.2, 13.6, 12.10, 11.15, 10.20.
authorTom Lane
Sun, 6 Feb 2022 19:24:55 +0000 (14:24 -0500)
committerTom Lane
Sun, 6 Feb 2022 19:24:55 +0000 (14:24 -0500)
doc/src/sgml/release-13.sgml

index e809633ffb9815e0c34e129eadf31a97c42282f5..703783833f6ba569890464946fb6ce9520859181 100644 (file)
@@ -1,6 +1,940 @@
 
 
 
+  Release 13.6
+
+  
+  Release date:
+  2022-02-10
+  
+
+  
+   This release contains a variety of fixes from 13.5.
+   For information about new features in major release 13, see
+   .
+  
+
+  
+   Migration to Version 13.6
+
+   
+    A dump/restore is not required for those running 13.X.
+   
+
+   
+    However, if you have applied REINDEX CONCURRENTLY
+    to a TOAST table's index, or observe failures to access TOAST datums,
+    see the first changelog entry below.
+   
+
+   
+    Also, if you are upgrading from a version earlier than 13.5,
+    see .
+   
+  
+
+  
+   Changes
+
+   
+
+    
+
+     
+      Enforce standard locking protocol for TOAST table updates, to prevent
+      problems with REINDEX CONCURRENTLY (Michael Paquier)
+     
+
+     
+      If applied to a TOAST table or TOAST table's index, REINDEX
+      CONCURRENTLY tended to produce a corrupted index.  This
+      happened because sessions updating TOAST entries released
+      their ROW EXCLUSIVE locks immediately, rather
+      than holding them until transaction commit as all other updates do.
+      The fix is to make TOAST updates hold the table lock according to the
+      normal rule.  Any existing corrupted indexes can be repaired by
+      reindexing again.
+     
+    
+
+    
+
+     
+      Avoid null-pointer crash in ALTER STATISTICS
+      when the statistics object is dropped concurrently (Tomas Vondra)
+     
+    
+
+    
+
+     
+      Fix incorrect plan creation for parallel single-child Append nodes
+      (David Rowley)
+     
+
+     
+      In some cases the Append would be simplified away when it should not
+      be, leading to wrong query results (duplicated rows).
+     
+    
+
+    
+
+     
+      Fix index-only scan plans for cases where not all index columns can
+      be returned (Tom Lane)
+     
+
+     
+      If an index has both returnable and non-returnable columns, and one
+      of the non-returnable columns is an expression using a table column
+      that appears in a returnable index column, then a query using that
+      expression could result in an index-only scan plan that attempts to
+      read the non-returnable column, instead of recomputing the
+      expression from the returnable column as intended.  The
+      non-returnable column would read as NULL, resulting in wrong query
+      results.
+     
+    
+
+    
+
+     
+      Ensure that casting to an unspecified typmod generates a RelabelType
+      node rather than a length-coercion function call (Tom Lane)
+     
+
+     
+      While the coercion function should do the right thing (nothing),
+      this translation is undesirably inefficient.
+     
+    
+
+    
+
+     
+      Fix checking of anycompatible-family data type matches
+      (Tom Lane)
+     
+
+     
+      In some cases the parser would think that a function or operator
+      with anycompatible-family polymorphic parameters
+      matches a set of arguments that it really shouldn't match.  In
+      reported cases, that led to matching more than one operator to a
+      call, leading to ambiguous-operator errors; but a failure later on
+      is also possible.
+     
+    
+
+    
+
+     
+      Fix WAL replay failure when database consistency is reached exactly
+      at a WAL page boundary (Álvaro Herrera)
+     
+    
+
+    
+
+     
+      Fix startup of a physical replica to tolerate transaction ID
+      wraparound (Abhijit Menon-Sen, Tomas Vondra)
+     
+
+     
+      If a replica server is started while the set of active transactions
+      on the primary crosses a wraparound boundary (so that there are some
+      newer transactions with smaller XIDs than older ones), the replica
+      would fail with out-of-order XID insertion in
+      KnownAssignedXids.  The replica would retry, but could never
+      get past that error.
+     
+    
+
+    
+
+     
+      In logical replication, avoid double transmission of a child table's
+      data (Hou Zhijie)
+     
+
+     
+      If a publication includes both child and parent tables, and has
+      the publish_via_partition_root option set,
+      subscribers uselessly initiated synchronization on both child and
+      parent tables.  Ensure that only the parent table is synchronized in
+      such cases.
+     
+    
+
+    
+
+     
+      Remove lexical limitations for SQL commands issued on a logical
+      replication connection (Tom Lane)
+     
+
+     
+      The walsender process would fail for a SQL command containing an
+      unquoted semicolon, or with dollar-quoted literals containing odd
+      numbers of single or double quote marks, or when the SQL command
+      starts with a comment.  Moreover, faulty error recovery could lead
+      to unexpected errors in later commands too.
+     
+    
+
+    
+
+     
+      Fix possible loss of the commit timestamp for the last
+      subtransaction of a transaction (Alex Kingsborough, Kyotaro Horiguchi)
+     
+    
+
+    
+
+     
+      Be sure to fsync
+      the pg_logical/mappings subdirectory during
+      checkpoints (Nathan Bossart)
+     
+
+     
+      On some filesystems this oversight could lead to losing logical
+      rewrite status files after a system crash.
+     
+    
+
+    
+
+     
+      Build extended statistics for partitioned tables (Justin Pryzby)
+     
+
+     
+      A previous bug fix disabled building of extended statistics for
+      old-style inheritance trees, but it also prevented building them for
+      partitioned tables, which was an unnecessary restriction.
+      This change allows ANALYZE to compute values for
+      statistics objects for partitioned tables.  (But note that
+      autovacuum does not process partitioned tables as such, so you must
+      periodically issue manual ANALYZE on the
+      partitioned table if you want to maintain such statistics.)
+     
+    
+
+    
+
+     
+      Ignore extended statistics for inheritance trees (Justin Pryzby)
+     
+
+     
+      Currently, extended statistics values are only computed locally for
+      each table, not for entire inheritance trees.  However the values
+      were mistakenly consulted when planning queries across inheritance
+      trees, possibly resulting in worse-than-default estimates.
+     
+    
+
+    
+
+     
+      Disallow altering data type of a partitioned table's columns when
+      the partitioned table's row type is used as a composite type
+      elsewhere (Tom Lane)
+     
+
+     
+      This restriction has long existed for regular tables, but through an
+      oversight it was not checked for partitioned tables.
+     
+    
+
+    
+
+     
+      Disallow ALTER TABLE ... DROP NOT NULL for a
+      column that is part of a replica identity index (Haiying Tang, Hou
+      Zhijie)
+     
+
+     
+      The same prohibition already existed for primary key indexes.
+     
+    
+
+    
+
+     
+      Correctly update cached table state during ALTER TABLE ADD
+      PRIMARY KEY USING INDEX (Hou Zhijie)
+     
+
+     
+      Concurrent sessions failed to update their opinion of whether the
+      table has a primary key, possibly causing incorrect logical
+      replication behavior.
+     
+    
+
+    
+
+     
+      Correctly update cached table state when switching REPLICA
+      IDENTITY index (Tang Haiying, Hou Zhijie)
+     
+
+     
+      Concurrent sessions failed to update their opinion of which index is
+      the replica identity one, possibly causing incorrect logical
+      replication behavior.
+     
+    
+
+    
+
+     
+      Allow parallel vacuuming and concurrent index building to be ignored
+      while computing oldest xmin (Masahiko Sawada)
+     
+
+     
+      Non-parallelized instances of these operations were already ignored,
+      but the logic did not work for parallelized cases.  Holding back the
+      xmin horizon has undesirable effects such as delaying vacuum
+      cleanup.
+     
+    
+
+    
+
+     
+      Avoid leaking memory during REASSIGN OWNED BY
+      operations that reassign ownership of many objects (Justin Pryzby)
+     
+    
+
+    
+
+     
+      Improve performance of walsenders sending logical changes by
+      avoiding unnecessary cache accesses (Hou Zhijie)
+     
+    
+
+    
+
+     
+      Fix display of cert authentication method's
+      options in pg_hba_file_rules view (Magnus
+      Hagander)
+     
+
+     
+      The cert authentication method implies
+      clientcert=verify-full, but the
+      pg_hba_file_rules view incorrectly reported
+      clientcert=verify-ca.
+     
+    
+
+    
+
+     
+      Fix display of whole-row variables appearing
+      in INSERT ... VALUES rules (Tom Lane)
+     
+
+     
+      A whole-row variable would be printed as var.*,
+      but that allows it to be expanded to individual columns when
+      the rule is reloaded, resulting in different semantics.
+      Attach an explicit cast to prevent that, as we do elsewhere.
+     
+    
+
+    
+
+     
+      Fix one-byte buffer overrun when applying Unicode string
+      normalization to an empty string (Michael Paquier)
+     
+
+     
+      The practical impact of this is limited thanks to alignment
+      considerations; but in debug builds, a warning was raised.
+     
+    
+
+    
+
+     
+      Fix or remove some incorrect assertions (Simon Riggs, Michael
+      Paquier, Alexander Lakhin)
+     
+
+     
+      These errors should affect only debug builds, not production.
+     
+    
+
+    
+
+     
+      Fix race condition that could lead to failure to localize error
+      messages that are reported early in multi-threaded use
+      of libpq
+      or ecpglib (Tom Lane)
+     
+    
+
+    
+
+     
+      Avoid calling strerror
+      from libpq's PQcancel
+      function (Tom Lane)
+     
+
+     
+      PQcancel is supposed to be safe to call from a
+      signal handler, but strerror is not safe.  The
+      faulty usage only occurred in the unlikely event of failure to
+      send the cancel message to the server, perhaps explaining the lack
+      of reports.
+     
+    
+
+    
+
+     
+      Make psql's \password
+      command default to setting the password
+      for CURRENT_USER, not the connection's original
+      user name (Tom Lane)
+     
+
+     
+      This agrees with the documented behavior, and avoids probable
+      permissions failure if SET ROLE or SET
+      SESSION AUTHORIZATION has been done since the session began.
+      To prevent confusion, the role name to be acted on is now
+      included in the password prompt.
+     
+    
+
+    
+
+     
+      Fix psql \d command's
+      query for identifying parent triggers (Justin Pryzby)
+     
+
+     
+      The previous coding failed with more than one row returned by
+      a subquery used as an expression if a partition had triggers
+      and there were unrelated statement-level triggers of the same name
+      on some parent partitioned table.
+     
+    
+
+    
+
+     
+      Fix psql's tab-completion of label values
+      for enum types (Tom Lane)
+     
+    
+
+    
+
+     
+      In psql and some other client programs,
+      avoid trying to invoke gettext() from a
+      control-C signal handler (Tom Lane)
+     
+
+     
+      While no reported failures have been traced to this mistake, it seems
+      highly unlikely to be a safe thing to do.
+     
+    
+
+    
+
+     
+      Allow canceling the initial password prompt
+      in pg_receivewal
+      and pg_recvlogical (Tom Lane, Nathan
+      Bossart)
+     
+
+     
+      Previously it was impossible to terminate these programs via control-C
+      while they were prompting for a password.
+     
+    
+
+    
+
+     
+      Fix pg_dump's dump ordering for
+      user-defined casts (Tom Lane)
+     
+
+     
+      In rare cases, the output script might refer to a user-defined cast
+      before it had been created.
+     
+    
+
+    
+
+     
+      Fix pg_dump's 
+      and   modes to handle tables
+      containing both generated columns and dropped columns (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix possible mis-reporting of errors
+      in pg_dump
+      and pg_basebackup (Tom Lane)
+     
+
+     
+      The previous code failed to check for errors from some kernel calls,
+      and could report the wrong errno values in other cases.
+     
+    
+
+    
+
+     
+      Fix results of index-only scans
+      on contrib/btree_gist indexes
+      on char(N) columns (Tom Lane)
+     
+
+     
+      Index-only scans returned column values with trailing spaces
+      removed, which is not the expected behavior.  That happened because
+      that's how the data was stored in the index.  This fix changes the
+      code to store char(N) values
+      with the expected amount of space padding.
+      The behavior of such an index will not change immediately unless
+      you REINDEX it; otherwise space-stripped values
+      will be gradually replaced over time during updates.  Queries that
+      do not use index-only scan plans will be unaffected in any case.
+     
+    
+
+    
+
+     
+      Change configure to use
+      Python's sysconfig module, rather than
+      the deprecated distutils module, to
+      determine how to build PL/Python (Peter Eisentraut, Tom Lane, Andres
+      Freund)
+     
+
+     
+      With Python 3.10, this
+      avoids configure-time warnings
+      about distutils being deprecated and
+      scheduled for removal in Python 3.12.  Presumably, once 3.12 is
+      out, configure --with-python would fail
+      altogether.  This future-proofing does come at a
+      cost: sysconfig did not exist before
+      Python 2.7, nor before 3.2 in the Python 3 branch, so it is no
+      longer possible to build PL/Python against long-dead Python
+      versions.
+     
+    
+
+    
+
+     
+      Fix PL/Perl compile failure on Windows with Perl 5.28 and later
+      (Victor Wagner)
+     
+    
+
+    
+
+     
+      Fix PL/Python compile failure with Python 3.11 and later (Peter
+      Eisentraut)
+     
+    
+
+    
+
+     
+      Add support for building with Visual Studio 2022 (Hans Buschmann)
+     
+    
+
+    
+
+     
+      Allow the .bat wrapper scripts in our MSVC
+      build system to be called without first changing into their
+      directory (Anton Voloshin, Andrew Dunstan)
+     
+    
+
+   
+
+  
+
  
   Release 13.5