First-draft release notes for 9.6.2.
authorTom Lane
Sat, 4 Feb 2017 17:51:25 +0000 (12:51 -0500)
committerTom Lane
Sat, 4 Feb 2017 17:51:33 +0000 (12:51 -0500)
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 1ee136ab963ec841e2261c5bca299b7e97937b77..97d1f515150ace02f3d8ac17881858970e893ce4 100644 (file)
 
 
 
+  Release 9.6.2
+
+  
+  Release Date
+  2017-02-09
+  
+
+  
+   This release contains a variety of fixes from 9.6.1.
+   For information about new features in the 9.6 major release, see
+   .
+  
+
+  
+   Migration to Version 9.6.2
+
+   
+    A dump/restore is not required for those running 9.6.X.
+   
+
+   
+    However, if you are upgrading from a version earlier than 9.6.1,
+    see .
+   
+  
+
+  
+   Changes
+
+   
+
+    
+
+     
+      Ensure that the special snapshot used for catalog scans is not
+      invalidated by premature data pruning (Tom Lane)
+     
+
+     
+      Backends failed to account for this snapshot when advertising their
+      oldest xmin, potentially allowing concurrent vacuuming operations to
+      remove data that was still needed.  This led to transient failures
+      along the lines of cache lookup failed for relation 1255.
+     
+    
+
+    
+
+     
+      Fix incorrect WAL logging for BRIN indexes (Kuntal Ghosh)
+     
+
+     
+      The WAL record emitted for a BRIN revmap page when moving an
+      index tuple to a different page was incorrect.  Replay would make the
+      related portion of the index useless, forcing it to be recomputed.
+     
+    
+
+    
+
+     
+      Unconditionally WAL-log creation of the init fork for an
+      unlogged table (Michael Paquier)
+     
+
+     
+      Previously, this was skipped when 
+      = minimal, but actually it's necessary even in that case
+      to ensure that the unlogged table is properly reset to empty after a
+      crash.
+     
+    
+
+    
+
+     
+      Fix WAL page header validation when re-reading segments (Takayuki
+      Tsunakawa, Amit Kapila)
+     
+
+     
+      In corner cases, a spurious out-of-sequence TLI error
+      could be reported during recovery.
+     
+    
+
+    
+
+     
+      Reduce interlocking on standby servers during the replay of btree
+      index vacuuming operations (Simon Riggs)
+     
+
+     
+      This change avoids substantial replication delays that sometimes
+      occurred while replaying such operations.
+     
+    
+
+    
+
+     
+      If the stats collector dies during hot standby, restart it (Takayuki
+      Tsunakawa)
+     
+    
+
+    
+
+     
+      Ensure that hot standby feedback works correctly when it's enabled at
+      standby server start (Ants Aasma, Craig Ringer)
+     
+    
+
+    
+
+     
+      Check for interrupts while hot standby is waiting for a conflicting
+      query (Simon Riggs)
+     
+    
+
+    
+
+     
+      Avoid constantly respawning the autovacuum launcher in a corner case
+      (Amit Khandekar)
+     
+
+     
+      This fix avoids problems when autovacuum is nominally off and there
+      are some tables that require freezing, but all such tables are
+      already being processed by autovacuum workers.
+     
+    
+
+    
+
+     
+      Disallow setting the num_sync field to zero in
+       (Fujii Masao)
+     
+
+     
+      The correct way to disable synchronous standby is to set the whole
+      value to an empty string.
+     
+    
+
+    
+
+     
+      Don't count background worker processes against a user's connection
+      limit (David Rowley)
+     
+    
+
+    
+
+     
+      Fix check for when an extension member object can be dropped (Tom Lane)
+     
+
+     
+      Extension upgrade scripts should be able to drop member objects,
+      but this was disallowed for serial-column sequences, and possibly
+      other cases.
+     
+    
+
+    
+
+     
+      Fix tracking of initial privileges for extension member objects so
+      that it works correctly with ALTER EXTENSION ... ADD/DROP
+      (Stephen Frost)
+     
+
+     
+      An object's current privileges at the time it is added to the
+      extension will now be considered its default privileges; only
+      later changes in its privileges will be dumped by
+      subsequent pg_dump runs.
+     
+    
+
+    
+
+     
+      Make sure ALTER TABLE preserves index tablespace
+      assignments when rebuilding indexes (Tom Lane, Michael Paquier)
+     
+
+     
+      Previously, non-default settings
+      of  could result in broken
+      indexes.
+     
+    
+
+    
+
+     
+      Fix incorrect updating of trigger function properties when changing a
+      foreign-key constraint's deferrability properties with ALTER
+      TABLE ... ALTER CONSTRAINT (Tom Lane)
+     
+
+     
+      This led to odd failures during subsequent exercise of the foreign
+      key, as the triggers were fired at the wrong times.
+     
+    
+
+    
+
+     
+      Prevent dropping a foreign-key constraint if there are pending
+      trigger events for the referenced relation (Tom Lane)
+     
+
+     
+      This avoids could not find trigger NNN
+      or relation NNN has no triggers errors.
+     
+    
+
+    
+
+     
+      Fix ALTER TABLE ... SET DATA TYPE ... USING when child
+      table has different column ordering than the parent
+      (Álvaro Herrera)
+     
+
+     
+      Failure to adjust the column numbering in the USING
+      expression led to errors,
+      typically attribute N has wrong type.
+     
+    
+
+    
+
+     
+      Fix processing of OID column when a table with OIDs is associated to
+      a parent with OIDs via ALTER TABLE ... INHERIT (Amit
+      Langote)
+     
+
+     
+      The OID column should be treated the same as regular user columns in
+      this case, but it wasn't, leading to odd behavior in later
+      inheritance changes.
+     
+    
+
+    
+
+     
+      Ensure that CREATE TABLE ... LIKE ... WITH OIDS creates
+      a table with OIDs, whether or not the LIKE-referenced
+      table(s) have OIDs (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix CREATE OR REPLACE VIEW to update the view query
+      before attempting to apply the new view options (Dean Rasheed)
+     
+
+     
+      Previously the command would fail if the new options were
+      inconsistent with the old view definition.
+     
+    
+
+    
+
+     
+      Report correct object identity during ALTER TEXT SEARCH
+      CONFIGURATION (Artur Zakirov)
+     
+
+     
+      The wrong catalog OID was reported to extensions such as logical
+      decoding.
+     
+    
+
+    
+
+     
+      Fix commit timestamp mechanism to not fail when queried about
+      the special XIDs FrozenTransactionId
+      and BootstrapTransactionId (Craig Ringer)
+     
+    
+
+    
+
+     
+      Check for serializability conflicts before reporting
+      constraint-violation failures (Thomas Munro)
+     
+
+     
+      When using serializable transaction isolation, it is desirable
+      that any error due to concurrent transactions should manifest
+      as a serialization failure, thereby cueing the application that
+      a retry might succeed.  Unfortunately, this does not reliably
+      happen for duplicate-key failures caused by concurrent insertions.
+      This change ensures that such an error will be reported as a
+      serialization error if the application explicitly checked for
+      the presence of a conflicting key (and did not find it) earlier
+      in the transaction.
+     
+    
+
+    
+
+     
+      Fix incorrect use of view reloptions as regular table reloptions (Tom
+      Lane)
+     
+
+     
+      The symptom was spurious ON CONFLICT is not supported on table
+      ... used as a catalog table errors when the target
+      of INSERT ... ON CONFLICT is a view with cascade option.
+     
+    
+
+    
+
+     
+      Fix incorrect target lists can have at most N
+      entries complaint when using ON CONFLICT with
+      wide tables (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix spurious query provides a value for a dropped column
+      errors during INSERT or UPDATE on a table
+      with a dropped column (Tom Lane)
+     
+    
+
+    
+
+     
+      Prevent multicolumn expansion of foo.* in
+      an UPDATE source expression (Tom Lane)
+     
+
+     
+      This led to UPDATE target count mismatch --- internal
+      error.  Now the syntax is understood as a whole-row variable,
+      as it would be in other contexts.
+     
+    
+
+    
+
+     
+      Ensure that column typmods are determined accurately for
+      multi-row VALUES constructs (Tom Lane)
+     
+
+     
+      This fixes problems occurring when the first value in a column has a
+      determinable typmod (e.g., length for a varchar value) but
+      later values don't share the same limit.
+     
+    
+
+    
+
+     
+      Throw error for an unfinished Unicode surrogate pair at the end of a
+      Unicode string (Tom Lane)
+     
+
+     
+      Normally, a Unicode surrogate leading character must be followed by a
+      Unicode surrogate trailing character, but the check for this was
+      missed if the leading character was the last character in a Unicode
+      string literal (U&'...') or Unicode identifier
+      (U&"...").
+     
+    
+
+    
+
+     
+      Fix execution of DISTINCT and ordered aggregates when
+      multiple such aggregates are able to share the same transition state
+      (Heikki Linnakangas)
+     
+    
+
+    
+
+     
+      Fix implementation of phrase search operators in tsquery
+      (Tom Lane)
+     
+
+     
+      Remove incorrect, and inconsistently-applied, rewrite rules that
+      tried to transform away AND/OR/NOT operators appearing below a PHRASE
+      operator; instead upgrade the execution engine to handle such cases
+      correctly.  This fixes assorted strange behavior and possible crashes
+      for text search queries containing such combinations.  Also fix
+      nested PHRASE operators to work sanely in combinations other than
+      simple left-deep trees, correct the behavior when removing stopwords
+      from a phrase search clause, and make sure that index searches behave
+      consistently with simple sequential-scan application of such queries.
+     
+    
+
+    
+
+     
+      Ensure that a purely negative text search query, such
+      as !foo, matches empty tsvectors (Tom Dunstan)
+     
+
+     
+      Such matches were found by GIN index searches, but not by sequential
+      scans or GiST index searches.
+     
+    
+
+    
+
+     
+      Prevent crash when ts_rewrite() replaces a non-top-level
+      subtree with an empty query (Artur Zakirov)
+     
+    
+
+    
+
+     
+      Fix performance problems in ts_rewrite() (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix ts_rewrite()'s handling of nested NOT operators
+      (Tom Lane)
+     
+    
+
+    
+
+     
+      Improve speed of user-defined aggregates that
+      use array_append() as transition function (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix array_fill() to handle empty arrays properly (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix possible crash in array_position()
+      or array_positions() when processing arrays of records
+      (Junseok Yang)
+     
+    
+
+    
+
+     
+      Fix one-byte buffer overrun in quote_literal_cstr()
+      (Heikki Linnakangas)
+     
+
+     
+      The overrun occurred only if the input consisted entirely of single
+      quotes and/or backslashes.
+     
+    
+
+    
+
+     
+      Prevent multiple calls of pg_start_backup()
+      and pg_stop_backup() from running concurrently (Michael
+      Paquier)
+     
+
+     
+      This avoids an assertion failure, and possibly worse things, if
+      someone tries to run these functions in parallel.
+     
+    
+
+    
+
+     
+      Disable transform that attempted to remove no-op AT TIME
+      ZONE conversions (Tom Lane)
+     
+
+     
+      This resulted in wrong answers when the simplified expression was
+      used in an index condition.
+     
+    
+
+    
+
+     
+      Avoid discarding interval-to-interval casts
+      that aren't really no-ops (Tom Lane)
+     
+
+     
+      In some cases, a cast that should result in zeroing out
+      low-order interval fields was mistakenly deemed to be a
+      no-op and discarded.  An example is that casting from INTERVAL
+      MONTH to INTERVAL YEAR failed to clear the months field.
+     
+    
+
+    
+
+     
+      Fix crash if the number of workers available to a parallel query
+      decreases during a rescan (Andreas Seltenreich)
+     
+    
+
+    
+
+     
+      Fix bugs in transmitting GUC parameter values to parallel workers
+      (Michael Paquier, Tom Lane)
+     
+    
+
+    
+
+     
+      Allow statements prepared with PREPARE to be given
+      parallel plans (Amit Kapila, Tobias Bussman)
+     
+    
+
+    
+
+     
+      Fix incorrect generation of parallel plans for semi-joins (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix planner's cardinality estimates for parallel joins (Robert Haas)
+     
+
+     
+      Ensure that these estimates reflect the number of rows predicted to
+      be seen by each worker, rather than the total.
+     
+    
+
+    
+
+     
+      Fix planner to avoid trying to parallelize plan nodes containing
+      initplans or subplans (Tom Lane, Amit Kapila)
+     
+    
+
+    
+
+     
+      Ensure that cached plans are invalidated by changes in foreign-table
+      options (Amit Langote, Etsuro Fujita, Ashutosh Bapat)
+     
+    
+
+    
+
+     
+      Fix the plan generated for sorted partial aggregation with a constant
+      GROUP BY clause (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix could not find plan for CTE planner error when dealing
+      with a UNION ALL containing CTE references (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix mishandling of initplans when forcibly adding a Material node to
+      a subplan (Tom Lane)
+     
+
+     
+      The typical consequence of this mistake was a plan should not
+      reference subplan's variable error.
+     
+    
+
+    
+
+     
+      Fix foreign-key-based join selectivity estimation for semi-joins and
+      anti-joins, as well as inheritance cases (Tom Lane)
+     
+
+     
+      The new code for taking the existence of a foreign key relationship
+      into account did the wrong thing in these cases, making the estimates
+      worse not better than the pre-9.6 code.
+     
+    
+
+    
+
+     
+      Fix pg_dump to emit the data of a sequence that is
+      marked as an extension configuration table (Michael Paquier)
+     
+    
+
+    
+
+     
+      Fix mishandling of ALTER DEFAULT PRIVILEGES ... REVOKE
+      in pg_dump (Stephen Frost)
+     
+
+     
+      pg_dump missed issuing the
+      required REVOKE commands in cases where ALTER
+      DEFAULT PRIVILEGES had been used to reduce privileges to less than
+      they would normally be.
+     
+    
+
+    
+
+     
+      Fix pg_dump to dump user-defined casts and transforms
+      that use built-in functions (Stephen Frost)
+     
+    
+
+    
+
+     
+      Fix pg_restore with 
+      to behave more sanely if an archive contains
+      unrecognized DROP commands (Tom Lane)
+     
+
+     
+      This doesn't fix any live bug, but it may improve the behavior in
+      future if pg_restore is used with an archive
+      generated by a later pg_dump version.
+     
+    
+
+    
+
+     
+      Fix pg_basebackup's rate limiting in the presence of
+      slow I/O (Antonin Houska)
+     
+
+     
+      If disk I/O was transiently much slower than the specified rate
+      limit, the calculation overflowed, effectively disabling the rate
+      limit for the rest of the run.
+     
+    
+
+    
+
+     
+      Fix pg_basebackup's handling of
+      symlinked pg_stat_tmp and pg_replslot
+      subdirectories (Magnus Hagander, Michael Paquier)
+     
+    
+
+    
+
+     
+      Fix possible pg_basebackup failure on standby
+      server when including WAL files (Amit Kapila, Robert Haas)
+     
+    
+
+    
+
+     
+      Improve initdb to insert the correct
+      platform-specific default values for
+      the xxx_flush_after parameters
+      into postgresql.conf (Fabien Coelho, Tom Lane)
+     
+
+     
+      This is a cleaner way of documenting the default values than was used
+      previously.
+     
+    
+
+    
+
+     
+      Fix possible mishandling of expanded arrays in domain check
+      constraints and CASE execution (Tom Lane)
+     
+
+     
+      It was possible for a PL/pgSQL function invoked in these contexts to
+      modify or even delete an array value that needs to be preserved for
+      additional operations.
+     
+    
+
+    
+
+     
+      Fix nested uses of PL/pgSQL functions in contexts such as domain
+      check constraints evaluated during assignment to a PL/pgSQL variable
+      (Tom Lane)
+     
+    
+
+    
+
+     
+      Ensure that the Python exception objects we create for PL/Python are
+      properly reference-counted (Rafa de la Torre, Tom Lane)
+     
+
+     
+      This avoids failures if the objects are used after a Python garbage
+      collection cycle has occurred.
+     
+    
+
+    
+
+     
+      Fix PL/Tcl to support triggers on tables that have .tupno
+      as a column name (Tom Lane)
+     
+
+     
+      This matches the (previously undocumented) behavior of
+      PL/Tcl's spi_exec and spi_execp commands,
+      namely that a magic .tupno column is inserted only if
+      there isn't a real column named that.
+     
+    
+
+    
+
+     
+      Allow DOS-style line endings in ~/.pgpass files,
+      even on Unix (Vik Fearing)
+     
+
+     
+      This change simplifies use of the same password file across Unix and
+      Windows machines.
+     
+    
+
+    
+
+     
+      Fix one-byte buffer overrun if ecpg is given a file
+      name that ends with a dot (Takayuki Tsunakawa)
+     
+    
+
+    
+
+     
+      Fix incorrect error reporting for duplicate data
+      in psql's \crosstabview (Tom Lane)
+     
+
+     
+      psql sometimes quoted the wrong row and/or column
+      values when complaining about multiple entries for the same crosstab
+      cell.
+     
+    
+
+    
+
+     
+      Fix psql's tab completion for ALTER DEFAULT
+      PRIVILEGES (Gilles Darold, Stephen Frost)
+     
+    
+
+    
+
+     
+      Fix psql's tab completion for ALTER TABLE t
+      ALTER c DROP ... (Kyotaro Horiguchi)
+     
+    
+
+    
+
+     
+      In psql, treat an empty or all-blank setting of
+      the PAGER environment variable as meaning no
+      pager (Tom Lane)
+     
+
+     
+      Previously, such a setting caused output intended for the pager to
+      vanish entirely.
+     
+    
+
+    
+
+     
+      Improve contrib/dblink's reporting of
+      low-level libpq errors, such as out-of-memory
+      (Joe Conway)
+     
+    
+
+    
+
+     
+      Teach contrib/dblink to ignore irrelevant server options
+      when it uses a contrib/postgres_fdw foreign server as
+      the source of connection options (Corey Huinker)
+     
+
+     
+      Previously, if the foreign server object had options that were not
+      also libpq connection options, an error occurred.
+     
+    
+
+    
+
+     
+      Fix portability problems in contrib/pageinspect's
+      functions for GIN indexes (Peter Eisentraut, Tom Lane)
+     
+    
+
+    
+
+     
+      Fix possible miss of socket read events while waiting on Windows
+      (Amit Kapial)
+     
+
+     
+      This error was harmless for most uses, but it is known to cause hangs
+      when trying to use the pldebugger extension.
+     
+    
+
+    
+
+     
+      On Windows, ensure that environment variable changes are propagated
+      to DLLs built with debug options (Christian Ullrich)
+     
+    
+
+    
+
+     
+      Sync our copy of the timezone library with IANA release tzcode2016j
+      (Tom Lane)
+     
+
+     
+      This fixes various issues, most notably that timezone data
+      installation failed if the target directory didn't support hard
+      links.
+     
+    
+
+    
+
+     
+      Update time zone data files to tzdata release 2016j
+      for DST law changes in northern Cyprus (adding a new zone
+      Asia/Famagusta), Russia (adding a new zone Europe/Saratov), Tonga,
+      and Antarctica/Casey.
+      Historical corrections for Italy, Kazakhstan, Malta, and Palestine.
+      Switch to preferring numeric zone abbreviations for Tonga.
+     
+    
+
+   
+
+  
+
  
   Release 9.6.1