First-draft release notes for 9.6.4.
authorTom Lane
Fri, 4 Aug 2017 22:37:18 +0000 (18:37 -0400)
committerTom Lane
Fri, 4 Aug 2017 22:37:22 +0000 (18:37 -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.6.sgml

index 764f812d60abdc0b29a31c5e8e2e21014638b8ba..927f5d2c3d47e3edc0850ca1ab815dc2d2280ec9 100644 (file)
 
 
 
+  Release 9.6.4
+
+  
+  Release date:
+  2017-08-10
+  
+
+  
+   This release contains a variety of fixes from 9.6.3.
+   For information about new features in the 9.6 major release, see
+   .
+  
+
+  
+   Migration to Version 9.6.4
+
+   
+    A dump/restore is not required for those running 9.6.X.
+   
+
+   
+    However, if you are upgrading from a version earlier than 9.6.3,
+    see .
+   
+  
+
+  
+   Changes
+
+   
+
+    
+
+     
+      Correct the documentation about the process for upgrading standby
+      servers with pg_upgrade (Bruce Momjian)
+     
+
+     
+      The previous documentation instructed users to start/stop the primary
+      server after running pg_upgrade but before syncing
+      the standby servers.  This sequence is unsafe.
+     
+    
+
+    
+
+     
+      Fix concurrent locking of tuple update chains (Álvaro Herrera)
+     
+
+     
+      If several sessions concurrently lock a tuple update chain with
+      nonconflicting lock modes using an old snapshot, and they all
+      succeed, it was possible for some of them to nonetheless fail (and
+      conclude there is no live tuple version) due to a race condition.
+      This had consequences such as foreign-key checks failing to see a
+      tuple that definitely exists but is being updated concurrently.
+     
+    
+
+    
+
+     
+      Fix potential data corruption when freezing a tuple whose XMAX is a
+      multixact with exactly one still-interesting member (Teodor Sigaev)
+     
+    
+
+    
+
+     
+      Avoid integer overflow and ensuing crash when sorting more than one
+      billion tuples in-memory (Sergey Koposov)
+     
+    
+
+    
+
+     
+      On Windows, retry process creation if we fail to reserve the address
+      range for our shared memory in the new process (Tom Lane, Amit
+      Kapila)
+     
+
+     
+      This is expected to fix infrequent child-process-launch failures that
+      are probably due to interference from antivirus products.
+     
+    
+
+    
+
+     
+      Fix low-probability corruption of shared predicate-lock hash table
+      in Windows builds (Thomas Munro, Tom Lane)
+     
+    
+
+    
+
+     
+      Avoid logging clean closure of an SSL connection as though
+      it were a connection reset (Michael Paquier)
+     
+    
+
+    
+
+     
+      Prevent sending SSL session tickets to clients (Tom Lane)
+     
+
+     
+      This fix prevents reconnection failures with ticket-aware client-side
+      SSL code.
+     
+    
+
+    
+
+     
+      Fix code for setting  on
+      Solaris (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix statistics collector to honor inquiry messages issued just after
+      a postmaster shutdown and immediate restart (Tom Lane)
+     
+
+     
+      Confusion between permanent and temporary statistics file timestamps
+      allowed the collector to think it had already written data satisfying
+      the request, when it had not.  This only affected inquiries issued
+      within half a second of the previous postmaster shutdown.
+     
+    
+
+    
+
+     
+      Ensure that the statistics collector's receive buffer size is at
+      least 100KB (Tom Lane)
+     
+
+     
+      This reduces the risk of dropped statistics data on older platforms
+      whose default receive buffer size is less than that.
+     
+    
+
+    
+
+     
+      Fix possible creation of an invalid WAL segment when a standby is
+      promoted just after it processes an XLOG_SWITCH WAL
+      record (Andres Freund)
+     
+    
+
+    
+
+     
+      Fix walsender to exit promptly when client requests
+      shutdown (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix SIGHUP and SIGUSR1 handling in
+      walsender processes (Petr Jelinek, Andres Freund)
+     
+    
+
+    
+
+     
+      Prevent walsender-triggered panics during shutdown checkpoints
+      (Andres Freund, Michael Paquier)
+     
+    
+
+    
+
+     
+      Fix unnecessarily slow restarts of walreceiver
+      processes due to race condition in postmaster (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix leakage of small subtransactions spilled to disk during logical
+      decoding (Andres Freund)
+     
+
+     
+      This resulted in temporary files consuming excessive disk space.
+     
+    
+
+    
+
+     
+      Reduce the work needed to build snapshots during creation of
+      logical-decoding slots (Andres Freund, Petr Jelinek)
+     
+
+     
+      The previous algorithm was infeasibly expensive on a server with a
+      lot of open transactions.
+     
+    
+
+    
+
+     
+      Fix race condition that could indefinitely delay creation of
+      logical-decoding slots (Andres Freund, Petr Jelinek)
+     
+    
+
+    
+
+     
+      Reduce overhead in processing syscache invalidation events (Tom Lane)
+     
+
+     
+      This is particularly helpful for logical decoding, which triggers
+      frequent cache invalidation.
+     
+    
+
+    
+
+     
+      Remove incorrect heuristic used in some cases to estimate join
+      selectivity based on the presence of foreign-key constraints
+      (David Rowley)
+     
+
+     
+      In some cases where a multi-column foreign key constraint existed but
+      did not exactly match a query's join structure, the planner used an
+      estimation heuristic that turns out not to work well at all.  Revert
+      such cases to the way they were estimated before 9.6.
+     
+    
+
+    
+
+     
+      Fix cases where an INSERT or UPDATE assigns
+      to more than one element of a column that is of domain-over-array
+      type (Tom Lane)
+     
+    
+
+    
+
+     
+      Allow window functions to be used in sub-SELECTs that
+      are within the arguments of an aggregate function (Tom Lane)
+     
+
+     
+      This case is perfectly valid, but it was accidentally rejected by an
+      overly-aggressive error check.
+     
+    
+
+    
+
+     
+      Ensure that a view's CHECK OPTIONS clause is enforced
+      properly when the underlying table is a foreign table (Etsuro Fujita)
+     
+
+     
+      Previously, the update might get pushed entirely to the foreign
+      server, but the need to verify the view conditions was missed if so.
+     
+    
+
+    
+
+     
+      Move autogenerated array types out of the way during
+      ALTER ... RENAME (Vik Fearing)
+     
+
+     
+      Previously, we would rename a conflicting autogenerated array type
+      out of the way during CREATE; this fix extends that
+      behavior to renaming operations.
+     
+    
+
+    
+
+     
+      Fix dangling pointer in ALTER TABLE when there is a
+      comment on a constraint belonging to the table (David Rowley)
+     
+
+     
+      Re-applying the comment to the reconstructed constraint could fail
+      with a weird error message, or even crash.
+     
+    
+
+    
+
+     
+      Ensure that ALTER USER ... SET accepts all the syntax
+      variants that ALTER ROLE ... SET does (Peter Eisentraut)
+     
+    
+
+    
+
+     
+      Allow a foreign table's CHECK constraints to be
+      initially NOT VALID (Amit Langote)
+     
+
+     
+      CREATE TABLE silently drops NOT VALID
+      specifiers for CHECK constraints, reasoning that the
+      table must be empty so the constraint can be validated immediately.
+      But this is wrong for CREATE FOREIGN TABLE, where there's
+      no reason to suppose that the underlying table is empty, and even if
+      it is it's no business of ours to decide that the constraint can be
+      treated as valid going forward.  Skip the optimization in
+      that case.
+     
+    
+
+    
+
+     
+      Properly update dependency info when changing a datatype I/O
+      function's argument or return type from opaque to the
+      correct type (Heikki Linnakangas)
+     
+
+     
+      CREATE TYPE updates I/O functions declared in this
+      long-obsolete style, but it forgot to record a dependency on the
+      type, allowing a subsequent DROP TYPE to leave broken
+      function definitions behind.
+     
+    
+
+    
+
+     
+      Allow parallelism in the query plan when COPY copies from
+      a query's result (Andres Freund)
+     
+    
+
+    
+
+     
+      Reduce memory usage when ANALYZE processes
+      a tsvector column (Heikki Linnakangas)
+     
+    
+
+    
+
+     
+      Fix unnecessary precision loss and sloppy rounding when multiplying
+      or dividing money values by integers or floats (Tom Lane)
+     
+    
+
+    
+
+     
+      Tighten checks for whitespace in functions that parse identifiers,
+      such as regprocedurein() (Tom Lane)
+     
+
+     
+      Depending on the prevailing locale, these functions could
+      misinterpret fragments of multibyte characters as whitespace.
+     
+    
+
+    
+
+     
+      Use relevant #define symbols from Perl while
+      compiling PL/Perl (Ashutosh Sharma, Tom Lane)
+     
+
+     
+      This avoids portability problems, typically manifesting as
+      a handshake mismatch during library load, when working with
+      recent Perl versions.
+     
+    
+
+    
+
+     
+      In libpq, reset GSS/SASL and SSPI authentication
+      state properly after a failed connection attempt (Michael Paquier)
+     
+
+     
+      Failure to do this meant that when falling back from SSL to non-SSL
+      connections, a GSS/SASL failure in the SSL attempt would always cause
+      the non-SSL attempt to fail.  SSPI did not fail, but it leaked memory.
+     
+    
+
+    
+
+     
+      In psql, fix failure when COPY FROM STDIN
+      is ended with a keyboard EOF signal and then another COPY
+      FROM STDIN is attempted (Thomas Munro)
+     
+
+     
+      This misbehavior is observed on BSD-derived platforms (including
+      macOS), but not on most others.
+     
+    
+
+    
+
+     
+      Fix pg_dump and pg_restore to
+      emit REFRESH MATERIALIZED VIEW commands last (Tom Lane)
+     
+
+     
+      This prevents errors during dump/restore when a materialized view
+      refers to tables owned by a different user.
+     
+    
+
+    
+
+     
+      Improve pg_dump/pg_restore's
+      reporting of error conditions originating in zlib
+      (Vladimir Kunschikov, Álvaro Herrera)
+     
+    
+
+    
+
+     
+      Fix pg_dump with the 
+      drop event triggers as expected (Tom Lane)
+     
+
+     
+      It also now correctly assigns ownership of event triggers; before,
+      they were restored as being owned by the superuser running the
+      restore script.
+     
+    
+
+    
+
+     
+      Fix pg_dump with the 
+      fail when the public schema doesn't exist (Stephen Frost)
+     
+    
+
+    
+
+     
+      Fix pg_dump to not emit invalid SQL for an empty
+      operator class (Daniel Gustafsson)
+     
+    
+
+    
+
+     
+      Fix pg_dump output to stdout on Windows (Kuntal Ghosh)
+     
+
+     
+      A compressed plain-text dump written to stdout would contain corrupt
+      data due to failure to put the file descriptor into binary mode.
+     
+    
+
+    
+
+     
+      Fix pg_get_ruledef() to print correct output for
+      the ON SELECT rule of a view whose columns have been
+      renamed (Tom Lane)
+     
+
+     
+      In some corner cases, pg_dump relies
+      on pg_get_ruledef() to dump views, so that this error
+      could result in dump/reload failures.
+     
+    
+
+    
+
+     
+      Fix dumping of outer joins with empty constraints, such as the result
+      of a NATURAL JOIN with no common columns (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix dumping of function expressions in the FROM clause in
+      cases where the expression does not deparse into something that looks
+      like a function call (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix pg_basebackup output to stdout on Windows
+      (Haribabu Kommi)
+     
+
+     
+      A backup written to stdout would contain corrupt data due to failure
+      to put the file descriptor into binary mode.
+     
+    
+
+    
+
+     
+      Fix pg_rewind to correctly handle files exceeding 2GB
+      (Kuntal Ghosh, Michael Paquier)
+     
+
+     
+      Ordinarily such files won't appear in PostgreSQL data
+      directories, but they could be present in some cases.
+     
+    
+
+    
+
+     
+      Fix pg_upgrade to ensure that the ending WAL record
+      does not have  = minimum
+      (Bruce Momjian)
+     
+
+     
+      This condition could prevent upgraded standby servers from
+      reconnecting.
+     
+    
+
+    
+
+     
+      Fix pg_xlogdump's computation of WAL record length
+      (Andres Freund)
+     
+    
+
+    
+
+     
+      In postgres_fdw, re-establish connections to remote
+      servers after ALTER SERVER or ALTER USER
+      MAPPING commands (Kyotaro Horiguchi)
+     
+
+     
+      This ensures that option changes affecting connection parameters will
+      be applied promptly.
+     
+    
+
+    
+
+     
+      In postgres_fdw, allow cancellation of transaction
+      control commands (Robert Haas, Rafia Sabih)
+     
+
+     
+      This change allows us to quickly escape a wait for an unresponsive
+      remote server in many more cases than previously.
+     
+    
+
+    
+
+     
+      Increase MAX_SYSCACHE_CALLBACKS to provide more room for
+      extensions (Tom Lane)
+     
+    
+
+    
+
+     
+      Always use 
+      shared libraries with gcc (Tom Lane)
+     
+
+     
+      This supports larger extension libraries on platforms where it makes
+      a difference.
+     
+    
+
+    
+
+     
+      Fix unescaped-braces issue in our build scripts for Microsoft MSVC,
+      to avoid a warning or error from recent Perl versions (Andrew
+      Dunstan)
+     
+    
+
+    
+
+     
+      In MSVC builds, handle the case where the openssl
+      library is not within a VC subdirectory (Andrew Dunstan)
+     
+    
+
+    
+
+     
+      In MSVC builds, add proper include path for libxml2
+      header files (Andrew Dunstan)
+     
+
+     
+      This fixes a former need to move things around in standard Windows
+      installations of libxml2.
+     
+    
+
+    
+
+     
+      In MSVC builds, recognize a Tcl library that is
+      named tcl86.lib (Noah Misch)
+     
+    
+
+    
+
+     
+      In MSVC builds, honor PROVE_FLAGS settings
+      on vcregress.pl's command line (Andrew Dunstan)
+     
+    
+
+   
+
+  
+
  
   Release 9.6.3