First-draft release notes for 10.5.
authorTom Lane
Fri, 3 Aug 2018 22:08:57 +0000 (18:08 -0400)
committerTom Lane
Fri, 3 Aug 2018 22:09:20 +0000 (18:09 -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-10.sgml

index 5862cd83eb707b3e3185e3ba053e8c0831feb576..9fac46513177b459ea184d7209a96945752b1720 100644 (file)
@@ -1,6 +1,978 @@
 
 
 
+  Release 10.5
+
+  
+  Release date:
+  2018-08-09
+  
+
+  
+   This release contains a variety of fixes from 10.4.
+   For information about new features in major release 10, see
+   .
+  
+
+  
+   Migration to Version 10.5
+
+   
+    A dump/restore is not required for those running 10.X.
+   
+
+   
+    However, if you are upgrading from a version earlier than 10.4,
+    see .
+   
+  
+
+  
+   Changes
+
+   
+
+    
+
+     
+      Ensure that updates to the relfrozenxid
+      and relminmxid values
+      for nailed system catalogs are processed in a timely
+      fashion (Andres Freund)
+     
+
+     
+      Overoptimistic caching rules could prevent these updates from being
+      seen by other sessions, leading to spurious errors and/or data
+      corruption.  The problem was significantly worse for shared catalogs,
+      such as pg_authid, because the stale cache
+      data could persist into new sessions as well as existing ones.
+     
+    
+
+    
+
+     
+      Fix case where a freshly-promoted standby crashes before having
+      completed its first post-recovery checkpoint (Michael Paquier, Kyotaro
+      Horiguchi, Pavan Deolasee, Álvaro Herrera)
+     
+
+     
+      This led to a situation where the server did not think it had reached
+      a consistent database state during subsequent WAL replay, preventing
+      restart.
+     
+    
+
+    
+
+     
+      Avoid emitting a bogus WAL record when recycling an all-zero btree
+      page (Amit Kapila)
+     
+
+     
+      This mistake has been seen to cause assertion failures, and
+      potentially it could result in unnecessary query cancellations on hot
+      standby servers.
+     
+    
+
+    
+
+     
+      During WAL replay, guard against corrupted record lengths exceeding
+      1GB (Michael Paquier)
+     
+
+     
+      Treat such a case as corrupt data.  Previously, the code would try to
+      allocate space and get a hard error, making recovery impossible.
+     
+    
+
+    
+
+     
+      When ending recovery, delay writing the timeline history file as long
+      as possible (Heikki Linnakangas)
+     
+
+     
+      This avoids some situations where a failure during recovery cleanup
+      (such as a problem with a two-phase state file) led to inconsistent
+      timeline state on-disk.
+     
+    
+
+    
+
+     
+      Improve performance of WAL replay for transactions that drop many
+      relations (Fujii Masao)
+     
+
+     
+      This change reduces the number of times that shared buffers are
+      scanned, so that it is of most benefit when that setting is large.
+     
+    
+
+    
+
+     
+      Improve performance of lock releasing in standby server WAL replay
+      (Thomas Munro)
+     
+    
+
+    
+
+     
+      Make logical WAL senders report streaming state correctly (Simon
+      Riggs, Sawada Masahiko)
+     
+
+     
+      The code previously mis-detected whether or not it had caught up with
+      the upstream server.
+     
+    
+
+    
+
+     
+      Ensure that a snapshot is provided when executing data type input
+      functions in logical replication subscribers (Minh-Quan Tran,
+      Álvaro Herrera)
+     
+
+     
+      This omission led to failures in some cases, such as domains with
+      constraints using SQL-language functions.
+     
+    
+
+    
+
+     
+      Fix bugs in snapshot handling during logical decoding, allowing wrong
+      decoding results in rare cases (Arseny Sher, Álvaro Herrera)
+     
+    
+
+    
+
+     
+      Add subtransaction handling in logical-replication table
+      synchronization workers (Amit Khandekar, Robert Haas)
+     
+
+     
+      Previously, table synchronization could misbehave if any
+      subtransactions were aborted after modifying a table being
+      synchronized.
+     
+    
+
+    
+
+     
+      Fix mishandling of empty uncompressed posting list pages in GIN
+      indexes (Sivasubramanian Ramasubramanian, Alexander Korotkov)
+     
+
+     
+      This could result in an assertion failure after pg_upgrade of a
+      pre-9.4 GIN index (9.4 and later will not create such pages).
+     
+    
+
+    
+
+     
+      Pad arrays of unnamed POSIX semaphores to reduce cache line sharing
+      (Thomas Munro)
+     
+
+     
+      This reduces contention on many-CPU systems, fixing a performance
+      regression (compared to previous releases) on Linux and FreeBSD.
+     
+    
+
+    
+
+     
+      Ensure that a process doing a parallel index scan will respond to
+      signals (Amit Kapila)
+     
+
+     
+      Previously, parallel workers could get stuck waiting for a lock on an
+      index page, and not notice requests to abort the query.
+     
+    
+
+    
+
+     
+      Ensure that VACUUM will respond to signals
+      within btree page deletion loops (Andres Freund)
+     
+
+     
+      Corrupted btree indexes could result in an infinite loop here, and
+      that previously wasn't interruptable without forcing a crash.
+     
+    
+
+    
+
+     
+      Fix hash-join costing mistake introduced with inner_unique
+      optimization (David Rowley)
+     
+
+     
+      This could lead to bad plan choices in situations where that
+      optimization was applicable.
+     
+    
+
+    
+
+     
+      Fix misoptimization of equivalence classes involving composite-type
+      columns (Tom Lane)
+     
+
+     
+      This resulted in failure to recognize that an index on a composite
+      column could provide the sort order needed for a mergejoin on that
+      column.
+     
+    
+
+    
+
+     
+      Fix planner to avoid ORDER/GROUP BY expression not found in
+      targetlist errors in some queries with set-returning functions
+      (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix handling of partition keys whose data type uses a polymorphic
+      btree operator class, such as arrays (Amit Langote, Álvaro
+      Herrera)
+     
+    
+
+    
+
+     
+      Fix SQL-standard FETCH FIRST syntax to allow
+      parameters ($n), as the
+      standard expects (Andrew Gierth)
+     
+    
+
+    
+
+     
+      Remove undocumented restriction against duplicate partition key
+      columns (Yugo Nagata)
+     
+    
+
+    
+
+     
+      Disallow temporary tables from being partitions of non-temporary
+      tables (Amit Langote, Michael Paquier)
+     
+
+     
+      While previously allowed, this case didn't work reliably.
+     
+    
+
+    
+
+     
+      Fix EXPLAIN's accounting for resource usage,
+      particularly buffer accesses, in parallel workers
+      (Amit Kapila, Robert Haas)
+     
+    
+
+    
+
+     
+      Fix SHOW ALL to show all settings to roles that are
+      members of pg_read_all_settings, and also allow
+      such roles to see source filename and line number in
+      the pg_settings view (Laurenz Albe,
+      Álvaro Herrera)
+     
+    
+
+    
+
+     
+      Fix failure to schema-qualify some object names
+      in getObjectDescription
+      and getObjectIdentity output
+      (Kyotaro Horiguchi, Tom Lane)
+     
+
+     
+      Names of collations, conversions, text search objects, publication
+      relations, and extended statistics objects were not schema-qualified
+      when they should be.
+     
+    
+
+    
+
+     
+      Fix CREATE AGGREGATE type checking so that
+      parallelism support functions can be attached to variadic aggregates
+      (Alexey Bashtanov)
+     
+    
+
+    
+
+     
+      Widen COPY FROM's current-line-number counter
+      from 32 to 64 bits (David Rowley)
+     
+
+     
+      This avoids two problems with input exceeding 4G lines: COPY
+      FROM WITH HEADER would drop a line every 4G lines, not only
+      the first line, and error reports could show a wrong line number.
+     
+    
+
+    
+
+     
+      Allow replication slots to be dropped in single-user mode
+      (Álvaro Herrera)
+     
+
+     
+      This use-case was accidentally broken in release 10.0.
+     
+    
+
+    
+
+     
+      Fix incorrect results from variance(int4) and
+      related aggregates when run in parallel aggregation mode
+      (David Rowley)
+     
+    
+
+    
+
+     
+      Process TEXT and CDATA nodes
+      correctly in xmltable() column expressions
+      (Markus Winand)
+     
+    
+
+    
+
+     
+      Cope with possible failure of OpenSSL's
+      RAND_bytes() function
+      (Dean Rasheed, Michael Paquier)
+     
+
+     
+      Under rare circumstances, this oversight could result in could
+      not generate random cancel key failures that could only be
+      resolved by restarting the postmaster.
+     
+    
+
+    
+
+     
+      Fix libpq's handling of some cases
+      where hostaddr is specified
+      (Hari Babu, Tom Lane, Robert Haas)
+     
+
+     
+      PQhost() gave misleading or incorrect results
+      in some cases.  Now, it uniformly returns the host name if specified,
+      or the host address if only that is specified, or the default host
+      name (typically /tmp
+      or localhost) if both parameters are omitted.
+     
+
+     
+      Also, the wrong value might be compared to the server name when
+      verifying an SSL certificate.
+     
+
+     
+      Also, the wrong value might be compared to the host name field in
+      ~/.pgpass.  Now, that field is compared to the
+      host name if specified, or the host address if only that is specified,
+      or localhost if both parameters are omitted.
+     
+
+     
+      Also, an incorrect error message was reported for an unparseable
+      hostaddr value.
+     
+
+     
+      Also, when the hosthostaddr,
+      or port parameters contain comma-separated
+      lists, libpq is now more careful to treat
+      empty elements of a list as selecting the default behavior.
+     
+    
+
+    
+
+     
+      Add a string freeing function
+      to ecpg's pgtypes
+      library, so that cross-module memory management problems can be
+      avoided on Windows (Takayuki Tsunakawa)
+     
+
+     
+      On Windows, crashes can ensue if the free call
+      for a given chunk of memory is not made from the same DLL
+      that malloc'ed the memory.
+      The pgtypes library sometimes returns strings
+      that it expects the caller to free, making it impossible to follow
+      this rule.  Add a PGTYPESchar_free() function
+      that just wraps free, allowing applications
+      to follow this rule.
+     
+    
+
+    
+
+     
+      Fix ecpg's support for long
+      long variables on Windows, as well as other platforms that
+      declare strtoll/strtoull
+      nonstandardly or not at all (Dang Minh Huong, Tom Lane)
+     
+    
+
+    
+
+     
+      Fix misidentification of SQL statement type in PL/pgSQL, when a rule
+      change causes a change in the semantics of a statement intra-session
+      (Tom Lane)
+     
+
+     
+      This error led to assertion failures, or in rare cases, failure to
+      enforce the INTO STRICT option as expected.
+     
+    
+
+    
+
+     
+      Fix password prompting in client programs so that echo is properly
+      disabled on Windows when stdin is not the
+      terminal (Matthew Stickney)
+     
+    
+
+    
+
+     
+      Further fix mis-quoting of values for list-valued GUC variables in
+      dumps (Tom Lane)
+     
+
+     
+      The previous fix for quoting of search_path and
+      other list-valued variables in pg_dump
+      output turned out to misbehave for empty-string list elements, and it
+      risked truncation of long file paths.
+     
+    
+
+    
+
+     
+      Fix pg_dump's failure to
+      dump REPLICA IDENTITY properties for constraint
+      indexes (Tom Lane)
+     
+
+     
+      Manually-created unique indexes were properly marked, but not those
+      created by declaring UNIQUE or PRIMARY
+      KEY constraints.
+     
+    
+
+    
+
+     
+      Make pg_upgrade check that the old server
+      was shut down cleanly (Bruce Momjian)
+     
+
+     
+      The previous check could be fooled by an immediate-mode shutdown.
+     
+    
+
+    
+
+     
+      Fix contrib/hstore_plperl to look through Perl
+      scalar references, and to not crash if it doesn't find a hash
+      reference where it expects one (Tom Lane)
+     
+    
+
+    
+
+     
+      Fix crash in contrib/ltree's
+      lca() function when the input array is empty
+      (Pierre Ducroquet)
+     
+    
+
+    
+
+     
+      Fix various error-handling code paths in which an incorrect error code
+      might be reported (Michael Paquier, Tom Lane, Magnus Hagander)
+     
+    
+
+    
+
+     
+      Rearrange makefiles to ensure that programs link to freshly-built
+      libraries (such as libpq.so) rather than ones
+      that might exist in the system library directories (Tom Lane)
+     
+
+     
+      This avoids problems when building on platforms that supply old copies
+      of PostgreSQL libraries.
+     
+    
+
+    
+
+     
+      Update time zone data files to tzdata
+      release 2018e for DST law changes in North Korea, plus historical
+      corrections for Czechoslovakia.
+     
+
+     
+      This update includes a redefinition of daylight savings
+      in Ireland, as well as for some past years in Namibia and
+      Czechoslovakia.  In those jurisdictions, legally standard time is
+      observed in summer, and daylight savings time in winter, so that the
+      daylight savings offset is one hour behind standard time not one hour
+      ahead.  This does not affect either the actual UTC offset or the
+      timezone abbreviations in use; the only known effect is that
+      the is_dst column in
+      the pg_timezone_names view will now be true
+      in winter and false in summer in these cases.
+     
+    
+
+   
+
+  
+
  
   Release 10.4