]> granicus.if.org Git - postgresql/commitdiff
Release notes for 10.5, 9.6.10, 9.5.14, 9.4.19, 9.3.24.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 5 Aug 2018 20:38:43 +0000 (16:38 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 5 Aug 2018 20:38:43 +0000 (16:38 -0400)
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 054ef1c37f14557733af70c2782aeea0cd1ef597..a2078eac9ec79fa43471b781df76ddf992b5669d 100644 (file)
@@ -1,6 +1,295 @@
 <!-- doc/src/sgml/release-9.3.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-3-24">
+  <title>Release 9.3.24</title>
+
+  <formalpara>
+  <title>Release date:</title>
+  <para>2018-08-09</para>
+  </formalpara>
+
+  <para>
+   This release contains a variety of fixes from 9.3.23.
+   For information about new features in the 9.3 major release, see
+   <xref linkend="release-9-3">.
+  </para>
+
+  <para>
+   The <productname>PostgreSQL</productname> community will stop releasing
+   updates for the 9.3.X release series shortly after September 2018.
+   Users are encouraged to update to a newer release branch soon.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 9.3.24</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.23,
+    see <xref linkend="release-9-3-23">.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Ensure that updates to the <structfield>relfrozenxid</structfield>
+      and <structfield>relminmxid</structfield> values
+      for <quote>nailed</quote> system catalogs are processed in a timely
+      fashion (Andres Freund)
+     </para>
+
+     <para>
+      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 <structname>pg_authid</structname>, because the stale cache
+      data could persist into new sessions as well as existing ones.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix case where a freshly-promoted standby crashes before having
+      completed its first post-recovery checkpoint (Michael Paquier, Kyotaro
+      Horiguchi, Pavan Deolasee, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This led to a situation where the server did not think it had reached
+      a consistent database state during subsequent WAL replay, preventing
+      restart.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid emitting a bogus WAL record when recycling an all-zero btree
+      page (Amit Kapila)
+     </para>
+
+     <para>
+      This mistake has been seen to cause assertion failures, and
+      potentially it could result in unnecessary query cancellations on hot
+      standby servers.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve performance of WAL replay for transactions that drop many
+      relations (Fujii Masao)
+     </para>
+
+     <para>
+      This change reduces the number of times that shared buffers are
+      scanned, so that it is of most benefit when that setting is large.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve performance of lock releasing in standby server WAL replay
+      (Thomas Munro)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure a table's cached index list is correctly rebuilt after an index
+      creation fails partway through (Peter Geoghegan)
+     </para>
+
+     <para>
+      Previously, the failed index's OID could remain in the list, causing
+      problems later in the same session.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misoptimization of equivalence classes involving composite-type
+      columns (Tom Lane)
+     </para>
+
+     <para>
+      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.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix SQL-standard <literal>FETCH FIRST</literal> syntax to allow
+      parameters (<literal>$<replaceable>n</replaceable></literal>), as the
+      standard expects (Andrew Gierth)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix failure to schema-qualify some object names
+      in <function>getObjectDescription</function> output
+      (Kyotaro Horiguchi, Tom Lane)
+     </para>
+
+     <para>
+      Names of collations, conversions, and text search objects
+      were not schema-qualified when they should be.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Widen <command>COPY FROM</command>'s current-line-number counter
+      from 32 to 64 bits (David Rowley)
+     </para>
+
+     <para>
+      This avoids two problems with input exceeding 4G lines: <literal>COPY
+      FROM WITH HEADER</literal> would drop a line every 4G lines, not only
+      the first line, and error reports could show a wrong line number.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Add a string freeing function
+      to <application>ecpg</application>'s <filename>pgtypes</filename>
+      library, so that cross-module memory management problems can be
+      avoided on Windows (Takayuki Tsunakawa)
+     </para>
+
+     <para>
+      On Windows, crashes can ensue if the <function>free</function> call
+      for a given chunk of memory is not made from the same DLL
+      that <function>malloc</function>'ed the memory.
+      The <filename>pgtypes</filename> library sometimes returns strings
+      that it expects the caller to free, making it impossible to follow
+      this rule.  Add a <function>PGTYPESchar_free()</function> function
+      that just wraps <function>free</function>, allowing applications
+      to follow this rule.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>ecpg</application>'s support for <type>long
+      long</type> variables on Windows, as well as other platforms that
+      declare <function>strtoll</function>/<function>strtoull</function>
+      nonstandardly or not at all (Dang Minh Huong, Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      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)
+     </para>
+
+     <para>
+      This error led to assertion failures, or in rare cases, failure to
+      enforce the <literal>INTO STRICT</literal> option as expected.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix password prompting in client programs so that echo is properly
+      disabled on Windows when <literal>stdin</literal> is not the
+      terminal (Matthew Stickney)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Further fix mis-quoting of values for list-valued GUC variables in
+      dumps (Tom Lane)
+     </para>
+
+     <para>
+      The previous fix for quoting of <varname>search_path</varname> and
+      other list-valued variables in <application>pg_dump</application>
+      output turned out to misbehave for empty-string list elements, and it
+      risked truncation of long file paths.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make <application>pg_upgrade</application> check that the old server
+      was shut down cleanly (Bruce Momjian)
+     </para>
+
+     <para>
+      The previous check could be fooled by an immediate-mode shutdown.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix crash in <filename>contrib/ltree</filename>'s
+      <function>lca()</function> function when the input array is empty
+      (Pierre Ducroquet)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix various error-handling code paths in which an incorrect error code
+      might be reported (Michael Paquier, Tom Lane, Magnus Hagander)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Rearrange makefiles to ensure that programs link to freshly-built
+      libraries (such as <filename>libpq.so</filename>) rather than ones
+      that might exist in the system library directories (Tom Lane)
+     </para>
+
+     <para>
+      This avoids problems when building on platforms that supply old copies
+      of <productname>PostgreSQL</productname> libraries.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018e for DST law changes in North Korea, plus historical
+      corrections for Czechoslovakia.
+     </para>
+
+     <para>
+      This update includes a redefinition of <quote>daylight savings</quote>
+      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 <structfield>is_dst</structfield> column in
+      the <structname>pg_timezone_names</structname> view will now be true
+      in winter and false in summer in these cases.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-3-23">
   <title>Release 9.3.23</title>
 
index d368990a8419f6e2938263f922624b890d4daaa4..6568a934d4a0bcd751a651043296d0fe9d0fbaf3 100644 (file)
@@ -1,6 +1,346 @@
 <!-- doc/src/sgml/release-9.4.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-4-19">
+  <title>Release 9.4.19</title>
+
+  <formalpara>
+  <title>Release date:</title>
+  <para>2018-08-09</para>
+  </formalpara>
+
+  <para>
+   This release contains a variety of fixes from 9.4.18.
+   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.19</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.18,
+    see <xref linkend="release-9-4-18">.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Ensure that updates to the <structfield>relfrozenxid</structfield>
+      and <structfield>relminmxid</structfield> values
+      for <quote>nailed</quote> system catalogs are processed in a timely
+      fashion (Andres Freund)
+     </para>
+
+     <para>
+      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 <structname>pg_authid</structname>, because the stale cache
+      data could persist into new sessions as well as existing ones.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix case where a freshly-promoted standby crashes before having
+      completed its first post-recovery checkpoint (Michael Paquier, Kyotaro
+      Horiguchi, Pavan Deolasee, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This led to a situation where the server did not think it had reached
+      a consistent database state during subsequent WAL replay, preventing
+      restart.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid emitting a bogus WAL record when recycling an all-zero btree
+      page (Amit Kapila)
+     </para>
+
+     <para>
+      This mistake has been seen to cause assertion failures, and
+      potentially it could result in unnecessary query cancellations on hot
+      standby servers.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve performance of WAL replay for transactions that drop many
+      relations (Fujii Masao)
+     </para>
+
+     <para>
+      This change reduces the number of times that shared buffers are
+      scanned, so that it is of most benefit when that setting is large.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve performance of lock releasing in standby server WAL replay
+      (Thomas Munro)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make logical WAL senders report streaming state correctly (Simon
+      Riggs, Sawada Masahiko)
+     </para>
+
+     <para>
+      The code previously mis-detected whether or not it had caught up with
+      the upstream server.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix bugs in snapshot handling during logical decoding, allowing wrong
+      decoding results in rare cases (Arseny Sher, &Aacute;lvaro Herrera)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure a table's cached index list is correctly rebuilt after an index
+      creation fails partway through (Peter Geoghegan)
+     </para>
+
+     <para>
+      Previously, the failed index's OID could remain in the list, causing
+      problems later in the same session.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix mishandling of empty uncompressed posting list pages in GIN
+      indexes (Sivasubramanian Ramasubramanian, Alexander Korotkov)
+     </para>
+
+     <para>
+      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).
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that <command>VACUUM</command> will respond to signals
+      within btree page deletion loops (Andres Freund)
+     </para>
+
+     <para>
+      Corrupted btree indexes could result in an infinite loop here, and
+      that previously wasn't interruptible without forcing a crash.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misoptimization of equivalence classes involving composite-type
+      columns (Tom Lane)
+     </para>
+
+     <para>
+      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.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix SQL-standard <literal>FETCH FIRST</literal> syntax to allow
+      parameters (<literal>$<replaceable>n</replaceable></literal>), as the
+      standard expects (Andrew Gierth)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix failure to schema-qualify some object names
+      in <function>getObjectDescription</function> output
+      (Kyotaro Horiguchi, Tom Lane)
+     </para>
+
+     <para>
+      Names of collations, conversions, and text search objects
+      were not schema-qualified when they should be.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Widen <command>COPY FROM</command>'s current-line-number counter
+      from 32 to 64 bits (David Rowley)
+     </para>
+
+     <para>
+      This avoids two problems with input exceeding 4G lines: <literal>COPY
+      FROM WITH HEADER</literal> would drop a line every 4G lines, not only
+      the first line, and error reports could show a wrong line number.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Add a string freeing function
+      to <application>ecpg</application>'s <filename>pgtypes</filename>
+      library, so that cross-module memory management problems can be
+      avoided on Windows (Takayuki Tsunakawa)
+     </para>
+
+     <para>
+      On Windows, crashes can ensue if the <function>free</function> call
+      for a given chunk of memory is not made from the same DLL
+      that <function>malloc</function>'ed the memory.
+      The <filename>pgtypes</filename> library sometimes returns strings
+      that it expects the caller to free, making it impossible to follow
+      this rule.  Add a <function>PGTYPESchar_free()</function> function
+      that just wraps <function>free</function>, allowing applications
+      to follow this rule.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>ecpg</application>'s support for <type>long
+      long</type> variables on Windows, as well as other platforms that
+      declare <function>strtoll</function>/<function>strtoull</function>
+      nonstandardly or not at all (Dang Minh Huong, Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      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)
+     </para>
+
+     <para>
+      This error led to assertion failures, or in rare cases, failure to
+      enforce the <literal>INTO STRICT</literal> option as expected.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix password prompting in client programs so that echo is properly
+      disabled on Windows when <literal>stdin</literal> is not the
+      terminal (Matthew Stickney)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Further fix mis-quoting of values for list-valued GUC variables in
+      dumps (Tom Lane)
+     </para>
+
+     <para>
+      The previous fix for quoting of <varname>search_path</varname> and
+      other list-valued variables in <application>pg_dump</application>
+      output turned out to misbehave for empty-string list elements, and it
+      risked truncation of long file paths.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</application>'s failure to
+      dump <literal>REPLICA IDENTITY</literal> properties for constraint
+      indexes (Tom Lane)
+     </para>
+
+     <para>
+      Manually created unique indexes were properly marked, but not those
+      created by declaring <literal>UNIQUE</literal> or <literal>PRIMARY
+      KEY</literal> constraints.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make <application>pg_upgrade</application> check that the old server
+      was shut down cleanly (Bruce Momjian)
+     </para>
+
+     <para>
+      The previous check could be fooled by an immediate-mode shutdown.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix crash in <filename>contrib/ltree</filename>'s
+      <function>lca()</function> function when the input array is empty
+      (Pierre Ducroquet)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix various error-handling code paths in which an incorrect error code
+      might be reported (Michael Paquier, Tom Lane, Magnus Hagander)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Rearrange makefiles to ensure that programs link to freshly-built
+      libraries (such as <filename>libpq.so</filename>) rather than ones
+      that might exist in the system library directories (Tom Lane)
+     </para>
+
+     <para>
+      This avoids problems when building on platforms that supply old copies
+      of <productname>PostgreSQL</productname> libraries.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018e for DST law changes in North Korea, plus historical
+      corrections for Czechoslovakia.
+     </para>
+
+     <para>
+      This update includes a redefinition of <quote>daylight savings</quote>
+      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 <structfield>is_dst</structfield> column in
+      the <structname>pg_timezone_names</structname> view will now be true
+      in winter and false in summer in these cases.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-4-18">
   <title>Release 9.4.18</title>
 
index 4c19c342c803709ae8c91573e833be5e9be60dae..11a219ac5ccc3c232f881bb3e19cbcb575f06378 100644 (file)
@@ -1,6 +1,394 @@
 <!-- doc/src/sgml/release-9.5.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-5-14">
+  <title>Release 9.5.14</title>
+
+  <formalpara>
+  <title>Release date:</title>
+  <para>2018-08-09</para>
+  </formalpara>
+
+  <para>
+   This release contains a variety of fixes from 9.5.13.
+   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.14</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.13,
+    see <xref linkend="release-9-5-13">.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Ensure that updates to the <structfield>relfrozenxid</structfield>
+      and <structfield>relminmxid</structfield> values
+      for <quote>nailed</quote> system catalogs are processed in a timely
+      fashion (Andres Freund)
+     </para>
+
+     <para>
+      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 <structname>pg_authid</structname>, because the stale cache
+      data could persist into new sessions as well as existing ones.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix case where a freshly-promoted standby crashes before having
+      completed its first post-recovery checkpoint (Michael Paquier, Kyotaro
+      Horiguchi, Pavan Deolasee, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This led to a situation where the server did not think it had reached
+      a consistent database state during subsequent WAL replay, preventing
+      restart.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid emitting a bogus WAL record when recycling an all-zero btree
+      page (Amit Kapila)
+     </para>
+
+     <para>
+      This mistake has been seen to cause assertion failures, and
+      potentially it could result in unnecessary query cancellations on hot
+      standby servers.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      During WAL replay, guard against corrupted record lengths exceeding
+      1GB (Michael Paquier)
+     </para>
+
+     <para>
+      Treat such a case as corrupt data.  Previously, the code would try to
+      allocate space and get a hard error, making recovery impossible.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      When ending recovery, delay writing the timeline history file as long
+      as possible (Heikki Linnakangas)
+     </para>
+
+     <para>
+      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.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve performance of WAL replay for transactions that drop many
+      relations (Fujii Masao)
+     </para>
+
+     <para>
+      This change reduces the number of times that shared buffers are
+      scanned, so that it is of most benefit when that setting is large.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve performance of lock releasing in standby server WAL replay
+      (Thomas Munro)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make logical WAL senders report streaming state correctly (Simon
+      Riggs, Sawada Masahiko)
+     </para>
+
+     <para>
+      The code previously mis-detected whether or not it had caught up with
+      the upstream server.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix bugs in snapshot handling during logical decoding, allowing wrong
+      decoding results in rare cases (Arseny Sher, &Aacute;lvaro Herrera)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <literal>INSERT ... ON CONFLICT UPDATE</literal> through a view
+      that isn't just <literal>SELECT * FROM ...</literal>
+      (Dean Rasheed, Amit Langote)
+     </para>
+
+     <para>
+      Erroneous expansion of an updatable view could lead to crashes
+      or <quote>attribute ... has the wrong type</quote> errors, if the
+      view's <literal>SELECT</literal> list doesn't match one-to-one with
+      the underlying table's columns.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure a table's cached index list is correctly rebuilt after an index
+      creation fails partway through (Peter Geoghegan)
+     </para>
+
+     <para>
+      Previously, the failed index's OID could remain in the list, causing
+      problems later in the same session.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix mishandling of empty uncompressed posting list pages in GIN
+      indexes (Sivasubramanian Ramasubramanian, Alexander Korotkov)
+     </para>
+
+     <para>
+      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).
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that <command>VACUUM</command> will respond to signals
+      within btree page deletion loops (Andres Freund)
+     </para>
+
+     <para>
+      Corrupted btree indexes could result in an infinite loop here, and
+      that previously wasn't interruptible without forcing a crash.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misoptimization of equivalence classes involving composite-type
+      columns (Tom Lane)
+     </para>
+
+     <para>
+      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.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix SQL-standard <literal>FETCH FIRST</literal> syntax to allow
+      parameters (<literal>$<replaceable>n</replaceable></literal>), as the
+      standard expects (Andrew Gierth)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix failure to schema-qualify some object names
+      in <function>getObjectDescription</function> output
+      (Kyotaro Horiguchi, Tom Lane)
+     </para>
+
+     <para>
+      Names of collations, conversions, and text search objects
+      were not schema-qualified when they should be.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Widen <command>COPY FROM</command>'s current-line-number counter
+      from 32 to 64 bits (David Rowley)
+     </para>
+
+     <para>
+      This avoids two problems with input exceeding 4G lines: <literal>COPY
+      FROM WITH HEADER</literal> would drop a line every 4G lines, not only
+      the first line, and error reports could show a wrong line number.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Add a string freeing function
+      to <application>ecpg</application>'s <filename>pgtypes</filename>
+      library, so that cross-module memory management problems can be
+      avoided on Windows (Takayuki Tsunakawa)
+     </para>
+
+     <para>
+      On Windows, crashes can ensue if the <function>free</function> call
+      for a given chunk of memory is not made from the same DLL
+      that <function>malloc</function>'ed the memory.
+      The <filename>pgtypes</filename> library sometimes returns strings
+      that it expects the caller to free, making it impossible to follow
+      this rule.  Add a <function>PGTYPESchar_free()</function> function
+      that just wraps <function>free</function>, allowing applications
+      to follow this rule.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>ecpg</application>'s support for <type>long
+      long</type> variables on Windows, as well as other platforms that
+      declare <function>strtoll</function>/<function>strtoull</function>
+      nonstandardly or not at all (Dang Minh Huong, Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      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)
+     </para>
+
+     <para>
+      This error led to assertion failures, or in rare cases, failure to
+      enforce the <literal>INTO STRICT</literal> option as expected.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix password prompting in client programs so that echo is properly
+      disabled on Windows when <literal>stdin</literal> is not the
+      terminal (Matthew Stickney)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Further fix mis-quoting of values for list-valued GUC variables in
+      dumps (Tom Lane)
+     </para>
+
+     <para>
+      The previous fix for quoting of <varname>search_path</varname> and
+      other list-valued variables in <application>pg_dump</application>
+      output turned out to misbehave for empty-string list elements, and it
+      risked truncation of long file paths.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</application>'s failure to
+      dump <literal>REPLICA IDENTITY</literal> properties for constraint
+      indexes (Tom Lane)
+     </para>
+
+     <para>
+      Manually created unique indexes were properly marked, but not those
+      created by declaring <literal>UNIQUE</literal> or <literal>PRIMARY
+      KEY</literal> constraints.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make <application>pg_upgrade</application> check that the old server
+      was shut down cleanly (Bruce Momjian)
+     </para>
+
+     <para>
+      The previous check could be fooled by an immediate-mode shutdown.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <filename>contrib/hstore_plperl</filename> to look through Perl
+      scalar references, and to not crash if it doesn't find a hash
+      reference where it expects one (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix crash in <filename>contrib/ltree</filename>'s
+      <function>lca()</function> function when the input array is empty
+      (Pierre Ducroquet)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix various error-handling code paths in which an incorrect error code
+      might be reported (Michael Paquier, Tom Lane, Magnus Hagander)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Rearrange makefiles to ensure that programs link to freshly-built
+      libraries (such as <filename>libpq.so</filename>) rather than ones
+      that might exist in the system library directories (Tom Lane)
+     </para>
+
+     <para>
+      This avoids problems when building on platforms that supply old copies
+      of <productname>PostgreSQL</productname> libraries.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018e for DST law changes in North Korea, plus historical
+      corrections for Czechoslovakia.
+     </para>
+
+     <para>
+      This update includes a redefinition of <quote>daylight savings</quote>
+      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 <structfield>is_dst</structfield> column in
+      the <structname>pg_timezone_names</structname> view will now be true
+      in winter and false in summer in these cases.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-5-13">
   <title>Release 9.5.13</title>
 
index 847889c51d637fadfbca915ffa1df720202f367f..0229d705bcdcfcf15598e90f13b287acb957023c 100644 (file)
@@ -1,6 +1,418 @@
 <!-- doc/src/sgml/release-9.6.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-6-10">
+  <title>Release 9.6.10</title>
+
+  <formalpara>
+  <title>Release date:</title>
+  <para>2018-08-09</para>
+  </formalpara>
+
+  <para>
+   This release contains a variety of fixes from 9.6.9.
+   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.10</title>
+
+   <para>
+    A dump/restore is not required for those running 9.6.X.
+   </para>
+
+   <para>
+    However, if you are upgrading from a version earlier than 9.6.9,
+    see <xref linkend="release-9-6-9">.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Ensure that updates to the <structfield>relfrozenxid</structfield>
+      and <structfield>relminmxid</structfield> values
+      for <quote>nailed</quote> system catalogs are processed in a timely
+      fashion (Andres Freund)
+     </para>
+
+     <para>
+      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 <structname>pg_authid</structname>, because the stale cache
+      data could persist into new sessions as well as existing ones.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix case where a freshly-promoted standby crashes before having
+      completed its first post-recovery checkpoint (Michael Paquier, Kyotaro
+      Horiguchi, Pavan Deolasee, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This led to a situation where the server did not think it had reached
+      a consistent database state during subsequent WAL replay, preventing
+      restart.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid emitting a bogus WAL record when recycling an all-zero btree
+      page (Amit Kapila)
+     </para>
+
+     <para>
+      This mistake has been seen to cause assertion failures, and
+      potentially it could result in unnecessary query cancellations on hot
+      standby servers.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      During WAL replay, guard against corrupted record lengths exceeding
+      1GB (Michael Paquier)
+     </para>
+
+     <para>
+      Treat such a case as corrupt data.  Previously, the code would try to
+      allocate space and get a hard error, making recovery impossible.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      When ending recovery, delay writing the timeline history file as long
+      as possible (Heikki Linnakangas)
+     </para>
+
+     <para>
+      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.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve performance of WAL replay for transactions that drop many
+      relations (Fujii Masao)
+     </para>
+
+     <para>
+      This change reduces the number of times that shared buffers are
+      scanned, so that it is of most benefit when that setting is large.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve performance of lock releasing in standby server WAL replay
+      (Thomas Munro)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make logical WAL senders report streaming state correctly (Simon
+      Riggs, Sawada Masahiko)
+     </para>
+
+     <para>
+      The code previously mis-detected whether or not it had caught up with
+      the upstream server.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix bugs in snapshot handling during logical decoding, allowing wrong
+      decoding results in rare cases (Arseny Sher, &Aacute;lvaro Herrera)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <literal>INSERT ... ON CONFLICT UPDATE</literal> through a view
+      that isn't just <literal>SELECT * FROM ...</literal>
+      (Dean Rasheed, Amit Langote)
+     </para>
+
+     <para>
+      Erroneous expansion of an updatable view could lead to crashes
+      or <quote>attribute ... has the wrong type</quote> errors, if the
+      view's <literal>SELECT</literal> list doesn't match one-to-one with
+      the underlying table's columns.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure a table's cached index list is correctly rebuilt after an index
+      creation fails partway through (Peter Geoghegan)
+     </para>
+
+     <para>
+      Previously, the failed index's OID could remain in the list, causing
+      problems later in the same session.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix mishandling of empty uncompressed posting list pages in GIN
+      indexes (Sivasubramanian Ramasubramanian, Alexander Korotkov)
+     </para>
+
+     <para>
+      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).
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that <command>VACUUM</command> will respond to signals
+      within btree page deletion loops (Andres Freund)
+     </para>
+
+     <para>
+      Corrupted btree indexes could result in an infinite loop here, and
+      that previously wasn't interruptible without forcing a crash.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misoptimization of equivalence classes involving composite-type
+      columns (Tom Lane)
+     </para>
+
+     <para>
+      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.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix planner to avoid <quote>ORDER/GROUP BY expression not found in
+      targetlist</quote> errors in some queries with set-returning functions
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix SQL-standard <literal>FETCH FIRST</literal> syntax to allow
+      parameters (<literal>$<replaceable>n</replaceable></literal>), as the
+      standard expects (Andrew Gierth)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <command>EXPLAIN</command>'s accounting for resource usage,
+      particularly buffer accesses, in parallel workers
+      (Amit Kapila, Robert Haas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix failure to schema-qualify some object names
+      in <function>getObjectDescription</function> output
+      (Kyotaro Horiguchi, Tom Lane)
+     </para>
+
+     <para>
+      Names of collations, conversions, and text search objects
+      were not schema-qualified when they should be.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <command>CREATE AGGREGATE</command> type checking so that
+      parallelism support functions can be attached to variadic aggregates
+      (Alexey Bashtanov)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Widen <command>COPY FROM</command>'s current-line-number counter
+      from 32 to 64 bits (David Rowley)
+     </para>
+
+     <para>
+      This avoids two problems with input exceeding 4G lines: <literal>COPY
+      FROM WITH HEADER</literal> would drop a line every 4G lines, not only
+      the first line, and error reports could show a wrong line number.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Add a string freeing function
+      to <application>ecpg</application>'s <filename>pgtypes</filename>
+      library, so that cross-module memory management problems can be
+      avoided on Windows (Takayuki Tsunakawa)
+     </para>
+
+     <para>
+      On Windows, crashes can ensue if the <function>free</function> call
+      for a given chunk of memory is not made from the same DLL
+      that <function>malloc</function>'ed the memory.
+      The <filename>pgtypes</filename> library sometimes returns strings
+      that it expects the caller to free, making it impossible to follow
+      this rule.  Add a <function>PGTYPESchar_free()</function> function
+      that just wraps <function>free</function>, allowing applications
+      to follow this rule.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>ecpg</application>'s support for <type>long
+      long</type> variables on Windows, as well as other platforms that
+      declare <function>strtoll</function>/<function>strtoull</function>
+      nonstandardly or not at all (Dang Minh Huong, Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      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)
+     </para>
+
+     <para>
+      This error led to assertion failures, or in rare cases, failure to
+      enforce the <literal>INTO STRICT</literal> option as expected.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix password prompting in client programs so that echo is properly
+      disabled on Windows when <literal>stdin</literal> is not the
+      terminal (Matthew Stickney)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Further fix mis-quoting of values for list-valued GUC variables in
+      dumps (Tom Lane)
+     </para>
+
+     <para>
+      The previous fix for quoting of <varname>search_path</varname> and
+      other list-valued variables in <application>pg_dump</application>
+      output turned out to misbehave for empty-string list elements, and it
+      risked truncation of long file paths.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</application>'s failure to
+      dump <literal>REPLICA IDENTITY</literal> properties for constraint
+      indexes (Tom Lane)
+     </para>
+
+     <para>
+      Manually created unique indexes were properly marked, but not those
+      created by declaring <literal>UNIQUE</literal> or <literal>PRIMARY
+      KEY</literal> constraints.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make <application>pg_upgrade</application> check that the old server
+      was shut down cleanly (Bruce Momjian)
+     </para>
+
+     <para>
+      The previous check could be fooled by an immediate-mode shutdown.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <filename>contrib/hstore_plperl</filename> to look through Perl
+      scalar references, and to not crash if it doesn't find a hash
+      reference where it expects one (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix crash in <filename>contrib/ltree</filename>'s
+      <function>lca()</function> function when the input array is empty
+      (Pierre Ducroquet)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix various error-handling code paths in which an incorrect error code
+      might be reported (Michael Paquier, Tom Lane, Magnus Hagander)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Rearrange makefiles to ensure that programs link to freshly-built
+      libraries (such as <filename>libpq.so</filename>) rather than ones
+      that might exist in the system library directories (Tom Lane)
+     </para>
+
+     <para>
+      This avoids problems when building on platforms that supply old copies
+      of <productname>PostgreSQL</productname> libraries.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018e for DST law changes in North Korea, plus historical
+      corrections for Czechoslovakia.
+     </para>
+
+     <para>
+      This update includes a redefinition of <quote>daylight savings</quote>
+      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 <structfield>is_dst</structfield> column in
+      the <structname>pg_timezone_names</structname> view will now be true
+      in winter and false in summer in these cases.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-6-9">
   <title>Release 9.6.9</title>