Release notes for 12.1, 11.6, 10.11, 9.6.16, 9.5.20, 9.4.25.
authorTom Lane
Sun, 10 Nov 2019 23:31:13 +0000 (18:31 -0500)
committerTom Lane
Sun, 10 Nov 2019 23:31:13 +0000 (18:31 -0500)
doc/src/sgml/release-10.sgml

index 7b2130e3c19130bb8b6e2e604523c8212f398956..1e708af20e3e4c21bfa5c4d990048ea8936d6418 100644 (file)
 
 
 
+  Release 10.11
+
+  
+  Release date:
+  2019-11-14
+  
+
+  
+   This release contains a variety of fixes from 10.10.
+   For information about new features in major release 10, see
+   .
+  
+
+  
+   Migration to Version 10.11
+
+   
+    A dump/restore is not required for those running 10.X.
+   
+
+   
+    However, if you use the contrib/intarray
+    extension with a GiST index, and you rely on indexed searches
+    for the <@ operator, see the entry below
+    about that.
+   
+
+   
+    Also, if you are upgrading from a version earlier than 10.6,
+    see .
+   
+  
+
+  
+   Changes
+
+   
+
+    
+
+     
+      Fix failure of ALTER TABLE SET with a custom
+      relation option (Michael Paquier)
+     
+    
+
+    
+
+     
+      Disallow changing a multiply-inherited column's type if not all
+      parent tables were changed (Tom Lane)
+     
+
+     
+      Previously, this was allowed, whereupon queries on the
+      now-out-of-sync parent would fail.
+     
+    
+
+    
+
+     
+      Prevent VACUUM from trying to freeze
+      an old multixact ID involving a still-running transaction
+      (Nathan Bossart, Jeremy Schneider)
+     
+
+     
+      This case would lead to VACUUM failing until the
+      old transaction terminates.
+     
+    
+
+    
+
+     
+      Fix planner's test for case-foldable characters
+      in ILIKE with an ICU collation (Tom Lane)
+     
+
+     
+      This mistake caused the planner to treat too much of the pattern as
+      being a fixed prefix, so that indexscans derived from
+      an ILIKE clause might miss entries that they
+      should find.
+     
+    
+
+    
+
+     
+      Ensure that offset expressions in WINDOW clauses
+      are processed when a query's expressions are manipulated (Andrew Gierth)
+     
+
+     
+      This oversight could result in assorted failures when the offsets
+      are nontrivial expressions.  One example is that a function
+      parameter reference in such an expression would fail if the function
+      was inlined.
+     
+    
+
+    
+
+     
+      Fix handling of whole-row variables in WITH CHECK
+      OPTION expressions and row-level-security policy expressions
+      (Andres Freund)
+     
+
+     
+      Previously, such usage might result in bogus errors about row type
+      mismatches.
+     
+    
+
+    
+
+     
+      Avoid postmaster failure if a parallel query requests a background
+      worker when no postmaster child process array slots remain free
+      (Tom Lane)
+     
+    
+
+    
+
+     
+      Prevent possible double-free if a BEFORE UPDATE
+      trigger returns the old tuple as-is, and it is not the last such
+      trigger (Thomas Munro)
+     
+    
+
+    
+
+     
+      Provide a relevant error context line when an error occurs while
+      setting GUC parameters during parallel worker startup (Thomas Munro)
+     
+    
+
+    
+
+     
+      In serializable mode, ensure that row-level predicate locks are
+      acquired on the correct version of the row (Thomas Munro, Heikki
+      Linnakangas)
+     
+
+     
+      If the visible version of the row is HOT-updated, the lock might be
+      taken on its now-dead predecessor, resulting in subtle failures to
+      guarantee serialization.
+     
+    
+
+    
+
+     
+      Ensure that fsync() is applied only to files
+      that are opened read/write (Andres Freund, Michael Paquier)
+     
+
+     
+      Some code paths tried to do this after opening a file read-only,
+      but on some platforms that causes bad file descriptor
+      or similar errors.
+     
+    
+
+    
+
+     
+      Allow encoding conversion to succeed on longer strings than before
+      (Álvaro Herrera, Tom Lane)
+     
+
+     
+      Previously, there was a hard limit of 0.25GB on the input string,
+      but now it will work as long as the converted output is not over 1GB.
+     
+    
+
+    
+
+     
+      Avoid an unnecessary catalog lookup during heap page pruning
+      (Thomas Munro)
+     
+
+     
+      It's no longer necessary to check for unlogged indexes here, and the
+      check caused significant performance problems in some workloads.
+      There was also at least a theoretical possibility of deadlock.
+     
+    
+
+    
+
+     
+      Avoid creating unnecessarily-bulky tuple stores for window functions
+      (Andrew Gierth)
+     
+
+     
+      In some cases the tuple storage would include all columns of the
+      source table(s), not just the ones that are needed by the query.
+     
+    
+
+    
+
+     
+      Allow repalloc() to give back space when a
+      large chunk is reduced in size (Tom Lane)
+     
+    
+
+    
+
+     
+      Ensure that temporary WAL and history files are removed at the end
+      of archive recovery (Sawada Masahiko)
+     
+    
+
+    
+
+     
+      Avoid failure in archive recovery
+      if recovery_min_apply_delay is enabled
+      (Fujii Masao)
+     
+
+     
+      recovery_min_apply_delay is not typically used in
+      this configuration, but it should work.
+     
+    
+
+    
+
+     
+      Fix logical replication failure when publisher and subscriber have
+      different ideas about a table's replica identity columns
+      (Jehan-Guillaume de Rorthais, Peter Eisentraut)
+     
+
+     
+      Declaring a column as part of the replica identity on the
+      subscriber, when it does not exist at all on the publisher, led
+      to negative bitmapset member not allowed errors.
+     
+    
+
+    
+
+     
+      Avoid unwanted delay during shutdown of a logical replication
+      walsender (Craig Ringer, Álvaro Herrera)
+     
+    
+
+    
+
+     
+      Fix timeout handling in logical replication walreceiver processes
+      (Julien Rouhaud)
+     
+
+     
+      Erroneous logic prevented wal_receiver_timeout
+      from working in logical replication deployments.
+     
+    
+
+    
+
+     
+      Correctly time-stamp replication messages for logical
+      decoding (Jeff Janes)
+     
+
+     
+      This oversight resulted, for example,
+      in pg_stat_subscription.last_msg_send_time
+      usually reading as NULL.
+     
+    
+
+    
+
+     
+      In logical decoding, ensure that sub-transactions are correctly
+      accounted for when reconstructing a snapshot (Masahiko Sawada)
+     
+
+     
+      This error leads to assertion failures; it's unclear whether any
+      bad effects exist in production builds.
+     
+    
+
+    
+
+     
+      Fix race condition during backend exit, when the backend process has
+      previously waited for synchronous replication to occur (Dongming Liu)
+     
+    
+
+    
+
+     
+      Fix ALTER SYSTEM to cope with duplicate entries
+      in postgresql.auto.conf (Ian Barwick)
+     
+
+     
+      ALTER SYSTEM itself will not generate such a state,
+      but external tools that modify postgresql.auto.conf
+      could do so.  Duplicate entries for the target variable will now be
+      removed, and then the new setting (if any) will be appended at the end.
+     
+    
+
+    
+
+     
+      Reject include directives with empty file names in configuration
+      files, and report include-file recursion more clearly
+      (Ian Barwick, Tom Lane)
+     
+    
+
+    
+
+     
+      Avoid logging complaints about abandoned connections when using PAM
+      authentication (Tom Lane)
+     
+
+     
+      libpq-based clients will typically make two connection attempts when
+      a password is required, since they don't prompt their user for a
+      password until their first connection attempt fails.  Therefore the
+      server is coded not to generate useless log spam when a client
+      closes the connection upon being asked for a password.  However,
+      the PAM authentication code hadn't gotten that memo, and would
+      generate several messages about a phantom authentication failure.
+     
+    
+
+    
+
+     
+      Fix some cases where an incomplete date specification is not
+      detected in time with time zone input (Alexander Lakhin)
+     
+
+     
+      If a time zone with a time-varying UTC offset is specified, then a
+      date must be as well, so that the offset can be resolved.  Depending
+      on the syntax used, this check was not enforced in some cases,
+      allowing bogus output to be produced.
+     
+    
+
+    
+
+     
+      Fix misbehavior of bitshiftright() (Tom Lane)
+     
+
+     
+      The bitstring right shift operator failed to zero out padding space
+      that exists in the last byte of the result when the bitstring length
+      is not a multiple of 8.  While invisible to most operations, any
+      nonzero bits there would result in unexpected comparison behavior,
+      since bitstring comparisons don't bother to ignore the extra bits,
+      expecting them to always be zero.
+     
+
+     
+      If you have inconsistent data as a result of saving the output
+      of bitshiftright() in a table, it's possible to
+      fix it with something like
+
+UPDATE mytab SET bitcol = ~(~bitcol) WHERE bitcol != ~(~bitcol);
+
+     
+    
+
+    
+
+     
+      Avoid crash when selecting a namespace node
+      in XMLTABLE (Chapman Flack)
+     
+    
+
+    
+
+     
+      Fix detection of edge-case integer overflow in interval
+      multiplication (Yuya Watari)
+     
+    
+
+    
+
+     
+      Fix memory leaks
+      in lower()upper(),
+      and initcap() functions when using ICU
+      collations (Konstantin Knizhnik)
+     
+    
+
+    
+
+     
+      Avoid crashes if ispell text search dictionaries
+      contain wrong affix data (Arthur Zakirov)
+     
+    
+
+    
+
+     
+      Fix incorrect compression logic for GIN posting lists
+      (Heikki Linnakangas)
+     
+
+     
+      A GIN posting list item can require 7 bytes if the distance between
+      adjacent indexed TIDs exceeds 16TB.  One step in the logic was out
+      of sync with that, and might try to write the value into a 6-byte
+      buffer.  In principle this could cause a stack overrun, but on most
+      architectures it's likely that the next byte would be unused
+      alignment padding, making the bug harmless.  In any case the bug
+      would be very difficult to hit.
+     
+    
+
+    
+
+     
+      Fix handling of infinity, NaN, and NULL values in KNN-GiST
+      (Alexander Korotkov)
+     
+
+     
+      The query's output order could be wrong (different from a plain
+      sort's result) if some distances computed for non-null column values
+      are infinity or NaN.
+     
+    
+
+    
+
+     
+      Fix handling of searches for NULL in KNN-SP-GiST (Nikita Glukhov)
+     
+    
+
+    
+
+     
+      On Windows, recognize additional spellings of the Norwegian
+      (Bokmål) locale name (Tom Lane)
+     
+    
+
+    
+
+     
+      Avoid compile failure if an ECPG client
+      includes ecpglib.h while
+      having ENABLE_NLS defined (Tom Lane)
+     
+
+     
+      This risk was created by a misplaced
+      declaration: ecpg_gettext() should not be
+      visible to client code.
+     
+    
+
+    
+
+     
+      In psql, resynchronize internal state
+      about the server after an unexpected connection loss and successful
+      reconnection (Peter Billen, Tom Lane)
+     
+
+     
+      Ordinarily this is unnecessary since the state would be the same
+      anyway.  But it can matter in corner cases, such as where the
+      connection might lead to one of several servers.  This change
+      causes psql to re-issue any interactive
+      messages that it would have issued at startup, for example about
+      whether SSL is in use.
+     
+    
+
+    
+
+     
+      Avoid platform-specific null pointer dereference
+      in psql (Quentin Rameau)
+     
+    
+
+    
+
+     
+      In pg_dump, ensure stable output order
+      for similarly-named triggers and row-level-security policy objects
+      (Benjie Gillam)
+     
+
+     
+      Previously, if two triggers on different tables had the same names,
+      they would be sorted in OID-based order, which is less desirable
+      than sorting them by table name.  Likewise for RLS policies.
+     
+    
+
+    
+
+     
+      Fix pg_dump to work again with pre-8.3
+      source servers (Tom Lane)
+     
+
+     
+      A previous fix caused pg_dump to always
+      try to query pg_opfamily, but that catalog
+      doesn't exist before version 8.3.
+     
+    
+
+    
+
+     
+      In pg_restore, treat
+       as meaning output to stdout
+      (Álvaro Herrera)
+     
+
+     
+      This synchronizes pg_restore's behavior
+      with some other applications, and in particular makes pre-v12 branches
+      act similarly to version 12's pg_restore,
+      simplifying creation of dump/restore scripts that work across
+      multiple PostgreSQL versions.  Before this
+      change, pg_restore interpreted such a
+      switch as meaning output to a file
+      named -, but few people would want that.
+     
+    
+
+    
+
+     
+      Improve pg_upgrade's checks for the use
+      of a data type that has changed representation, such
+      as line (Tomas Vondra)
+     
+
+     
+      The previous coding could be fooled by cases where the data type of
+      interest underlies a stored column of a domain or composite type.
+     
+    
+
+    
+
+     
+      Detect file read errors
+      during pg_basebackup (Jeevan Chalke)
+     
+    
+
+    
+
+     
+      In pg_basebackup, don't fsync output files
+      until the end of backup (Michael Paquier)
+     
+
+     
+      The previous coding could result in timeout failures if fsync was slow.
+     
+    
+
+    
+
+     
+      In pg_rewind with an online source
+      cluster, disable timeouts, much
+      as pg_dump does (Alexander Kukushkin)
+     
+    
+
+    
+
+     
+      Fix failure in pg_waldump with
+      the  option, when a continuation WAL record ends
+      exactly at a page boundary (Andrey Lepikhov)
+     
+    
+
+    
+
+     
+      In pg_waldump,
+      include the newitemoff field in btree page split
+      records (Peter Geoghegan)
+     
+    
+
+    
+
+     
+      In pg_waldump with
+      the  option, avoid emitting extra
+      newlines for WAL records involving full-page writes (Andres Freund)
+     
+    
+
+    
+
+     
+      Fix small memory leak in pg_waldump
+      (Andres Freund)
+     
+    
+
+    
+
+     
+      Fix vacuumdb with a
+      high  option to handle running out of file
+      descriptors better (Michael Paquier)
+     
+    
+
+    
+
+     
+      Fix contrib/amcheck to skip unlogged indexes
+      during hot standby (Andrey Borodin, Peter Geoghegan)
+     
+
+     
+      An unlogged index won't necessarily contain valid data in this
+      context, so don't try to check it.
+     
+    
+
+    
+
+     
+      Fix contrib/intarray's GiST opclasses to not
+      fail for empty arrays with <@ (Tom Lane)
+     
+
+     
+      A clause like array_column
+      <@ constant_array is
+      considered indexable, but the index search may not find empty array
+      values; of course, such entries should trivially match the search.
+     
+
+     
+      The only practical back-patchable fix for this requires
+      making <@ index searches scan the whole index,
+      which is what this patch does.  This is unfortunate: it means that
+      the query performance is likely worse than a plain sequential scan
+      would be.
+     
+
+     
+      Applications whose performance is adversely impacted by this change
+      have a couple of options.  They could switch to a GIN index, which
+      doesn't have this bug, or they could replace
+      array_column
+      <@ constant_array
+      with array_column
+      <@ constant_array
+      AND array_column
+      && constant_array.
+      That will provide about the same performance as before, and it will
+      find all non-empty subsets of the given constant array, which is all
+      that could reliably be expected of the query before.
+     
+    
+
+    
+
+     
+      Fix configure's test for presence of
+      libperl so that it works on recent Red Hat releases (Tom Lane)
+     
+
+     
+      Previously, it could fail if the user sets CFLAGS
+      to -O0.
+     
+    
+
+    
+
+     
+      Ensure correct code generation for spinlocks on PowerPC (Noah Misch)
+     
+
+     
+      The previous spinlock coding allowed the compiler to select register
+      zero for use with an assembly instruction that does not accept that
+      register, causing a build failure.  We have seen only one long-ago
+      report that matches this bug, but it could cause problems for people
+      trying to build modified PostgreSQL code
+      or use atypical compiler options.
+     
+    
+
+    
+
+     
+      On PowerPC, avoid depending on the xlc
+      compiler's __fetch_and_add() function
+      (Noah Misch)
+     
+
+     
+      xlc 13 and newer interpret this function in a way incompatible with
+      our usage, resulting in an unusable build
+      of PostgreSQL.  Fix by using custom
+      assembly code instead.
+     
+    
+
+    
+
+     
+      On AIX, don't use the compiler option 
+      (Noah Misch)
+     
+
+     
+      This avoids an internal compiler error with xlc v16.1.0, with little
+      consequence other than changing the format of compiler error messages.
+     
+    
+
+    
+
+     
+      Fix MSVC build process to cope with spaces in the file path of
+      OpenSSL (Andrew Dunstan)
+     
+    
+
+    
+
+     
+      Update time zone data files to tzdata
+      release 2019c for DST law changes in Fiji and Norfolk Island, plus
+      historical corrections for Alberta, Austria, Belgium, British
+      Columbia, Cambodia, Hong Kong, Indiana (Perry County), Kaliningrad,
+      Kentucky, Michigan, Norfolk Island, South Korea, and Turkey.
+     
+    
+
+   
+
+  
+
  
   Release 10.10