]> granicus.if.org Git - postgresql/commitdiff
Release notes for 10.4, 9.6.9, 9.5.13, 9.4.18, 9.3.23.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 6 May 2018 19:30:44 +0000 (15:30 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 6 May 2018 19:30:44 +0000 (15:30 -0400)
doc/src/sgml/release-10.sgml
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 5d810baa10d04f16365cb2ce2c16f094783ae9eb..635509c3fa802f6124cf09b74e89633ca039cbae 100644 (file)
@@ -497,7 +497,7 @@ Branch: REL_10_STABLE [76ec45756] 2018-03-02 17:40:48 -0500
 Branch: REL9_6_STABLE [96d2df840] 2018-03-02 17:40:48 -0500
 -->
      <para>
-      Fix possible leak or double-free of visibility map buffer pins
+      Fix possible leak or double free of visibility map buffer pins
       (Amit Kapila)
      </para>
     </listitem>
@@ -516,7 +516,7 @@ Branch: REL9_6_STABLE [3a11485a5] 2018-05-04 18:23:30 -0300
 
      <para>
       This could happen if some tuples were locked (but not deleted).  While
-      queries would still function correctly, vacuum would generally ignore
+      queries would still function correctly, vacuum would normally ignore
       such pages, with the long-term effect that the tuples were never
       frozen.  In recent releases this would eventually result in errors
       such as <quote>found multixact <replaceable>nnnnn</replaceable> from
@@ -594,8 +594,9 @@ Branch: REL9_4_STABLE [310d1379d] 2018-04-11 23:40:27 +0300
 Branch: REL9_3_STABLE [dfc383cf3] 2018-04-11 23:40:31 +0300
 -->
      <para>
-      Ensure client hostname is copied to local memory when copying
-      <structname>pg_stat_activity</structname> data (Edmund Horner)
+      Ensure client hostname is copied while copying
+      <structname>pg_stat_activity</structname> data to local memory
+      (Edmund Horner)
      </para>
 
      <para>
@@ -670,7 +671,7 @@ Branch: REL9_6_STABLE [57ef2da43] 2018-03-19 23:59:17 -0400
 -->
      <para>
       Prevent query-lifespan memory leakage with SP-GiST operator classes
-      that use traversal values (Anton Dignรถs)
+      that use traversal values (Anton Dign&ouml;s)
      </para>
     </listitem>
 
@@ -905,7 +906,7 @@ Branch: REL9_5_STABLE [b33e38cb1] 2018-03-29 04:02:34 +0900
      <para>
       Ensure that <application>pg_rewind</application> deletes files on the
       target server if they are deleted from the source server during the
-      run (Tsunakawa Takayuki)
+      run (Takayuki Tsunakawa)
      </para>
 
      <para>
@@ -951,6 +952,23 @@ Branch: REL9_3_STABLE [f1f7a85d8] 2018-03-17 15:38:15 -0400
 
     <listitem>
 <!--
+Author: Peter Eisentraut <peter_e@gmx.net>
+Branch: master [fa03769e4] 2018-05-03 13:13:09 -0400
+Branch: master [7d8679975] 2018-05-03 20:29:54 -0400
+Branch: REL_10_STABLE [8f1787a8f] 2018-05-05 23:03:44 -0400
+Branch: REL9_6_STABLE [ab7825ead] 2018-05-05 23:34:41 -0400
+Branch: REL9_5_STABLE [b812d6372] 2018-05-05 23:48:19 -0400
+Branch: REL9_4_STABLE [af9e0d5cd] 2018-05-05 23:53:05 -0400
+Branch: REL9_3_STABLE [e7f904715] 2018-05-05 23:54:04 -0400
+-->
+     <para>
+      Adjust <application>PL/Python</application> regression tests to pass
+      under Python 3.7 (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+<!--
 Author: Andrew Dunstan <andrew@dunslane.net>
 Branch: master [966268c76] 2018-05-04 15:22:48 -0400
 Branch: REL_10_STABLE [56a45646d] 2018-05-04 15:32:31 -0400
@@ -958,6 +976,13 @@ Branch: REL9_6_STABLE [a9fbf550b] 2018-05-04 15:33:06 -0400
 Branch: REL9_5_STABLE [c1f3638d2] 2018-05-04 15:33:18 -0400
 Branch: REL9_4_STABLE [134db37d2] 2018-05-04 15:51:31 -0400
 Branch: REL9_3_STABLE [af39c1da7] 2018-05-04 15:56:01 -0400
+Author: Andrew Dunstan <andrew@dunslane.net>
+Branch: master [2b9bdda74] 2018-05-06 07:37:05 -0400
+Branch: REL_10_STABLE [0e6114be8] 2018-05-06 07:39:05 -0400
+Branch: REL9_6_STABLE [289bafdbc] 2018-05-06 07:39:37 -0400
+Branch: REL9_5_STABLE [3b17d4b9d] 2018-05-06 07:39:51 -0400
+Branch: REL9_4_STABLE [1eb24720c] 2018-05-06 07:40:04 -0400
+Branch: REL9_3_STABLE [a75b01c61] 2018-05-06 07:40:25 -0400
 -->
      <para>
       Support testing <application>PL/Python</application> and related
@@ -987,21 +1012,6 @@ Branch: REL9_6_STABLE [df9040155] 2018-03-22 13:13:58 -0400
     <listitem>
 <!--
 Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: REL9_5_STABLE [3c0e07a46] 2018-05-01 12:02:41 -0400
--->
-     <para>
-      Support building with Microsoft Visual Studio 2015 (Michael Paquier)
-     </para>
-
-     <para>
-      Various fixes needed for VS2015 compatibility were previously
-      back-patched into the 9.5 branch, but one was missed.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
 Branch: master [43e949086] 2018-02-28 18:33:45 -0500
 Branch: REL_10_STABLE [aac6286d8] 2018-02-28 18:33:45 -0500
 Branch: REL9_6_STABLE [11e7700e5] 2018-02-28 18:33:45 -0500
@@ -1019,25 +1029,6 @@ Branch: REL9_3_STABLE [10102c91e] 2018-02-28 18:33:45 -0500
     <listitem>
 <!--
 Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [df629586e] 2018-04-29 15:50:08 -0400
-Branch: REL_10_STABLE [783e8f56d] 2018-04-29 15:50:23 -0400
-Branch: REL9_6_STABLE [2acbeea48] 2018-04-29 15:50:31 -0400
-Branch: REL9_5_STABLE [eaed0d230] 2018-04-29 15:50:37 -0400
-Branch: REL9_4_STABLE [37c02b2b0] 2018-04-29 15:50:43 -0400
-Branch: REL9_3_STABLE [adcd0c2be] 2018-04-29 15:50:50 -0400
--->
-     <para>
-      Update time zone data files to <application>tzdata</application>
-      release 2018d for DST law changes in Palestine and Antarctica (Casey
-      Station), plus historical corrections for Portugal and its colonies,
-      as well as Enderbury, Jamaica, Turks &amp; Caicos Islands, and
-      Uruguay.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
 Branch: master [b45f6613e] 2018-05-04 12:26:25 -0400
 Branch: REL_10_STABLE [b49f4e69a] 2018-05-04 12:26:34 -0400
 Branch: REL9_6_STABLE [7a83323f2] 2018-05-04 12:26:39 -0400
@@ -1060,6 +1051,25 @@ Branch: REL9_3_STABLE [9469ebc71] 2018-05-04 12:26:52 -0400
      </para>
     </listitem>
 
+    <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [df629586e] 2018-04-29 15:50:08 -0400
+Branch: REL_10_STABLE [783e8f56d] 2018-04-29 15:50:23 -0400
+Branch: REL9_6_STABLE [2acbeea48] 2018-04-29 15:50:31 -0400
+Branch: REL9_5_STABLE [eaed0d230] 2018-04-29 15:50:37 -0400
+Branch: REL9_4_STABLE [37c02b2b0] 2018-04-29 15:50:43 -0400
+Branch: REL9_3_STABLE [adcd0c2be] 2018-04-29 15:50:50 -0400
+-->
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018d for DST law changes in Palestine and Antarctica (Casey
+      Station), plus historical corrections for Portugal and its colonies,
+      as well as Enderbury, Jamaica, Turks &amp; Caicos Islands, and
+      Uruguay.
+     </para>
+    </listitem>
+
    </itemizedlist>
 
   </sect2>
index 015c2211b0fba99a69d7a76c28e1e0045d569a00..e8604f99548ffbe1ce558a68f7f985ab382d9424 100644 (file)
@@ -1,6 +1,373 @@
 <!-- doc/src/sgml/release-9.3.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-3-23">
+  <title>Release 9.3.23</title>
+
+  <formalpara>
+  <title>Release date:</title>
+  <para>2018-05-10</para>
+  </formalpara>
+
+  <para>
+   This release contains a variety of fixes from 9.3.22.
+   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.23</title>
+
+   <para>
+    A dump/restore is not required for those running 9.3.X.
+   </para>
+
+   <para>
+    However, if the function marking mistakes mentioned in the first
+    changelog entry below affect you, you will want to take steps to
+    correct your database catalogs.
+   </para>
+
+   <para>
+    Also, if you are upgrading from a version earlier than 9.3.22,
+    see <xref linkend="release-9-3-22"/>.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix incorrect volatility markings on a few built-in functions
+      (Thomas Munro, Tom Lane)
+     </para>
+
+     <para>
+      The functions
+      <function>query_to_xml</function>,
+      <function>cursor_to_xml</function>,
+      <function>cursor_to_xmlschema</function>,
+      <function>query_to_xmlschema</function>, and
+      <function>query_to_xml_and_xmlschema</function>
+      should be marked volatile because they execute user-supplied queries
+      that might contain volatile operations.  They were not, leading to a
+      risk of incorrect query optimization.  This has been repaired for new
+      installations by correcting the initial catalog data, but existing
+      installations will continue to contain the incorrect markings.
+      Practical use of these functions seems to pose little hazard, but in
+      case of trouble, it can be fixed by manually updating these
+      functions' <structname>pg_proc</structname> entries.  (Note that that
+      will need to be done in each database of the installation.)  Another
+      option is to <application>pg_upgrade</application> the database to a
+      version containing the corrected initial data.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid re-using TOAST value OIDs that match dead-but-not-yet-vacuumed
+      TOAST entries (Pavan Deolasee)
+     </para>
+
+     <para>
+      Once the OID counter has wrapped around, it's possible to assign a
+      TOAST value whose OID matches a previously deleted entry in the same
+      TOAST table.  If that entry were not yet vacuumed away, this resulted
+      in <quote>unexpected chunk number 0 (expected 1) for toast
+      value <replaceable>nnnnn</replaceable></quote> errors, which would
+      persist until the dead entry was removed
+      by <command>VACUUM</command>.  Fix by not selecting such OIDs when
+      creating a new TOAST entry.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Change <command>ANALYZE</command>'s algorithm for updating
+      <structname>pg_class</structname>.<structfield>reltuples</structfield>
+      (David Gould)
+     </para>
+
+     <para>
+      Previously, pages not actually scanned by <command>ANALYZE</command>
+      were assumed to retain their old tuple density.  In a large table
+      where <command>ANALYZE</command> samples only a small fraction of the
+      pages, this meant that the overall tuple density estimate could not
+      change very much, so that <structfield>reltuples</structfield> would
+      change nearly proportionally to changes in the table's physical size
+      (<structfield>relpages</structfield>) regardless of what was actually
+      happening in the table.  This has been observed to result
+      in <structfield>reltuples</structfield> becoming so much larger than
+      reality as to effectively shut off autovacuuming.  To fix, assume
+      that <command>ANALYZE</command>'s sample is a statistically unbiased
+      sample of the table (as it should be), and just extrapolate the
+      density observed within those pages to the whole table.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <literal>UPDATE/DELETE ... WHERE CURRENT OF</literal> to not fail
+      when the referenced cursor uses an index-only-scan plan (Yugo Nagata,
+      Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect planning of join clauses pushed into parameterized
+      paths (Andrew Gierth, Tom Lane)
+     </para>
+
+     <para>
+      This error could result in misclassifying a condition as
+      a <quote>join filter</quote> for an outer join when it should be a
+      plain <quote>filter</quote> condition, leading to incorrect join
+      output.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misoptimization of <literal>CHECK</literal> constraints having
+      provably-NULL subclauses of
+      top-level <literal>AND</literal>/<literal>OR</literal> conditions
+      (Tom Lane, Dean Rasheed)
+     </para>
+
+     <para>
+      This could, for example, allow constraint exclusion to exclude a
+      child table that should not be excluded from a query.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid failure if a query-cancel or session-termination interrupt
+      occurs while committing a prepared transaction (Stas Kelvich)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix query-lifespan memory leakage in repeatedly executed hash joins
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix overly strict sanity check
+      in <function>heap_prepare_freeze_tuple</function>
+      (&Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This could result in incorrect <quote>cannot freeze committed
+      xmax</quote> failures in databases that have
+      been <application>pg_upgrade</application>'d from 9.2 or earlier.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent dangling-pointer dereference when a C-coded before-update row
+      trigger returns the <quote>old</quote> tuple (Rushabh Lathia)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Reduce locking during autovacuum worker scheduling (Jeff Janes)
+     </para>
+
+     <para>
+      The previous behavior caused drastic loss of potential worker
+      concurrency in databases with many tables.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure client hostname is copied while copying
+      <structname>pg_stat_activity</structname> data to local memory
+      (Edmund Horner)
+     </para>
+
+     <para>
+      Previously the supposedly-local snapshot contained a pointer into
+      shared memory, allowing the client hostname column to change
+      unexpectedly if any existing session disconnected.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect processing of multiple compound affixes
+      in <literal>ispell</literal> dictionaries (Arthur Zakirov)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix collation-aware searches (that is, indexscans using inequality
+      operators) in SP-GiST indexes on text columns (Tom Lane)
+     </para>
+
+     <para>
+      Such searches would return the wrong set of rows in most non-C
+      locales.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Count the number of index tuples correctly during initial build of an
+      SP-GiST index (Tomas Vondra)
+     </para>
+
+     <para>
+      Previously, the tuple count was reported to be the same as that of
+      the underlying table, which is wrong if the index is partial.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Count the number of index tuples correctly during vacuuming of a
+      GiST index (Andrey Borodin)
+     </para>
+
+     <para>
+      Previously it reported the estimated number of heap tuples,
+      which might be inaccurate, and is certainly wrong if the
+      index is partial.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow <function>scalarltsel</function>
+      and <function>scalargtsel</function> to be used on non-core datatypes
+      (Tomas Vondra)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Reduce <application>libpq</application>'s memory consumption when a
+      server error is reported after a large amount of query output has
+      been collected (Tom Lane)
+     </para>
+
+     <para>
+      Discard the previous output before, not after, processing the error
+      message.  On some platforms, notably Linux, this can make a
+      difference in the application's subsequent memory footprint.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix double-free crashes in <application>ecpg</application>
+      (Patrick Krecker, Jeevan Ladhe)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>ecpg</application> to handle <type>long long
+      int</type> variables correctly in MSVC builds (Michael Meskes,
+      Andrew Gierth)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix mis-quoting of values for list-valued GUC variables in dumps
+      (Michael Paquier, Tom Lane)
+     </para>
+
+     <para>
+      The <varname>local_preload_libraries</varname>,
+      <varname>session_preload_libraries</varname>,
+      <varname>shared_preload_libraries</varname>,
+      and <varname>temp_tablespaces</varname> variables were not correctly
+      quoted in <application>pg_dump</application> output.  This would
+      cause problems if settings for these variables appeared in
+      <command>CREATE FUNCTION ... SET</command> or <command>ALTER
+      DATABASE/ROLE ... SET</command> clauses.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix overflow handling in <application>PL/pgSQL</application>
+      integer <command>FOR</command> loops (Tom Lane)
+     </para>
+
+     <para>
+      The previous coding failed to detect overflow of the loop variable
+      on some non-gcc compilers, leading to an infinite loop.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Adjust <application>PL/Python</application> regression tests to pass
+      under Python 3.7 (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support testing <application>PL/Python</application> and related
+      modules when building with Python 3 and MSVC (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Rename internal <function>b64_encode</function>
+      and <function>b64_decode</function> functions to avoid conflict with
+      Solaris 11.4 built-in functions (Rainer Orth)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Sync our copy of the timezone library with IANA tzcode release 2018e
+      (Tom Lane)
+     </para>
+
+     <para>
+      This fixes the <application>zic</application> timezone data compiler
+      to cope with negative daylight-savings offsets.  While
+      the <productname>PostgreSQL</productname> project will not
+      immediately ship such timezone data, <application>zic</application>
+      might be used with timezone data obtained directly from IANA, so it
+      seems prudent to update <application>zic</application> now.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018d for DST law changes in Palestine and Antarctica (Casey
+      Station), plus historical corrections for Portugal and its colonies,
+      as well as Enderbury, Jamaica, Turks &amp; Caicos Islands, and
+      Uruguay.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-3-22">
   <title>Release 9.3.22</title>
 
index ed4de33dd03eafe270ffbf95aee50ceab4ccb20f..627eca168f694013cf7649bae5d038339f4c78c7 100644 (file)
@@ -1,6 +1,417 @@
 <!-- doc/src/sgml/release-9.4.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-4-18">
+  <title>Release 9.4.18</title>
+
+  <formalpara>
+  <title>Release date:</title>
+  <para>2018-05-10</para>
+  </formalpara>
+
+  <para>
+   This release contains a variety of fixes from 9.4.17.
+   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.18</title>
+
+   <para>
+    A dump/restore is not required for those running 9.4.X.
+   </para>
+
+   <para>
+    However, if the function marking mistakes mentioned in the first
+    changelog entry below affect you, you will want to take steps to
+    correct your database catalogs.
+   </para>
+
+   <para>
+    Also, if you are upgrading from a version earlier than 9.4.17,
+    see <xref linkend="release-9-4-17"/>.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix incorrect volatility markings on a few built-in functions
+      (Thomas Munro, Tom Lane)
+     </para>
+
+     <para>
+      The functions
+      <function>query_to_xml</function>,
+      <function>cursor_to_xml</function>,
+      <function>cursor_to_xmlschema</function>,
+      <function>query_to_xmlschema</function>, and
+      <function>query_to_xml_and_xmlschema</function>
+      should be marked volatile because they execute user-supplied queries
+      that might contain volatile operations.  They were not, leading to a
+      risk of incorrect query optimization.  This has been repaired for new
+      installations by correcting the initial catalog data, but existing
+      installations will continue to contain the incorrect markings.
+      Practical use of these functions seems to pose little hazard, but in
+      case of trouble, it can be fixed by manually updating these
+      functions' <structname>pg_proc</structname> entries.  (Note that that
+      will need to be done in each database of the installation.)  Another
+      option is to <application>pg_upgrade</application> the database to a
+      version containing the corrected initial data.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid re-using TOAST value OIDs that match dead-but-not-yet-vacuumed
+      TOAST entries (Pavan Deolasee)
+     </para>
+
+     <para>
+      Once the OID counter has wrapped around, it's possible to assign a
+      TOAST value whose OID matches a previously deleted entry in the same
+      TOAST table.  If that entry were not yet vacuumed away, this resulted
+      in <quote>unexpected chunk number 0 (expected 1) for toast
+      value <replaceable>nnnnn</replaceable></quote> errors, which would
+      persist until the dead entry was removed
+      by <command>VACUUM</command>.  Fix by not selecting such OIDs when
+      creating a new TOAST entry.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Change <command>ANALYZE</command>'s algorithm for updating
+      <structname>pg_class</structname>.<structfield>reltuples</structfield>
+      (David Gould)
+     </para>
+
+     <para>
+      Previously, pages not actually scanned by <command>ANALYZE</command>
+      were assumed to retain their old tuple density.  In a large table
+      where <command>ANALYZE</command> samples only a small fraction of the
+      pages, this meant that the overall tuple density estimate could not
+      change very much, so that <structfield>reltuples</structfield> would
+      change nearly proportionally to changes in the table's physical size
+      (<structfield>relpages</structfield>) regardless of what was actually
+      happening in the table.  This has been observed to result
+      in <structfield>reltuples</structfield> becoming so much larger than
+      reality as to effectively shut off autovacuuming.  To fix, assume
+      that <command>ANALYZE</command>'s sample is a statistically unbiased
+      sample of the table (as it should be), and just extrapolate the
+      density observed within those pages to the whole table.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid deadlocks in concurrent <command>CREATE INDEX
+      CONCURRENTLY</command> commands that are run
+      under <literal>SERIALIZABLE</literal> or <literal>REPEATABLE
+      READ</literal> transaction isolation (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible slow execution of <command>REFRESH MATERIALIZED VIEW
+      CONCURRENTLY</command> (Thomas Munro)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <literal>UPDATE/DELETE ... WHERE CURRENT OF</literal> to not fail
+      when the referenced cursor uses an index-only-scan plan (Yugo Nagata,
+      Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect planning of join clauses pushed into parameterized
+      paths (Andrew Gierth, Tom Lane)
+     </para>
+
+     <para>
+      This error could result in misclassifying a condition as
+      a <quote>join filter</quote> for an outer join when it should be a
+      plain <quote>filter</quote> condition, leading to incorrect join
+      output.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misoptimization of <literal>CHECK</literal> constraints having
+      provably-NULL subclauses of
+      top-level <literal>AND</literal>/<literal>OR</literal> conditions
+      (Tom Lane, Dean Rasheed)
+     </para>
+
+     <para>
+      This could, for example, allow constraint exclusion to exclude a
+      child table that should not be excluded from a query.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid failure if a query-cancel or session-termination interrupt
+      occurs while committing a prepared transaction (Stas Kelvich)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix query-lifespan memory leakage in repeatedly executed hash joins
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix overly strict sanity check
+      in <function>heap_prepare_freeze_tuple</function>
+      (&Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This could result in incorrect <quote>cannot freeze committed
+      xmax</quote> failures in databases that have
+      been <application>pg_upgrade</application>'d from 9.2 or earlier.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent dangling-pointer dereference when a C-coded before-update row
+      trigger returns the <quote>old</quote> tuple (Rushabh Lathia)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Reduce locking during autovacuum worker scheduling (Jeff Janes)
+     </para>
+
+     <para>
+      The previous behavior caused drastic loss of potential worker
+      concurrency in databases with many tables.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure client hostname is copied while copying
+      <structname>pg_stat_activity</structname> data to local memory
+      (Edmund Horner)
+     </para>
+
+     <para>
+      Previously the supposedly-local snapshot contained a pointer into
+      shared memory, allowing the client hostname column to change
+      unexpectedly if any existing session disconnected.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect processing of multiple compound affixes
+      in <literal>ispell</literal> dictionaries (Arthur Zakirov)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix collation-aware searches (that is, indexscans using inequality
+      operators) in SP-GiST indexes on text columns (Tom Lane)
+     </para>
+
+     <para>
+      Such searches would return the wrong set of rows in most non-C
+      locales.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Count the number of index tuples correctly during initial build of an
+      SP-GiST index (Tomas Vondra)
+     </para>
+
+     <para>
+      Previously, the tuple count was reported to be the same as that of
+      the underlying table, which is wrong if the index is partial.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Count the number of index tuples correctly during vacuuming of a
+      GiST index (Andrey Borodin)
+     </para>
+
+     <para>
+      Previously it reported the estimated number of heap tuples,
+      which might be inaccurate, and is certainly wrong if the
+      index is partial.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix a corner case where a streaming standby gets stuck at a WAL
+      continuation record (Kyotaro Horiguchi)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In logical decoding, avoid possible double processing of WAL data
+      when a walsender restarts (Craig Ringer)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow <function>scalarltsel</function>
+      and <function>scalargtsel</function> to be used on non-core datatypes
+      (Tomas Vondra)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Reduce <application>libpq</application>'s memory consumption when a
+      server error is reported after a large amount of query output has
+      been collected (Tom Lane)
+     </para>
+
+     <para>
+      Discard the previous output before, not after, processing the error
+      message.  On some platforms, notably Linux, this can make a
+      difference in the application's subsequent memory footprint.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix double-free crashes in <application>ecpg</application>
+      (Patrick Krecker, Jeevan Ladhe)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>ecpg</application> to handle <type>long long
+      int</type> variables correctly in MSVC builds (Michael Meskes,
+      Andrew Gierth)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix mis-quoting of values for list-valued GUC variables in dumps
+      (Michael Paquier, Tom Lane)
+     </para>
+
+     <para>
+      The <varname>local_preload_libraries</varname>,
+      <varname>session_preload_libraries</varname>,
+      <varname>shared_preload_libraries</varname>,
+      and <varname>temp_tablespaces</varname> variables were not correctly
+      quoted in <application>pg_dump</application> output.  This would
+      cause problems if settings for these variables appeared in
+      <command>CREATE FUNCTION ... SET</command> or <command>ALTER
+      DATABASE/ROLE ... SET</command> clauses.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_recvlogical</application> to not fail against
+      pre-v10 <productname>PostgreSQL</productname> servers
+      (Michael Paquier)
+     </para>
+
+     <para>
+      A previous fix caused <application>pg_recvlogical</application> to
+      issue a command regardless of server version, but it should only be
+      issued to v10 and later servers.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix overflow handling in <application>PL/pgSQL</application>
+      integer <command>FOR</command> loops (Tom Lane)
+     </para>
+
+     <para>
+      The previous coding failed to detect overflow of the loop variable
+      on some non-gcc compilers, leading to an infinite loop.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Adjust <application>PL/Python</application> regression tests to pass
+      under Python 3.7 (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support testing <application>PL/Python</application> and related
+      modules when building with Python 3 and MSVC (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Rename internal <function>b64_encode</function>
+      and <function>b64_decode</function> functions to avoid conflict with
+      Solaris 11.4 built-in functions (Rainer Orth)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Sync our copy of the timezone library with IANA tzcode release 2018e
+      (Tom Lane)
+     </para>
+
+     <para>
+      This fixes the <application>zic</application> timezone data compiler
+      to cope with negative daylight-savings offsets.  While
+      the <productname>PostgreSQL</productname> project will not
+      immediately ship such timezone data, <application>zic</application>
+      might be used with timezone data obtained directly from IANA, so it
+      seems prudent to update <application>zic</application> now.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018d for DST law changes in Palestine and Antarctica (Casey
+      Station), plus historical corrections for Portugal and its colonies,
+      as well as Enderbury, Jamaica, Turks &amp; Caicos Islands, and
+      Uruguay.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-4-17">
   <title>Release 9.4.17</title>
 
index b62dd732a20454601bb86838f33d63aa6844ec59..c646be6f9d8c933bded2dc05d4580de99e4f3acf 100644 (file)
@@ -1,6 +1,476 @@
 <!-- doc/src/sgml/release-9.5.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-5-13">
+  <title>Release 9.5.13</title>
+
+  <formalpara>
+  <title>Release date:</title>
+  <para>2018-05-10</para>
+  </formalpara>
+
+  <para>
+   This release contains a variety of fixes from 9.5.12.
+   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.13</title>
+
+   <para>
+    A dump/restore is not required for those running 9.5.X.
+   </para>
+
+   <para>
+    However, if the function marking mistakes mentioned in the first
+    changelog entry below affect you, you will want to take steps to
+    correct your database catalogs.
+   </para>
+
+   <para>
+    Also, if you are upgrading from a version earlier than 9.5.12,
+    see <xref linkend="release-9-5-12"/>.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix incorrect volatility markings on a few built-in functions
+      (Thomas Munro, Tom Lane)
+     </para>
+
+     <para>
+      The functions
+      <function>query_to_xml</function>,
+      <function>cursor_to_xml</function>,
+      <function>cursor_to_xmlschema</function>,
+      <function>query_to_xmlschema</function>, and
+      <function>query_to_xml_and_xmlschema</function>
+      should be marked volatile because they execute user-supplied queries
+      that might contain volatile operations.  They were not, leading to a
+      risk of incorrect query optimization.  This has been repaired for new
+      installations by correcting the initial catalog data, but existing
+      installations will continue to contain the incorrect markings.
+      Practical use of these functions seems to pose little hazard, but in
+      case of trouble, it can be fixed by manually updating these
+      functions' <structname>pg_proc</structname> entries.  (Note that that
+      will need to be done in each database of the installation.)  Another
+      option is to <application>pg_upgrade</application> the database to a
+      version containing the corrected initial data.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid re-using TOAST value OIDs that match dead-but-not-yet-vacuumed
+      TOAST entries (Pavan Deolasee)
+     </para>
+
+     <para>
+      Once the OID counter has wrapped around, it's possible to assign a
+      TOAST value whose OID matches a previously deleted entry in the same
+      TOAST table.  If that entry were not yet vacuumed away, this resulted
+      in <quote>unexpected chunk number 0 (expected 1) for toast
+      value <replaceable>nnnnn</replaceable></quote> errors, which would
+      persist until the dead entry was removed
+      by <command>VACUUM</command>.  Fix by not selecting such OIDs when
+      creating a new TOAST entry.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Change <command>ANALYZE</command>'s algorithm for updating
+      <structname>pg_class</structname>.<structfield>reltuples</structfield>
+      (David Gould)
+     </para>
+
+     <para>
+      Previously, pages not actually scanned by <command>ANALYZE</command>
+      were assumed to retain their old tuple density.  In a large table
+      where <command>ANALYZE</command> samples only a small fraction of the
+      pages, this meant that the overall tuple density estimate could not
+      change very much, so that <structfield>reltuples</structfield> would
+      change nearly proportionally to changes in the table's physical size
+      (<structfield>relpages</structfield>) regardless of what was actually
+      happening in the table.  This has been observed to result
+      in <structfield>reltuples</structfield> becoming so much larger than
+      reality as to effectively shut off autovacuuming.  To fix, assume
+      that <command>ANALYZE</command>'s sample is a statistically unbiased
+      sample of the table (as it should be), and just extrapolate the
+      density observed within those pages to the whole table.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid deadlocks in concurrent <command>CREATE INDEX
+      CONCURRENTLY</command> commands that are run
+      under <literal>SERIALIZABLE</literal> or <literal>REPEATABLE
+      READ</literal> transaction isolation (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible slow execution of <command>REFRESH MATERIALIZED VIEW
+      CONCURRENTLY</command> (Thomas Munro)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <literal>UPDATE/DELETE ... WHERE CURRENT OF</literal> to not fail
+      when the referenced cursor uses an index-only-scan plan (Yugo Nagata,
+      Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect planning of join clauses pushed into parameterized
+      paths (Andrew Gierth, Tom Lane)
+     </para>
+
+     <para>
+      This error could result in misclassifying a condition as
+      a <quote>join filter</quote> for an outer join when it should be a
+      plain <quote>filter</quote> condition, leading to incorrect join
+      output.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possibly incorrect generation of an index-only-scan plan when the
+      same table column appears in multiple index columns, and only some of
+      those index columns use operator classes that can return the column
+      value (Kyotaro Horiguchi)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misoptimization of <literal>CHECK</literal> constraints having
+      provably-NULL subclauses of
+      top-level <literal>AND</literal>/<literal>OR</literal> conditions
+      (Tom Lane, Dean Rasheed)
+     </para>
+
+     <para>
+      This could, for example, allow constraint exclusion to exclude a
+      child table that should not be excluded from a query.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix executor crash due to double free in some <literal>GROUPING
+      SET</literal> usages (Peter Geoghegan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid crash if a table rewrite event trigger is added concurrently
+      with a command that could call such a trigger (&Aacute;lvaro Herrera,
+      Andrew Gierth, Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid failure if a query-cancel or session-termination interrupt
+      occurs while committing a prepared transaction (Stas Kelvich)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix query-lifespan memory leakage in repeatedly executed hash joins
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix overly strict sanity check
+      in <function>heap_prepare_freeze_tuple</function>
+      (&Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This could result in incorrect <quote>cannot freeze committed
+      xmax</quote> failures in databases that have
+      been <application>pg_upgrade</application>'d from 9.2 or earlier.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent dangling-pointer dereference when a C-coded before-update row
+      trigger returns the <quote>old</quote> tuple (Rushabh Lathia)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Reduce locking during autovacuum worker scheduling (Jeff Janes)
+     </para>
+
+     <para>
+      The previous behavior caused drastic loss of potential worker
+      concurrency in databases with many tables.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure client hostname is copied while copying
+      <structname>pg_stat_activity</structname> data to local memory
+      (Edmund Horner)
+     </para>
+
+     <para>
+      Previously the supposedly-local snapshot contained a pointer into
+      shared memory, allowing the client hostname column to change
+      unexpectedly if any existing session disconnected.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect processing of multiple compound affixes
+      in <literal>ispell</literal> dictionaries (Arthur Zakirov)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix collation-aware searches (that is, indexscans using inequality
+      operators) in SP-GiST indexes on text columns (Tom Lane)
+     </para>
+
+     <para>
+      Such searches would return the wrong set of rows in most non-C
+      locales.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Count the number of index tuples correctly during initial build of an
+      SP-GiST index (Tomas Vondra)
+     </para>
+
+     <para>
+      Previously, the tuple count was reported to be the same as that of
+      the underlying table, which is wrong if the index is partial.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Count the number of index tuples correctly during vacuuming of a
+      GiST index (Andrey Borodin)
+     </para>
+
+     <para>
+      Previously it reported the estimated number of heap tuples,
+      which might be inaccurate, and is certainly wrong if the
+      index is partial.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix a corner case where a streaming standby gets stuck at a WAL
+      continuation record (Kyotaro Horiguchi)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In logical decoding, avoid possible double processing of WAL data
+      when a walsender restarts (Craig Ringer)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow <function>scalarltsel</function>
+      and <function>scalargtsel</function> to be used on non-core datatypes
+      (Tomas Vondra)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Reduce <application>libpq</application>'s memory consumption when a
+      server error is reported after a large amount of query output has
+      been collected (Tom Lane)
+     </para>
+
+     <para>
+      Discard the previous output before, not after, processing the error
+      message.  On some platforms, notably Linux, this can make a
+      difference in the application's subsequent memory footprint.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix double-free crashes in <application>ecpg</application>
+      (Patrick Krecker, Jeevan Ladhe)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>ecpg</application> to handle <type>long long
+      int</type> variables correctly in MSVC builds (Michael Meskes,
+      Andrew Gierth)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix mis-quoting of values for list-valued GUC variables in dumps
+      (Michael Paquier, Tom Lane)
+     </para>
+
+     <para>
+      The <varname>local_preload_libraries</varname>,
+      <varname>session_preload_libraries</varname>,
+      <varname>shared_preload_libraries</varname>,
+      and <varname>temp_tablespaces</varname> variables were not correctly
+      quoted in <application>pg_dump</application> output.  This would
+      cause problems if settings for these variables appeared in
+      <command>CREATE FUNCTION ... SET</command> or <command>ALTER
+      DATABASE/ROLE ... SET</command> clauses.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_recvlogical</application> to not fail against
+      pre-v10 <productname>PostgreSQL</productname> servers
+      (Michael Paquier)
+     </para>
+
+     <para>
+      A previous fix caused <application>pg_recvlogical</application> to
+      issue a command regardless of server version, but it should only be
+      issued to v10 and later servers.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that <application>pg_rewind</application> deletes files on the
+      target server if they are deleted from the source server during the
+      run (Takayuki Tsunakawa)
+     </para>
+
+     <para>
+      Failure to do this could result in data inconsistency on the target,
+      particularly if the file in question is a WAL segment.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_rewind</application> to handle tables in
+      non-default tablespaces correctly (Takayuki Tsunakawa)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix overflow handling in <application>PL/pgSQL</application>
+      integer <command>FOR</command> loops (Tom Lane)
+     </para>
+
+     <para>
+      The previous coding failed to detect overflow of the loop variable
+      on some non-gcc compilers, leading to an infinite loop.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Adjust <application>PL/Python</application> regression tests to pass
+      under Python 3.7 (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support testing <application>PL/Python</application> and related
+      modules when building with Python 3 and MSVC (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: REL9_5_STABLE [3c0e07a46] 2018-05-01 12:02:41 -0400
+-->
+     <para>
+      Support building with Microsoft Visual Studio 2015 (Michael Paquier)
+     </para>
+
+     <para>
+      Various fixes needed for VS2015 compatibility were previously
+      back-patched into the 9.5 branch, but this one was missed.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Rename internal <function>b64_encode</function>
+      and <function>b64_decode</function> functions to avoid conflict with
+      Solaris 11.4 built-in functions (Rainer Orth)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Sync our copy of the timezone library with IANA tzcode release 2018e
+      (Tom Lane)
+     </para>
+
+     <para>
+      This fixes the <application>zic</application> timezone data compiler
+      to cope with negative daylight-savings offsets.  While
+      the <productname>PostgreSQL</productname> project will not
+      immediately ship such timezone data, <application>zic</application>
+      might be used with timezone data obtained directly from IANA, so it
+      seems prudent to update <application>zic</application> now.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018d for DST law changes in Palestine and Antarctica (Casey
+      Station), plus historical corrections for Portugal and its colonies,
+      as well as Enderbury, Jamaica, Turks &amp; Caicos Islands, and
+      Uruguay.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-5-12">
   <title>Release 9.5.12</title>
 
index f364aebeb5c580a994a77d0913e9b71ed33af2f6..4fb0634ef2ae21be63326912b5fd9fec66b239ce 100644 (file)
@@ -1,6 +1,538 @@
 <!-- doc/src/sgml/release-9.6.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-6-9">
+  <title>Release 9.6.9</title>
+
+  <formalpara>
+  <title>Release date:</title>
+  <para>2018-05-10</para>
+  </formalpara>
+
+  <para>
+   This release contains a variety of fixes from 9.6.8.
+   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.9</title>
+
+   <para>
+    A dump/restore is not required for those running 9.6.X.
+   </para>
+
+   <para>
+    However, if the function marking mistakes mentioned in the first two
+    changelog entries below affect you, you will want to take steps to
+    correct your database catalogs.
+   </para>
+
+   <para>
+    Also, if you are upgrading from a version earlier than 9.6.8,
+    see <xref linkend="release-9-6-8"/>.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix incorrect volatility markings on a few built-in functions
+      (Thomas Munro, Tom Lane)
+     </para>
+
+     <para>
+      The functions
+      <function>query_to_xml</function>,
+      <function>cursor_to_xml</function>,
+      <function>cursor_to_xmlschema</function>,
+      <function>query_to_xmlschema</function>, and
+      <function>query_to_xml_and_xmlschema</function>
+      should be marked volatile because they execute user-supplied queries
+      that might contain volatile operations.  They were not, leading to a
+      risk of incorrect query optimization.  This has been repaired for new
+      installations by correcting the initial catalog data, but existing
+      installations will continue to contain the incorrect markings.
+      Practical use of these functions seems to pose little hazard, but in
+      case of trouble, it can be fixed by manually updating these
+      functions' <structname>pg_proc</structname> entries.  (Note that that
+      will need to be done in each database of the installation.)  Another
+      option is to <application>pg_upgrade</application> the database to a
+      version containing the corrected initial data.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect parallel-safety markings on a few built-in functions
+      (Thomas Munro, Tom Lane)
+     </para>
+
+     <para>
+      The functions
+      <function>brin_summarize_new_values</function>,
+      <function>brin_summarize_range</function>,
+      <function>brin_desummarize_range</function>,
+      <function>gin_clean_pending_list</function>,
+      <function>cursor_to_xml</function>,
+      <function>cursor_to_xmlschema</function>,
+      <function>ts_rewrite</function>,
+      <function>ts_stat</function>,
+      <function>binary_upgrade_create_empty_extension</function>, and
+      <function>pg_import_system_collations</function>
+      should be marked parallel-unsafe; some because they perform database
+      modifications directly, and others because they execute user-supplied
+      queries that might do so.  They were marked parallel-restricted
+      instead, leading to a risk of unexpected query errors.  This has been
+      repaired for new installations by correcting the initial catalog
+      data, but existing installations will continue to contain the
+      incorrect markings.  Practical use of these functions seems to pose
+      little hazard unless <varname>force_parallel_mode</varname> is turned
+      on.  In case of trouble, it can be fixed by manually updating these
+      functions' <structname>pg_proc</structname> entries.  (Note that that
+      will need to be done in each database of the installation.)  Another
+      option is to <application>pg_upgrade</application> the database to a
+      version containing the corrected initial data.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid re-using TOAST value OIDs that match dead-but-not-yet-vacuumed
+      TOAST entries (Pavan Deolasee)
+     </para>
+
+     <para>
+      Once the OID counter has wrapped around, it's possible to assign a
+      TOAST value whose OID matches a previously deleted entry in the same
+      TOAST table.  If that entry were not yet vacuumed away, this resulted
+      in <quote>unexpected chunk number 0 (expected 1) for toast
+      value <replaceable>nnnnn</replaceable></quote> errors, which would
+      persist until the dead entry was removed
+      by <command>VACUUM</command>.  Fix by not selecting such OIDs when
+      creating a new TOAST entry.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Change <command>ANALYZE</command>'s algorithm for updating
+      <structname>pg_class</structname>.<structfield>reltuples</structfield>
+      (David Gould)
+     </para>
+
+     <para>
+      Previously, pages not actually scanned by <command>ANALYZE</command>
+      were assumed to retain their old tuple density.  In a large table
+      where <command>ANALYZE</command> samples only a small fraction of the
+      pages, this meant that the overall tuple density estimate could not
+      change very much, so that <structfield>reltuples</structfield> would
+      change nearly proportionally to changes in the table's physical size
+      (<structfield>relpages</structfield>) regardless of what was actually
+      happening in the table.  This has been observed to result
+      in <structfield>reltuples</structfield> becoming so much larger than
+      reality as to effectively shut off autovacuuming.  To fix, assume
+      that <command>ANALYZE</command>'s sample is a statistically unbiased
+      sample of the table (as it should be), and just extrapolate the
+      density observed within those pages to the whole table.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid deadlocks in concurrent <command>CREATE INDEX
+      CONCURRENTLY</command> commands that are run
+      under <literal>SERIALIZABLE</literal> or <literal>REPEATABLE
+      READ</literal> transaction isolation (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible slow execution of <command>REFRESH MATERIALIZED VIEW
+      CONCURRENTLY</command> (Thomas Munro)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <literal>UPDATE/DELETE ... WHERE CURRENT OF</literal> to not fail
+      when the referenced cursor uses an index-only-scan plan (Yugo Nagata,
+      Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect planning of join clauses pushed into parameterized
+      paths (Andrew Gierth, Tom Lane)
+     </para>
+
+     <para>
+      This error could result in misclassifying a condition as
+      a <quote>join filter</quote> for an outer join when it should be a
+      plain <quote>filter</quote> condition, leading to incorrect join
+      output.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possibly incorrect generation of an index-only-scan plan when the
+      same table column appears in multiple index columns, and only some of
+      those index columns use operator classes that can return the column
+      value (Kyotaro Horiguchi)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misoptimization of <literal>CHECK</literal> constraints having
+      provably-NULL subclauses of
+      top-level <literal>AND</literal>/<literal>OR</literal> conditions
+      (Tom Lane, Dean Rasheed)
+     </para>
+
+     <para>
+      This could, for example, allow constraint exclusion to exclude a
+      child table that should not be excluded from a query.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix executor crash due to double free in some <literal>GROUPING
+      SET</literal> usages (Peter Geoghegan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid crash if a table rewrite event trigger is added concurrently
+      with a command that could call such a trigger (&Aacute;lvaro Herrera,
+      Andrew Gierth, Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid failure if a query-cancel or session-termination interrupt
+      occurs while committing a prepared transaction (Stas Kelvich)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix query-lifespan memory leakage in repeatedly executed hash joins
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible leak or double free of visibility map buffer pins
+      (Amit Kapila)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid spuriously marking pages as all-visible (Dan Wood,
+      Pavan Deolasee, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This could happen if some tuples were locked (but not deleted).  While
+      queries would still function correctly, vacuum would normally ignore
+      such pages, with the long-term effect that the tuples were never
+      frozen.  In recent releases this would eventually result in errors
+      such as <quote>found multixact <replaceable>nnnnn</replaceable> from
+      before relminmxid <replaceable>nnnnn</replaceable></quote>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix overly strict sanity check
+      in <function>heap_prepare_freeze_tuple</function>
+      (&Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This could result in incorrect <quote>cannot freeze committed
+      xmax</quote> failures in databases that have
+      been <application>pg_upgrade</application>'d from 9.2 or earlier.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent dangling-pointer dereference when a C-coded before-update row
+      trigger returns the <quote>old</quote> tuple (Rushabh Lathia)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Reduce locking during autovacuum worker scheduling (Jeff Janes)
+     </para>
+
+     <para>
+      The previous behavior caused drastic loss of potential worker
+      concurrency in databases with many tables.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure client hostname is copied while copying
+      <structname>pg_stat_activity</structname> data to local memory
+      (Edmund Horner)
+     </para>
+
+     <para>
+      Previously the supposedly-local snapshot contained a pointer into
+      shared memory, allowing the client hostname column to change
+      unexpectedly if any existing session disconnected.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect processing of multiple compound affixes
+      in <literal>ispell</literal> dictionaries (Arthur Zakirov)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix collation-aware searches (that is, indexscans using inequality
+      operators) in SP-GiST indexes on text columns (Tom Lane)
+     </para>
+
+     <para>
+      Such searches would return the wrong set of rows in most non-C
+      locales.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent query-lifespan memory leakage with SP-GiST operator classes
+      that use traversal values (Anton Dign&ouml;s)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Count the number of index tuples correctly during initial build of an
+      SP-GiST index (Tomas Vondra)
+     </para>
+
+     <para>
+      Previously, the tuple count was reported to be the same as that of
+      the underlying table, which is wrong if the index is partial.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Count the number of index tuples correctly during vacuuming of a
+      GiST index (Andrey Borodin)
+     </para>
+
+     <para>
+      Previously it reported the estimated number of heap tuples,
+      which might be inaccurate, and is certainly wrong if the
+      index is partial.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix a corner case where a streaming standby gets stuck at a WAL
+      continuation record (Kyotaro Horiguchi)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In logical decoding, avoid possible double processing of WAL data
+      when a walsender restarts (Craig Ringer)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow <function>scalarltsel</function>
+      and <function>scalargtsel</function> to be used on non-core datatypes
+      (Tomas Vondra)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Reduce <application>libpq</application>'s memory consumption when a
+      server error is reported after a large amount of query output has
+      been collected (Tom Lane)
+     </para>
+
+     <para>
+      Discard the previous output before, not after, processing the error
+      message.  On some platforms, notably Linux, this can make a
+      difference in the application's subsequent memory footprint.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix double-free crashes in <application>ecpg</application>
+      (Patrick Krecker, Jeevan Ladhe)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>ecpg</application> to handle <type>long long
+      int</type> variables correctly in MSVC builds (Michael Meskes,
+      Andrew Gierth)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix mis-quoting of values for list-valued GUC variables in dumps
+      (Michael Paquier, Tom Lane)
+     </para>
+
+     <para>
+      The <varname>local_preload_libraries</varname>,
+      <varname>session_preload_libraries</varname>,
+      <varname>shared_preload_libraries</varname>,
+      and <varname>temp_tablespaces</varname> variables were not correctly
+      quoted in <application>pg_dump</application> output.  This would
+      cause problems if settings for these variables appeared in
+      <command>CREATE FUNCTION ... SET</command> or <command>ALTER
+      DATABASE/ROLE ... SET</command> clauses.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_recvlogical</application> to not fail against
+      pre-v10 <productname>PostgreSQL</productname> servers
+      (Michael Paquier)
+     </para>
+
+     <para>
+      A previous fix caused <application>pg_recvlogical</application> to
+      issue a command regardless of server version, but it should only be
+      issued to v10 and later servers.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that <application>pg_rewind</application> deletes files on the
+      target server if they are deleted from the source server during the
+      run (Takayuki Tsunakawa)
+     </para>
+
+     <para>
+      Failure to do this could result in data inconsistency on the target,
+      particularly if the file in question is a WAL segment.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_rewind</application> to handle tables in
+      non-default tablespaces correctly (Takayuki Tsunakawa)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix overflow handling in <application>PL/pgSQL</application>
+      integer <command>FOR</command> loops (Tom Lane)
+     </para>
+
+     <para>
+      The previous coding failed to detect overflow of the loop variable
+      on some non-gcc compilers, leading to an infinite loop.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Adjust <application>PL/Python</application> regression tests to pass
+      under Python 3.7 (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support testing <application>PL/Python</application> and related
+      modules when building with Python 3 and MSVC (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix errors in initial build of <filename>contrib/bloom</filename>
+      indexes (Tomas Vondra, Tom Lane)
+     </para>
+
+     <para>
+      Fix possible omission of the table's last tuple from the index.
+      Count the number of index tuples correctly, in case it is a partial
+      index.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Rename internal <function>b64_encode</function>
+      and <function>b64_decode</function> functions to avoid conflict with
+      Solaris 11.4 built-in functions (Rainer Orth)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Sync our copy of the timezone library with IANA tzcode release 2018e
+      (Tom Lane)
+     </para>
+
+     <para>
+      This fixes the <application>zic</application> timezone data compiler
+      to cope with negative daylight-savings offsets.  While
+      the <productname>PostgreSQL</productname> project will not
+      immediately ship such timezone data, <application>zic</application>
+      might be used with timezone data obtained directly from IANA, so it
+      seems prudent to update <application>zic</application> now.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</application>
+      release 2018d for DST law changes in Palestine and Antarctica (Casey
+      Station), plus historical corrections for Portugal and its colonies,
+      as well as Enderbury, Jamaica, Turks &amp; Caicos Islands, and
+      Uruguay.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-6-8">
   <title>Release 9.6.8</title>