]> granicus.if.org Git - postgresql/commitdiff
Release notes for 10.2, 9.6.7, 9.5.11, 9.4.16, 9.3.21.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 4 Feb 2018 20:13:44 +0000 (15:13 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 4 Feb 2018 20:13:44 +0000 (15:13 -0500)
doc/src/sgml/release-9.3.sgml
doc/src/sgml/release-9.4.sgml
doc/src/sgml/release-9.5.sgml
doc/src/sgml/release-9.6.sgml

index b198f85d802c29ee28e888781df79b6b3992ed0b..8be44e33f610378e1347ff7b491d682d2ed1fd2a 100644 (file)
@@ -1,6 +1,306 @@
 <!-- doc/src/sgml/release-9.3.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-3-21">
+  <title>Release 9.3.21</title>
+
+  <formalpara>
+  <title>Release date:</title>
+  <para>2018-02-08</para>
+  </formalpara>
+
+  <para>
+   This release contains a variety of fixes from 9.3.20.
+   For information about new features in the 9.3 major release, see
+   <xref linkend="release-9-3">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 9.3.21</title>
+
+   <para>
+    A dump/restore is not required for those running 9.3.X.
+   </para>
+
+   <para>
+    However, if you are upgrading from a version earlier than 9.3.18,
+    see <xref linkend="release-9-3-18">.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix vacuuming of tuples that were updated while key-share locked
+      (Andres Freund, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      In some cases <command>VACUUM</command> would fail to remove such
+      tuples even though they are now dead, leading to assorted data
+      corruption scenarios.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix inadequate buffer locking in some LSN fetches (Jacob Champion,
+      Asim Praveen, Ashwin Agrawal)
+     </para>
+
+     <para>
+      These errors could result in misbehavior under concurrent load.
+      The potential consequences have not been characterized fully.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid unnecessary failure in a query on an inheritance tree that
+      occurs concurrently with some child table being removed from the tree
+      by <command>ALTER TABLE NO INHERIT</command> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Repair failure with correlated sub-<literal>SELECT</literal>
+      inside <literal>VALUES</literal> inside a <literal>LATERAL</literal>
+      subquery (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <quote>could not devise a query plan for the given query</quote>
+      planner failure for some cases involving nested <literal>UNION
+      ALL</literal> inside a lateral subquery (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <function>has_sequence_privilege()</function> to
+      support <literal>WITH GRANT OPTION</literal> tests,
+      as other privilege-testing functions do (Joe Conway)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In databases using UTF8 encoding, ignore any XML declaration that
+      asserts a different encoding (Pavel Stehule, Noah Misch)
+     </para>
+
+     <para>
+      We always store XML strings in the database encoding, so allowing
+      libxml to act on a declaration of another encoding gave wrong results.
+      In encodings other than UTF8, we don't promise to support non-ASCII
+      XML data anyway, so retain the previous behavior for bug compatibility.
+      This change affects only <function>xpath()</function> and related
+      functions; other XML code paths already acted this way.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Provide for forward compatibility with future minor protocol versions
+      (Robert Haas, Badrul Chowdhury)
+     </para>
+
+     <para>
+      Up to now, <productname>PostgreSQL</productname> servers simply
+      rejected requests to use protocol versions newer than 3.0, so that
+      there was no functional difference between the major and minor parts
+      of the protocol version number.  Allow clients to request versions 3.x
+      without failing, sending back a message showing that the server only
+      understands 3.0.  This makes no difference at the moment, but
+      back-patching this change should allow speedier introduction of future
+      minor protocol upgrades.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent stack-overflow crashes when planning extremely deeply
+      nested set operations
+      (<literal>UNION</literal>/<literal>INTERSECT</literal>/<literal>EXCEPT</literal>)
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix null-pointer crashes for some types of LDAP URLs appearing
+      in <filename>pg_hba.conf</filename> (Thomas Munro)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix sample <function>INSTR()</function> functions in the PL/pgSQL
+      documentation (Yugo Nagata, Tom Lane)
+     </para>
+
+     <para>
+      These functions are stated to
+      be <trademark class="registered">Oracle</trademark> compatible, but
+      they weren't exactly.  In particular, there was a discrepancy in the
+      interpretation of a negative third parameter: Oracle thinks that a
+      negative value indicates the last place where the target substring can
+      begin, whereas our functions took it as the last place where the
+      target can end.  Also, Oracle throws an error for a zero or negative
+      fourth parameter, whereas our functions returned zero.
+     </para>
+
+     <para>
+      The sample code has been adjusted to match Oracle's behavior more
+      precisely.  Users who have copied this code into their applications
+      may wish to update their copies.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</application> to make ACL (permissions),
+      comment, and security label entries reliably identifiable in archive
+      output formats (Tom Lane)
+     </para>
+
+     <para>
+      The <quote>tag</quote> portion of an ACL archive entry was usually
+      just the name of the associated object.  Make it start with the object
+      type instead, bringing ACLs into line with the convention already used
+      for comment and security label archive entries.  Also, fix the
+      comment and security label entries for the whole database, if present,
+      to make their tags start with <literal>DATABASE</literal> so that they
+      also follow this convention.  This prevents false matches in code that
+      tries to identify large-object-related entries by seeing if the tag
+      starts with <literal>LARGE OBJECT</literal>.  That could have resulted
+      in misclassifying entries as data rather than schema, with undesirable
+      results in a schema-only or data-only dump.
+     </para>
+
+     <para>
+      Note that this change has user-visible results in the output
+      of <command>pg_restore --list</command>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>ecpg</application>, detect indicator arrays that do
+      not have the correct length and report an error (David Rader)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid triggering a libc assertion
+      in <filename>contrib/hstore</filename>, due to use
+      of <function>memcpy()</function> with equal source and destination
+      pointers (Tomas Vondra)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Provide modern examples of how to auto-start Postgres on macOS
+      (Tom Lane)
+     </para>
+
+     <para>
+      The scripts in <filename>contrib/start-scripts/osx</filename> use
+      infrastructure that's been deprecated for over a decade, and which no
+      longer works at all in macOS releases of the last couple of years.
+      Add a new subdirectory <filename>contrib/start-scripts/macos</filename>
+      containing scripts that use the newer <application>launchd</application>
+      infrastructure.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect selection of configuration-specific libraries for
+      OpenSSL on Windows (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support linking to MinGW-built versions of libperl (Noah Misch)
+     </para>
+
+     <para>
+      This allows building PL/Perl with some common Perl distributions for
+      Windows.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix MSVC build to test whether 32-bit libperl
+      needs <literal>-D_USE_32BIT_TIME_T</literal> (Noah Misch)
+     </para>
+
+     <para>
+      Available Perl distributions are inconsistent about what they expect,
+      and lack any reliable means of reporting it, so resort to a build-time
+      test on what the library being used actually does.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      On Windows, install the crash dump handler earlier in postmaster
+      startup (Takayuki Tsunakawa)
+     </para>
+
+     <para>
+      This may allow collection of a core dump for some early-startup
+      failures that did not produce a dump before.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      On Windows, avoid encoding-conversion-related crashes when emitting
+      messages very early in postmaster startup (Takayuki Tsunakawa)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Use our existing Motorola 68K spinlock code on OpenBSD as
+      well as NetBSD (David Carlier)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Add support for spinlocks on Motorola 88K (David Carlier)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018c for DST law changes in Brazil, Sao Tome and Principe,
+      plus historical corrections for Bolivia, Japan, and South Sudan.
+      The <literal>US/Pacific-New</literal> zone has been removed (it was
+      only an alias for <literal>America/Los_Angeles</literal> anyway).
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-3-20">
   <title>Release 9.3.20</title>
 
index 722a105c89c5e815894bd994e4e23804db092b3c..8817fea473dd55ae28378d785da6964899fbf4f0 100644 (file)
@@ -1,6 +1,347 @@
 <!-- doc/src/sgml/release-9.4.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-4-16">
+  <title>Release 9.4.16</title>
+
+  <formalpara>
+  <title>Release date:</title>
+  <para>2018-02-08</para>
+  </formalpara>
+
+  <para>
+   This release contains a variety of fixes from 9.4.15.
+   For information about new features in the 9.4 major release, see
+   <xref linkend="release-9-4">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 9.4.16</title>
+
+   <para>
+    A dump/restore is not required for those running 9.4.X.
+   </para>
+
+   <para>
+    However, if you are upgrading from a version earlier than 9.4.13,
+    see <xref linkend="release-9-4-13">.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix vacuuming of tuples that were updated while key-share locked
+      (Andres Freund, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      In some cases <command>VACUUM</command> would fail to remove such
+      tuples even though they are now dead, leading to assorted data
+      corruption scenarios.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix inadequate buffer locking in some LSN fetches (Jacob Champion,
+      Asim Praveen, Ashwin Agrawal)
+     </para>
+
+     <para>
+      These errors could result in misbehavior under concurrent load.
+      The potential consequences have not been characterized fully.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid unnecessary failure in a query on an inheritance tree that
+      occurs concurrently with some child table being removed from the tree
+      by <command>ALTER TABLE NO INHERIT</command> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix spurious deadlock failures when multiple sessions are
+      running <command>CREATE INDEX CONCURRENTLY</command> (Jeff Janes)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Repair failure with correlated sub-<literal>SELECT</literal>
+      inside <literal>VALUES</literal> inside a <literal>LATERAL</literal>
+      subquery (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <quote>could not devise a query plan for the given query</quote>
+      planner failure for some cases involving nested <literal>UNION
+      ALL</literal> inside a lateral subquery (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix logical decoding to correctly clean up disk files for crashed
+      transactions (Atsushi Torikoshi)
+     </para>
+
+     <para>
+      Logical decoding may spill WAL records to disk for transactions
+      generating many WAL records.  Normally these files are cleaned up
+      after the transaction's commit or abort record arrives; but if
+      no such record is ever seen, the removal code misbehaved.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix walsender timeout failure and failure to respond to interrupts
+      when processing a large transaction (Petr Jelinek)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <function>has_sequence_privilege()</function> to
+      support <literal>WITH GRANT OPTION</literal> tests,
+      as other privilege-testing functions do (Joe Conway)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In databases using UTF8 encoding, ignore any XML declaration that
+      asserts a different encoding (Pavel Stehule, Noah Misch)
+     </para>
+
+     <para>
+      We always store XML strings in the database encoding, so allowing
+      libxml to act on a declaration of another encoding gave wrong results.
+      In encodings other than UTF8, we don't promise to support non-ASCII
+      XML data anyway, so retain the previous behavior for bug compatibility.
+      This change affects only <function>xpath()</function> and related
+      functions; other XML code paths already acted this way.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Provide for forward compatibility with future minor protocol versions
+      (Robert Haas, Badrul Chowdhury)
+     </para>
+
+     <para>
+      Up to now, <productname>PostgreSQL</productname> servers simply
+      rejected requests to use protocol versions newer than 3.0, so that
+      there was no functional difference between the major and minor parts
+      of the protocol version number.  Allow clients to request versions 3.x
+      without failing, sending back a message showing that the server only
+      understands 3.0.  This makes no difference at the moment, but
+      back-patching this change should allow speedier introduction of future
+      minor protocol upgrades.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Cope with failure to start a parallel worker process
+      (Amit Kapila, Robert Haas)
+     </para>
+
+     <para>
+      Parallel query previously tended to hang indefinitely if a worker
+      could not be started, as the result of <literal>fork()</literal>
+      failure or other low-probability problems.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent stack-overflow crashes when planning extremely deeply
+      nested set operations
+      (<literal>UNION</literal>/<literal>INTERSECT</literal>/<literal>EXCEPT</literal>)
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix null-pointer crashes for some types of LDAP URLs appearing
+      in <filename>pg_hba.conf</filename> (Thomas Munro)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix sample <function>INSTR()</function> functions in the PL/pgSQL
+      documentation (Yugo Nagata, Tom Lane)
+     </para>
+
+     <para>
+      These functions are stated to
+      be <trademark class="registered">Oracle</trademark> compatible, but
+      they weren't exactly.  In particular, there was a discrepancy in the
+      interpretation of a negative third parameter: Oracle thinks that a
+      negative value indicates the last place where the target substring can
+      begin, whereas our functions took it as the last place where the
+      target can end.  Also, Oracle throws an error for a zero or negative
+      fourth parameter, whereas our functions returned zero.
+     </para>
+
+     <para>
+      The sample code has been adjusted to match Oracle's behavior more
+      precisely.  Users who have copied this code into their applications
+      may wish to update their copies.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</application> to make ACL (permissions),
+      comment, and security label entries reliably identifiable in archive
+      output formats (Tom Lane)
+     </para>
+
+     <para>
+      The <quote>tag</quote> portion of an ACL archive entry was usually
+      just the name of the associated object.  Make it start with the object
+      type instead, bringing ACLs into line with the convention already used
+      for comment and security label archive entries.  Also, fix the
+      comment and security label entries for the whole database, if present,
+      to make their tags start with <literal>DATABASE</literal> so that they
+      also follow this convention.  This prevents false matches in code that
+      tries to identify large-object-related entries by seeing if the tag
+      starts with <literal>LARGE OBJECT</literal>.  That could have resulted
+      in misclassifying entries as data rather than schema, with undesirable
+      results in a schema-only or data-only dump.
+     </para>
+
+     <para>
+      Note that this change has user-visible results in the output
+      of <command>pg_restore --list</command>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>ecpg</application>, detect indicator arrays that do
+      not have the correct length and report an error (David Rader)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid triggering a libc assertion
+      in <filename>contrib/hstore</filename>, due to use
+      of <function>memcpy()</function> with equal source and destination
+      pointers (Tomas Vondra)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Provide modern examples of how to auto-start Postgres on macOS
+      (Tom Lane)
+     </para>
+
+     <para>
+      The scripts in <filename>contrib/start-scripts/osx</filename> use
+      infrastructure that's been deprecated for over a decade, and which no
+      longer works at all in macOS releases of the last couple of years.
+      Add a new subdirectory <filename>contrib/start-scripts/macos</filename>
+      containing scripts that use the newer <application>launchd</application>
+      infrastructure.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect selection of configuration-specific libraries for
+      OpenSSL on Windows (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support linking to MinGW-built versions of libperl (Noah Misch)
+     </para>
+
+     <para>
+      This allows building PL/Perl with some common Perl distributions for
+      Windows.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix MSVC build to test whether 32-bit libperl
+      needs <literal>-D_USE_32BIT_TIME_T</literal> (Noah Misch)
+     </para>
+
+     <para>
+      Available Perl distributions are inconsistent about what they expect,
+      and lack any reliable means of reporting it, so resort to a build-time
+      test on what the library being used actually does.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      On Windows, install the crash dump handler earlier in postmaster
+      startup (Takayuki Tsunakawa)
+     </para>
+
+     <para>
+      This may allow collection of a core dump for some early-startup
+      failures that did not produce a dump before.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      On Windows, avoid encoding-conversion-related crashes when emitting
+      messages very early in postmaster startup (Takayuki Tsunakawa)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Use our existing Motorola 68K spinlock code on OpenBSD as
+      well as NetBSD (David Carlier)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Add support for spinlocks on Motorola 88K (David Carlier)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018c for DST law changes in Brazil, Sao Tome and Principe,
+      plus historical corrections for Bolivia, Japan, and South Sudan.
+      The <literal>US/Pacific-New</literal> zone has been removed (it was
+      only an alias for <literal>America/Los_Angeles</literal> anyway).
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-4-15">
   <title>Release 9.4.15</title>
 
index 86a3c309c05e8b413eee13e0e0b475e828f654c8..aa5fa2c5c9485085cba0f95363b986a82a7dff5e 100644 (file)
@@ -1,6 +1,399 @@
 <!-- doc/src/sgml/release-9.5.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-5-11">
+  <title>Release 9.5.11</title>
+
+  <formalpara>
+  <title>Release date:</title>
+  <para>2018-02-08</para>
+  </formalpara>
+
+  <para>
+   This release contains a variety of fixes from 9.5.10.
+   For information about new features in the 9.5 major release, see
+   <xref linkend="release-9-5">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 9.5.11</title>
+
+   <para>
+    A dump/restore is not required for those running 9.5.X.
+   </para>
+
+   <para>
+    However, if you are upgrading from a version earlier than 9.5.10,
+    see <xref linkend="release-9-5-10">.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix vacuuming of tuples that were updated while key-share locked
+      (Andres Freund, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      In some cases <command>VACUUM</command> would fail to remove such
+      tuples even though they are now dead, leading to assorted data
+      corruption scenarios.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix inadequate buffer locking in some LSN fetches (Jacob Champion,
+      Asim Praveen, Ashwin Agrawal)
+     </para>
+
+     <para>
+      These errors could result in misbehavior under concurrent load.
+      The potential consequences have not been characterized fully.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect query results from cases involving flattening of
+      subqueries whose outputs are used in <literal>GROUPING SETS</literal>
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid unnecessary failure in a query on an inheritance tree that
+      occurs concurrently with some child table being removed from the tree
+      by <command>ALTER TABLE NO INHERIT</command> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix spurious deadlock failures when multiple sessions are
+      running <command>CREATE INDEX CONCURRENTLY</command> (Jeff Janes)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix failures when an inheritance tree contains foreign child tables
+      (Etsuro Fujita)
+     </para>
+
+     <para>
+      A mix of regular and foreign tables in an inheritance tree resulted in
+      creation of incorrect plans for <command>UPDATE</command>
+      and <command>DELETE</command> queries.  This led to visible failures in
+      some cases, notably when there are row-level triggers on a foreign
+      child table.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Repair failure with correlated sub-<literal>SELECT</literal>
+      inside <literal>VALUES</literal> inside a <literal>LATERAL</literal>
+      subquery (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <quote>could not devise a query plan for the given query</quote>
+      planner failure for some cases involving nested <literal>UNION
+      ALL</literal> inside a lateral subquery (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix logical decoding to correctly clean up disk files for crashed
+      transactions (Atsushi Torikoshi)
+     </para>
+
+     <para>
+      Logical decoding may spill WAL records to disk for transactions
+      generating many WAL records.  Normally these files are cleaned up
+      after the transaction's commit or abort record arrives; but if
+      no such record is ever seen, the removal code misbehaved.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix walsender timeout failure and failure to respond to interrupts
+      when processing a large transaction (Petr Jelinek)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <function>has_sequence_privilege()</function> to
+      support <literal>WITH GRANT OPTION</literal> tests,
+      as other privilege-testing functions do (Joe Conway)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In databases using UTF8 encoding, ignore any XML declaration that
+      asserts a different encoding (Pavel Stehule, Noah Misch)
+     </para>
+
+     <para>
+      We always store XML strings in the database encoding, so allowing
+      libxml to act on a declaration of another encoding gave wrong results.
+      In encodings other than UTF8, we don't promise to support non-ASCII
+      XML data anyway, so retain the previous behavior for bug compatibility.
+      This change affects only <function>xpath()</function> and related
+      functions; other XML code paths already acted this way.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Provide for forward compatibility with future minor protocol versions
+      (Robert Haas, Badrul Chowdhury)
+     </para>
+
+     <para>
+      Up to now, <productname>PostgreSQL</productname> servers simply
+      rejected requests to use protocol versions newer than 3.0, so that
+      there was no functional difference between the major and minor parts
+      of the protocol version number.  Allow clients to request versions 3.x
+      without failing, sending back a message showing that the server only
+      understands 3.0.  This makes no difference at the moment, but
+      back-patching this change should allow speedier introduction of future
+      minor protocol upgrades.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Cope with failure to start a parallel worker process
+      (Amit Kapila, Robert Haas)
+     </para>
+
+     <para>
+      Parallel query previously tended to hang indefinitely if a worker
+      could not be started, as the result of <literal>fork()</literal>
+      failure or other low-probability problems.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid unsafe alignment assumptions when working
+      with <type>__int128</type> (Tom Lane)
+     </para>
+
+     <para>
+      Typically, compilers assume that <type>__int128</type> variables are
+      aligned on 16-byte boundaries, but our memory allocation
+      infrastructure isn't prepared to guarantee that, and increasing the
+      setting of MAXALIGN seems infeasible for multiple reasons.  Adjust the
+      code to allow use of <type>__int128</type> only when we can tell the
+      compiler to assume lesser alignment.  The only known symptom of this
+      problem so far is crashes in some parallel aggregation queries.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent stack-overflow crashes when planning extremely deeply
+      nested set operations
+      (<literal>UNION</literal>/<literal>INTERSECT</literal>/<literal>EXCEPT</literal>)
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix null-pointer crashes for some types of LDAP URLs appearing
+      in <filename>pg_hba.conf</filename> (Thomas Munro)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix sample <function>INSTR()</function> functions in the PL/pgSQL
+      documentation (Yugo Nagata, Tom Lane)
+     </para>
+
+     <para>
+      These functions are stated to
+      be <trademark class="registered">Oracle</trademark> compatible, but
+      they weren't exactly.  In particular, there was a discrepancy in the
+      interpretation of a negative third parameter: Oracle thinks that a
+      negative value indicates the last place where the target substring can
+      begin, whereas our functions took it as the last place where the
+      target can end.  Also, Oracle throws an error for a zero or negative
+      fourth parameter, whereas our functions returned zero.
+     </para>
+
+     <para>
+      The sample code has been adjusted to match Oracle's behavior more
+      precisely.  Users who have copied this code into their applications
+      may wish to update their copies.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</application> to make ACL (permissions),
+      comment, and security label entries reliably identifiable in archive
+      output formats (Tom Lane)
+     </para>
+
+     <para>
+      The <quote>tag</quote> portion of an ACL archive entry was usually
+      just the name of the associated object.  Make it start with the object
+      type instead, bringing ACLs into line with the convention already used
+      for comment and security label archive entries.  Also, fix the
+      comment and security label entries for the whole database, if present,
+      to make their tags start with <literal>DATABASE</literal> so that they
+      also follow this convention.  This prevents false matches in code that
+      tries to identify large-object-related entries by seeing if the tag
+      starts with <literal>LARGE OBJECT</literal>.  That could have resulted
+      in misclassifying entries as data rather than schema, with undesirable
+      results in a schema-only or data-only dump.
+     </para>
+
+     <para>
+      Note that this change has user-visible results in the output
+      of <command>pg_restore --list</command>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Rename <application>pg_rewind</application>'s
+      <function>copy_file_range</function> function to avoid conflict
+      with new Linux system call of that name (Andres Freund)
+     </para>
+
+     <para>
+      This change prevents build failures with newer glibc versions.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>ecpg</application>, detect indicator arrays that do
+      not have the correct length and report an error (David Rader)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid triggering a libc assertion
+      in <filename>contrib/hstore</filename>, due to use
+      of <function>memcpy()</function> with equal source and destination
+      pointers (Tomas Vondra)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Provide modern examples of how to auto-start Postgres on macOS
+      (Tom Lane)
+     </para>
+
+     <para>
+      The scripts in <filename>contrib/start-scripts/osx</filename> use
+      infrastructure that's been deprecated for over a decade, and which no
+      longer works at all in macOS releases of the last couple of years.
+      Add a new subdirectory <filename>contrib/start-scripts/macos</filename>
+      containing scripts that use the newer <application>launchd</application>
+      infrastructure.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect selection of configuration-specific libraries for
+      OpenSSL on Windows (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support linking to MinGW-built versions of libperl (Noah Misch)
+     </para>
+
+     <para>
+      This allows building PL/Perl with some common Perl distributions for
+      Windows.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix MSVC build to test whether 32-bit libperl
+      needs <literal>-D_USE_32BIT_TIME_T</literal> (Noah Misch)
+     </para>
+
+     <para>
+      Available Perl distributions are inconsistent about what they expect,
+      and lack any reliable means of reporting it, so resort to a build-time
+      test on what the library being used actually does.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      On Windows, install the crash dump handler earlier in postmaster
+      startup (Takayuki Tsunakawa)
+     </para>
+
+     <para>
+      This may allow collection of a core dump for some early-startup
+      failures that did not produce a dump before.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      On Windows, avoid encoding-conversion-related crashes when emitting
+      messages very early in postmaster startup (Takayuki Tsunakawa)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Use our existing Motorola 68K spinlock code on OpenBSD as
+      well as NetBSD (David Carlier)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Add support for spinlocks on Motorola 88K (David Carlier)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018c for DST law changes in Brazil, Sao Tome and Principe,
+      plus historical corrections for Bolivia, Japan, and South Sudan.
+      The <literal>US/Pacific-New</literal> zone has been removed (it was
+      only an alias for <literal>America/Los_Angeles</literal> anyway).
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-5-10">
   <title>Release 9.5.10</title>
 
index 9c4974b9e065ef64d7b8eedbd196a83e4a1cbe35..6fb02dfaab77aec0ac420454ee6c03b8ecce0a74 100644 (file)
@@ -1,6 +1,463 @@
 <!-- doc/src/sgml/release-9.6.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-6-7">
+  <title>Release 9.6.7</title>
+
+  <formalpara>
+  <title>Release date:</title>
+  <para>2018-02-08</para>
+  </formalpara>
+
+  <para>
+   This release contains a variety of fixes from 9.6.6.
+   For information about new features in the 9.6 major release, see
+   <xref linkend="release-9-6">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 9.6.7</title>
+
+   <para>
+    A dump/restore is not required for those running 9.6.X.
+   </para>
+
+   <para>
+    However,
+    if you use <filename>contrib/cube</filename>'s <literal>~&gt;</literal>
+    operator, see the entry below about that.
+   </para>
+
+   <para>
+    Also, if you are upgrading from a version earlier than 9.6.6,
+    see <xref linkend="release-9-6-6">.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix vacuuming of tuples that were updated while key-share locked
+      (Andres Freund, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      In some cases <command>VACUUM</command> would fail to remove such
+      tuples even though they are now dead, leading to assorted data
+      corruption scenarios.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that vacuum will always clean up the pending-insertions list of
+      a GIN index (Masahiko Sawada)
+     </para>
+
+     <para>
+      This is necessary to ensure that dead index entries get removed.
+      The old code got it backwards, allowing vacuum to skip the cleanup if
+      some other process were running cleanup concurrently, thus risking
+      invalid entries being left behind in the index.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix inadequate buffer locking in some LSN fetches (Jacob Champion,
+      Asim Praveen, Ashwin Agrawal)
+     </para>
+
+     <para>
+      These errors could result in misbehavior under concurrent load.
+      The potential consequences have not been characterized fully.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect query results from cases involving flattening of
+      subqueries whose outputs are used in <literal>GROUPING SETS</literal>
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid unnecessary failure in a query on an inheritance tree that
+      occurs concurrently with some child table being removed from the tree
+      by <command>ALTER TABLE NO INHERIT</command> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix spurious deadlock failures when multiple sessions are
+      running <command>CREATE INDEX CONCURRENTLY</command> (Jeff Janes)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix failures when an inheritance tree contains foreign child tables
+      (Etsuro Fujita)
+     </para>
+
+     <para>
+      A mix of regular and foreign tables in an inheritance tree resulted in
+      creation of incorrect plans for <command>UPDATE</command>
+      and <command>DELETE</command> queries.  This led to visible failures in
+      some cases, notably when there are row-level triggers on a foreign
+      child table.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Repair failure with correlated sub-<literal>SELECT</literal>
+      inside <literal>VALUES</literal> inside a <literal>LATERAL</literal>
+      subquery (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <quote>could not devise a query plan for the given query</quote>
+      planner failure for some cases involving nested <literal>UNION
+      ALL</literal> inside a lateral subquery (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix logical decoding to correctly clean up disk files for crashed
+      transactions (Atsushi Torikoshi)
+     </para>
+
+     <para>
+      Logical decoding may spill WAL records to disk for transactions
+      generating many WAL records.  Normally these files are cleaned up
+      after the transaction's commit or abort record arrives; but if
+      no such record is ever seen, the removal code misbehaved.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix walsender timeout failure and failure to respond to interrupts
+      when processing a large transaction (Petr Jelinek)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <function>has_sequence_privilege()</function> to
+      support <literal>WITH GRANT OPTION</literal> tests,
+      as other privilege-testing functions do (Joe Conway)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In databases using UTF8 encoding, ignore any XML declaration that
+      asserts a different encoding (Pavel Stehule, Noah Misch)
+     </para>
+
+     <para>
+      We always store XML strings in the database encoding, so allowing
+      libxml to act on a declaration of another encoding gave wrong results.
+      In encodings other than UTF8, we don't promise to support non-ASCII
+      XML data anyway, so retain the previous behavior for bug compatibility.
+      This change affects only <function>xpath()</function> and related
+      functions; other XML code paths already acted this way.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Provide for forward compatibility with future minor protocol versions
+      (Robert Haas, Badrul Chowdhury)
+     </para>
+
+     <para>
+      Up to now, <productname>PostgreSQL</productname> servers simply
+      rejected requests to use protocol versions newer than 3.0, so that
+      there was no functional difference between the major and minor parts
+      of the protocol version number.  Allow clients to request versions 3.x
+      without failing, sending back a message showing that the server only
+      understands 3.0.  This makes no difference at the moment, but
+      back-patching this change should allow speedier introduction of future
+      minor protocol upgrades.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Cope with failure to start a parallel worker process
+      (Amit Kapila, Robert Haas)
+     </para>
+
+     <para>
+      Parallel query previously tended to hang indefinitely if a worker
+      could not be started, as the result of <literal>fork()</literal>
+      failure or other low-probability problems.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix collection of <command>EXPLAIN</command> statistics from parallel
+      workers (Amit Kapila, Thomas Munro)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid unsafe alignment assumptions when working
+      with <type>__int128</type> (Tom Lane)
+     </para>
+
+     <para>
+      Typically, compilers assume that <type>__int128</type> variables are
+      aligned on 16-byte boundaries, but our memory allocation
+      infrastructure isn't prepared to guarantee that, and increasing the
+      setting of MAXALIGN seems infeasible for multiple reasons.  Adjust the
+      code to allow use of <type>__int128</type> only when we can tell the
+      compiler to assume lesser alignment.  The only known symptom of this
+      problem so far is crashes in some parallel aggregation queries.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent stack-overflow crashes when planning extremely deeply
+      nested set operations
+      (<literal>UNION</literal>/<literal>INTERSECT</literal>/<literal>EXCEPT</literal>)
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix null-pointer crashes for some types of LDAP URLs appearing
+      in <filename>pg_hba.conf</filename> (Thomas Munro)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix sample <function>INSTR()</function> functions in the PL/pgSQL
+      documentation (Yugo Nagata, Tom Lane)
+     </para>
+
+     <para>
+      These functions are stated to
+      be <trademark class="registered">Oracle</trademark> compatible, but
+      they weren't exactly.  In particular, there was a discrepancy in the
+      interpretation of a negative third parameter: Oracle thinks that a
+      negative value indicates the last place where the target substring can
+      begin, whereas our functions took it as the last place where the
+      target can end.  Also, Oracle throws an error for a zero or negative
+      fourth parameter, whereas our functions returned zero.
+     </para>
+
+     <para>
+      The sample code has been adjusted to match Oracle's behavior more
+      precisely.  Users who have copied this code into their applications
+      may wish to update their copies.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</application> to make ACL (permissions),
+      comment, and security label entries reliably identifiable in archive
+      output formats (Tom Lane)
+     </para>
+
+     <para>
+      The <quote>tag</quote> portion of an ACL archive entry was usually
+      just the name of the associated object.  Make it start with the object
+      type instead, bringing ACLs into line with the convention already used
+      for comment and security label archive entries.  Also, fix the
+      comment and security label entries for the whole database, if present,
+      to make their tags start with <literal>DATABASE</literal> so that they
+      also follow this convention.  This prevents false matches in code that
+      tries to identify large-object-related entries by seeing if the tag
+      starts with <literal>LARGE OBJECT</literal>.  That could have resulted
+      in misclassifying entries as data rather than schema, with undesirable
+      results in a schema-only or data-only dump.
+     </para>
+
+     <para>
+      Note that this change has user-visible results in the output
+      of <command>pg_restore --list</command>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Rename <application>pg_rewind</application>'s
+      <function>copy_file_range</function> function to avoid conflict
+      with new Linux system call of that name (Andres Freund)
+     </para>
+
+     <para>
+      This change prevents build failures with newer glibc versions.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>ecpg</application>, detect indicator arrays that do
+      not have the correct length and report an error (David Rader)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Change the behavior of <filename>contrib/cube</filename>'s
+      <type>cube</type> <literal>~&gt;</literal> <type>int</type>
+      operator to make it compatible with KNN search (Alexander Korotkov)
+     </para>
+
+     <para>
+      The meaning of the second argument (the dimension selector) has been
+      changed to make it predictable which value is selected even when
+      dealing with cubes of varying dimensionalities.
+     </para>
+
+     <para>
+      This is an incompatible change, but since the point of the operator
+      was to be used in KNN searches, it seems rather useless as-is.
+      After installing this update, any expression indexes or materialized
+      views using this operator will need to be reindexed/refreshed.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid triggering a libc assertion
+      in <filename>contrib/hstore</filename>, due to use
+      of <function>memcpy()</function> with equal source and destination
+      pointers (Tomas Vondra)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect display of tuples' null bitmaps
+      in <filename>contrib/pageinspect</filename> (Maksim Milyutin)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <filename>contrib/postgres_fdw</filename>, avoid
+      <quote>outer pathkeys do not match mergeclauses</quote>
+      planner error when constructing a plan involving a remote join
+      (Robert Haas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Provide modern examples of how to auto-start Postgres on macOS
+      (Tom Lane)
+     </para>
+
+     <para>
+      The scripts in <filename>contrib/start-scripts/osx</filename> use
+      infrastructure that's been deprecated for over a decade, and which no
+      longer works at all in macOS releases of the last couple of years.
+      Add a new subdirectory <filename>contrib/start-scripts/macos</filename>
+      containing scripts that use the newer <application>launchd</application>
+      infrastructure.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect selection of configuration-specific libraries for
+      OpenSSL on Windows (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support linking to MinGW-built versions of libperl (Noah Misch)
+     </para>
+
+     <para>
+      This allows building PL/Perl with some common Perl distributions for
+      Windows.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix MSVC build to test whether 32-bit libperl
+      needs <literal>-D_USE_32BIT_TIME_T</literal> (Noah Misch)
+     </para>
+
+     <para>
+      Available Perl distributions are inconsistent about what they expect,
+      and lack any reliable means of reporting it, so resort to a build-time
+      test on what the library being used actually does.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      On Windows, install the crash dump handler earlier in postmaster
+      startup (Takayuki Tsunakawa)
+     </para>
+
+     <para>
+      This may allow collection of a core dump for some early-startup
+      failures that did not produce a dump before.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      On Windows, avoid encoding-conversion-related crashes when emitting
+      messages very early in postmaster startup (Takayuki Tsunakawa)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Use our existing Motorola 68K spinlock code on OpenBSD as
+      well as NetBSD (David Carlier)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Add support for spinlocks on Motorola 88K (David Carlier)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018c for DST law changes in Brazil, Sao Tome and Principe,
+      plus historical corrections for Bolivia, Japan, and South Sudan.
+      The <literal>US/Pacific-New</literal> zone has been removed (it was
+      only an alias for <literal>America/Los_Angeles</literal> anyway).
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-6-6">
   <title>Release 9.6.6</title>