First-draft release notes for 9.5.4.
authorTom Lane
Sun, 7 Aug 2016 02:08:31 +0000 (22:08 -0400)
committerTom Lane
Sun, 7 Aug 2016 02:08:31 +0000 (22:08 -0400)
As usual, the release notes for other branches will be made by cutting
these down, but put them up for community review first.

doc/src/sgml/release-9.5.sgml

index a57bb53e5a1224f0a17b47b22cbef321cef24d1a..5bc2ec4757780a2a7818988c1461ef1b4e2b0a52 100644 (file)
@@ -1,6 +1,935 @@
 
 
 
+  Release 9.5.4
+
+  
+  Release Date
+  2016-08-11
+  
+
+  
+   This release contains a variety of fixes from 9.5.3.
+   For information about new features in the 9.5 major release, see
+   .
+  
+
+  
+   Migration to Version 9.5.4
+
+   
+    A dump/restore is not required for those running 9.5.X.
+   
+
+   
+    However, if you are upgrading from a version earlier than 9.5.2,
+    see .
+   
+  
+
+  
+   Changes
+
+   
+
+    
+
+     
+      Fix corner-case misbehaviors for IS NULL/IS NOT
+      NULL applied to nested composite values (Andrew Gierth, Tom Lane)
+     
+
+     
+      The SQL standard specifies that IS NULL should return
+      TRUE for a row of all null values (thus ROW(NULL,NULL) IS
+      NULL yields TRUE), but this is not meant to apply recursively
+      (thus ROW(NULL, ROW(NULL,NULL)) IS NULL yields FALSE).
+      The core executor got this right, but certain planner optimizations
+      treated the test as recursive (thus producing TRUE in both cases),
+      and contrib/postgres_fdw could produce remote queries
+      that misbehaved similarly.
+     
+    
+
+    
+
+     
+      Fix unrecognized node type error for INSERT ... ON
+      CONFLICT within a recursive CTE (a WITH item) (Peter
+      Geoghegan)
+     
+    
+
+    
+
+     
+      Fix INSERT ... ON CONFLICT to successfully match index
+      expressions or index predicates that are simplified during the
+      planner's expression preprocessing phase (Tom Lane)
+     
+    
+
+    
+
+     
+      Correctly handle violations of exclusion constraints that apply to
+      the target table of an INSERT ... ON CONFLICT command,
+      but are not one of the selected arbiter indexes (Tom Lane)
+     
+
+     
+      Such a case should raise a normal constraint-violation error, but it
+      got into an infinite loop instead.
+     
+    
+
+    
+
+     
+      Fix INSERT ... ON CONFLICT to not fail if the target
+      table has a unique index on OID (Tom Lane)
+     
+    
+
+    
+
+     
+      Make the inet and cidr data types properly reject
+      IPv6 addresses with too many colon-separated fields (Tom Lane)
+     
+    
+
+    
+
+     
+      Prevent crash in close_ps()
+      (the point ## lseg operator)
+      for NaN input coordinates (Tom Lane)
+     
+
+     
+      Make it return NULL instead of crashing.
+     
+    
+
+    
+
+     
+      Avoid possible crash in pg_get_expr() when inconsistent
+      values are passed to it (Michael Paquier, Thomas Munro)
+     
+    
+
+    
+
+     
+      Do not run the planner on the query contained in CREATE
+      MATERIALIZED VIEW or CREATE TABLE AS
+      when WITH NO DATA is specified (Michael Paquier,
+      Tom Lane)
+     
+
+     
+      This avoids some unnecessary failure conditions, for example if a
+      stable function invoked by the materialized view depends on a table
+      that doesn't exist yet.
+     
+    
+
+    
+
+     
+      Avoid unsafe intermediate state during expensive paths
+      through heap_update() (Masahiko Sawada, Andres Freund)
+     
+
+     
+      Previously, these cases locked the target tuple (by setting its XMAX)
+      but did not WAL-log that action, thus risking data integrity problems
+      if the page were spilled to disk and then a database crash occurred
+      before the tuple update could be completed.
+     
+    
+
+    
+
+     
+      Fix hint bit update during WAL replay of row locking operations
+      (Andres Freund)
+     
+
+     
+      The only known consequence of this problem is that row locks held by
+      a prepared, but uncommitted, transaction might fail to be enforced
+      after a crash and restart.
+     
+    
+
+    
+
+     
+      Avoid unnecessary could not serialize access errors when
+      acquiring FOR KEY SHARE row locks in serializable mode
+      (Álvaro Herrera)
+     
+    
+
+    
+
+     
+      Make sure expanded datums returned by a plan node are
+      read-only (Tom Lane)
+     
+
+     
+      This avoids failures in some cases where the result of a lower plan
+      node is referenced in multiple places in upper nodes.  So far as
+      core PostgreSQL is concerned, only array values
+      returned by PL/pgSQL functions are at risk; but extensions might
+      use expanded datums for other things.
+     
+    
+
+    
+
+     
+      Avoid crash in postgres -C when the specified variable
+      has a null string value (Michael Paquier)
+     
+    
+
+    
+
+     
+      Prevent unintended waits for the receiver in WAL sender processes
+      (Kyotaro Horiguchi)
+     
+    
+
+    
+
+     
+      Fix possible loss of large subtransactions in logical decoding
+      (Petru-Florin Mihancea)
+     
+    
+
+    
+
+     
+      Ensure that backends see up-to-date statistics for shared catalogs
+      (Tom Lane)
+     
+
+     
+      The statistics collector failed to update the statistics file for
+      shared catalogs after a request from a regular backend.  This problem
+      was partially masked because the autovacuum launcher regularly makes
+      requests that did cause such updates; however, it became obvious with
+      autovacuum disabled.
+     
+    
+
+    
+
+     
+      Avoid redundant writes of the statistics files when multiple
+      backends request updates close together (Tom Lane, Tomas Vondra)
+     
+    
+
+    
+
+     
+      Avoid consuming a transaction ID during VACUUM
+      (Alexander Korotkov)
+     
+
+     
+      Some cases in VACUUM unnecessarily caused an XID to be
+      assigned to the current transaction.  Normally this is negligible,
+      but if one is up against the XID wraparound limit, consuming more
+      XIDs during anti-wraparound vacuums is a very bad thing.
+     
+    
+
+    
+
+     
+      Avoid canceling hot-standby queries during VACUUM FREEZE
+      (Simon Riggs, Álvaro Herrera)
+     
+
+     
+      VACUUM FREEZE on an otherwise-idle master server could
+      result in unnecessary cancellations of queries on its standby
+      servers.
+     
+    
+
+    
+
+     
+      Prevent possible failure when vacuuming multixact IDs in an
+      installation that has been pg_upgrade'd from pre-9.3 (Andrew Gierth,
+      Álvaro Herrera)
+     
+
+     
+      The usual symptom of this bug is errors
+      like MultiXactId NNN has not been created
+      yet -- apparent wraparound.
+     
+    
+
+    
+
+     
+      When a manual ANALYZE specifies a column list, don't
+      reset the table's changes_since_analyze counter
+      (Tom Lane)
+     
+
+     
+      If we're only analyzing some columns, we should not prevent routine
+      auto-analyze from happening for the other columns.
+     
+    
+
+    
+
+     
+      Prevent autovacuum from starting multiple workers for the same shared
+      catalog (Álvaro Herrera)
+     
+
+     
+      Normally this isn't much of a problem because the vacuum doesn't take
+      long anyway; but in the case of a severely bloated catalog, it could
+      result in all but one worker uselessly waiting instead of doing
+      useful work on other tables.
+     
+    
+
+    
+
+     
+      Fix bug in b-tree mark/restore processing (Kevin Grittner)
+     
+
+     
+      This error could lead to incorrect join results or assertion failures
+      in a merge join whose inner source node is a b-tree indexscan.
+     
+    
+
+    
+
+     
+      Avoid duplicate buffer lock release when abandoning a b-tree index
+      page deletion attempt (Tom Lane)
+     
+
+     
+      This mistake prevented VACUUM from completing in some
+      cases involving corrupt b-tree indexes.
+     
+    
+
+    
+
+     
+      Fix building of large (bigger than shared_buffers)
+      hash indexes (Tom Lane)
+     
+
+     
+      The code path used for large indexes contained a bug causing
+      incorrect hash values to be inserted into the index, so that
+      subsequent index searches always failed, except for tuples inserted
+      into the index after the initial build.
+     
+    
+
+    
+
+     
+      Prevent infinite loop in GiST index build for geometric columns
+      containing NaN component values (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix possible crash during a nearest-neighbor (ORDER BY
+      distance) indexscan on a contrib/btree_gist index on
+      an interval column (Peter Geoghegan)
+     
+    
+
+    
+
+     
+      Fix PANIC: failed to add BRIN tuple error when attempting
+      to update a BRIN index entry (Álvaro Herrera)
+     
+    
+
+    
+
+     
+      Fix possible crash during background worker shutdown (Dmitry Ivanov)
+     
+    
+
+    
+
+     
+      Fix PL/pgSQL's handling of the INTO clause
+      within IMPORT FOREIGN SCHEMA commands (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix contrib/btree_gin to handle the smallest
+      possible bigint value correctly (Peter Eisentraut)
+     
+    
+
+    
+
+     
+      Teach libpq to correctly decode server version from future servers
+      (Peter Eisentraut)
+     
+
+     
+      It's planned to switch to two-part instead of three-part server
+      version numbers for releases after 9.6.  Make sure
+      that PQserverVersion() returns the correct value for
+      such cases.
+     
+    
+
+    
+
+     
+      Fix ecpg's code for unsigned long long
+      array elements (Michael Meskes)
+     
+    
+
+    
+
+     
+      In pg_dump with both 
+      options, avoid emitting an unwanted CREATE SCHEMA public
+      command (David Johnston, Tom Lane)
+     
+    
+
+    
+
+     
+      Improve handling of SIGTERM/control-C in
+      parallel pg_dump and pg_restore (Tom
+      Lane)
+     
+
+     
+      Make sure that the worker processes will exit promptly, and also arrange
+      to send query-cancel requests to the connected backends, in case they
+      are doing something long-running such as a CREATE INDEX.
+     
+    
+
+    
+
+     
+      Fix error reporting in parallel pg_dump
+      and pg_restore (Tom Lane)
+     
+
+     
+      Previously, errors reported by pg_dump
+      or pg_restore worker processes might never make it to
+      the user's console, because the messages went through the master
+      process, and there were various deadlock scenarios that would prevent
+      the master process from passing on the messages.  Instead, just print
+      everything to stderr.  In some cases this will result in
+      duplicate messages (for instance, if all the workers report a server
+      shutdown), but that seems better than no message.
+     
+    
+
+    
+
+     
+      Ensure that parallel pg_dump
+      or pg_restore on Windows will shut down properly
+      after an error (Kyotaro Horiguchi)
+     
+
+     
+      Previously, it would report the error, but then just sit until
+      manually stopped by the user.
+     
+    
+
+    
+
+     
+      Make parallel pg_dump fail cleanly when run against a
+      standby server (Magnus Hagander)
+     
+
+     
+      This usage is not supported
+      unless 
+      error was not handled very well.
+     
+    
+
+    
+
+     
+      Make pg_dump behave better when built without zlib
+      support (Kyotaro Horiguchi)
+     
+
+     
+      It didn't work right for parallel dumps, and emitted some rather
+      pointless warnings in other cases.
+     
+    
+
+    
+
+     
+      Make pg_basebackup accept -Z 0 as
+      specifying no compression (Fujii Masao)
+     
+    
+
+    
+
+     
+      Revert to the old heuristic timeout for pg_ctl start -w
+      (Tom Lane)
+     
+
+     
+      The new method adopted as of release 9.1.20 does not work
+      when silent_mode is enabled, so go back to the old way.
+     
+    
+
+    
+
+     
+      Fix makefiles' rule for building AIX shared libraries to be safe for
+      parallel make (Noah Misch)
+     
+    
+
+    
+
+     
+      Fix TAP tests and MSVC scripts to work when build directory's path
+      name contains spaces (Michael Paquier, Kyotaro Horiguchi)
+     
+    
+
+    
+
+     
+      Be more predictable about reporting statement timeout
+      versus lock timeout (Tom Lane)
+     
+
+     
+      On heavily loaded machines, the regression tests sometimes failed due
+      to reporting lock timeout even though the statement timeout
+      should have occurred first.
+     
+    
+
+    
+
+     
+      Make regression tests safe for Danish and Welsh locales (Jeff Janes,
+      Tom Lane)
+     
+
+     
+      Change some test data that triggered the unusual sorting rules of
+      these locales.
+     
+    
+
+    
+
+     
+      Update our copy of the timezone code to match
+      IANA's tzcode release 2016c (Tom Lane)
+     
+
+     
+      This is needed to cope with anticipated future changes in the time
+      zone data files.  It also fixes some corner-case bugs in coping with
+      unusual time zones.
+     
+    
+
+    
+
+     
+      Update time zone data files to tzdata release 2016f
+      for DST law changes in Kemerovo and Novosibirsk, plus historical
+      corrections for Azerbaijan, Belarus, and Morocco.
+     
+    
+
+   
+
+  
+
  
   Release 9.5.3