Doc: in each release branch, keep only that branch's own release notes.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 5 Feb 2019 00:18:49 +0000 (19:18 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 5 Feb 2019 00:18:49 +0000 (19:18 -0500)
Historically we've had each release branch include all prior branches'
notes, including minor-release changes, back to the beginning of the
project.  That's basically an O(N^2) proposition, and it was starting to
catch up with us: as of HEAD the back-branch release notes alone accounted
for nearly 30% of the documentation.  While there's certainly some value
in easy access to back-branch notes, this is getting out of hand.

Hence, switch over to the rule that each branch contains only its own
release notes.  So as to not make older notes too hard to find, each
branch will provide URLs for the immediately preceding branches'
release notes on the project website.

There might be value in providing aggregated notes across all branches
somewhere on the website, but that's a task for another day.

Discussion: https://postgr.es/m/cbd4aeb5-2d9c-8b84-e968-9e09393d4c83@postgresql.org

20 files changed:
doc/src/sgml/filelist.sgml
doc/src/sgml/release-10.sgml [deleted file]
doc/src/sgml/release-11.sgml [deleted file]
doc/src/sgml/release-12.sgml
doc/src/sgml/release-7.4.sgml [deleted file]
doc/src/sgml/release-8.0.sgml [deleted file]
doc/src/sgml/release-8.1.sgml [deleted file]
doc/src/sgml/release-8.2.sgml [deleted file]
doc/src/sgml/release-8.3.sgml [deleted file]
doc/src/sgml/release-8.4.sgml [deleted file]
doc/src/sgml/release-9.0.sgml [deleted file]
doc/src/sgml/release-9.1.sgml [deleted file]
doc/src/sgml/release-9.2.sgml [deleted file]
doc/src/sgml/release-9.3.sgml [deleted file]
doc/src/sgml/release-9.4.sgml [deleted file]
doc/src/sgml/release-9.5.sgml [deleted file]
doc/src/sgml/release-9.6.sgml [deleted file]
doc/src/sgml/release-old.sgml [deleted file]
doc/src/sgml/release.sgml
src/tools/RELEASE_CHANGES

index 5dfdf54815ec8944f4480a3699d56bfb3df68ec1..a03ea1427b9fdffce05174e15e65ea7a50549957 100644 (file)
 
 <!ENTITY release    SYSTEM "release.sgml">
 <!ENTITY release-12     SYSTEM "release-12.sgml">
-<!ENTITY release-11     SYSTEM "release-11.sgml">
-<!ENTITY release-10     SYSTEM "release-10.sgml">
-<!ENTITY release-9.6    SYSTEM "release-9.6.sgml">
-<!ENTITY release-9.5    SYSTEM "release-9.5.sgml">
-<!ENTITY release-9.4    SYSTEM "release-9.4.sgml">
-<!ENTITY release-9.3    SYSTEM "release-9.3.sgml">
-<!ENTITY release-9.2    SYSTEM "release-9.2.sgml">
-<!ENTITY release-9.1    SYSTEM "release-9.1.sgml">
-<!ENTITY release-9.0    SYSTEM "release-9.0.sgml">
-<!ENTITY release-8.4    SYSTEM "release-8.4.sgml">
-<!ENTITY release-8.3    SYSTEM "release-8.3.sgml">
-<!ENTITY release-8.2    SYSTEM "release-8.2.sgml">
-<!ENTITY release-8.1    SYSTEM "release-8.1.sgml">
-<!ENTITY release-8.0    SYSTEM "release-8.0.sgml">
-<!ENTITY release-7.4    SYSTEM "release-7.4.sgml">
-<!ENTITY release-old    SYSTEM "release-old.sgml">
 
 <!ENTITY limits     SYSTEM "limits.sgml">
 <!ENTITY acronyms   SYSTEM "acronyms.sgml">
diff --git a/doc/src/sgml/release-10.sgml b/doc/src/sgml/release-10.sgml
deleted file mode 100644 (file)
index c72b4c9..0000000
+++ /dev/null
@@ -1,9330 +0,0 @@
-<!-- doc/src/sgml/release-10.sgml -->
-<!-- See header comment in release.sgml about typical markup -->
-
- <sect1 id="release-10-6">
-  <title>Release 10.6</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2018-11-08</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 10.5.
-   For information about new features in major release 10, see
-   <xref linkend="release-10"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 10.6</title>
-
-   <para>
-    A dump/restore is not required for those running 10.X.
-   </para>
-
-   <para>
-    However, if you use the <filename>pg_stat_statements</filename> extension,
-    see the changelog entry below about that.
-   </para>
-
-   <para>
-    Also, if you are upgrading from a version earlier than 10.4,
-    see <xref linkend="release-10-4"/>.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Ensure proper quoting of transition table names
-      when <application>pg_dump</application> emits <command>CREATE TRIGGER
-      ... REFERENCING</command> commands (Tom Lane)
-     </para>
-
-     <para>
-      This oversight could be exploited by an unprivileged user to gain
-      superuser privileges during the next dump/reload
-      or <application>pg_upgrade</application> run.  (CVE-2018-16850)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [3d0f68dd3] 2018-10-02 11:54:12 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [419cc8add] 2018-10-02 11:54:12 -0400
-Branch: REL_10_STABLE [7eed72333] 2018-10-02 11:54:12 -0400
-Branch: REL9_6_STABLE [6d73983be] 2018-10-02 11:54:12 -0400
-Branch: REL9_5_STABLE [dad4df0fc] 2018-10-02 11:54:13 -0400
-Branch: REL9_4_STABLE [fd81fae67] 2018-10-02 11:54:13 -0400
-Branch: REL9_3_STABLE [01c7a87df] 2018-10-02 11:54:13 -0400
--->
-     <para>
-      Fix corner-case failures
-      in <function>has_<replaceable>foo</replaceable>_privilege()</function>
-      family of functions (Tom Lane)
-     </para>
-
-     <para>
-      Return NULL rather than throwing an error when an invalid object OID
-      is provided.  Some of these functions got that right already, but not
-      all.  <function>has_column_privilege()</function> was additionally
-      capable of crashing on some platforms.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [aaf10f32a] 2018-09-27 18:15:17 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [49507dec4] 2018-09-27 18:15:06 -0400
-Branch: REL_10_STABLE [dff3f06dc] 2018-09-27 18:15:06 -0400
--->
-     <para>
-      Fix <function>pg_get_partition_constraintdef()</function> to return
-      NULL rather than fail when passed an invalid relation OID (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Gierth <rhodiumtoad@postgresql.org>
-Branch: master [c8ea87e4b] 2018-08-28 12:17:33 +0100
-Branch: REL_11_STABLE Release: REL_11_0 [bc552b322] 2018-08-28 12:17:37 +0100
-Branch: REL_10_STABLE [f6f61d937] 2018-08-28 11:55:18 +0100
-Branch: REL9_6_STABLE [450b24741] 2018-08-28 11:51:57 +0100
-Branch: REL9_5_STABLE [41cfae1f3] 2018-08-28 11:51:06 +0100
-Branch: REL9_4_STABLE [2ba7c4e6c] 2018-08-28 11:50:20 +0100
-Branch: REL9_3_STABLE [861670369] 2018-08-28 11:48:43 +0100
-Branch: master [b7f6bcbff] 2018-09-12 19:31:06 +0100
-Branch: REL_11_STABLE Release: REL_11_0 [f7d0343ea] 2018-09-12 19:43:44 +0100
-Branch: REL_10_STABLE [ab78c6e36] 2018-09-12 19:44:28 +0100
-Branch: REL9_6_STABLE [03e0bc117] 2018-09-12 19:45:13 +0100
-Branch: REL9_5_STABLE [77c2663de] 2018-09-12 19:52:10 +0100
-Branch: REL9_4_STABLE [a389ddc75] 2018-09-12 19:47:50 +0100
-Branch: REL9_3_STABLE [dea7fc60a] 2018-09-12 19:49:59 +0100
--->
-     <para>
-      Avoid O(N^2) slowdown in regular expression match/split functions on
-      long strings (Andrew Gierth)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Gierth <rhodiumtoad@postgresql.org>
-Branch: master [a40631a92] 2018-08-23 21:42:40 +0100
-Branch: REL_11_STABLE Release: REL_11_0 [5b4555f90] 2018-08-23 21:43:51 +0100
-Branch: REL_10_STABLE [d64fad666] 2018-08-23 21:43:55 +0100
-Branch: REL9_6_STABLE [5ec70a928] 2018-08-23 21:35:49 +0100
-Branch: REL9_5_STABLE [af988d130] 2018-08-23 21:35:53 +0100
--->
-     <para>
-      Fix parsing of standard multi-character operators that are immediately
-      followed by a comment or <literal>+</literal> or <literal>-</literal>
-      (Andrew Gierth)
-     </para>
-
-     <para>
-      This oversight could lead to parse errors, or to incorrect assignment
-      of precedence.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Gierth <rhodiumtoad@postgresql.org>
-Branch: master [d4a63f829] 2018-08-23 21:42:40 +0100
-Branch: REL_11_STABLE Release: REL_11_0 [0b42bd459] 2018-08-23 21:43:51 +0100
-Branch: REL_10_STABLE [2dbfbd630] 2018-08-23 21:43:55 +0100
-Branch: REL9_6_STABLE [4854ead60] 2018-08-23 21:34:42 +0100
-Branch: REL9_5_STABLE [ad871a9d7] 2018-08-23 21:33:55 +0100
-Branch: REL9_4_STABLE [6c5ed6836] 2018-08-23 21:33:38 +0100
-Branch: REL9_3_STABLE [9923c934d] 2018-08-23 21:29:15 +0100
--->
-     <para>
-      Avoid O(N^3) slowdown in lexer for long strings
-      of <literal>+</literal> or <literal>-</literal> characters
-      (Andrew Gierth)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Gierth <rhodiumtoad@postgresql.org>
-Branch: master [520acab17] 2018-08-17 15:44:13 +0100
-Branch: REL_11_STABLE Release: REL_11_0 [67b161eae] 2018-08-17 15:47:49 +0100
-Branch: REL_10_STABLE [d31ebbff5] 2018-08-17 16:06:35 +0100
-Branch: REL9_6_STABLE [6302fe6b2] 2018-08-17 16:19:10 +0100
-Branch: REL9_5_STABLE [d2ecc27c3] 2018-08-17 16:20:04 +0100
-Branch: REL9_4_STABLE [3cf3a65cb] 2018-08-17 16:23:56 +0100
-Branch: REL9_3_STABLE [807c1c555] 2018-08-17 16:25:52 +0100
--->
-     <para>
-      Fix mis-execution of SubPlans when the outer query is being scanned
-      backwards (Andrew Gierth)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [89b280e13] 2018-09-23 16:05:45 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [fe30cd25e] 2018-09-23 16:05:45 -0400
-Branch: REL_10_STABLE [5ed281e21] 2018-09-23 16:05:45 -0400
-Branch: REL9_6_STABLE [77d2a4866] 2018-09-23 16:05:45 -0400
-Branch: REL9_5_STABLE [c8a978bf4] 2018-09-23 16:05:45 -0400
-Branch: REL9_4_STABLE [38cb01084] 2018-09-23 16:05:45 -0400
-Branch: REL9_3_STABLE [00011a6ae] 2018-09-23 16:05:46 -0400
--->
-     <para>
-      Fix failure of <command>UPDATE/DELETE ... WHERE CURRENT OF ...</command>
-      after rewinding the referenced cursor (Tom Lane)
-     </para>
-
-     <para>
-      A cursor that scans multiple relations (particularly an inheritance
-      tree) could produce wrong behavior if rewound to an earlier relation.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [1f4a920b7] 2018-09-15 13:42:33 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [f13e2d1ce] 2018-09-15 13:42:34 -0400
-Branch: REL_10_STABLE [99cbbbbd1] 2018-09-15 13:42:34 -0400
-Branch: REL9_6_STABLE [2a97a0ad3] 2018-09-15 13:42:34 -0400
-Branch: REL9_5_STABLE [9b14bbd52] 2018-09-15 13:42:34 -0400
-Branch: REL9_4_STABLE [849475510] 2018-09-15 13:42:34 -0400
-Branch: REL9_3_STABLE [591d0ac88] 2018-09-15 13:42:34 -0400
--->
-     <para>
-      Fix <function>EvalPlanQual</function> to handle conditionally-executed
-      InitPlans properly (Andrew Gierth, Tom Lane)
-     </para>
-
-     <para>
-      This resulted in hard-to-reproduce crashes or wrong answers in
-      concurrent updates, if they contained code such as an uncorrelated
-      sub-<literal>SELECT</literal> inside a <literal>CASE</literal>
-      construct.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent creation of a partition in a trigger attached to its parent
-      table (Amit Langote)
-     </para>
-
-     <para>
-      Ideally we'd allow that, but for the moment it has to be blocked to
-      avoid crashes.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix problems with applying <literal>ON COMMIT DELETE ROWS</literal> to
-      a partitioned temporary table (Amit Langote)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix character-class checks to not fail on Windows for Unicode
-      characters above U+FFFF (Tom Lane, Kenji Uno)
-     </para>
-
-     <para>
-      This bug affected full-text-search operations, as well
-      as <filename>contrib/ltree</filename>
-      and <filename>contrib/pg_trgm</filename>.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-Branch: master [75f9c4ca5] 2018-09-14 09:36:30 +0530
-Branch: REL_11_STABLE Release: REL_11_0 [830d75659] 2018-09-14 09:51:47 +0530
-Branch: REL_10_STABLE [1ceb103e7] 2018-09-14 10:05:45 +0530
-Branch: REL9_6_STABLE [568b4e1fd] 2018-09-14 10:17:31 +0530
-Branch: master [14e9b2a75] 2018-09-04 10:28:08 +0530
-Branch: REL_11_STABLE Release: REL_11_0 [2ce253cf5] 2018-09-04 10:26:06 +0530
-Branch: REL_10_STABLE [bf61873ae] 2018-09-04 10:49:05 +0530
-Branch: REL9_6_STABLE [f658235a4] 2018-09-04 11:01:25 +0530
--->
-     <para>
-      Disallow pushing sub-<literal>SELECT</literal>s containing window
-      functions, <literal>LIMIT</literal>, or <literal>OFFSET</literal> to
-      parallel workers (Amit Kapila)
-     </para>
-
-     <para>
-      Such cases could result in inconsistent behavior due to different
-      workers getting different answers, as a result of indeterminacy
-      due to row-ordering variations.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Eisentraut <peter_e@gmx.net>
-Branch: master [0320ddaf3] 2018-09-26 20:19:15 +0200
-Branch: REL_11_STABLE Release: REL_11_0 [648546960] 2018-09-26 20:19:31 +0200
-Branch: REL_10_STABLE [5f6b0e6d6] 2018-09-26 20:19:44 +0200
-Branch: REL9_6_STABLE [bdf11d688] 2018-09-26 20:20:17 +0200
-Branch: REL9_5_STABLE [992f8542a] 2018-09-26 20:20:59 +0200
-Branch: REL9_4_STABLE [26b877d28] 2018-09-26 20:33:05 +0200
-Branch: REL9_3_STABLE [14ce78e47] 2018-09-26 20:33:21 +0200
--->
-     <para>
-      Ensure that sequences owned by a foreign table are processed
-      by <literal>ALTER OWNER</literal> on the table (Peter Eisentraut)
-     </para>
-
-     <para>
-      The ownership change should propagate to such sequences as well, but
-      this was missed for foreign tables.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Ensure that the server will process
-      already-received <literal>NOTIFY</literal>
-      and <literal>SIGTERM</literal> interrupts before waiting for client
-      input (Jeff Janes, Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [87d9bbca1] 2018-09-24 11:30:59 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [bfdd02f88] 2018-09-24 11:30:51 -0400
-Branch: REL_10_STABLE [103511723] 2018-09-24 11:30:51 -0400
-Branch: REL9_6_STABLE [ac863108f] 2018-09-24 11:30:51 -0400
-Branch: REL9_5_STABLE [6ed095edb] 2018-09-24 11:30:51 -0400
-Branch: REL9_4_STABLE [028fc0bac] 2018-09-24 11:30:51 -0400
-Branch: REL9_3_STABLE [7ecdeb5f5] 2018-09-24 11:30:51 -0400
--->
-     <para>
-      Fix over-allocation of space for <function>array_out()</function>'s
-      result string (Keiichi Hirobe)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Gierth <rhodiumtoad@postgresql.org>
-Branch: master [07172d5af] 2018-08-13 01:59:45 +0100
-Branch: REL_11_STABLE Release: REL_11_0 [78f70e07e] 2018-08-13 02:03:12 +0100
-Branch: REL_10_STABLE [556140424] 2018-08-13 02:03:54 +0100
--->
-     <para>
-      Avoid query-lifetime memory leak in <literal>XMLTABLE</literal>
-      (Andrew Gierth)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix memory leak in repeated SP-GiST index scans (Tom Lane)
-     </para>
-
-     <para>
-      This is only known to amount to anything significant in cases where
-      an exclusion constraint using SP-GiST receives many new index entries
-      in a single command.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tomas Vondra <tomas.vondra@postgresql.org>
-Branch: master [fa73b377e] 2018-08-16 16:49:57 +0200
-Branch: REL_11_STABLE Release: REL_11_0 [43ba5ac6a] 2018-08-16 16:55:34 +0200
-Branch: REL_10_STABLE [e00f4b68d] 2018-08-16 16:55:09 +0200
-Branch: REL9_6_STABLE [5257b9bfb] 2018-08-16 16:52:44 +0200
-Branch: REL9_5_STABLE [864ecd716] 2018-08-16 16:51:46 +0200
-Branch: REL9_4_STABLE [ef1ac5b2a] 2018-08-16 16:51:00 +0200
--->
-     <para>
-      Ensure that <function>ApplyLogicalMappingFile()</function> closes the
-      mapping file when done with it (Tomas Vondra)
-     </para>
-
-     <para>
-      Previously, the file descriptor was leaked, eventually resulting in
-      failures during logical decoding.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andres Freund <andres@anarazel.de>
-Branch: master [e9edc1ba0] 2018-10-10 13:53:02 -0700
-Branch: REL_11_STABLE Release: REL_11_0 [88670a436] 2018-10-10 13:53:02 -0700
-Branch: REL_10_STABLE [532e3b5b3] 2018-10-10 13:53:02 -0700
-Branch: REL9_6_STABLE [a88482dd2] 2018-10-10 13:53:02 -0700
-Branch: REL9_5_STABLE [0a0c25594] 2018-10-10 13:53:03 -0700
-Branch: REL9_4_STABLE [c7b96ba29] 2018-10-10 13:53:03 -0700
--->
-     <para>
-      Fix logical decoding to handle cases where a mapped catalog table is
-      repeatedly rewritten, e.g. by <literal>VACUUM FULL</literal>
-      (Andres Freund)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent starting the server with <varname>wal_level</varname> set
-      to too low a value to support an existing replication slot (Andres
-      Freund)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [d48da369a] 2018-10-15 14:01:38 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [db9034bf7] 2018-10-15 14:01:38 -0400
-Branch: REL_10_STABLE [9d4212afa] 2018-10-15 14:01:38 -0400
-Branch: REL9_6_STABLE [ca361554c] 2018-10-15 14:01:38 -0400
-Branch: REL9_5_STABLE [10412cef1] 2018-10-15 14:01:38 -0400
-Branch: REL9_4_STABLE [eb01ea2a3] 2018-10-15 14:01:38 -0400
-Branch: REL9_3_STABLE [3a60c8bb1] 2018-10-15 14:01:38 -0400
--->
-     <para>
-      Avoid crash if a utility command causes infinite recursion (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [1df21ddb1] 2018-10-14 22:23:21 +0900
-Branch: REL_11_STABLE Release: REL_11_0 [18781cd2a] 2018-10-14 22:23:29 +0900
-Branch: REL_10_STABLE [8384ff424] 2018-10-14 22:23:35 +0900
-Branch: REL9_6_STABLE [010041ddc] 2018-10-14 22:23:43 +0900
-Branch: REL9_5_STABLE [d83dac374] 2018-10-14 22:23:48 +0900
-Branch: REL9_4_STABLE [7c525519d] 2018-10-14 22:23:54 +0900
-Branch: REL9_3_STABLE [0c99e7196] 2018-10-14 22:24:01 +0900
--->
-     <para>
-      When initializing a hot standby, cope with duplicate XIDs caused by
-      two-phase transactions on the master
-      (Michael Paquier, Konstantin Knizhnik)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [ad08006ba] 2018-10-06 19:17:46 -0300
-Branch: REL_11_STABLE Release: REL_11_0 [1a852f7c1] 2018-10-06 19:17:46 -0300
-Branch: REL_10_STABLE [101b21ead] 2018-10-06 19:17:46 -0300
-Branch: REL9_6_STABLE [b2f266f58] 2018-10-06 19:17:46 -0300
-Branch: REL9_5_STABLE [a2a5159ed] 2018-10-06 19:17:46 -0300
--->
-     <para>
-      Fix event triggers to handle nested <command>ALTER TABLE</command>
-      commands (Michael Paquier, &Aacute;lvaro Herrera)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [07ee62ce9] 2018-10-06 12:00:09 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [6bf278df8] 2018-10-06 12:00:09 -0400
-Branch: REL_10_STABLE [58454d0bb] 2018-10-06 12:00:10 -0400
-Branch: REL9_6_STABLE [bdc2e7a19] 2018-10-06 12:00:10 -0400
-Branch: REL9_5_STABLE [3c9dd963c] 2018-10-06 12:00:10 -0400
--->
-     <para>
-      Propagate parent process's transaction and statement start timestamps
-      to parallel workers (Konstantin Knizhnik)
-     </para>
-
-     <para>
-      This prevents misbehavior of functions such
-      as <function>transaction_timestamp()</function> when executed in a
-      worker.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-Branch: master [9bc9f72b2] 2018-10-03 09:15:03 +0530
-Branch: REL_11_STABLE Release: REL_11_0 [ca5ca25d0] 2018-10-03 09:14:09 +0530
-Branch: REL_10_STABLE [9718c93f5] 2018-10-03 09:38:07 +0530
-Branch: REL9_6_STABLE [dca44d07c] 2018-10-03 09:54:01 +0530
--->
-     <para>
-      Fix transfer of expanded datums to parallel workers so that alignment
-      is preserved, preventing crashes on alignment-picky platforms
-      (Tom Lane, Amit Kapila)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [78ea8b5da] 2018-09-28 11:54:38 +0900
-Branch: REL_11_STABLE Release: REL_11_0 [88926fd48] 2018-09-28 11:55:43 +0900
-Branch: REL_10_STABLE [05b9c58da] 2018-09-28 11:55:55 +0900
-Branch: REL9_6_STABLE [f4fa92f26] 2018-09-28 11:56:04 +0900
-Branch: REL9_5_STABLE [ed9d6d621] 2018-09-28 11:56:11 +0900
--->
-     <para>
-      Fix WAL file recycling logic to work correctly on standby servers
-      (Michael Paquier)
-     </para>
-
-     <para>
-      Depending on the setting of <varname>archive_mode</varname>, a standby
-      might fail to remove some WAL files that could be removed.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [8d28bf500] 2018-09-26 10:25:54 +0900
-Branch: REL_11_STABLE Release: REL_11_0 [180feb8c7] 2018-09-26 10:29:20 +0900
-Branch: REL_10_STABLE [cb822ffb7] 2018-09-26 10:29:28 +0900
-Branch: REL9_6_STABLE [e513a3d85] 2018-09-26 10:29:49 +0900
-Branch: REL9_5_STABLE [69a568636] 2018-09-26 10:30:38 +0900
--->
-     <para>
-      Fix handling of commit-timestamp tracking during recovery
-      (Masahiko Sawada, Michael Paquier)
-     </para>
-
-     <para>
-      If commit timestamp tracking has been turned on or off, recovery might
-      fail due to trying to fetch the commit timestamp for a transaction
-      that did not record it.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [d18f6674b] 2018-09-23 22:56:39 -0700
-Branch: REL_11_STABLE Release: REL_11_0 [89f2b64da] 2018-09-23 22:56:42 -0700
-Branch: REL_10_STABLE [4232cff11] 2018-09-23 22:56:42 -0700
-Branch: REL9_6_STABLE [329cacb90] 2018-09-23 22:56:42 -0700
-Branch: REL9_5_STABLE [d68d5adfd] 2018-09-23 22:56:43 -0700
-Branch: REL9_4_STABLE [401228183] 2018-09-23 22:56:57 -0700
-Branch: REL9_3_STABLE [402da7054] 2018-09-23 22:57:43 -0700
--->
-     <para>
-      Randomize the <function>random()</function> seed in bootstrap and
-      standalone backends, and in <application>initdb</application>
-      (Noah Misch)
-     </para>
-
-     <para>
-      The main practical effect of this change is that it avoids a scenario
-      where <application>initdb</application> might mistakenly conclude that
-      POSIX shared memory is not available, due to name collisions caused by
-      always using the same random seed.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-Branch: master [38763d677] 2018-09-20 15:52:39 +1200
-Branch: REL_11_STABLE Release: REL_11_0 [8ffc3be10] 2018-09-20 15:59:34 +1200
-Branch: REL_10_STABLE [ba20d3925] 2018-09-20 16:03:51 +1200
--->
-     <para>
-      Fix possible shared-memory corruption in DSA logic (Thomas Munro)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-Branch: master [422952ee7] 2018-09-18 22:56:36 +1200
-Branch: REL_11_STABLE Release: REL_11_0 [63efab4ca] 2018-09-18 23:03:54 +1200
-Branch: REL_10_STABLE [7167fa876] 2018-09-18 23:08:56 +1200
-Branch: REL9_6_STABLE [f547035a0] 2018-09-18 23:13:27 +1200
-Branch: REL9_5_STABLE [fb389498b] 2018-09-18 23:19:22 +1200
-Branch: REL9_4_STABLE [c0c5668c6] 2018-09-18 23:49:21 +1200
--->
-     <para>
-      Allow DSM allocation to be interrupted (Chris Travers)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-Branch: master [6c3c9d418] 2018-09-20 14:21:18 +1200
-Branch: REL_11_STABLE Release: REL_11_0 [9d178fb92] 2018-09-20 14:21:32 +1200
-Branch: REL_10_STABLE [98a4e814e] 2018-09-20 14:21:44 +1200
-Branch: REL9_6_STABLE [de4fe83c7] 2018-09-20 14:21:57 +1200
--->
-     <para>
-      Avoid failure in a parallel worker when loading an extension that
-      tries to access system caches within its init function (Thomas Munro)
-     </para>
-
-     <para>
-      We don't consider that to be good extension coding practice, but it
-      mostly worked before parallel query, so continue to support it for
-      now.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-Branch: master [bc153c941] 2018-09-13 15:32:50 +0530
-Branch: REL_11_STABLE Release: REL_11_0 [ff4220ead] 2018-09-13 15:38:15 +0530
-Branch: REL_10_STABLE [ede7d8192] 2018-09-13 16:01:57 +0530
-Branch: REL9_6_STABLE [fd4f2af77] 2018-09-13 16:08:55 +0530
-Branch: REL9_5_STABLE [47a589c1f] 2018-09-13 16:10:59 +0530
--->
-     <para>
-      Properly handle turning <varname>full_page_writes</varname> on
-      dynamically (Kyotaro Horiguchi)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Gierth <rhodiumtoad@postgresql.org>
-Branch: master [500d49794] 2018-09-11 18:14:19 +0100
-Branch: REL_11_STABLE Release: REL_11_0 [e331d6712] 2018-09-11 19:19:45 +0100
-Branch: REL_10_STABLE [c02b56869] 2018-09-11 19:19:50 +0100
-Branch: REL9_6_STABLE [84a3a1e55] 2018-09-11 19:19:55 +0100
--->
-     <para>
-      Fix possible crash due to double <function>free()</function> during
-      SP-GiST rescan (Andrew Gierth)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [e3d77ea6b] 2018-09-09 15:17:01 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [6395ac14d] 2018-09-09 15:17:02 -0400
-Branch: REL_10_STABLE [d6ff5322c] 2018-09-09 15:17:03 -0400
-Branch: master [4fa3741d1] 2018-09-10 22:22:12 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [e3aafe200] 2018-09-10 22:22:12 -0400
-Branch: REL_10_STABLE [355fd62e8] 2018-09-10 22:22:12 -0400
--->
-     <para>
-      Prevent mis-linking of src/port and src/common functions on ELF-based
-      BSD platforms, as well as HP-UX and Solaris (Andrew Gierth, Tom Lane)
-     </para>
-
-     <para>
-      Shared libraries loaded into a backend's address space could use the
-      backend's versions of these functions, rather than their own copies as
-      intended.  Since the behavior of the two sets of functions isn't
-      quite the same, this led to failures.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alexander Korotkov <akorotkov@postgresql.org>
-Branch: master [5f08accda] 2018-09-09 21:19:29 +0300
-Branch: REL_11_STABLE Release: REL_11_0 [cc909ddbf] 2018-09-09 21:29:00 +0300
-Branch: REL_10_STABLE [bccfd3817] 2018-09-09 21:29:07 +0300
-Branch: REL9_6_STABLE [f9e66f2fb] 2018-09-09 21:42:50 +0300
-Branch: REL9_5_STABLE [e950c6c9d] 2018-09-09 21:44:58 +0300
-Branch: REL9_4_STABLE [35ea98f79] 2018-09-09 21:45:55 +0300
--->
-     <para>
-      Avoid possible buffer overrun when replaying GIN page recompression
-      from WAL (Alexander Korotkov, Sivasubramanian Ramasubramanian)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-Branch: master [ac27c74de] 2018-09-06 09:27:19 +0530
-Branch: REL_11_STABLE Release: REL_11_0 [834bce0a5] 2018-09-06 10:07:18 +0530
-Branch: REL_10_STABLE [916afca45] 2018-09-06 10:19:51 +0530
--->
-     <para>
-      Avoid overrun of a hash index's metapage
-      when <literal>BLCKSZ</literal> is smaller than default (Dilip Kumar)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-Branch: master [7c9e19ca9] 2018-09-04 08:35:42 +0530
-Branch: REL_11_STABLE Release: REL_11_0 [16e7bcfac] 2018-09-04 08:33:33 +0530
-Branch: REL_10_STABLE [3b7a96a61] 2018-09-04 08:43:37 +0530
--->
-     <para>
-      Fix missed page checksum updates in hash indexes (Amit Kapila)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [caa0c6ceb] 2018-09-02 12:40:30 -0700
-Branch: REL_11_STABLE Release: REL_11_0 [680f89e56] 2018-09-02 12:40:38 -0700
-Branch: REL_10_STABLE [504f059f5] 2018-09-02 12:40:45 -0700
-Branch: REL9_6_STABLE [d8030c684] 2018-09-02 12:40:52 -0700
-Branch: REL9_5_STABLE [02b1b01d8] 2018-09-02 12:40:58 -0700
-Branch: REL9_4_STABLE [113020627] 2018-09-02 12:41:06 -0700
--->
-     <para>
-      Fix missed fsync of a replication slot's directory (Konstantin
-      Knizhnik, Michael Paquier)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [ab0ed6153] 2018-08-31 22:59:58 -0700
-Branch: REL_11_STABLE Release: REL_11_0 [ee0ab2754] 2018-08-31 23:00:01 -0700
-Branch: REL_10_STABLE [1664c8b30] 2018-08-31 23:00:01 -0700
-Branch: REL9_6_STABLE [081e4104a] 2018-08-31 23:00:02 -0700
-Branch: REL9_5_STABLE [e3eca937c] 2018-08-31 23:00:02 -0700
-Branch: REL9_4_STABLE [20cd88857] 2018-08-31 23:00:03 -0700
--->
-     <para>
-      Fix unexpected timeouts when
-      using <varname>wal_sender_timeout</varname> on a slow server
-      (Noah Misch)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [c186ba135] 2018-08-31 11:03:40 -0700
-Branch: REL_11_STABLE Release: REL_11_0 [c34f8078a] 2018-08-31 11:03:55 -0700
-Branch: REL_10_STABLE [2c8cff5dd] 2018-08-31 11:04:07 -0700
-Branch: REL9_6_STABLE [4a9a5bb3f] 2018-08-31 11:04:33 -0700
-Branch: REL9_5_STABLE [f3520ff6f] 2018-08-31 11:04:46 -0700
-Branch: REL9_4_STABLE [d9638a326] 2018-08-31 11:05:59 -0700
-Branch: REL9_3_STABLE [65f39408e] 2018-08-31 11:06:09 -0700
--->
-     <para>
-      Ensure that hot standby processes use the correct WAL consistency
-      point (Alexander Kukushkin, Michael Paquier)
-     </para>
-
-     <para>
-      This prevents possible misbehavior just after a standby server has
-      reached a consistent database state during WAL replay.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [55875b6d2] 2018-08-29 17:10:02 -0700
-Branch: REL_11_STABLE Release: REL_11_0 [35622f7d3] 2018-08-29 17:10:13 -0700
-Branch: REL_10_STABLE [89f562ae1] 2018-08-29 17:11:19 -0700
-Branch: REL9_6_STABLE [f6feb8e38] 2018-08-29 17:11:27 -0700
-Branch: REL9_5_STABLE [32f2792eb] 2018-08-29 17:11:40 -0700
--->
-     <para>
-      Ensure background workers are stopped properly when the postmaster
-      receives a fast-shutdown request before completing database startup
-      (Alexander Kukushkin)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [ab7dbd681] 2018-08-15 18:09:29 -0300
-Branch: REL_11_STABLE Release: REL_11_0 [6872c2be6] 2018-08-15 18:09:29 -0300
-Branch: REL_10_STABLE [255e2fbe8] 2018-08-15 18:09:29 -0300
-Branch: REL9_6_STABLE [3cbd190e1] 2018-08-15 18:09:29 -0300
--->
-     <para>
-      Update the free space map during WAL replay of page all-visible/frozen
-      flag changes (&Aacute;lvaro Herrera)
-     </para>
-
-     <para>
-      Previously we were not careful about this, reasoning that the FSM is
-      not critical data anyway.  However, if it's sufficiently out of date,
-      that can result in significant performance degradation after a standby
-      has been promoted to primary.  The FSM will eventually be healed by
-      updates, but we'd like it to be good sooner, so work harder at
-      maintaining it during WAL replay.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-Branch: master [2cd0acfda] 2018-08-13 08:22:18 +0530
-Branch: REL_11_STABLE Release: REL_11_0 [c054afd0a] 2018-08-13 08:33:55 +0530
-Branch: REL_10_STABLE [ba10eaef5] 2018-08-13 08:43:33 +0530
-Branch: REL9_6_STABLE [69de17186] 2018-08-13 08:56:37 +0530
--->
-     <para>
-      Avoid premature release of parallel-query resources when query end or
-      tuple count limit is reached (Amit Kapila)
-     </para>
-
-     <para>
-      It's only okay to shut down the executor at this point if the caller
-      cannot demand backwards scan afterwards.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
-Branch: master [8e19a8264] 2018-08-08 19:10:32 +0300
-Branch: REL_11_STABLE Release: REL_11_0 [79f17d45e] 2018-08-08 19:10:35 +0300
-Branch: REL_10_STABLE [2332020d6] 2018-08-08 19:09:30 +0300
-Branch: REL9_6_STABLE [8e4e783ee] 2018-08-08 19:09:33 +0300
-Branch: REL9_5_STABLE [f318f7fdf] 2018-08-08 19:09:35 +0300
-Branch: REL9_4_STABLE [d5a9b706e] 2018-08-08 19:10:38 +0300
-Branch: REL9_3_STABLE [58ce9c785] 2018-08-08 19:10:07 +0300
--->
-     <para>
-      Don't run atexit callbacks when servicing <literal>SIGQUIT</literal>
-      (Heikki Linnakangas)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [9b7c56d6c] 2018-08-07 16:32:50 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [ea1b65971] 2018-08-07 16:32:55 -0400
-Branch: REL_10_STABLE [9446d7157] 2018-08-07 16:33:00 -0400
-Branch: REL9_6_STABLE [f3ed5364e] 2018-08-07 16:33:03 -0400
-Branch: REL9_5_STABLE [74c877e8d] 2018-08-07 16:33:08 -0400
-Branch: REL9_4_STABLE [33c5d3bf8] 2018-08-07 16:33:12 -0400
-Branch: REL9_3_STABLE [f5973ac76] 2018-08-07 16:33:17 -0400
--->
-     <para>
-      Don't record foreign-server user mappings as members of extensions
-      (Tom Lane)
-     </para>
-
-     <para>
-      If <command>CREATE USER MAPPING</command> is executed in an extension
-      script, an extension dependency was created for the user mapping,
-      which is unexpected.  Roles can't be extension members, so user
-      mappings shouldn't be either.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [bff84a547] 2018-08-26 14:21:55 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [f8fc5f5f5] 2018-08-26 14:21:55 -0400
-Branch: REL_10_STABLE [6fbbe3353] 2018-08-26 14:21:55 -0400
-Branch: REL9_6_STABLE [93ca07fd8] 2018-08-26 14:21:55 -0400
-Branch: REL9_5_STABLE [8895daf1b] 2018-08-26 14:21:55 -0400
-Branch: REL9_4_STABLE [48bc1a525] 2018-08-26 14:21:55 -0400
-Branch: REL9_3_STABLE [23f21e070] 2018-08-26 14:21:55 -0400
--->
-     <para>
-      Make syslogger more robust against failures in opening CSV log files
-      (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [5ca007741] 2018-08-23 16:39:36 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [c781a066e] 2018-08-23 16:39:37 -0400
-Branch: REL_10_STABLE [6953daf08] 2018-08-23 16:39:20 -0400
--->
-     <para>
-      When <application>libpq</application> is given multiple target host
-      names, do the DNS lookups one at a time, not all at once (Tom Lane)
-     </para>
-
-     <para>
-      This prevents unnecessary failures or slow connections when a
-      connection is successfully made to one of the earlier servers in the
-      list.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [1e6e98f76] 2018-08-13 13:07:52 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [998c73664] 2018-08-13 13:07:52 -0400
-Branch: REL_10_STABLE [e0db288ab] 2018-08-13 13:07:53 -0400
--->
-     <para>
-      Fix <application>libpq</application>'s handling of connection timeouts
-      so that they are properly applied per host name or IP address (Tom Lane)
-     </para>
-
-     <para>
-      Previously, some code paths failed to restart the timer when switching
-      to a new target host, possibly resulting in premature timeout.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <application>psql</application>, as well as documentation
-      examples, to call <function>PQconsumeInput()</function> before
-      each <function>PQnotifies()</function> call (Tom Lane)
-     </para>
-
-     <para>
-      This fixes cases in which <application>psql</application> would not
-      report receipt of a <literal>NOTIFY</literal> message until after the
-      next command.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [08c9917e2] 2018-09-25 11:03:56 +0900
-Branch: REL_11_STABLE Release: REL_11_0 [1f5039411] 2018-09-25 11:05:13 +0900
-Branch: REL_10_STABLE [55a586ba9] 2018-09-25 11:05:29 +0900
--->
-     <para>
-      Fix <application>pg_dump</application>'s
-      <option>--no-publications</option> option to also ignore publication
-      tables (Gilles Darold)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [b965f2617] 2018-08-22 14:21:49 +0900
-Branch: REL_11_STABLE Release: REL_11_0 [4ed59e02f] 2018-08-22 14:22:39 +0900
-Branch: REL_10_STABLE [cb282eab1] 2018-08-22 14:23:03 +0900
--->
-     <para>
-      In <application>pg_dump</application>, exclude identity sequences when
-      their parent table is excluded from the dump (David Rowley)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [5b5ed4756] 2018-08-07 13:13:42 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [f73643006] 2018-08-07 13:13:42 -0400
-Branch: REL_10_STABLE [dc391dacf] 2018-08-07 13:13:42 -0400
-Branch: REL9_6_STABLE [6b6327d93] 2018-08-07 13:13:42 -0400
-Branch: REL9_5_STABLE [f3f6558b5] 2018-08-07 13:13:42 -0400
-Branch: REL9_4_STABLE [abd04e0dd] 2018-08-07 13:13:42 -0400
-Branch: REL9_3_STABLE [5abdb33ad] 2018-08-07 13:13:42 -0400
--->
-     <para>
-      Fix possible inconsistency in <application>pg_dump</application>'s
-      sorting of dissimilar object names (Jacob Champion)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [6771c932c] 2018-08-17 17:12:33 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [d73093c4f] 2018-08-17 17:12:21 -0400
-Branch: REL_10_STABLE [05aeeb5e2] 2018-08-17 17:12:21 -0400
-Branch: REL9_6_STABLE [72329ba03] 2018-08-17 17:12:21 -0400
-Branch: REL9_5_STABLE [3998dfe1b] 2018-08-17 17:12:21 -0400
-Branch: REL9_4_STABLE [a4fdcceab] 2018-08-17 17:12:21 -0400
-Branch: REL9_3_STABLE [b2171d472] 2018-08-17 17:12:21 -0400
--->
-     <para>
-      Ensure that <application>pg_restore</application> will schema-qualify
-      the table name when
-      emitting <literal>DISABLE</literal>/<literal>ENABLE TRIGGER</literal>
-      commands (Tom Lane)
-     </para>
-
-     <para>
-      This avoids failures due to the new policy of running restores with
-      restrictive search path.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [03838b804] 2018-08-07 15:43:48 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [187331fef] 2018-08-07 15:43:48 -0400
-Branch: REL_10_STABLE [c9dacdb1c] 2018-08-07 15:43:49 -0400
-Branch: REL9_6_STABLE [92d5dd36e] 2018-08-07 15:43:49 -0400
-Branch: REL9_5_STABLE [91f6ec299] 2018-08-07 15:43:49 -0400
-Branch: REL9_4_STABLE [fb4e0e896] 2018-08-07 15:43:49 -0400
-Branch: REL9_3_STABLE [dfffe651e] 2018-08-07 15:43:49 -0400
--->
-     <para>
-      Fix <application>pg_upgrade</application> to handle event triggers in
-      extensions correctly (Haribabu Kommi)
-     </para>
-
-     <para>
-      <application>pg_upgrade</application> failed to preserve an event
-      trigger's extension-membership status.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Bruce Momjian <bruce@momjian.us>
-Branch: master [777e6ddf1] 2018-08-14 17:19:02 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [995133410] 2018-08-14 17:19:02 -0400
-Branch: REL_10_STABLE [efc4b4897] 2018-08-14 17:19:02 -0400
-Branch: REL9_6_STABLE [54db0e5e1] 2018-08-14 17:19:02 -0400
-Branch: REL9_5_STABLE [dcca99627] 2018-08-14 17:19:02 -0400
-Branch: REL9_4_STABLE [a034c6737] 2018-08-14 17:19:02 -0400
-Branch: REL9_3_STABLE [235eab04e] 2018-08-14 17:19:02 -0400
--->
-     <para>
-      Fix <application>pg_upgrade</application>'s cluster state check to
-      work correctly on a standby server (Bruce Momjian)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alexander Korotkov <akorotkov@postgresql.org>
-Branch: master [f919c165e] 2018-08-31 20:24:48 +0300
-Branch: REL_11_STABLE Release: REL_11_0 [36343e59b] 2018-08-31 20:24:20 +0300
-Branch: REL_10_STABLE [29e07cd22] 2018-08-31 20:23:32 +0300
-Branch: REL9_6_STABLE [5fed7b24a] 2018-08-31 20:22:39 +0300
-Branch: REL9_5_STABLE [b187dae9d] 2018-08-31 20:06:49 +0300
-Branch: REL9_4_STABLE [7cea5e6eb] 2018-08-31 20:10:40 +0300
-Branch: REL9_3_STABLE [9f3ade1a6] 2018-08-31 20:21:30 +0300
--->
-     <para>
-      Enforce type <type>cube</type>'s dimension limit in
-      all <filename>contrib/cube</filename> functions (Andrey Borodin)
-     </para>
-
-     <para>
-      Previously, some cube-related functions could construct values that
-      would be rejected by <function>cube_in()</function>, leading to
-      dump/reload failures.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      In <filename>contrib/pg_stat_statements</filename>, disallow
-      the <literal>pg_read_all_stats</literal> role from
-      executing <function>pg_stat_statements_reset()</function>
-      (Haribabu Kommi)
-     </para>
-
-     <para>
-      <literal>pg_read_all_stats</literal> is only meant to grant permission
-      to read statistics, not to change them, so this grant was incorrect.
-     </para>
-
-     <para>
-      To cause this change to take effect, run <literal>ALTER EXTENSION
-      pg_stat_statements UPDATE</literal> in each database
-      where <filename>pg_stat_statements</filename> has been installed.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Gierth <rhodiumtoad@postgresql.org>
-Branch: master [bf2d0462c] 2018-08-28 14:43:51 +0100
-Branch: REL_11_STABLE Release: REL_11_0 [8bc6a301b] 2018-08-28 15:04:19 +0100
-Branch: REL_10_STABLE [64eed263a] 2018-08-28 15:04:24 +0100
-Branch: REL9_6_STABLE [639bdbb96] 2018-08-28 15:04:30 +0100
--->
-     <para>
-      In <filename>contrib/postgres_fdw</filename>, don't try to ship a
-      variable-free <literal>ORDER BY</literal> clause to the remote server
-      (Andrew Gierth)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [a5322ca10] 2018-09-06 10:49:45 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [23aad181f] 2018-09-06 10:49:45 -0400
-Branch: REL_10_STABLE [a54f5b187] 2018-09-06 10:49:45 -0400
-Branch: REL9_6_STABLE [594ee1ada] 2018-09-06 10:49:45 -0400
-Branch: REL9_5_STABLE [c79b39fb1] 2018-09-06 10:49:45 -0400
-Branch: REL9_4_STABLE [d4ab39626] 2018-09-06 10:49:45 -0400
-Branch: REL9_3_STABLE [25ff97ba7] 2018-09-06 10:49:45 -0400
--->
-     <para>
-      Fix <filename>contrib/unaccent</filename>'s
-      <function>unaccent()</function> function to use
-      the <literal>unaccent</literal> text search dictionary that is in the
-      same schema as the function (Tom Lane)
-     </para>
-
-     <para>
-      Previously it tried to look up the dictionary using the search path,
-      which could fail if the search path has a restrictive value.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix build problems on macOS 10.14 (Mojave) (Tom Lane)
-     </para>
-
-     <para>
-      Adjust <application>configure</application> to add
-      an <option>-isysroot</option> switch to <varname>CPPFLAGS</varname>;
-      without this, PL/Perl and PL/Tcl fail to configure or build on macOS
-      10.14.  The specific sysroot used can be overridden at configure time
-      or build time by setting the <varname>PG_SYSROOT</varname> variable in
-      the arguments of <application>configure</application>
-      or <application>make</application>.
-     </para>
-
-     <para>
-      It is now recommended that Perl-related extensions
-      write <literal>$(perl_includespec)</literal> rather
-      than <literal>-I$(perl_archlibexp)/CORE</literal> in their compiler
-      flags.  The latter continues to work on most platforms, but not recent
-      macOS.
-     </para>
-
-     <para>
-      Also, it should no longer be necessary to
-      specify <option>--with-tclconfig</option> manually to get PL/Tcl to
-      build on recent macOS releases.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix MSVC build and regression-test scripts to work on recent Perl
-      versions (Andrew Dunstan)
-     </para>
-
-     <para>
-      Perl no longer includes the current directory in its search path
-      by default; work around that.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      On Windows, allow the regression tests to be run by an Administrator
-      account (Andrew Dunstan)
-     </para>
-
-     <para>
-      To do this safely, <application>pg_regress</application> now gives up
-      any such privileges at startup.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [c87cb5f7a] 2018-10-05 16:01:29 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [67e7d4da7] 2018-10-05 16:01:29 -0400
-Branch: REL_10_STABLE [142cfd3cd] 2018-10-05 16:01:29 -0400
-Branch: REL9_6_STABLE [60cc2414b] 2018-10-05 16:01:30 -0400
-Branch: REL9_5_STABLE [0dc6bf633] 2018-10-05 16:01:30 -0400
-Branch: REL9_4_STABLE [26cc27541] 2018-10-05 16:01:30 -0400
-Branch: REL9_3_STABLE [6e63e0697] 2018-10-05 16:01:30 -0400
--->
-     <para>
-      Allow btree comparison functions to return <literal>INT_MIN</literal>
-      (Tom Lane)
-     </para>
-
-     <para>
-      Up to now, we've forbidden datatype-specific comparison functions from
-      returning <literal>INT_MIN</literal>, which allows callers to invert
-      the sort order just by negating the comparison result.  However, this
-      was never safe for comparison functions that directly return the
-      result of <function>memcmp()</function>, <function>strcmp()</function>,
-      etc, as POSIX doesn't place any such restriction on those functions.
-      At least some recent versions of <function>memcmp()</function> can
-      return <literal>INT_MIN</literal>, causing incorrect sort ordering.
-      Hence, we've removed this restriction.  Callers must now use
-      the <literal>INVERT_COMPARE_RESULT()</literal> macro if they wish to
-      invert the sort order.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [f868a8143] 2018-09-07 18:04:54 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [2569ca0dc] 2018-09-07 18:04:55 -0400
-Branch: REL_10_STABLE [9e6f4fbdd] 2018-09-07 18:04:56 -0400
-Branch: REL9_6_STABLE [395f310b0] 2018-09-07 18:04:58 -0400
-Branch: REL9_5_STABLE [66321ae61] 2018-09-07 18:04:38 -0400
-Branch: REL9_4_STABLE [bf919387e] 2018-09-07 18:04:38 -0400
-Branch: REL9_3_STABLE [95e9f928c] 2018-09-07 18:04:38 -0400
--->
-     <para>
-      Fix recursion hazard in shared-invalidation message processing
-      (Tom Lane)
-     </para>
-
-     <para>
-      This error could, for example, result in failure to access a system
-      catalog or index that had just been processed by <command>VACUUM
-      FULL</command>.
-     </para>
-
-     <para>
-      This change adds a new result code
-      for <function>LockAcquire</function>, which might possibly affect
-      external callers of that function, though only very unusual usage
-      patterns would have an issue with it.  The API
-      of <function>LockAcquireExtended</function> is also changed.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [361844fe5] 2018-09-07 20:09:57 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [825f10fbd] 2018-09-07 20:09:57 -0400
-Branch: REL_10_STABLE [3985b75dc] 2018-09-07 20:09:57 -0400
-Branch: REL9_6_STABLE [82ebf39fc] 2018-09-07 20:09:57 -0400
-Branch: REL9_5_STABLE [0254aa83b] 2018-09-07 20:09:57 -0400
-Branch: REL9_4_STABLE [d2003339c] 2018-09-07 20:09:57 -0400
-Branch: REL9_3_STABLE [92f0c5083] 2018-09-07 20:09:57 -0400
--->
-     <para>
-      Save and restore SPI's global variables
-      during <function>SPI_connect()</function>
-      and <function>SPI_finish()</function> (Chapman Flack, Tom Lane)
-     </para>
-
-     <para>
-      This prevents possible interference when one SPI-using function calls
-      another.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [44cac9346] 2018-09-01 15:27:17 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [f5c93cf92] 2018-09-01 15:27:13 -0400
-Branch: REL_10_STABLE [10b9af3eb] 2018-09-01 15:27:13 -0400
-Branch: REL9_6_STABLE [826980424] 2018-09-01 15:27:13 -0400
-Branch: REL9_5_STABLE [03ffe5553] 2018-09-01 15:27:13 -0400
-Branch: REL9_4_STABLE [083d9ced1] 2018-09-01 15:27:13 -0400
-Branch: REL9_3_STABLE [5af055ed7] 2018-09-01 15:27:14 -0400
--->
-     <para>
-      Avoid using potentially-under-aligned page buffers (Tom Lane)
-     </para>
-
-     <para>
-      Invent new union types <type>PGAlignedBlock</type>
-      and <type>PGAlignedXLogBlock</type>, and use these in place of plain
-      char arrays, ensuring that the compiler can't place the buffer at a
-      misaligned start address.  This fixes potential core dumps on
-      alignment-picky platforms, and may improve performance even on
-      platforms that allow misalignment.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [805889d7d] 2018-08-15 13:21:37 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [36147ec9f] 2018-08-15 17:25:49 -0400
-Branch: REL_10_STABLE [1811900b9] 2018-08-15 17:25:50 -0400
-Branch: REL9_6_STABLE [c2a2e331d] 2018-08-15 17:25:52 -0400
-Branch: REL9_5_STABLE [8e9f229d2] 2018-08-15 17:25:23 -0400
-Branch: REL9_4_STABLE [27c4b0899] 2018-08-15 17:25:24 -0400
-Branch: REL9_3_STABLE [a57a6faf6] 2018-08-15 17:25:24 -0400
--->
-     <para>
-      Make <filename>src/port/snprintf.c</filename> follow the C99
-      standard's definition of <function>snprintf()</function>'s result
-      value (Tom Lane)
-     </para>
-
-     <para>
-      On platforms where this code is used (mostly Windows), its pre-C99
-      behavior could lead to failure to detect buffer overrun, if the
-      calling code assumed C99 semantics.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andres Freund <andres@anarazel.de>
-Branch: master [bd1463e34] 2018-09-20 17:39:40 -0700
-Branch: REL_11_STABLE Release: REL_11_0 [84f14fb78] 2018-09-20 17:48:34 -0700
-Branch: REL_10_STABLE [1b8f09dbd] 2018-09-20 18:10:32 -0700
-Branch: REL9_6_STABLE [e553997e3] 2018-09-20 18:10:52 -0700
-Branch: REL9_5_STABLE [dbbc98a9e] 2018-09-20 18:11:04 -0700
-Branch: REL9_4_STABLE [29196e13c] 2018-09-20 18:11:10 -0700
-Branch: REL9_3_STABLE [978515df2] 2018-09-20 18:11:49 -0700
--->
-     <para>
-      When building on i386 with the <application>clang</application>
-      compiler, require <option>-msse2</option> to be used (Andres Freund)
-     </para>
-
-     <para>
-      This avoids problems with missed floating point overflow checks.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [751f532b9] 2018-09-26 18:23:13 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [7871a3625] 2018-09-30 16:24:56 -0400
-Branch: REL_10_STABLE [0aa1e0ef1] 2018-09-30 16:24:56 -0400
-Branch: REL9_6_STABLE [2855421ec] 2018-09-30 16:24:56 -0400
-Branch: REL9_5_STABLE [8b36dc588] 2018-09-30 16:24:56 -0400
-Branch: REL9_4_STABLE [e5baf8c27] 2018-09-30 16:24:56 -0400
-Branch: REL9_3_STABLE [08aad3c81] 2018-09-30 16:24:56 -0400
--->
-     <para>
-      Fix <application>configure</application>'s detection of the result
-      type of <function>strerror_r()</function> (Tom Lane)
-     </para>
-
-     <para>
-      The previous coding got the wrong answer when building
-      with <application>icc</application> on Linux (and perhaps in other
-      cases), leading to <application>libpq</application> not returning
-      useful error messages for system-reported errors.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update time zone data files to <application>tzdata</application>
-      release 2018g for DST law changes in Chile, Fiji, Morocco, and Russia
-      (Volgograd), plus historical corrections for China, Hawaii, Japan,
-      Macau, and North Korea.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-10-5">
-  <title>Release 10.5</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2018-08-09</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 10.4.
-   For information about new features in major release 10, see
-   <xref linkend="release-10"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 10.5</title>
-
-   <para>
-    A dump/restore is not required for those running 10.X.
-   </para>
-
-   <para>
-    However, if you are upgrading from a version earlier than 10.4,
-    see <xref linkend="release-10-4"/>.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [d1c6a14ba] 2018-08-06 10:53:35 -0400
-Branch: REL_11_STABLE [f6f735f78] 2018-08-06 10:53:35 -0400
-Branch: REL_10_STABLE [ab5400469] 2018-08-06 10:53:35 -0400
-Branch: REL9_6_STABLE [a8094d0fe] 2018-08-06 10:53:35 -0400
-Branch: REL9_5_STABLE [7aabfd1d8] 2018-08-06 10:53:35 -0400
-Branch: REL9_4_STABLE [6de9766b8] 2018-08-06 10:53:35 -0400
-Branch: REL9_3_STABLE [243de06be] 2018-08-06 10:53:35 -0400
--->
-     <para>
-      Fix failure to reset <application>libpq</application>'s state fully
-      between connection attempts (Tom Lane)
-     </para>
-
-     <para>
-      An unprivileged user of <filename>dblink</filename>
-      or <filename>postgres_fdw</filename> could bypass the checks intended
-      to prevent use of server-side credentials, such as
-      a <filename>~/.pgpass</filename> file owned by the operating-system
-      user running the server.  Servers allowing peer authentication on
-      local connections are particularly vulnerable.  Other attacks such
-      as SQL injection into a <filename>postgres_fdw</filename> session
-      are also possible.
-      Attacking <filename>postgres_fdw</filename> in this way requires the
-      ability to create a foreign server object with selected connection
-      parameters, but any user with access to <filename>dblink</filename>
-      could exploit the problem.
-      In general, an attacker with the ability to select the connection
-      parameters for a <application>libpq</application>-using application
-      could cause mischief, though other plausible attack scenarios are
-      harder to think of.
-      Our thanks to Andrew Krasichkov for reporting this issue.
-      (CVE-2018-10915)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [b8a1247a3] 2018-08-04 19:38:58 -0400
-Branch: REL_11_STABLE [e7154b6ac] 2018-08-04 19:38:58 -0400
-Branch: REL_10_STABLE [f6a124d01] 2018-08-04 19:38:58 -0400
-Branch: REL9_6_STABLE [b484bffe7] 2018-08-04 19:38:58 -0400
-Branch: REL9_5_STABLE [5ad143cda] 2018-08-04 19:38:59 -0400
--->
-     <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.
-      Furthermore, this bug could be leveraged to allow updates of columns
-      that an attacking user lacks <literal>UPDATE</literal> privilege for,
-      if that user has <literal>INSERT</literal> and <literal>UPDATE</literal>
-      privileges for some other column(s) of the table.
-      Any user could also use it for disclosure of server memory.
-      (CVE-2018-10925)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andres Freund <andres@anarazel.de>
-Branch: master Release: REL_11_BR [a54e1f158] 2018-06-12 11:13:21 -0700
-Branch: REL_10_STABLE [2ce64caaf] 2018-06-12 11:13:21 -0700
-Branch: REL9_6_STABLE [6a46aba1c] 2018-06-12 11:13:21 -0700
-Branch: REL9_5_STABLE [14b3ec6f3] 2018-06-12 11:13:21 -0700
-Branch: REL9_4_STABLE [817f9f9a8] 2018-06-12 11:13:22 -0700
-Branch: REL9_3_STABLE [9b9b622b2] 2018-06-12 11:13:22 -0700
--->
-     <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>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [3c64dcb1e] 2018-07-05 10:46:18 +0900
-Branch: REL_11_STABLE [9a1bd8271] 2018-07-05 10:46:43 +0900
-Branch: REL_10_STABLE [6716f2f96] 2018-07-05 10:47:01 +0900
-Branch: REL9_6_STABLE [8d68ee6f3] 2018-07-05 10:47:19 +0900
-Branch: REL9_5_STABLE [23eef5cd7] 2018-07-05 10:47:32 +0900
-Branch: REL9_4_STABLE [f352f43d3] 2018-07-05 10:47:50 +0900
-Branch: REL9_3_STABLE [56535dcdc] 2018-07-05 10:48:03 +0900
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [0905fe891] 2018-07-09 19:26:19 -0400
-Branch: REL_11_STABLE [cfcfbd39b] 2018-07-09 19:26:19 -0400
-Branch: REL_10_STABLE [59b2dcbf4] 2018-07-09 19:26:19 -0400
-Branch: REL9_6_STABLE [568995be6] 2018-07-09 19:26:19 -0400
-Branch: REL9_5_STABLE [7ddac4e8f] 2018-07-09 19:26:19 -0400
-Branch: REL9_4_STABLE [d80ec868f] 2018-07-09 19:26:19 -0400
-Branch: REL9_3_STABLE [e8fe3bb23] 2018-07-09 19:26:19 -0400
--->
-     <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>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master Release: REL_11_BR [70b4f82a4] 2018-06-18 10:43:27 +0900
-Branch: REL_10_STABLE [fb28104a4] 2018-06-18 10:43:42 +0900
-Branch: REL9_6_STABLE [5860b22c4] 2018-06-18 10:43:59 +0900
-Branch: REL9_5_STABLE [e41c79548] 2018-06-18 10:44:10 +0900
--->
-     <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>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [cbc55da55] 2018-07-09 10:22:34 +0900
-Branch: REL_11_STABLE [5d7c9347e] 2018-07-09 10:25:40 +0900
-Branch: REL_10_STABLE [c030db349] 2018-07-09 10:26:18 +0900
-Branch: REL9_6_STABLE [619dea467] 2018-07-09 10:26:41 +0900
-Branch: REL9_5_STABLE [62203e608] 2018-07-09 10:27:10 +0900
--->
-     <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>
-<!--
-Author: Fujii Masao <fujii@postgresql.org>
-Branch: master [b41669118] 2018-07-05 02:23:46 +0900
-Branch: REL_11_STABLE [9e53171b1] 2018-07-05 02:25:45 +0900
-Branch: REL_10_STABLE [8463be060] 2018-07-05 02:26:22 +0900
-Branch: REL9_6_STABLE [7da22d866] 2018-07-05 02:27:05 +0900
-Branch: REL9_5_STABLE [614e0729a] 2018-07-05 02:27:46 +0900
-Branch: REL9_4_STABLE [62c2fe644] 2018-07-05 02:46:44 +0900
-Branch: REL9_3_STABLE [7ffe0127e] 2018-07-05 02:52:28 +0900
--->
-     <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>
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-Branch: master Release: REL_11_BR [a40cff895] 2018-06-26 18:45:45 +1200
-Branch: REL_10_STABLE [88554c091] 2018-06-26 17:17:27 +1200
-Branch: REL9_6_STABLE [35750a38b] 2018-06-26 18:44:31 +1200
-Branch: REL9_5_STABLE [7bcda60d4] 2018-06-26 17:56:20 +1200
-Branch: REL9_4_STABLE [c4ccbcc1a] 2018-06-26 18:23:36 +1200
-Branch: REL9_3_STABLE [12f7d9199] 2018-06-26 18:23:17 +1200
--->
-     <para>
-      Improve performance of lock releasing in standby server WAL replay
-      (Thomas Munro)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [9a7b7adc1] 2018-07-12 10:19:35 +0900
-Branch: REL_11_STABLE [0414ac6a1] 2018-07-12 10:19:51 +0900
-Branch: REL_10_STABLE [11abea37d] 2018-07-12 10:20:08 +0900
-Branch: REL9_6_STABLE [d5eb1fe0d] 2018-07-12 10:20:14 +0900
-Branch: REL9_5_STABLE [19648375c] 2018-07-12 10:20:21 +0900
-Branch: REL9_4_STABLE [98e2c298c] 2018-07-12 10:20:27 +0900
--->
-     <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>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [4f10e7ea7] 2018-07-30 16:30:07 -0400
-Branch: REL_11_STABLE [5dbd0beb8] 2018-07-30 16:30:07 -0400
-Branch: REL_10_STABLE [2c4d0f32e] 2018-07-30 16:30:07 -0400
--->
-     <para>
-      Ensure that a snapshot is provided when executing data type input
-      functions in logical replication subscribers (Minh-Quan Tran,
-      &Aacute;lvaro Herrera)
-     </para>
-
-     <para>
-      This omission led to failures in some cases, such as domains with
-      constraints using SQL-language functions.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master Release: REL_11_BR [f49a80c48] 2018-06-26 16:48:10 -0400
-Branch: REL_10_STABLE [b767b3f2e] 2018-06-26 16:38:34 -0400
-Branch: REL9_6_STABLE [da10d6a8a] 2018-06-26 16:38:34 -0400
-Branch: REL9_5_STABLE [4cb6f7837] 2018-06-26 16:38:34 -0400
-Branch: REL9_4_STABLE [962313558] 2018-06-26 16:38:34 -0400
--->
-     <para>
-      Fix bugs in snapshot handling during logical decoding, allowing wrong
-      decoding results in rare cases (Arseny Sher, &Aacute;lvaro Herrera)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [32df1c9af] 2018-07-16 17:33:22 -0400
-Branch: REL_11_STABLE [9ec9f8f68] 2018-07-16 17:33:35 -0400
-Branch: REL_10_STABLE [4beb25c63] 2018-07-16 17:55:13 -0400
--->
-     <para>
-      Add subtransaction handling in logical-replication table
-      synchronization workers (Amit Khandekar, Robert Haas)
-     </para>
-
-     <para>
-      Previously, table synchronization could misbehave if any
-      subtransactions were aborted after modifying a table being
-      synchronized.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Geoghegan <pg@bowt.ie>
-Branch: master [b3f919da0] 2018-08-03 15:11:31 -0700
-Branch: REL_11_STABLE [b9612e5cf] 2018-08-03 14:45:02 -0700
-Branch: REL_10_STABLE [c83408aa7] 2018-08-03 14:44:56 -0700
-Branch: REL9_6_STABLE [0a60a291c] 2018-08-03 14:44:44 -0700
-Branch: REL9_5_STABLE [aca225741] 2018-08-03 14:44:38 -0700
-Branch: REL9_4_STABLE [250528cec] 2018-08-03 14:44:33 -0700
-Branch: REL9_3_STABLE [0229e087d] 2018-08-03 14:44:26 -0700
--->
-     <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>
-<!--
-Author: Alexander Korotkov <akorotkov@postgresql.org>
-Branch: master [309765fa1] 2018-07-19 21:04:17 +0300
-Branch: REL_11_STABLE [608793266] 2018-07-19 23:26:15 +0300
-Branch: REL_10_STABLE [0d26812a4] 2018-07-19 21:12:43 +0300
-Branch: REL9_6_STABLE [44b550e0d] 2018-07-19 21:19:19 +0300
-Branch: REL9_5_STABLE [3c09b032a] 2018-07-19 21:22:07 +0300
-Branch: REL9_4_STABLE [9c6a676c4] 2018-07-19 21:24:53 +0300
--->
-     <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>
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-Branch: master [2d3067595] 2018-07-25 11:00:29 +1200
-Branch: REL_11_STABLE [f2db5f3bb] 2018-07-25 11:00:42 +1200
-Branch: REL_10_STABLE [46201d603] 2018-07-25 11:00:53 +1200
--->
-     <para>
-      Pad arrays of unnamed POSIX semaphores to reduce cache line sharing
-      (Thomas Munro)
-     </para>
-
-     <para>
-      This reduces contention on many-CPU systems, fixing a performance
-      regression (compared to previous releases) on Linux and FreeBSD.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-Branch: master [8ce29bb4f] 2018-07-27 10:53:00 +0530
-Branch: REL_11_STABLE [09a5be587] 2018-07-27 10:56:07 +0530
-Branch: REL_10_STABLE [ff8ce0b79] 2018-07-27 11:05:06 +0530
--->
-     <para>
-      Ensure that a process doing a parallel index scan will respond to
-      signals (Amit Kapila)
-     </para>
-
-     <para>
-      Previously, parallel workers could get stuck waiting for a lock on an
-      index page, and not notice requests to abort the query.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andres Freund <andres@anarazel.de>
-Branch: master [3a01f68e3] 2018-07-04 14:58:25 -0700
-Branch: REL_11_STABLE [0c69db762] 2018-07-04 15:08:32 -0700
-Branch: REL_10_STABLE [009580989] 2018-07-04 14:58:39 -0700
-Branch: REL9_6_STABLE [2adadf018] 2018-07-04 14:58:26 -0700
-Branch: REL9_5_STABLE [f411108c9] 2018-07-04 14:58:26 -0700
-Branch: REL9_4_STABLE [8c8c9f37c] 2018-07-04 14:58:26 -0700
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [1007b0a12] 2018-07-14 11:59:12 -0400
-Branch: REL_11_STABLE [704e39319] 2018-07-14 11:59:12 -0400
-Branch: REL_10_STABLE [0bb28ca36] 2018-07-14 11:59:12 -0400
--->
-     <para>
-      Fix hash-join costing mistake introduced with inner_unique
-      optimization (David Rowley)
-     </para>
-
-     <para>
-      This could lead to bad plan choices in situations where that
-      optimization was applicable.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [a11b3bd37] 2018-05-16 13:46:23 -0400
-Branch: REL_10_STABLE [aada0a764] 2018-05-16 13:46:09 -0400
-Branch: REL9_6_STABLE [ace3c7cc0] 2018-05-16 13:46:09 -0400
-Branch: REL9_5_STABLE [6d7629094] 2018-05-16 13:46:09 -0400
-Branch: REL9_4_STABLE [62e0020ad] 2018-05-16 13:46:09 -0400
-Branch: REL9_3_STABLE [bc711befd] 2018-05-16 13:46:09 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [07e5a2135] 2018-06-21 10:58:42 -0400
-Branch: REL_10_STABLE [a4c95b0b8] 2018-06-21 10:58:42 -0400
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [57cd2b6e6] 2018-07-11 15:25:28 -0400
-Branch: REL_11_STABLE [5b762d96e] 2018-07-11 15:25:28 -0400
-Branch: REL_10_STABLE [c35032027] 2018-07-11 15:25:29 -0400
-Branch: REL9_6_STABLE [4b8860e2d] 2018-07-11 15:25:29 -0400
--->
-     <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>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [b6e3a3a49] 2018-07-10 15:19:40 -0400
-Branch: REL_11_STABLE [e7df94f31] 2018-07-10 15:16:27 -0400
-Branch: REL_10_STABLE [7c644b7d3] 2018-07-10 15:07:28 -0400
--->
-     <para>
-      Fix handling of partition keys whose data type uses a polymorphic
-      btree operator class, such as arrays (Amit Langote, &Aacute;lvaro
-      Herrera)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Gierth <rhodiumtoad@postgresql.org>
-Branch: master Release: REL_11_BR [1da162e1f] 2018-05-21 17:27:08 +0100
-Branch: REL_10_STABLE [cf516dc9d] 2018-05-21 17:31:01 +0100
-Branch: REL9_6_STABLE [7a0aa8d12] 2018-05-21 17:32:18 +0100
-Branch: REL9_5_STABLE [3b0fb2529] 2018-05-21 17:32:24 +0100
-Branch: REL9_4_STABLE [769e6fcd1] 2018-05-21 17:32:29 +0100
-Branch: REL9_3_STABLE [89b09db01] 2018-05-21 17:32:34 +0100
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [240971675] 2018-07-19 15:41:46 -0400
-Branch: REL_11_STABLE [b1af4bcc4] 2018-07-19 15:41:46 -0400
-Branch: REL_10_STABLE [2131d4501] 2018-07-19 15:41:46 -0400
--->
-     <para>
-      Remove undocumented restriction against duplicate partition key
-      columns (Yugo Nagata)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master Release: REL_11_BR [1c7c317cd] 2018-06-20 10:42:25 +0900
-Branch: REL_10_STABLE [5862174ec] 2018-06-20 10:48:28 +0900
--->
-     <para>
-      Disallow temporary tables from being partitions of non-temporary
-      tables (Amit Langote, Michael Paquier)
-     </para>
-
-     <para>
-      While previously allowed, this case didn't work reliably.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-Branch: master [85c9d3475] 2018-08-03 11:02:02 +0530
-Branch: REL_11_STABLE [dac7fe13b] 2018-08-03 11:16:25 +0530
-Branch: REL_10_STABLE [b805b63ac] 2018-08-03 11:27:11 +0530
-Branch: REL9_6_STABLE [19df1702f] 2018-08-03 11:43:01 +0530
-Author: Amit Kapila <akapila@postgresql.org>
-Branch: master [ccc84a956] 2018-08-03 09:11:37 +0530
-Branch: REL_11_STABLE [ef305bd59] 2018-08-03 09:29:45 +0530
-Branch: REL_10_STABLE [3f02b5150] 2018-08-03 09:50:24 +0530
-Branch: REL9_6_STABLE [7124c93fb] 2018-08-03 10:07:56 +0530
--->
-     <para>
-      Fix <command>EXPLAIN</command>'s accounting for resource usage,
-      particularly buffer accesses, in parallel workers
-      (Amit Kapila, Robert Haas)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master Release: REL_11_BR [0c8910a0c] 2018-06-08 16:19:05 -0400
-Branch: REL_10_STABLE [a25c207b2] 2018-06-08 16:27:56 -0400
--->
-     <para>
-      Fix <command>SHOW ALL</command> to show all settings to roles that are
-      members of <literal>pg_read_all_settings</literal>, and also allow
-      such roles to see source filename and line number in
-      the <structname>pg_settings</structname> view (Laurenz Albe,
-      &Aacute;lvaro Herrera)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [1a31baf61] 2018-05-24 12:38:55 -0400
-Branch: REL_10_STABLE [e8cb8fdfd] 2018-05-24 12:38:55 -0400
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [056f52d9c] 2018-05-24 12:07:41 -0400
-Branch: REL_10_STABLE [eb1aa1b46] 2018-05-24 12:07:41 -0400
-Branch: REL9_6_STABLE [3d3165210] 2018-05-24 12:07:41 -0400
-Branch: REL9_5_STABLE [ad73c07b4] 2018-05-24 12:07:41 -0400
-Branch: REL9_4_STABLE [8f2143bc8] 2018-05-24 12:07:41 -0400
-Branch: REL9_3_STABLE [cbb37b2e1] 2018-05-24 12:07:42 -0400
--->
-     <para>
-      Fix failure to schema-qualify some object names
-      in <function>getObjectDescription</function>
-      and <function>getObjectIdentity</function> output
-      (Kyotaro Horiguchi, Tom Lane)
-     </para>
-
-     <para>
-      Names of collations, conversions, text search objects, publication
-      relations, and extended statistics objects were not schema-qualified
-      when they should be.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [05ca21b87] 2018-05-15 15:06:53 -0400
-Branch: REL_10_STABLE [17083ab7e] 2018-05-15 15:06:53 -0400
-Branch: REL9_6_STABLE [f92491186] 2018-05-15 15:06:53 -0400
--->
-     <para>
-      Fix <command>CREATE AGGREGATE</command> type checking so that
-      parallelism support functions can be attached to variadic aggregates
-      (Alexey Bashtanov)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [ecac23511] 2018-05-22 13:32:52 -0400
-Branch: REL_10_STABLE [c92d1461e] 2018-05-22 13:32:52 -0400
-Branch: REL9_6_STABLE [588edd83e] 2018-05-22 13:32:52 -0400
-Branch: REL9_5_STABLE [7df277827] 2018-05-22 13:32:52 -0400
-Branch: REL9_4_STABLE [d25714d0a] 2018-05-22 13:32:52 -0400
-Branch: REL9_3_STABLE [d78028350] 2018-05-22 13:32:52 -0400
--->
-     <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>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [0ce5cf2ef] 2018-07-06 16:38:30 -0400
-Branch: REL_11_STABLE [ef6464595] 2018-07-06 16:38:29 -0400
-Branch: REL_10_STABLE [a1f680d96] 2018-07-06 16:38:29 -0400
--->
-     <para>
-      Allow replication slots to be dropped in single-user mode
-      (&Aacute;lvaro Herrera)
-     </para>
-
-     <para>
-      This use-case was accidentally broken in release 10.0.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [ec4719cd1] 2018-06-21 16:18:39 -0400
-Branch: REL_10_STABLE [b8a1d0302] 2018-06-21 16:18:34 -0400
--->
-     <para>
-      Fix incorrect results from <function>variance(int4)</function> and
-      related aggregates when run in parallel aggregation mode
-      (David Rowley)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master Release: REL_11_BR [b7f0be9a7] 2018-06-20 12:58:12 -0400
-Branch: REL_10_STABLE [e10bc161f] 2018-06-20 12:58:12 -0400
-Branch: REL_10_STABLE [04ab840b8] 2018-06-20 13:02:46 -0400
--->
-     <para>
-      Process <literal>TEXT</literal> and <literal>CDATA</literal> nodes
-      correctly in <function>xmltable()</function> column expressions
-      (Markus Winand)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Dean Rasheed <dean.a.rasheed@gmail.com>
-Branch: master [8f6ce7fb0] 2018-07-20 08:55:44 +0100
-Branch: REL_11_STABLE [1f919e663] 2018-07-20 08:57:08 +0100
-Branch: REL_10_STABLE [821200405] 2018-07-20 08:58:37 +0100
--->
-     <para>
-      Cope with possible failure of <application>OpenSSL</application>'s
-      <function>RAND_bytes()</function> function
-      (Dean Rasheed, Michael Paquier)
-     </para>
-
-     <para>
-      Under rare circumstances, this oversight could result in <quote>could
-      not generate random cancel key</quote> failures that could only be
-      resolved by restarting the postmaster.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Eisentraut <peter_e@gmx.net>
-Branch: master Release: REL_11_BR [1944cdc98] 2018-03-27 12:32:18 -0400
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: REL_10_STABLE [62038810b] 2018-08-03 11:30:34 -0400
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [24986c955] 2018-08-03 12:12:10 -0400
-Branch: REL_11_STABLE [6efc30167] 2018-08-03 12:12:10 -0400
-Branch: REL_10_STABLE [8d00858ba] 2018-08-03 12:12:10 -0400
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [c7a8f7867] 2018-08-03 12:20:47 -0400
-Branch: REL_11_STABLE [d8b2beb26] 2018-08-03 12:20:47 -0400
-Branch: REL_10_STABLE [ed5d8196c] 2018-08-03 12:20:47 -0400
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [e3f99e03e] 2018-08-01 12:30:36 -0400
-Branch: REL_11_STABLE [e9bbfe608] 2018-08-01 12:30:36 -0400
-Branch: REL_10_STABLE [71e3b2890] 2018-08-01 12:30:36 -0400
-Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
-Branch: master [b90d97e08] 2018-07-19 20:24:29 +0300
-Branch: REL_11_STABLE [dc961e582] 2018-07-19 20:24:59 +0300
-Branch: REL_10_STABLE [ff4fb4cc1] 2018-07-19 20:25:05 +0300
--->
-     <para>
-      Fix <application>libpq</application>'s handling of some cases
-      where <literal>hostaddr</literal> is specified
-      (Hari Babu, Tom Lane, Robert Haas)
-     </para>
-
-     <para>
-      <function>PQhost()</function> gave misleading or incorrect results
-      in some cases.  Now, it uniformly returns the host name if specified,
-      or the host address if only that is specified, or the default host
-      name (typically <literal>/tmp</literal>
-      or <literal>localhost</literal>) if both parameters are omitted.
-     </para>
-
-     <para>
-      Also, the wrong value might be compared to the server name when
-      verifying an SSL certificate.
-     </para>
-
-     <para>
-      Also, the wrong value might be compared to the host name field in
-      <filename>~/.pgpass</filename>.  Now, that field is compared to the
-      host name if specified, or the host address if only that is specified,
-      or <literal>localhost</literal> if both parameters are omitted.
-     </para>
-
-     <para>
-      Also, an incorrect error message was reported for an unparseable
-      <literal>hostaddr</literal> value.
-     </para>
-
-     <para>
-      Also, when the <literal>host</literal>, <literal>hostaddr</literal>,
-      or <literal>port</literal> parameters contain comma-separated
-      lists, <application>libpq</application> is now more careful to treat
-      empty elements of a list as selecting the default behavior.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-Branch: master Release: REL_11_BR [4c8156d87] 2018-06-18 18:33:53 +1200
-Branch: REL_10_STABLE [3566873f2] 2018-06-26 19:49:52 +1200
-Branch: REL9_6_STABLE [b5b973ef0] 2018-06-26 20:54:09 +1200
-Branch: REL9_5_STABLE [3bc19d0d2] 2018-06-26 20:54:40 +1200
-Branch: REL9_4_STABLE [db05d0b90] 2018-06-26 23:21:39 +1200
-Branch: REL9_3_STABLE [edabd8f5a] 2018-06-26 23:37:49 +1200
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [f586f8638] 2018-05-18 12:52:28 -0400
-Branch: REL_10_STABLE [cf39aebf1] 2018-05-18 12:52:28 -0400
-Branch: REL9_6_STABLE [25caeae8d] 2018-05-18 12:52:28 -0400
-Branch: REL9_5_STABLE [11a110595] 2018-05-18 12:52:28 -0400
-Branch: REL9_4_STABLE [385f4acbf] 2018-05-18 12:52:28 -0400
-Branch: REL9_3_STABLE [63d3e787f] 2018-05-18 12:52:28 -0400
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [a6228128f] 2018-05-18 22:42:10 -0400
-Branch: REL_10_STABLE [c964c2147] 2018-05-18 22:42:10 -0400
-Branch: REL9_6_STABLE [4ffd7909c] 2018-05-18 22:42:10 -0400
-Branch: REL9_5_STABLE [95fef6e82] 2018-05-18 22:42:10 -0400
-Branch: REL9_4_STABLE [023aa76e1] 2018-05-18 22:42:10 -0400
-Branch: REL9_3_STABLE [e9f475f99] 2018-05-18 22:42:10 -0400
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [06f66cff9] 2018-05-19 14:22:18 -0400
-Branch: REL_10_STABLE [a5be529aa] 2018-05-19 14:22:18 -0400
-Branch: REL9_6_STABLE [22d22e4bd] 2018-05-19 14:22:18 -0400
-Branch: REL9_5_STABLE [7329af6b9] 2018-05-19 14:22:18 -0400
-Branch: REL9_4_STABLE [8109f201d] 2018-05-19 14:22:19 -0400
-Branch: REL9_3_STABLE [91f3bcc9e] 2018-05-19 14:22:19 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [9a8aa25cc] 2018-05-25 14:31:06 -0400
-Branch: REL_10_STABLE [5a225b0d6] 2018-05-25 14:31:06 -0400
-Branch: REL9_6_STABLE [f9ecb6cab] 2018-05-25 14:31:07 -0400
-Branch: REL9_5_STABLE [004293c66] 2018-05-25 14:31:07 -0400
-Branch: REL9_4_STABLE [98d522a1d] 2018-05-25 14:31:07 -0400
-Branch: REL9_3_STABLE [da757bf0f] 2018-05-25 14:31:07 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [50485b3e2] 2018-05-23 19:04:34 -0400
-Branch: REL_10_STABLE [bed74e9d4] 2018-05-23 19:04:34 -0400
-Branch: REL9_6_STABLE [bbaf75ee0] 2018-05-23 19:04:34 -0400
-Branch: REL9_5_STABLE [085791b8a] 2018-05-23 19:04:34 -0400
-Branch: REL9_4_STABLE [09fb2d5d3] 2018-05-23 19:04:34 -0400
-Branch: REL9_3_STABLE [3466b0202] 2018-05-23 19:04:34 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [f3eb76b39] 2018-07-31 13:00:14 -0400
-Branch: REL_11_STABLE [a56c11d44] 2018-07-31 13:00:08 -0400
-Branch: REL_10_STABLE [31b29b1b3] 2018-07-31 13:00:08 -0400
-Branch: REL9_6_STABLE [6680d19a8] 2018-07-31 13:00:08 -0400
-Branch: REL9_5_STABLE [12f2d814a] 2018-07-31 13:00:08 -0400
-Branch: REL9_4_STABLE [88adf1add] 2018-07-31 13:00:08 -0400
-Branch: REL9_3_STABLE [461e2e433] 2018-07-31 13:00:08 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [c0a552921] 2018-07-30 12:35:49 -0400
-Branch: REL_11_STABLE [f6ef3ed43] 2018-07-30 12:35:49 -0400
-Branch: REL_10_STABLE [96b1d984f] 2018-07-30 12:35:49 -0400
-Branch: REL9_6_STABLE [8c7f64b0e] 2018-07-30 12:35:49 -0400
-Branch: REL9_5_STABLE [b868c08eb] 2018-07-30 12:35:49 -0400
-Branch: REL9_4_STABLE [addf9e1bd] 2018-07-30 12:35:49 -0400
--->
-     <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>
-<!--
-Author: Bruce Momjian <bruce@momjian.us>
-Branch: master [244142d32] 2018-07-28 15:01:55 -0400
-Branch: REL_11_STABLE [113224848] 2018-07-28 15:01:55 -0400
-Branch: REL_10_STABLE [9a13e7f0f] 2018-07-28 15:01:55 -0400
-Branch: REL9_6_STABLE [a326ca75b] 2018-07-28 15:01:55 -0400
-Branch: REL9_5_STABLE [260fe9f2b] 2018-07-28 15:01:55 -0400
-Branch: REL9_4_STABLE [f87878106] 2018-07-28 15:01:55 -0400
-Branch: REL9_3_STABLE [a5c84e0b7] 2018-07-28 15:01:55 -0400
-Branch: master [b6d6488a3] 2018-07-31 18:10:06 -0400
-Branch: REL_11_STABLE [920001633] 2018-07-31 18:10:06 -0400
-Branch: REL_10_STABLE [d8dd8d221] 2018-07-31 18:10:06 -0400
-Branch: REL9_6_STABLE [764e21db0] 2018-07-31 18:10:06 -0400
-Branch: REL9_5_STABLE [92a11a0d8] 2018-07-31 18:10:06 -0400
-Branch: REL9_4_STABLE [12dd07008] 2018-07-31 18:10:06 -0400
-Branch: REL9_3_STABLE [a1d383ab5] 2018-07-31 18:10:06 -0400
-Branch: REL9_3_STABLE [dfc71a1b2] 2018-07-31 19:06:32 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [e3b7f7cc5] 2018-06-18 15:55:06 -0400
-Branch: REL_10_STABLE [7594b7a53] 2018-06-18 15:55:06 -0400
-Branch: REL9_6_STABLE [1bebfb9b6] 2018-06-18 15:55:06 -0400
-Branch: REL9_5_STABLE [645929c54] 2018-06-18 15:55:06 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [28a1ae534] 2018-07-13 18:45:30 -0400
-Branch: REL_11_STABLE [dbd7f4e7c] 2018-07-13 18:45:30 -0400
-Branch: REL_10_STABLE [1f47eb08c] 2018-07-13 18:45:30 -0400
-Branch: REL9_6_STABLE [330cad2c4] 2018-07-13 18:45:30 -0400
-Branch: REL9_5_STABLE [ac6b69c19] 2018-07-13 18:45:30 -0400
-Branch: REL9_4_STABLE [f8e8be7f2] 2018-07-13 18:45:30 -0400
-Branch: REL9_3_STABLE [cbbe75fe6] 2018-07-13 18:45:30 -0400
--->
-     <para>
-      Fix crash in <filename>contrib/ltree</filename>'s
-      <function>lca()</function> function when the input array is empty
-      (Pierre Ducroquet)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [81256cd05] 2018-05-21 00:32:28 -0400
-Branch: REL_10_STABLE [28782d7e3] 2018-05-21 00:32:39 -0400
-Branch: REL9_6_STABLE [1545ca9a7] 2018-05-21 00:32:44 -0400
-Branch: REL9_5_STABLE [ced0cdc76] 2018-05-21 00:32:48 -0400
-Branch: REL9_4_STABLE [5517367e9] 2018-05-21 00:32:52 -0400
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master Release: REL_11_BR [6cb337241] 2018-06-25 11:19:05 +0900
-Branch: REL_10_STABLE [6eec6724f] 2018-06-25 11:20:19 +0900
-Branch: REL9_6_STABLE [7fdf56b0a] 2018-06-25 11:20:50 +0900
-Branch: REL9_5_STABLE [910e2aca1] 2018-06-25 11:21:49 +0900
-Branch: REL9_4_STABLE [79b5b101f] 2018-06-25 11:22:02 +0900
-Branch: REL9_3_STABLE [f53ed82b7] 2018-06-25 11:22:24 +0900
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [5a23c74b6] 2018-08-05 05:31:18 +0900
-Branch: REL_11_STABLE [58673b4a5] 2018-08-05 05:31:56 +0900
-Branch: REL_10_STABLE [7124e6452] 2018-08-05 05:32:12 +0900
-Branch: REL9_6_STABLE [f5b4bb881] 2018-08-05 05:32:27 +0900
-Branch: REL9_5_STABLE [afd5fde85] 2018-08-05 05:32:37 +0900
-Branch: REL9_4_STABLE [e69a3ac4a] 2018-08-05 05:32:44 +0900
-Branch: REL9_3_STABLE [69599cc49] 2018-08-05 05:32:54 +0900
-Author: Magnus Hagander <magnus@hagander.net>
-Branch: master Release: REL_11_BR [cfb758b6d] 2018-05-18 17:54:18 +0200
-Branch: REL_10_STABLE [29ce50091] 2018-05-18 17:53:12 +0200
-Branch: REL9_6_STABLE [830e8e360] 2018-05-18 17:53:15 +0200
-Branch: REL9_5_STABLE [714d8e5fa] 2018-05-18 17:53:17 +0200
-Branch: REL9_4_STABLE [b5f096d50] 2018-05-18 17:53:19 +0200
-Branch: REL9_3_STABLE [048caa556] 2018-05-18 17:53:20 +0200
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [dddfc4cb2] 2018-04-03 16:26:05 -0400
-Branch: REL_10_STABLE [c74f48a4e] 2018-07-09 17:23:31 -0400
-Branch: REL9_6_STABLE [ccc286da1] 2018-07-09 17:23:31 -0400
-Branch: REL9_5_STABLE [6532ca57a] 2018-07-09 17:23:31 -0400
-Branch: REL9_4_STABLE [dd4e83674] 2018-07-09 17:23:32 -0400
-Branch: REL9_3_STABLE [f6f75539d] 2018-07-09 17:23:32 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master Release: REL_11_BR [234bb985c] 2018-05-09 13:56:22 -0400
-Branch: REL_10_STABLE [aba2f5522] 2018-05-09 13:55:42 -0400
-Branch: REL9_6_STABLE [22e524d97] 2018-05-09 13:55:48 -0400
-Branch: REL9_5_STABLE [777918e34] 2018-05-09 13:55:54 -0400
-Branch: REL9_4_STABLE [32453bc5a] 2018-05-09 13:56:00 -0400
-Branch: REL9_3_STABLE [3f36e4fc5] 2018-05-09 13:56:06 -0400
--->
-     <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-10-4">
-  <title>Release 10.4</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2018-05-10</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 10.3.
-   For information about new features in major release 10, see
-   <xref linkend="release-10"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 10.4</title>
-
-   <para>
-    A dump/restore is not required for those running 10.X.
-   </para>
-
-   <para>
-    However, if you use the <filename>adminpack</filename> extension,
-    you should update it as per the first changelog entry below.
-   </para>
-
-   <para>
-    Also, if the function marking mistakes mentioned in the second and
-    third 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 10.3,
-    see <xref linkend="release-10-3"/>.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-<!--
-Author: Stephen Frost <sfrost@snowman.net>
-Branch: master [7b347409f] 2018-05-07 10:10:33 -0400
-Branch: REL_10_STABLE [20f01fc45] 2018-05-07 10:10:41 -0400
-Branch: REL9_6_STABLE [53b79ab4f] 2018-05-07 10:10:45 -0400
--->
-     <para>
-      Remove public execute privilege
-      from <filename>contrib/adminpack</filename>'s
-      <function>pg_logfile_rotate()</function> function (Stephen Frost)
-     </para>
-
-     <para>
-      <function>pg_logfile_rotate()</function> is a deprecated wrapper
-      for the core function <function>pg_rotate_logfile()</function>.
-      When that function was changed to rely on SQL privileges for access
-      control rather than a hard-coded superuser
-      check, <function>pg_logfile_rotate()</function> should have been
-      updated as well, but the need for this was missed.  Hence,
-      if <filename>adminpack</filename> is installed, any user could
-      request a logfile rotation, creating a minor security issue.
-     </para>
-
-     <para>
-      After installing this update, administrators should
-      update <filename>adminpack</filename> by performing
-      <literal>ALTER EXTENSION adminpack UPDATE</literal> in each
-      database in which <filename>adminpack</filename> is installed.
-      (CVE-2018-1115)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [11002f8af] 2018-03-30 18:14:51 -0400
-Branch: REL_10_STABLE [283262cd9] 2018-03-30 18:14:51 -0400
-Branch: REL9_6_STABLE [91d82317d] 2018-03-30 18:14:51 -0400
-Branch: REL9_5_STABLE [ea83c7e66] 2018-03-30 18:14:51 -0400
-Branch: REL9_4_STABLE [b7537ffb1] 2018-03-30 18:14:51 -0400
-Branch: REL9_3_STABLE [485857d44] 2018-03-30 18:14:51 -0400
--->
-     <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, for example
-      <literal>ALTER FUNCTION pg_catalog.query_to_xml(text, boolean,
-      boolean, text) VOLATILE</literal>.  (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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [11002f8af] 2018-03-30 18:14:51 -0400
-Branch: REL_10_STABLE [283262cd9] 2018-03-30 18:14:51 -0400
-Branch: REL9_6_STABLE [91d82317d] 2018-03-30 18:14:51 -0400
--->
-     <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, for example
-      <literal>ALTER FUNCTION pg_catalog.brin_summarize_new_values(regclass)
-      PARALLEL UNSAFE</literal>.  (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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [0408e1ed5] 2018-04-11 17:41:22 -0400
-Branch: REL_10_STABLE [5a11bf970] 2018-04-11 17:41:23 -0400
-Branch: REL9_6_STABLE [8bba10f7e] 2018-04-11 17:41:25 -0400
-Branch: REL9_5_STABLE [3767216fb] 2018-04-11 17:41:26 -0400
-Branch: REL9_4_STABLE [5b3ed6b78] 2018-04-11 17:41:27 -0400
-Branch: REL9_3_STABLE [7448e7e23] 2018-04-11 17:41:28 -0400
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [d1e907929] 2018-04-11 18:11:29 -0400
-Branch: REL_10_STABLE [08e6cda1c] 2018-04-11 18:11:29 -0400
-Branch: REL9_6_STABLE [060bb38d0] 2018-04-11 18:11:30 -0400
-Branch: REL9_5_STABLE [efbe36a2c] 2018-04-11 18:11:30 -0400
-Branch: REL9_4_STABLE [6943fb927] 2018-04-11 18:11:30 -0400
-Branch: REL9_3_STABLE [66d4b6bb8] 2018-04-11 18:11:30 -0400
--->
-     <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>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [cfbecf810] 2018-04-06 11:42:28 -0400
-Branch: REL_10_STABLE [29ab1e24a] 2018-04-06 11:52:38 -0400
--->
-     <para>
-      Correctly enforce any <literal>CHECK</literal> constraints on
-      individual partitions during <command>COPY</command> to a partitioned
-      table (Etsuro Fujita)
-     </para>
-
-     <para>
-      Previously, only constraints declared for the partitioned table as a
-      whole were checked.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [4df58f7ed] 2018-04-23 15:29:11 -0400
-Branch: REL_10_STABLE [1222db999] 2018-04-23 15:29:12 -0400
--->
-     <para>
-      Accept <literal>TRUE</literal> and <literal>FALSE</literal> as
-      partition bound values (Amit Langote)
-     </para>
-
-     <para>
-      Previously, only string-literal values were accepted for a boolean
-      partitioning column.  But then <application>pg_dump</application>
-      would print such values as <literal>TRUE</literal>
-      or <literal>FALSE</literal>, leading to dump/reload failures.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [a4d56f583] 2018-04-12 15:08:10 -0300
-Branch: REL_10_STABLE [5f11c6ec6] 2018-04-12 15:08:25 -0300
--->
-     <para>
-      Fix memory management for partition key comparison functions
-      (&Aacute;lvaro Herrera, Amit Langote)
-     </para>
-
-     <para>
-      This error could lead to crashes when using user-defined operator
-      classes for partition keys.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [6666ee49f] 2018-03-19 17:45:53 -0300
-Branch: REL_10_STABLE [e3faddf53] 2018-03-19 17:43:55 -0300
--->
-     <para>
-      Fix possible crash when a query inserts tuples in several partitions
-      of a partitioned table, and those partitions don't have identical row
-      types (Etsuro Fujita, Amit Langote)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [d04900de7] 2018-03-13 13:24:27 -0400
-Branch: REL_10_STABLE [1bfb56723] 2018-03-13 13:24:27 -0400
-Branch: REL9_6_STABLE [c2c4bc628] 2018-03-13 13:24:27 -0400
-Branch: REL9_5_STABLE [c9414e786] 2018-03-13 13:24:27 -0400
-Branch: REL9_4_STABLE [25a2ba35e] 2018-03-13 13:24:27 -0400
-Branch: REL9_3_STABLE [d44ce7b1a] 2018-03-13 13:24:27 -0400
--->
-     <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>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [5564c1181] 2018-03-05 19:37:19 -0300
-Branch: REL_10_STABLE [911e6236b] 2018-03-05 19:37:19 -0300
--->
-     <para>
-      Include extended-statistics objects in the set of table properties
-      duplicated by <command>CREATE TABLE ... LIKE ... INCLUDING
-      ALL</command> (David Rowley)
-     </para>
-
-     <para>
-      Also add an <literal>INCLUDING STATISTICS</literal> option, to allow
-      finer-grained control over whether this happens.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Eisentraut <peter_e@gmx.net>
-Branch: master [377b5ac48] 2018-03-13 09:41:30 -0400
-Branch: REL_10_STABLE [c32f44c4a] 2018-03-13 09:41:36 -0400
--->
-     <para>
-      Fix <command>CREATE TABLE ... LIKE</command> with <type>bigint</type>
-      identity columns (Peter Eisentraut)
-     </para>
-
-     <para>
-      On platforms where <type>long</type> is 32 bits (which includes
-      64-bit Windows as well as most 32-bit machines), copied sequence
-      parameters would be truncated to 32 bits.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [1dec82068] 2018-04-18 12:07:37 -0400
-Branch: REL_10_STABLE [94a898f69] 2018-04-18 12:07:37 -0400
-Branch: REL9_6_STABLE [69e3a548e] 2018-04-18 12:07:37 -0400
-Branch: REL9_5_STABLE [82acf3eb7] 2018-04-18 12:07:38 -0400
-Branch: REL9_4_STABLE [7490ce725] 2018-04-18 12:07:38 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [6fbd5cce2] 2018-03-19 17:23:21 -0400
-Branch: REL_10_STABLE [1568156d8] 2018-03-19 17:23:23 -0400
-Branch: REL9_6_STABLE [ebcf34d46] 2018-03-19 17:23:07 -0400
-Branch: REL9_5_STABLE [c553e4a50] 2018-03-19 17:23:07 -0400
-Branch: REL9_4_STABLE [b6ba94ec4] 2018-03-19 17:23:07 -0400
--->
-     <para>
-      Fix possible slow execution of <command>REFRESH MATERIALIZED VIEW
-      CONCURRENTLY</command> (Thomas Munro)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [8f5ac4404] 2018-03-17 14:59:49 -0400
-Branch: REL_10_STABLE [ee7bf0fd9] 2018-03-17 14:59:31 -0400
-Branch: REL9_6_STABLE [12d18b487] 2018-03-17 14:59:31 -0400
-Branch: REL9_5_STABLE [7de7ddb27] 2018-03-17 14:59:31 -0400
-Branch: REL9_4_STABLE [0a0721f84] 2018-03-17 14:59:31 -0400
-Branch: REL9_3_STABLE [5b77c11da] 2018-03-17 14:59:31 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [e5d83995e] 2018-04-19 15:49:30 -0400
-Branch: REL_10_STABLE [68fab04f7] 2018-04-19 15:49:12 -0400
-Branch: REL9_6_STABLE [0c141fcaa] 2018-04-19 15:49:12 -0400
-Branch: REL9_5_STABLE [e4e43a16b] 2018-04-19 15:49:12 -0400
-Branch: REL9_4_STABLE [a347d5210] 2018-04-19 15:49:12 -0400
-Branch: REL9_3_STABLE [e1d4398c0] 2018-04-19 15:49:12 -0400
-Branch: REL9_6_STABLE [306d6e59f] 2018-04-19 18:29:39 -0400
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [c792c7db4] 2018-04-20 15:19:16 -0400
-Branch: REL_10_STABLE [8b6294c7a] 2018-04-20 15:19:16 -0400
-Branch: REL9_6_STABLE [64ad85860] 2018-04-20 15:19:17 -0400
-Branch: REL9_5_STABLE [80e12a621] 2018-04-20 15:19:17 -0400
-Branch: REL9_4_STABLE [58fec9526] 2018-04-20 15:19:17 -0400
-Branch: REL9_3_STABLE [9680c120e] 2018-04-20 15:19:17 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [b5febc1d1] 2018-03-01 15:35:03 -0500
-Branch: REL_10_STABLE [147b59971] 2018-03-01 15:35:03 -0500
-Branch: REL9_6_STABLE [3f26be83e] 2018-03-01 15:35:03 -0500
-Branch: REL9_5_STABLE [be55bfc93] 2018-03-01 15:35:03 -0500
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [4a4e2442a] 2018-03-11 18:10:42 -0400
-Branch: REL_10_STABLE [e2ed3c4a3] 2018-03-11 18:10:42 -0400
-Branch: REL9_6_STABLE [976e5844e] 2018-03-11 18:10:42 -0400
-Branch: REL9_5_STABLE [106d58805] 2018-03-11 18:10:42 -0400
-Branch: REL9_4_STABLE [e556fb137] 2018-03-11 18:10:42 -0400
-Branch: REL9_3_STABLE [925581d89] 2018-03-11 18:10:43 -0400
--->
-     <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>
-<!--
-Author: Andrew Gierth <rhodiumtoad@postgresql.org>
-Branch: master [d2d79887e] 2018-03-21 11:39:28 +0000
-Branch: REL_10_STABLE [cf21c4649] 2018-03-21 11:41:53 +0000
--->
-     <para>
-      Prevent planner crash when a query has multiple <literal>GROUPING
-      SETS</literal>, none of which can be implemented by sorting (Andrew
-      Gierth)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [c2d4eb1b1] 2018-03-28 13:26:57 -0400
-Branch: REL_10_STABLE [c98f218fb] 2018-03-28 13:26:43 -0400
-Branch: REL9_6_STABLE [90decdba3] 2018-03-28 13:26:43 -0400
-Branch: REL9_5_STABLE [e4ff71158] 2018-03-28 13:26:43 -0400
--->
-     <para>
-      Fix executor crash due to double free in some <literal>GROUPING
-      SETS</literal> usages (Peter Geoghegan)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [e98a4de7d] 2018-02-27 15:56:51 -0500
-Branch: REL_10_STABLE [b9dac4a6e] 2018-02-27 15:56:51 -0500
--->
-     <para>
-      Fix misexecution of self-joins on transition tables (Thomas Munro)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [b1b71f165] 2018-04-20 17:15:31 -0400
-Branch: REL_10_STABLE [fab4ecacc] 2018-04-20 17:15:31 -0400
-Branch: REL9_6_STABLE [c76d0eed2] 2018-04-20 17:15:31 -0400
-Branch: REL9_5_STABLE [168df1b84] 2018-04-20 17:15:31 -0400
--->
-     <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>
-<!--
-Author: Teodor Sigaev <teodor@sigaev.ru>
-Branch: master [8f9be261f] 2018-05-03 20:08:29 +0300
-Branch: REL_10_STABLE [ee492e3de] 2018-05-03 20:09:02 +0300
-Branch: REL9_6_STABLE [d9b3bc552] 2018-05-03 20:09:28 +0300
-Branch: REL9_5_STABLE [d3fc427f4] 2018-05-03 20:09:47 +0300
-Branch: REL9_4_STABLE [6bd659f19] 2018-05-03 20:10:11 +0300
-Branch: REL9_3_STABLE [540e7a6e5] 2018-05-03 20:10:34 +0300
--->
-     <para>
-      Avoid failure if a query-cancel or session-termination interrupt
-      occurs while committing a prepared transaction (Stas Kelvich)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [9e17bdb8a] 2018-03-16 16:03:45 -0400
-Branch: REL_10_STABLE [bdc7f686d] 2018-03-16 16:03:45 -0400
-Branch: REL9_6_STABLE [5149dc934] 2018-03-16 16:03:45 -0400
-Branch: REL9_5_STABLE [c17a58967] 2018-03-16 16:03:45 -0400
-Branch: REL9_4_STABLE [2709549ec] 2018-03-16 16:03:45 -0400
-Branch: REL9_3_STABLE [574386ddc] 2018-03-16 16:03:45 -0400
--->
-     <para>
-      Fix query-lifespan memory leakage in repeatedly executed hash joins
-      (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [0b1d1a038] 2018-03-02 17:40:48 -0500
-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
-      (Amit Kapila)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [d2599ecfc] 2018-05-04 18:24:45 -0300
-Branch: REL_10_STABLE [e1d634758] 2018-05-04 18:23:58 -0300
-Branch: REL9_6_STABLE [3a11485a5] 2018-05-04 18:23:30 -0300
--->
-     <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>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [477ad05e1] 2018-03-01 18:07:46 -0300
-Branch: REL_10_STABLE [aad956ada] 2018-03-01 18:07:46 -0300
-Branch: REL9_6_STABLE [0ddaaa4cf] 2018-03-01 18:07:46 -0300
-Branch: REL9_5_STABLE [491bbc36e] 2018-03-01 18:07:46 -0300
-Branch: REL9_4_STABLE [3ee23834e] 2018-03-01 18:07:46 -0300
-Branch: REL9_3_STABLE [650f3863f] 2018-03-01 18:07:46 -0300
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [25b692568] 2018-02-27 13:28:02 -0500
-Branch: REL_10_STABLE [b45f821e2] 2018-02-27 13:27:38 -0500
-Branch: REL9_6_STABLE [06f47297e] 2018-02-27 13:27:38 -0500
-Branch: REL9_5_STABLE [2ee44e10d] 2018-02-27 13:27:38 -0500
-Branch: REL9_4_STABLE [5ccb77586] 2018-02-27 13:27:38 -0500
-Branch: REL9_3_STABLE [9bc33ef5e] 2018-02-27 13:27:38 -0500
--->
-     <para>
-      Prevent dangling-pointer dereference when a C-coded before-update row
-      trigger returns the <quote>old</quote> tuple (Rushabh Lathia)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [38f7831d7] 2018-03-13 12:28:35 -0400
-Branch: REL_10_STABLE [4460964ae] 2018-03-13 12:28:36 -0400
-Branch: REL9_6_STABLE [4b0e71705] 2018-03-13 12:28:37 -0400
-Branch: REL9_5_STABLE [231329a17] 2018-03-13 12:28:38 -0400
-Branch: REL9_4_STABLE [95f08d32d] 2018-03-13 12:28:39 -0400
-Branch: REL9_3_STABLE [5328b6135] 2018-03-13 12:28:40 -0400
--->
-     <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>
-<!--
-Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
-Branch: master [a820b4c32] 2018-04-11 23:39:48 +0300
-Branch: REL_10_STABLE [89c2ab340] 2018-04-11 23:40:03 +0300
-Branch: REL9_6_STABLE [74dc05e01] 2018-04-11 23:40:13 +0300
-Branch: REL9_5_STABLE [fd2efda5d] 2018-04-11 23:40:19 +0300
-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 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>
-<!--
-Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
-Branch: master [811969b21] 2018-04-11 23:39:49 +0300
-Branch: REL_10_STABLE [93b3d43dc] 2018-04-11 23:52:11 +0300
--->
-     <para>
-      Handle <structname>pg_stat_activity</structname> information for
-      auxiliary processes correctly (Edmund Horner)
-     </para>
-
-     <para>
-       The <structfield>application_name</structfield>,
-       <structfield>client_hostname</structfield>,
-       and <structfield>query</structfield> fields might show incorrect
-       data for such processes.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [65a69dfa0] 2018-04-12 18:39:51 -0400
-Branch: REL_10_STABLE [40132187e] 2018-04-12 18:39:51 -0400
-Branch: REL9_6_STABLE [0f439c8dd] 2018-04-12 18:39:51 -0400
-Branch: REL9_5_STABLE [906e44d4d] 2018-04-12 18:39:51 -0400
-Branch: REL9_4_STABLE [f71d803c8] 2018-04-12 18:39:51 -0400
-Branch: REL9_3_STABLE [ac8ea0f27] 2018-04-12 18:39:52 -0400
--->
-     <para>
-      Fix incorrect processing of multiple compound affixes
-      in <literal>ispell</literal> dictionaries (Arthur Zakirov)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [b15e8f71d] 2018-04-16 16:06:58 -0400
-Branch: REL_10_STABLE [3397c6727] 2018-04-16 16:06:47 -0400
-Branch: REL9_6_STABLE [d90b2904c] 2018-04-16 16:06:47 -0400
-Branch: REL9_5_STABLE [93053aca5] 2018-04-16 16:06:47 -0400
-Branch: REL9_4_STABLE [608d1f971] 2018-04-16 16:06:47 -0400
-Branch: REL9_3_STABLE [cf73a5b34] 2018-04-16 16:06:47 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [467963c3e] 2018-03-19 23:59:30 -0400
-Branch: REL_10_STABLE [d18a88acf] 2018-03-19 23:59:17 -0400
-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&ouml;s)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [649f17925] 2018-03-22 13:24:05 -0400
-Branch: REL_10_STABLE [bf14575c8] 2018-03-22 13:23:48 -0400
-Branch: REL9_6_STABLE [db35bf507] 2018-03-22 13:23:48 -0400
-Branch: REL9_5_STABLE [eee190da7] 2018-03-22 13:23:48 -0400
-Branch: REL9_4_STABLE [7f6f8ccd9] 2018-03-22 13:23:48 -0400
-Branch: REL9_3_STABLE [46f80803a] 2018-03-22 13:23:48 -0400
--->
-     <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>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [81b9b5ce4] 2018-03-02 11:22:42 -0500
-Branch: REL_10_STABLE [ccd650430] 2018-03-02 11:22:42 -0500
-Branch: REL9_6_STABLE [529137cac] 2018-03-02 11:22:42 -0500
-Branch: REL9_5_STABLE [46d98da43] 2018-03-02 11:22:42 -0500
-Branch: REL9_4_STABLE [947f06c62] 2018-03-02 11:22:42 -0500
-Branch: REL9_3_STABLE [6b56f0752] 2018-03-02 11:22:42 -0500
--->
-     <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>
-<!--
-Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
-Branch: master [066871980] 2018-05-05 01:34:53 +0300
-Branch: REL_10_STABLE [ca572db22] 2018-05-05 01:35:09 +0300
-Branch: REL9_6_STABLE [7b7521d65] 2018-05-05 01:35:12 +0300
-Branch: REL9_5_STABLE [4ea8f7d45] 2018-05-05 01:35:15 +0300
-Branch: REL9_4_STABLE [c06380e97] 2018-05-05 01:35:18 +0300
--->
-     <para>
-      Fix a corner case where a streaming standby gets stuck at a WAL
-      continuation record (Kyotaro Horiguchi)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [8aa75e138] 2018-03-06 18:34:29 -0300
-Branch: REL_10_STABLE [cee1dd1ee] 2018-03-06 16:20:54 -0300
-Branch: REL9_6_STABLE [8e5c2afa9] 2018-03-06 16:20:13 -0300
-Branch: REL9_5_STABLE [d4429d50a] 2018-03-06 16:20:03 -0300
-Branch: REL9_4_STABLE [6d30e3a2b] 2018-03-06 16:10:23 -0300
--->
-     <para>
-      In logical decoding, avoid possible double processing of WAL data
-      when a walsender restarts (Craig Ringer)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [24c0a6c64] 2018-03-14 21:34:26 -0300
-Branch: REL_10_STABLE [3c3450e74] 2018-03-14 21:34:21 -0300
--->
-     <para>
-      Fix logical replication to not assume that type OIDs match between
-      the local and remote servers (Masahiko Sawada)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [58d9acc18] 2018-03-03 20:31:35 -0500
-Branch: REL_10_STABLE [bfade0e51] 2018-03-03 20:31:35 -0500
-Branch: REL9_6_STABLE [e2108f581] 2018-03-03 20:31:35 -0500
-Branch: REL9_5_STABLE [ad3e3d731] 2018-03-03 20:31:35 -0500
-Branch: REL9_4_STABLE [165fa27fe] 2018-03-03 20:31:35 -0500
-Branch: REL9_3_STABLE [0bea99bd9] 2018-03-03 20:31:35 -0500
--->
-     <para>
-      Allow <function>scalarltsel</function>
-      and <function>scalargtsel</function> to be used on non-core datatypes
-      (Tomas Vondra)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [d25c2ee9c] 2018-04-13 12:53:45 -0400
-Branch: REL_10_STABLE [d014b38df] 2018-04-13 12:53:45 -0400
-Branch: REL9_6_STABLE [131f6a958] 2018-04-13 12:53:46 -0400
-Branch: REL9_5_STABLE [2278e94ae] 2018-04-13 12:53:46 -0400
-Branch: REL9_4_STABLE [3dd36aa4b] 2018-04-13 12:53:46 -0400
-Branch: REL9_3_STABLE [bbec33c2d] 2018-04-13 12:53:46 -0400
--->
-     <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>
-<!--
-Author: Michael Meskes <meskes@postgresql.org>
-Branch: master [b32fad52e] 2018-03-13 16:22:28 +0100
-Branch: REL_10_STABLE [fe65f5931] 2018-03-13 16:23:25 +0100
-Branch: REL9_6_STABLE [44a36a8d9] 2018-03-12 23:53:39 +0100
-Branch: REL9_5_STABLE [95f026021] 2018-03-12 23:53:46 +0100
-Branch: REL9_4_STABLE [bd7eb6fe6] 2018-03-12 23:54:22 +0100
-Branch: REL9_3_STABLE [042badc37] 2018-03-12 23:54:29 +0100
-Author: Michael Meskes <meskes@postgresql.org>
-Branch: master [db2fc801f] 2018-03-14 00:51:17 +0100
-Branch: REL_10_STABLE [8559b40c5] 2018-03-14 00:50:39 +0100
-Branch: REL9_6_STABLE [8e3f3ab5b] 2018-03-14 00:51:58 +0100
-Branch: REL9_5_STABLE [837d4f739] 2018-03-14 00:52:11 +0100
-Branch: REL9_4_STABLE [fcc15bf38] 2018-03-14 00:52:21 +0100
-Branch: REL9_3_STABLE [09f4ca92b] 2018-03-14 00:52:45 +0100
--->
-     <para>
-      Fix double-free crashes in <application>ecpg</application>
-      (Patrick Krecker, Jeevan Ladhe)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [51057feaa] 2018-02-27 16:46:52 -0500
-Branch: REL_10_STABLE [fda3e6578] 2018-02-27 16:46:52 -0500
-Branch: REL9_6_STABLE [7ee8005ce] 2018-02-27 16:46:52 -0500
-Branch: REL9_5_STABLE [f171cbe0d] 2018-02-27 16:46:52 -0500
-Branch: REL9_4_STABLE [49f9014c8] 2018-02-27 16:46:52 -0500
-Branch: REL9_3_STABLE [87b7e1e88] 2018-02-27 16:46:52 -0500
--->
-     <para>
-      Fix <application>ecpg</application> to handle <type>long long
-      int</type> variables correctly in MSVC builds (Michael Meskes,
-      Andrew Gierth)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [742869946] 2018-03-21 20:03:28 -0400
-Branch: REL_10_STABLE [66e92878a] 2018-03-21 20:03:28 -0400
-Branch: REL9_6_STABLE [8132f0f38] 2018-03-21 20:03:28 -0400
-Branch: REL9_5_STABLE [a35d72923] 2018-03-21 20:03:28 -0400
-Branch: REL9_4_STABLE [67e02cde7] 2018-03-21 20:03:28 -0400
-Branch: REL9_3_STABLE [be677bb5a] 2018-03-21 20:03:29 -0400
--->
-     <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>
-<!--
-Author: Magnus Hagander <magnus@hagander.net>
-Branch: master [8d2814f27] 2018-03-18 13:08:25 +0100
-Branch: REL_10_STABLE [e7d3a37d9] 2018-03-18 13:11:27 +0100
-Branch: REL9_6_STABLE [59743deca] 2018-03-18 13:11:40 +0100
-Branch: REL9_5_STABLE [24ff0fe87] 2018-03-18 13:11:49 +0100
-Branch: REL9_4_STABLE [af5fbb128] 2018-03-18 13:11:58 +0100
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [6336b6dfc] 2018-04-25 18:50:29 -0700
-Branch: REL_10_STABLE [c7cc9b7d4] 2018-04-25 18:50:32 -0700
-Branch: REL9_6_STABLE [32c247629] 2018-04-25 18:50:33 -0700
-Branch: REL9_5_STABLE [24f1e9ca0] 2018-04-25 18:50:33 -0700
-Branch: REL9_4_STABLE [bb532859f] 2018-04-25 18:50:34 -0700
--->
-     <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>
-<!--
-Author: Fujii Masao <fujii@postgresql.org>
-Branch: master [09e96b3f3] 2018-03-29 04:00:21 +0900
-Branch: REL_10_STABLE [f1e07d576] 2018-03-29 04:01:43 +0900
-Branch: REL9_6_STABLE [52c32d8d8] 2018-03-29 04:02:08 +0900
-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 (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>
-<!--
-Author: Fujii Masao <fujii@postgresql.org>
-Branch: master [2f3e2340c] 2018-03-06 02:08:18 +0900
-Branch: REL_10_STABLE [bca696ab0] 2018-03-06 02:09:12 +0900
-Branch: REL9_6_STABLE [7aba4f23f] 2018-03-06 02:10:41 +0900
-Branch: REL9_5_STABLE [cb5c141ed] 2018-03-06 02:12:06 +0900
--->
-     <para>
-      Fix <application>pg_rewind</application> to handle tables in
-      non-default tablespaces correctly (Takayuki Tsunakawa)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [2dbee9f19] 2018-03-17 15:38:15 -0400
-Branch: REL_10_STABLE [04c76acab] 2018-03-17 15:38:15 -0400
-Branch: REL9_6_STABLE [5917297bf] 2018-03-17 15:38:15 -0400
-Branch: REL9_5_STABLE [b3fade55c] 2018-03-17 15:38:15 -0400
-Branch: REL9_4_STABLE [092401b14] 2018-03-17 15:38:15 -0400
-Branch: REL9_3_STABLE [f1f7a85d8] 2018-03-17 15:38:15 -0400
--->
-     <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>
-<!--
-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
-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
-      modules when building with Python 3 and MSVC (Andrew Dunstan)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [c35b47286] 2018-03-22 13:14:07 -0400
-Branch: REL_10_STABLE [76e2b5ae4] 2018-03-22 13:13:58 -0400
-Branch: REL9_6_STABLE [df9040155] 2018-03-22 13:13:58 -0400
--->
-     <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>
-<!--
-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
-Branch: REL9_5_STABLE [679df2b8d] 2018-02-28 18:33:45 -0500
-Branch: REL9_4_STABLE [d07f79a9c] 2018-02-28 18:33:45 -0500
-Branch: REL9_3_STABLE [10102c91e] 2018-02-28 18:33:45 -0500
--->
-     <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>
-<!--
-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
-Branch: REL9_5_STABLE [4e0e9e59b] 2018-05-04 12:26:43 -0400
-Branch: REL9_4_STABLE [2d123b310] 2018-05-04 12:26:48 -0400
-Branch: REL9_3_STABLE [9469ebc71] 2018-05-04 12:26:52 -0400
--->
-     <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>
-<!--
-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>
- </sect1>
-
- <sect1 id="release-10-3">
-  <title>Release 10.3</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2018-03-01</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 10.2.
-   For information about new features in major release 10, see
-   <xref linkend="release-10"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 10.3</title>
-
-   <para>
-    A dump/restore is not required for those running 10.X.
-   </para>
-
-   <para>
-    However, if you run an installation in which not all users are mutually
-    trusting, or if you maintain an application or extension that is
-    intended for use in arbitrary situations, it is strongly recommended
-    that you read the documentation changes described in the first changelog
-    entry below, and take suitable steps to ensure that your installation or
-    code is secure.
-   </para>
-
-   <para>
-    Also, the changes described in the second changelog entry below may
-    cause functions used in index expressions or materialized views to fail
-    during auto-analyze, or when reloading from a dump.  After upgrading,
-    monitor the server logs for such problems, and fix affected functions.
-   </para>
-
-   <para>
-    Also, if you are upgrading from a version earlier than 10.2,
-    see <xref linkend="release-10-2"/>.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-<!--
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [5770172cb] 2018-02-26 07:39:44 -0800
-Branch: REL_10_STABLE [ee0d1966e] 2018-02-26 07:39:47 -0800
-Branch: REL9_6_STABLE [70396dbe3] 2018-02-26 07:39:48 -0800
-Branch: REL9_5_STABLE [1f47ea7b8] 2018-02-26 07:39:48 -0800
-Branch: REL9_4_STABLE [f28955e38] 2018-02-26 07:39:48 -0800
-Branch: REL9_3_STABLE [41ee473a4] 2018-02-26 07:39:48 -0800
--->
-     <para>
-      Document how to configure installations and applications to guard
-      against search-path-dependent trojan-horse attacks from other users
-      (Noah Misch)
-     </para>
-
-     <para>
-      Using a <varname>search_path</varname> setting that includes any
-      schemas writable by a hostile user enables that user to capture
-      control of queries and then run arbitrary SQL code with the
-      permissions of the attacked user.  While it is possible to write
-      queries that are proof against such hijacking, it is notationally
-      tedious, and it's very easy to overlook holes.  Therefore, we now
-      recommend configurations in which no untrusted schemas appear in
-      one's search path.  Relevant documentation appears in
-      <xref linkend="ddl-schemas-patterns"/> (for database administrators and users),
-      <xref linkend="libpq-connect"/> (for application authors),
-      <xref linkend="extend-extensions-style"/>  (for extension authors), and
-      <xref linkend="sql-createfunction"/> (for authors
-      of <literal>SECURITY DEFINER</literal> functions).
-      (CVE-2018-1058)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [582edc369] 2018-02-26 07:39:44 -0800
-Branch: REL_10_STABLE [10d598354] 2018-02-26 07:39:47 -0800
-Branch: REL9_6_STABLE [e170b8c8c] 2018-02-26 07:39:48 -0800
-Branch: REL9_5_STABLE [91f3ffc52] 2018-02-26 07:39:48 -0800
-Branch: REL9_4_STABLE [928bca1a3] 2018-02-26 07:39:48 -0800
-Branch: REL9_3_STABLE [3db38b0ce] 2018-02-26 07:39:48 -0800
-Author: Noah Misch <noah@leadboat.com>
-Branch: REL9_4_STABLE [461c32b55] 2018-02-26 07:39:48 -0800
-Branch: REL9_3_STABLE [de8ffd666] 2018-02-26 07:39:48 -0800
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [3d2aed664] 2018-02-26 10:18:21 -0500
-Branch: REL_10_STABLE [b8a2908f0] 2018-02-26 10:18:22 -0500
-Branch: REL9_6_STABLE [815172ba8] 2018-02-26 10:18:22 -0500
-Branch: REL9_5_STABLE [a8fc37a63] 2018-02-26 10:18:22 -0500
-Branch: REL9_4_STABLE [9f6e5296a] 2018-02-26 10:18:22 -0500
-Branch: REL9_3_STABLE [fe8b95b7e] 2018-02-26 10:18:22 -0500
--->
-     <para>
-      Avoid use of insecure <varname>search_path</varname> settings
-      in <application>pg_dump</application> and other client programs
-      (Noah Misch, Tom Lane)
-     </para>
-
-     <para>
-      <application>pg_dump</application>,
-      <application>pg_upgrade</application>,
-      <application>vacuumdb</application> and
-      other <productname>PostgreSQL</productname>-provided applications were
-      themselves vulnerable to the type of hijacking described in the previous
-      changelog entry; since these applications are commonly run by
-      superusers, they present particularly attractive targets.  To make them
-      secure whether or not the installation as a whole has been secured,
-      modify them to include only the <structname>pg_catalog</structname>
-      schema in their <varname>search_path</varname> settings.
-      Autovacuum worker processes now do the same, as well.
-     </para>
-
-     <para>
-      In cases where user-provided functions are indirectly executed by
-      these programs &mdash; for example, user-provided functions in index
-      expressions &mdash; the tighter <varname>search_path</varname> may
-      result in errors, which will need to be corrected by adjusting those
-      user-provided functions to not assume anything about what search path
-      they are invoked under.  That has always been good practice, but now
-      it will be necessary for correct behavior.
-      (CVE-2018-1058)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Eisentraut <peter_e@gmx.net>
-Branch: master [bc1adc651] 2018-02-23 22:13:21 -0500
-Branch: REL_10_STABLE [b9bf23abb] 2018-02-23 22:09:26 -0500
--->
-     <para>
-      Prevent logical replication from trying to ship changes for
-      unpublishable relations (Peter Eisentraut)
-     </para>
-
-     <para>
-      A publication marked <literal>FOR ALL TABLES</literal> would
-      incorrectly ship changes in materialized views
-      and <structname>information_schema</structname> tables, which are
-      supposed to be omitted from the change stream.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [159efe4af] 2018-02-19 16:00:31 -0500
-Branch: REL_10_STABLE [517e0fe86] 2018-02-19 16:00:18 -0500
-Branch: REL9_6_STABLE [795f2112e] 2018-02-19 16:00:18 -0500
-Branch: REL9_5_STABLE [340d63bfb] 2018-02-19 16:00:18 -0500
-Branch: REL9_4_STABLE [e11b6488e] 2018-02-19 16:00:18 -0500
-Branch: REL9_3_STABLE [ea6d67cf8] 2018-02-19 16:00:18 -0500
--->
-     <para>
-      Fix misbehavior of concurrent-update rechecks with CTE references
-      appearing in subplans (Tom Lane)
-     </para>
-
-     <para>
-      If a CTE (<literal>WITH</literal> clause reference) is used in an
-      InitPlan or SubPlan, and the query requires a recheck due to trying
-      to update or lock a concurrently-updated row, incorrect results could
-      be obtained.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [9afd513df] 2018-02-23 13:47:33 -0500
-Branch: REL_10_STABLE [c458970ad] 2018-02-23 13:47:33 -0500
-Branch: REL9_6_STABLE [e7c02a54a] 2018-02-23 13:47:33 -0500
-Branch: REL9_5_STABLE [7dc5f316f] 2018-02-23 13:47:33 -0500
-Branch: REL9_4_STABLE [f6dd08489] 2018-02-23 13:47:33 -0500
-Branch: REL9_3_STABLE [71a0d0c5a] 2018-02-23 13:47:33 -0500
--->
-     <para>
-      Fix planner failures with overlapping mergejoin clauses in an outer
-      join (Tom Lane)
-     </para>
-
-     <para>
-      These mistakes led to <quote>left and right pathkeys do not match in
-      mergejoin</quote> or <quote>outer pathkeys do not match
-      mergeclauses</quote> planner errors in corner cases.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [38b41f182] 2018-02-21 18:40:24 -0500
-Branch: REL_10_STABLE [5ab5d21aa] 2018-02-21 18:40:24 -0500
-Branch: REL9_6_STABLE [66e203c85] 2018-02-21 18:40:24 -0500
-Branch: REL9_5_STABLE [9936f1499] 2018-02-21 18:40:24 -0500
-Branch: REL9_4_STABLE [2d12c5593] 2018-02-21 18:40:24 -0500
-Branch: REL9_3_STABLE [d3b0a23a2] 2018-02-21 18:40:24 -0500
--->
-     <para>
-      Repair <application>pg_upgrade</application>'s failure to
-      preserve <structfield>relfrozenxid</structfield> for materialized
-      views (Tom Lane, Andres Freund)
-     </para>
-
-     <para>
-      This oversight could lead to data corruption in materialized views
-      after an upgrade, manifesting as <quote>could not access status of
-      transaction</quote> or <quote>found xmin from before
-      relfrozenxid</quote> errors.  The problem would be more likely to
-      occur in seldom-refreshed materialized views, or ones that were
-      maintained only with <command>REFRESH MATERIALIZED VIEW
-      CONCURRENTLY</command>.
-     </para>
-
-     <para>
-      If such corruption is observed, it can be repaired by refreshing the
-      materialized view (without <literal>CONCURRENTLY</literal>).
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [3486bcf9e] 2018-02-20 11:23:42 -0500
-Branch: REL_10_STABLE [6753f6c41] 2018-02-20 11:23:34 -0500
--->
-     <para>
-      Fix incorrect <application>pg_dump</application> output for some
-      non-default sequence limit values (Alexey Bashtanov)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [5c9f2564f] 2018-02-11 13:24:15 -0500
-Branch: REL_10_STABLE [1298fccef] 2018-02-11 13:24:15 -0500
--->
-     <para>
-      Fix <application>pg_dump</application>'s mishandling
-      of <literal>STATISTICS</literal> objects (Tom Lane)
-     </para>
-
-     <para>
-      An extended statistics object's schema was mislabeled in the dump's
-      table of contents, possibly leading to the wrong results in a
-      schema-selective restore.  Its ownership was not correctly restored,
-      either.  Also, change the logic so that statistics objects are
-      dumped/restored, or not, as independent objects rather than tying
-      them to the dump/restore decision for the table they are on.  The
-      original definition could not scale to the planned future extension to
-      cross-table statistics.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [e748e902d] 2018-02-14 14:47:18 -0500
-Branch: REL_10_STABLE [4081e1136] 2018-02-14 14:47:18 -0500
-Branch: REL9_6_STABLE [0a2381d13] 2018-02-14 14:47:18 -0500
-Branch: REL9_5_STABLE [db1c597f3] 2018-02-14 14:47:18 -0500
-Branch: REL9_4_STABLE [bd8718637] 2018-02-14 14:47:18 -0500
-Branch: REL9_3_STABLE [457e9e88e] 2018-02-14 14:47:18 -0500
--->
-     <para>
-      Fix incorrect reporting of PL/Python function names in
-      error <literal>CONTEXT</literal> stacks (Tom Lane)
-     </para>
-
-     <para>
-      An error occurring within a nested PL/Python function call (that is,
-      one reached via a SPI query from another PL/Python function) would
-      result in a stack trace showing the inner function's name twice,
-      rather than the expected results.  Also, an error in a nested
-      PL/Python <literal>DO</literal> block could result in a null pointer
-      dereference crash on some platforms.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [8af87f411] 2018-02-23 14:39:17 -0500
-Branch: REL_10_STABLE [0222e897d] 2018-02-23 14:39:18 -0500
-Branch: REL9_6_STABLE [be87cd2a0] 2018-02-23 14:39:20 -0500
-Branch: REL9_5_STABLE [753875ed4] 2018-02-23 14:39:21 -0500
-Branch: REL9_4_STABLE [3ba503bde] 2018-02-23 14:39:22 -0500
-Branch: REL9_3_STABLE [a7a6051cf] 2018-02-23 14:39:23 -0500
--->
-     <para>
-      Allow <filename>contrib/auto_explain</filename>'s
-      <varname>log_min_duration</varname> setting to range up
-      to <literal>INT_MAX</literal>, or about 24 days instead of 35 minutes
-      (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [935dee9ad] 2018-02-09 15:54:45 -0500
-Author: Andres Freund <andres@anarazel.de>
-Branch: REL_10_STABLE [2ff2baa22] 2018-02-22 12:54:45 -0800
-Branch: REL9_6_STABLE [83fce670e] 2018-02-22 12:58:43 -0800
--->
-     <para>
-      Mark assorted GUC variables as <literal>PGDLLIMPORT</literal>, to
-      ease porting extension modules to Windows (Metin Doslu)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-10-2">
-  <title>Release 10.2</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2018-02-08</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 10.1.
-   For information about new features in major release 10, see
-   <xref linkend="release-10"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 10.2</title>
-
-   <para>
-    A dump/restore is not required for those running 10.X.
-   </para>
-
-   <para>
-    However,
-    if you use <filename>contrib/cube</filename>'s <literal>~&gt;</literal>
-    operator, see the entry below about that.
-   </para>
-
-   <para>
-    Also, if you are upgrading from a version earlier than 10.1,
-    see <xref linkend="release-10-1"/>.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [3492a0af0] 2018-02-05 10:37:30 -0500
-Branch: REL_10_STABLE [fe921a360] 2018-02-05 10:37:30 -0500
--->
-     <para>
-      Fix processing of partition keys containing multiple expressions
-      (&Aacute;lvaro Herrera, David Rowley)
-     </para>
-
-     <para>
-      This error led to crashes or, with carefully crafted input, disclosure
-      of arbitrary backend memory.
-      (CVE-2018-1052)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [a926eb84e] 2018-02-05 10:58:27 -0500
-Branch: REL_10_STABLE [6ba52aeb2] 2018-02-05 10:58:27 -0500
-Branch: REL9_6_STABLE [1341e017d] 2018-02-05 10:58:27 -0500
-Branch: REL9_5_STABLE [17aa02368] 2018-02-05 10:58:27 -0500
-Branch: REL9_4_STABLE [c3456208d] 2018-02-05 10:58:27 -0500
-Branch: REL9_3_STABLE [9c59e48a2] 2018-02-05 10:58:27 -0500
--->
-     <para>
-      Ensure that all temporary files made
-      by <application>pg_upgrade</application> are non-world-readable
-      (Tom Lane, Noah Misch)
-     </para>
-
-     <para>
-      <application>pg_upgrade</application> normally restricts its
-      temporary files to be readable and writable only by the calling user.
-      But the temporary file containing <literal>pg_dumpall -g</literal>
-      output would be group- or world-readable, or even writable, if the
-      user's <literal>umask</literal> setting allows.  In typical usage on
-      multi-user machines, the <literal>umask</literal> and/or the working
-      directory's permissions would be tight enough to prevent problems;
-      but there may be people using <application>pg_upgrade</application>
-      in scenarios where this oversight would permit disclosure of database
-      passwords to unfriendly eyes.
-      (CVE-2018-1053)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andres Freund <andres@anarazel.de>
-Branch: master [9c2f0a6c3] 2017-12-14 18:20:47 -0800
-Branch: REL_10_STABLE [1224383e8] 2017-12-14 18:20:48 -0800
-Branch: REL9_6_STABLE [937494c0e] 2017-12-14 18:20:48 -0800
-Branch: REL9_5_STABLE [32c0295b1] 2017-12-14 18:20:48 -0800
-Branch: REL9_4_STABLE [4eff5a8c9] 2017-12-14 18:20:48 -0800
-Branch: REL9_3_STABLE [387abe870] 2017-12-14 18:20:48 -0800
--->
-     <para>
-      Fix vacuuming of tuples that were updated while key-share locked
-      (Andres Freund, &Aacute;lvaro Herrera)
-     </para>
-
-     <para>
-      In some cases <command>VACUUM</command> would fail to remove such
-      tuples even though they are now dead, leading to assorted data
-      corruption scenarios.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [ad25a6b1f] 2018-02-01 15:23:45 -0500
-Branch: REL_10_STABLE [b94988fad] 2018-02-01 15:31:31 -0500
--->
-     <para>
-      Fix failure to mark a hash index's metapage dirty after
-      adding a new overflow page, potentially leading to index corruption
-      (Lixian Zou, Amit Kapila)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [3b2787e1f] 2017-11-16 14:19:27 -0500
-Branch: REL_10_STABLE [c8df4831e] 2017-11-16 15:24:19 -0500
-Branch: REL9_6_STABLE [19648ce55] 2017-11-16 15:26:49 -0500
--->
-     <para>
-      Ensure that vacuum will always clean up the pending-insertions list of
-      a GIN index (Masahiko Sawada)
-     </para>
-
-     <para>
-      This is necessary to ensure that dead index entries get removed.
-      The old code got it backwards, allowing vacuum to skip the cleanup if
-      some other process were running cleanup concurrently, thus risking
-      invalid entries being left behind in the index.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [272c2ab9f] 2018-01-09 17:06:31 -0300
-Branch: REL_10_STABLE [37dd11281] 2018-01-09 17:08:10 -0300
-Branch: REL9_6_STABLE [012683866] 2018-01-09 17:07:47 -0300
-Branch: REL9_5_STABLE [38a23790e] 2018-01-09 17:07:36 -0300
-Branch: REL9_4_STABLE [c61879640] 2018-01-09 17:07:24 -0300
-Branch: REL9_3_STABLE [469fa9ad6] 2018-01-09 17:07:00 -0300
--->
-     <para>
-      Fix inadequate buffer locking in some LSN fetches (Jacob Champion,
-      Asim Praveen, Ashwin Agrawal)
-     </para>
-
-     <para>
-      These errors could result in misbehavior under concurrent load.
-      The potential consequences have not been characterized fully.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [90947674f] 2018-01-12 12:24:50 -0500
-Branch: REL_10_STABLE [d3ca1a6c3] 2018-01-12 12:24:50 -0500
-Branch: REL9_6_STABLE [6520d4a96] 2018-01-12 12:24:50 -0500
-Branch: REL9_5_STABLE [ff99d7761] 2018-01-12 12:24:50 -0500
--->
-     <para>
-      Fix incorrect query results from cases involving flattening of
-      subqueries whose outputs are used in <literal>GROUPING SETS</literal>
-      (Heikki Linnakangas)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [3ccdc6f9a] 2018-01-31 15:43:11 -0500
-Branch: REL_10_STABLE [86fba2865] 2018-01-31 16:08:39 -0500
--->
-     <para>
-      Fix handling of list partitioning constraints for partition keys of
-      boolean or array types (Amit Langote)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [680d54050] 2018-01-12 15:46:37 -0500
-Branch: REL_10_STABLE [55e5eb4d9] 2018-01-12 15:46:37 -0500
-Branch: REL9_6_STABLE [c2a7044a5] 2018-01-12 15:46:37 -0500
-Branch: REL9_5_STABLE [a99922f96] 2018-01-12 15:46:37 -0500
-Branch: REL9_4_STABLE [8b0e5e7e7] 2018-01-12 15:46:38 -0500
-Branch: REL9_3_STABLE [4e7170058] 2018-01-12 15:46:38 -0500
--->
-     <para>
-      Avoid unnecessary failure in a query on an inheritance tree that
-      occurs concurrently with some child table being removed from the tree
-      by <command>ALTER TABLE NO INHERIT</command> (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [54eff5311] 2018-01-02 19:16:16 -0300
-Branch: REL_10_STABLE [6d2a9ae0e] 2018-01-02 19:16:16 -0300
-Branch: REL9_6_STABLE [fb7b43903] 2018-01-02 19:16:16 -0300
-Branch: REL9_5_STABLE [82f1c3b7d] 2018-01-02 19:16:16 -0300
-Branch: REL9_4_STABLE [47a3a1317] 2018-01-02 19:16:16 -0300
--->
-     <para>
-      Fix spurious deadlock failures when multiple sessions are
-      running <command>CREATE INDEX CONCURRENTLY</command> (Jeff Janes)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Teodor Sigaev <teodor@sigaev.ru>
-Branch: master [ad337c76b] 2017-12-27 18:25:37 +0300
-Branch: REL_10_STABLE [bdbf29aae] 2017-12-27 18:26:58 +0300
--->
-     <para>
-      During <command>VACUUM FULL</command>, update the table's size fields
-      in <structname>pg_class</structname> sooner (Amit Kapila)
-     </para>
-
-     <para>
-      This prevents poor behavior when rebuilding hash indexes on the
-      table, since those use the <structname>pg_class</structname>
-      statistics to govern the initial hash size.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [c4c2885cb] 2017-12-22 12:08:06 -0500
-Branch: REL_10_STABLE [c252ccda7] 2017-12-22 12:08:18 -0500
--->
-     <para>
-      Fix
-      <literal>UNION</literal>/<literal>INTERSECT</literal>/<literal>EXCEPT</literal>
-      over zero columns (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Eisentraut <peter_e@gmx.net>
-Branch: master [005ac298b] 2017-12-08 12:13:04 -0500
-Branch: REL_10_STABLE [a2c6cf366] 2017-12-08 12:25:41 -0500
--->
-     <para>
-      Disallow identity columns on typed tables and partitions
-      (Michael Paquier)
-     </para>
-
-     <para>
-      These cases will be treated as unsupported features for now.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Eisentraut <peter_e@gmx.net>
-Branch: master [2d2d06b7e] 2017-12-08 09:18:18 -0500
-Branch: REL_10_STABLE [ee5b59549] 2017-12-08 09:39:55 -0500
-Branch: master [533c5d8bd] 2018-02-02 14:39:10 -0500
-Branch: REL_10_STABLE [1597948c9] 2018-02-02 15:06:52 -0500
--->
-     <para>
-      Fix assorted failures to apply the correct default value when
-      inserting into an identity column (Michael Paquier, Peter Eisentraut)
-     </para>
-
-     <para>
-      In several contexts, notably <command>COPY</command>
-      and <command>ALTER TABLE ADD COLUMN</command>, the expected default
-      value was not applied and instead a null value was inserted.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [9a785ad57] 2017-11-27 17:54:07 -0500
-Branch: REL_10_STABLE [a57aa430b] 2017-11-27 17:54:09 -0500
-Branch: REL9_6_STABLE [06ba53096] 2017-11-27 17:54:10 -0500
-Branch: REL9_5_STABLE [39f180fdd] 2017-11-27 17:54:11 -0500
--->
-     <para>
-      Fix failures when an inheritance tree contains foreign child tables
-      (Etsuro Fujita)
-     </para>
-
-     <para>
-      A mix of regular and foreign tables in an inheritance tree resulted in
-      creation of incorrect plans for <command>UPDATE</command>
-      and <command>DELETE</command> queries.  This led to visible failures in
-      some cases, notably when there are row-level triggers on a foreign
-      child table.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [9b63c13f0] 2017-11-25 14:15:48 -0500
-Branch: REL_10_STABLE [5dc7faa91] 2017-11-25 14:15:48 -0500
-Branch: REL9_6_STABLE [497e79b96] 2017-11-25 14:15:48 -0500
-Branch: REL9_5_STABLE [ae6ed0784] 2017-11-25 14:15:48 -0500
-Branch: REL9_4_STABLE [2e105cf6d] 2017-11-25 14:15:48 -0500
-Branch: REL9_3_STABLE [d538f6568] 2017-11-25 14:15:48 -0500
--->
-     <para>
-      Repair failure with correlated sub-<literal>SELECT</literal>
-      inside <literal>VALUES</literal> inside a <literal>LATERAL</literal>
-      subquery (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [bb94ce4d2] 2018-01-23 16:50:34 -0500
-Branch: REL_10_STABLE [c5e59bb60] 2018-01-23 16:50:34 -0500
-Branch: REL9_6_STABLE [ae3699a6a] 2018-01-23 16:50:35 -0500
-Branch: REL9_5_STABLE [8a2228b2f] 2018-01-23 16:50:35 -0500
-Branch: REL9_4_STABLE [54e1599c7] 2018-01-23 16:50:35 -0500
-Branch: REL9_3_STABLE [b100a5274] 2018-01-23 16:50:35 -0500
--->
-     <para>
-      Fix <quote>could not devise a query plan for the given query</quote>
-      planner failure for some cases involving nested <literal>UNION
-      ALL</literal> inside a lateral subquery (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [ecc27d55f] 2017-12-04 11:51:43 -0500
-Branch: REL_10_STABLE [bf2b317f1] 2017-12-04 11:51:43 -0500
--->
-     <para>
-      Allow functional dependency statistics to be used for boolean columns
-      (Tom Lane)
-     </para>
-
-     <para>
-      Previously, although extended statistics could be declared and
-      collected on boolean columns, the planner failed to apply them.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [df3a66e28] 2017-11-25 11:48:09 -0500
-Branch: REL_10_STABLE [b9fc2d0b9] 2017-11-25 11:48:09 -0500
--->
-     <para>
-      Avoid underestimating the number of groups emitted by subqueries
-      containing set-returning functions in their grouping columns (Tom Lane)
-     </para>
-
-     <para>
-      Cases similar to <literal>SELECT DISTINCT unnest(foo)</literal> got a
-      lower output rowcount estimate in 10.0 than they did in earlier
-      releases, possibly resulting in unfavorable plan choices.  Restore the
-      prior estimation behavior.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Simon Riggs <simon@2ndQuadrant.com>
-Branch: master [7e17a6889] 2017-11-22 16:28:14 +1100
-Branch: REL_10_STABLE [7015bb389] 2017-11-28 09:37:22 +0000
--->
-     <para>
-      Fix use of triggers in logical replication workers (Petr Jelinek)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [df9f682c7] 2018-01-05 12:17:10 -0300
-Branch: REL_10_STABLE [a19c262f3] 2018-01-05 12:17:10 -0300
-Branch: REL9_6_STABLE [9a5e4a6e0] 2018-01-05 12:17:10 -0300
-Branch: REL9_5_STABLE [132cd58d6] 2018-01-05 12:17:10 -0300
-Branch: REL9_4_STABLE [f68c49f86] 2018-01-05 12:17:10 -0300
--->
-     <para>
-      Fix logical decoding to correctly clean up disk files for crashed
-      transactions (Atsushi Torikoshi)
-     </para>
-
-     <para>
-      Logical decoding may spill WAL records to disk for transactions
-      generating many WAL records.  Normally these files are cleaned up
-      after the transaction's commit or abort record arrives; but if
-      no such record is ever seen, the removal code misbehaved.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Dunstan <andrew@dunslane.net>
-Branch: master [0fedb4ea6] 2017-12-14 11:13:14 -0500
-Branch: REL_10_STABLE [14c15b1f4] 2017-12-14 11:29:34 -0500
-Branch: REL9_6_STABLE [c28e0b1e0] 2017-12-14 11:31:13 -0500
-Branch: REL9_5_STABLE [87056267e] 2017-12-14 11:32:00 -0500
-Branch: REL9_4_STABLE [f5c7e0cdd] 2017-12-14 11:32:25 -0500
--->
-     <para>
-      Fix walsender timeout failure and failure to respond to interrupts
-      when processing a large transaction (Petr Jelinek)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [8a906204a] 2018-01-09 12:09:30 -0500
-Branch: REL_10_STABLE [1f5adbd79] 2018-01-09 12:09:30 -0500
--->
-     <para>
-      Fix race condition during replication origin drop that could allow the
-      dropping process to wait indefinitely (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Simon Riggs <simon@2ndQuadrant.com>
-Branch: master [6668a54eb] 2018-01-06 11:48:21 +0000
-Branch: REL_10_STABLE [76e117dbe] 2018-01-28 16:14:31 +0000
--->
-     <para>
-      Allow members of the <literal>pg_read_all_stats</literal> role to see
-      walsender statistics in the <structname>pg_stat_replication</structname>
-      view (Feike Steenbergen)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Magnus Hagander <magnus@hagander.net>
-Branch: master [d02974e32] 2017-12-29 16:28:32 +0100
-Branch: REL_10_STABLE [b38c3d58e] 2017-12-29 16:22:43 +0100
--->
-     <para>
-      Show walsenders that are sending base backups as active in
-      the <structname>pg_stat_activity</structname> view (Magnus Hagander)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Eisentraut <peter_e@gmx.net>
-Branch: master [38d485fda] 2018-01-30 16:50:30 -0500
-Branch: REL_10_STABLE [167a22b2a] 2018-01-30 17:05:35 -0500
--->
-     <para>
-      Fix reporting of <literal>scram-sha-256</literal> authentication
-      method in the <structname>pg_hba_file_rules</structname> view
-      (Michael Paquier)
-     </para>
-
-     <para>
-      Previously this was printed as <literal>scram-sha256</literal>,
-      possibly confusing users as to the correct spelling.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Joe Conway <mail@joeconway.com>
-Branch: master [752714dd9] 2017-11-26 09:49:40 -0800
-Branch: REL_10_STABLE [9e051b674] 2017-11-26 09:50:00 -0800
-Branch: REL9_6_STABLE [997015ef2] 2017-11-26 09:50:15 -0800
-Branch: REL9_5_STABLE [db714c62b] 2017-11-26 09:50:27 -0800
-Branch: REL9_4_STABLE [d8d9c97cd] 2017-11-26 09:50:42 -0800
-Branch: REL9_3_STABLE [69e5b1e9c] 2017-11-26 09:50:53 -0800
--->
-     <para>
-      Fix <function>has_sequence_privilege()</function> to
-      support <literal>WITH GRANT OPTION</literal> tests,
-      as other privilege-testing functions do (Joe Conway)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [2918fcedb] 2017-11-11 11:10:53 -0800
-Branch: REL_10_STABLE [30a5e940a] 2017-11-11 11:11:15 -0800
-Branch: REL9_6_STABLE [46fb15f48] 2017-11-11 11:11:19 -0800
-Branch: REL9_5_STABLE [e7083dfce] 2017-11-11 11:11:21 -0800
-Branch: REL9_4_STABLE [2f4061aff] 2017-11-11 11:11:24 -0800
-Branch: REL9_3_STABLE [d8406b9de] 2017-11-11 11:11:28 -0800
-Branch: master [4b865aee2] 2017-11-11 13:07:46 -0800
-Branch: REL_10_STABLE [075ced2a4] 2017-11-11 13:07:54 -0800
-Branch: REL9_6_STABLE [742471ef9] 2017-11-11 13:07:55 -0800
-Branch: REL9_5_STABLE [739f1f6ac] 2017-11-11 13:07:55 -0800
-Branch: REL9_4_STABLE [e48fb50d8] 2017-11-11 13:07:55 -0800
-Branch: REL9_3_STABLE [f5260d5ad] 2017-11-11 13:07:55 -0800
--->
-     <para>
-      In databases using UTF8 encoding, ignore any XML declaration that
-      asserts a different encoding (Pavel Stehule, Noah Misch)
-     </para>
-
-     <para>
-      We always store XML strings in the database encoding, so allowing
-      libxml to act on a declaration of another encoding gave wrong results.
-      In encodings other than UTF8, we don't promise to support non-ASCII
-      XML data anyway, so retain the previous behavior for bug compatibility.
-      This change affects only <function>xpath()</function> and related
-      functions; other XML code paths already acted this way.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [ae65f6066] 2017-11-21 13:56:24 -0500
-Branch: REL_10_STABLE [5b2a87707] 2017-11-21 14:03:51 -0500
-Branch: REL9_6_STABLE [7c84bc0b3] 2017-11-21 14:30:33 -0500
-Branch: REL9_5_STABLE [c703aa625] 2017-11-21 14:34:26 -0500
-Branch: REL9_4_STABLE [294136d42] 2017-11-21 14:38:29 -0500
-Branch: REL9_3_STABLE [aa3a78c3d] 2017-11-21 14:45:29 -0500
--->
-     <para>
-      Provide for forward compatibility with future minor protocol versions
-      (Robert Haas, Badrul Chowdhury)
-     </para>
-
-     <para>
-      Up to now, <productname>PostgreSQL</productname> servers simply
-      rejected requests to use protocol versions newer than 3.0, so that
-      there was no functional difference between the major and minor parts
-      of the protocol version number.  Allow clients to request versions 3.x
-      without failing, sending back a message showing that the server only
-      understands 3.0.  This makes no difference at the moment, but
-      back-patching this change should allow speedier introduction of future
-      minor protocol upgrades.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Eisentraut <peter_e@gmx.net>
-Branch: REL_10_STABLE [218b024a7] 2017-12-08 10:17:46 -0500
--->
-     <para>
-      Allow a client that supports SCRAM channel binding (such as v11 or
-      later <application>libpq</application>) to connect to a v10 server
-      (Michael Paquier)
-     </para>
-
-     <para>
-      v10 does not have this feature, and the connection-time negotiation
-      about whether to use it was done incorrectly.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [aced5a92b] 2018-01-05 19:21:30 -0500
-Branch: REL_10_STABLE [1c77e9908] 2018-01-05 19:21:30 -0500
--->
-     <para>
-      Avoid live-lock in <function>ConditionVariableBroadcast()</function>
-      (Tom Lane, Thomas Munro)
-     </para>
-
-     <para>
-      Given repeatedly-unlucky timing, a process attempting to awaken all
-      waiters for a condition variable could loop indefinitely.  Due to the
-      limited usage of condition variables in v10, this affects only
-      parallel index scans and some operations on replication slots.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [59d1e2b95] 2017-12-21 09:24:30 -0500
-Branch: REL_10_STABLE [f3decdc94] 2017-12-21 09:24:48 -0500
--->
-     <para>
-      Clean up waits for condition variables correctly during subtransaction
-      abort (Robert Haas)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [80259d4db] 2018-01-09 12:34:57 -0500
-Branch: REL_10_STABLE [d56a5f994] 2018-01-09 12:34:46 -0500
--->
-     <para>
-      Ensure that child processes that are waiting for a condition variable
-      will exit promptly if the postmaster process dies (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [fd7c0fa73] 2017-12-18 12:22:31 -0500
-Branch: REL_10_STABLE [b70ea4c75] 2017-12-18 12:31:10 -0500
--->
-     <para>
-      Fix crashes in parallel queries using more than one Gather node
-      (Thomas Munro)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [884a60840] 2017-12-13 16:15:44 -0500
-Branch: REL_10_STABLE [192ffe1cb] 2017-12-13 16:09:00 -0500
--->
-     <para>
-      Fix hang in parallel index scan when processing a deleted or half-dead
-      index page (Amit Kapila)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [c6755e233] 2017-11-28 11:44:59 -0500
-Branch: REL_10_STABLE [ec7629dfb] 2017-11-28 11:49:01 -0500
--->
-     <para>
-      Avoid crash if parallel bitmap heap scan is unable to allocate a
-      shared memory segment (Robert Haas)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [28724fd90] 2017-12-06 08:58:27 -0500
-Branch: REL_10_STABLE [a8ef4e81e] 2017-12-06 09:01:21 -0500
-Branch: REL9_6_STABLE [b75644066] 2017-12-06 09:04:02 -0500
-Branch: REL9_5_STABLE [0426a77ce] 2017-12-06 09:06:25 -0500
-Branch: REL9_4_STABLE [facd94e72] 2017-12-06 09:08:30 -0500
-Branch: master [2badb5afb] 2018-01-23 11:03:03 -0500
-Branch: REL_10_STABLE [383e4268f] 2018-01-23 11:13:42 -0500
-Branch: REL9_6_STABLE [2843c01a5] 2018-01-23 11:13:50 -0500
--->
-     <para>
-      Cope with failure to start a parallel worker process
-      (Amit Kapila, Robert Haas)
-     </para>
-
-     <para>
-      Parallel query previously tended to hang indefinitely if a worker
-      could not be started, as the result of <literal>fork()</literal>
-      failure or other low-probability problems.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [445dbd82a] 2017-11-28 12:15:38 -0500
-Branch: REL_10_STABLE [dba6e75c1] 2017-11-28 12:19:19 -0500
--->
-     <para>
-      Avoid unnecessary failure when no parallel workers can be obtained
-      during parallel query startup (Robert Haas)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [8526bcb2d] 2017-12-19 12:21:56 -0500
-Branch: REL_10_STABLE [72567f617] 2017-12-19 12:44:21 -0500
-Branch: REL9_6_STABLE [2157a61b5] 2018-01-04 12:46:00 -0500
--->
-     <para>
-      Fix collection of <command>EXPLAIN</command> statistics from parallel
-      workers (Amit Kapila, Thomas Munro)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [f94eec490] 2017-12-20 17:26:50 -0500
-Branch: REL_10_STABLE [7be0d775a] 2017-12-20 17:27:25 -0500
--->
-     <para>
-      Ensure that query strings passed to parallel workers are correctly
-      null-terminated (Thomas Munro)
-     </para>
-
-     <para>
-      This prevents emitting garbage in postmaster log output from such
-      workers.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [751804998] 2017-11-14 15:03:55 -0500
-Branch: REL_10_STABLE [619a8c47d] 2017-11-14 17:49:49 -0500
-Branch: REL9_6_STABLE [4a15f87d2] 2017-11-14 17:49:49 -0500
-Branch: REL9_5_STABLE [d4e38489f] 2017-11-14 17:49:49 -0500
--->
-     <para>
-      Avoid unsafe alignment assumptions when working
-      with <type>__int128</type> (Tom Lane)
-     </para>
-
-     <para>
-      Typically, compilers assume that <type>__int128</type> variables are
-      aligned on 16-byte boundaries, but our memory allocation
-      infrastructure isn't prepared to guarantee that, and increasing the
-      setting of MAXALIGN seems infeasible for multiple reasons.  Adjust the
-      code to allow use of <type>__int128</type> only when we can tell the
-      compiler to assume lesser alignment.  The only known symptom of this
-      problem so far is crashes in some parallel aggregation queries.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [35a528062] 2018-01-28 13:39:07 -0500
-Branch: REL_10_STABLE [1b2a3860d] 2018-01-28 13:39:07 -0500
-Branch: REL9_6_STABLE [4e9fb4bfe] 2018-01-28 13:39:07 -0500
-Branch: REL9_5_STABLE [e194f1383] 2018-01-28 13:39:07 -0500
-Branch: REL9_4_STABLE [06efc5cf5] 2018-01-28 13:39:07 -0500
-Branch: REL9_3_STABLE [c03fc8462] 2018-01-28 13:39:07 -0500
--->
-     <para>
-      Prevent stack-overflow crashes when planning extremely deeply
-      nested set operations
-      (<literal>UNION</literal>/<literal>INTERSECT</literal>/<literal>EXCEPT</literal>)
-      (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [2e668c522] 2018-01-27 13:52:24 -0500
-Branch: REL_10_STABLE [78433f41f] 2018-01-27 13:52:24 -0500
--->
-     <para>
-      Avoid crash during an EvalPlanQual recheck of an indexscan that is the
-      inner child of a merge join (Tom Lane)
-     </para>
-
-     <para>
-      This could only happen during an update or <command>SELECT FOR
-      UPDATE</command> of a join, when there is a concurrent update of some
-      selected row.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [414cd434f] 2017-11-28 23:40:11 -0300
-Branch: REL_10_STABLE [d4607590b] 2017-11-28 23:42:42 -0300
--->
-     <para>
-      Fix crash in autovacuum when extended statistics are defined
-      for a table but can't be computed (&Aacute;lvaro Herrera)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Eisentraut <peter_e@gmx.net>
-Branch: master [0c98d0dd5] 2017-11-10 14:21:32 -0500
-Branch: REL_10_STABLE [f9e2885d5] 2017-11-10 14:27:51 -0500
-Branch: REL9_6_STABLE [d380d080f] 2017-11-10 14:29:13 -0500
-Branch: REL9_5_STABLE [9efd83bfd] 2017-11-10 14:30:06 -0500
-Branch: REL9_4_STABLE [0bcdab58e] 2017-11-10 14:30:34 -0500
-Branch: REL9_3_STABLE [62906461c] 2017-11-10 14:30:48 -0500
--->
-     <para>
-      Fix null-pointer crashes for some types of LDAP URLs appearing
-      in <filename>pg_hba.conf</filename> (Thomas Munro)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andres Freund <andres@anarazel.de>
-Branch: master [ab9f2c429] 2018-01-29 11:24:57 -0800
-Branch: REL_10_STABLE [d1aac2998] 2018-01-29 11:24:57 -0800
-Branch: master [c068f8772] 2018-01-29 11:24:57 -0800
-Branch: REL_10_STABLE [d18d4bca8] 2018-01-29 11:24:57 -0800
-Branch: REL_10_STABLE [c0fda304d] 2018-01-29 11:24:57 -0800
--->
-     <para>
-      Prevent out-of-memory failures due to excessive growth of simple hash
-      tables (Tomas Vondra, Andres Freund)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [3c1e9fd23] 2018-01-10 17:13:47 -0500
-Branch: REL_10_STABLE [08adf688f] 2018-01-10 17:13:29 -0500
-Branch: REL9_6_STABLE [122605194] 2018-01-10 17:13:29 -0500
-Branch: REL9_5_STABLE [10bcd4165] 2018-01-10 17:13:29 -0500
-Branch: REL9_4_STABLE [493cdc8ee] 2018-01-10 17:13:29 -0500
-Branch: REL9_3_STABLE [45bfef7fb] 2018-01-10 17:13:29 -0500
--->
-     <para>
-      Fix sample <function>INSTR()</function> functions in the PL/pgSQL
-      documentation (Yugo Nagata, Tom Lane)
-     </para>
-
-     <para>
-      These functions are stated to
-      be <trademark class="registered">Oracle</trademark> compatible, but
-      they weren't exactly.  In particular, there was a discrepancy in the
-      interpretation of a negative third parameter: Oracle thinks that a
-      negative value indicates the last place where the target substring can
-      begin, whereas our functions took it as the last place where the
-      target can end.  Also, Oracle throws an error for a zero or negative
-      fourth parameter, whereas our functions returned zero.
-     </para>
-
-     <para>
-      The sample code has been adjusted to match Oracle's behavior more
-      precisely.  Users who have copied this code into their applications
-      may wish to update their copies.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [2b792ab09] 2018-01-22 12:06:18 -0500
-Branch: REL_10_STABLE [46246fd9d] 2018-01-22 12:06:18 -0500
-Branch: REL9_6_STABLE [52cc1b484] 2018-01-22 12:06:19 -0500
-Branch: REL9_5_STABLE [367e2b230] 2018-01-22 12:06:19 -0500
-Branch: REL9_4_STABLE [da83ca7d9] 2018-01-22 12:06:19 -0500
-Branch: REL9_3_STABLE [ef115621c] 2018-01-22 12:06:19 -0500
--->
-     <para>
-      Fix <application>pg_dump</application> to make ACL (permissions),
-      comment, and security label entries reliably identifiable in archive
-      output formats (Tom Lane)
-     </para>
-
-     <para>
-      The <quote>tag</quote> portion of an ACL archive entry was usually
-      just the name of the associated object.  Make it start with the object
-      type instead, bringing ACLs into line with the convention already used
-      for comment and security label archive entries.  Also, fix the
-      comment and security label entries for the whole database, if present,
-      to make their tags start with <literal>DATABASE</literal> so that they
-      also follow this convention.  This prevents false matches in code that
-      tries to identify large-object-related entries by seeing if the tag
-      starts with <literal>LARGE OBJECT</literal>.  That could have resulted
-      in misclassifying entries as data rather than schema, with undesirable
-      results in a schema-only or data-only dump.
-     </para>
-
-     <para>
-      Note that this change has user-visible results in the output
-      of <command>pg_restore --list</command>.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andres Freund <andres@anarazel.de>
-Branch: master [3e68686e2] 2018-01-03 12:40:32 -0800
-Branch: REL_10_STABLE [e3fdb7c00] 2018-01-03 12:39:59 -0800
-Branch: REL9_6_STABLE [ceee51e38] 2018-01-03 12:39:59 -0800
-Branch: REL9_5_STABLE [ea4cbf8f1] 2018-01-03 12:39:59 -0800
--->
-     <para>
-      Rename <application>pg_rewind</application>'s
-      <function>copy_file_range</function> function to avoid conflict
-      with new Linux system call of that name (Andres Freund)
-     </para>
-
-     <para>
-      This change prevents build failures with newer glibc versions.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Meskes <meskes@postgresql.org>
-Branch: master [649aeb123] 2018-01-13 14:57:49 +0100
-Branch: REL_10_STABLE [8b89b7aac] 2018-01-15 10:00:56 +0100
-Branch: REL9_6_STABLE [f082ef836] 2018-01-15 10:01:15 +0100
-Branch: REL9_5_STABLE [4eae1e6f5] 2018-01-15 10:02:03 +0100
-Branch: REL9_4_STABLE [2c1c4b060] 2018-01-15 10:02:16 +0100
-Branch: REL9_3_STABLE [a0f5890a6] 2018-01-15 10:02:23 +0100
--->
-     <para>
-      In <application>ecpg</application>, detect indicator arrays that do
-      not have the correct length and report an error (David Rader)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Teodor Sigaev <teodor@sigaev.ru>
-Branch: master [563a053bd] 2018-01-11 14:41:14 +0300
-Branch: REL_10_STABLE [b8279a783] 2018-01-11 14:42:16 +0300
-Branch: REL9_6_STABLE [bda5281fd] 2018-01-11 14:43:13 +0300
--->
-     <para>
-      Change the behavior of <filename>contrib/cube</filename>'s
-      <type>cube</type> <literal>~&gt;</literal> <type>int</type>
-      operator to make it compatible with KNN search (Alexander Korotkov)
-     </para>
-
-     <para>
-      The meaning of the second argument (the dimension selector) has been
-      changed to make it predictable which value is selected even when
-      dealing with cubes of varying dimensionalities.
-     </para>
-
-     <para>
-      This is an incompatible change, but since the point of the operator
-      was to be used in KNN searches, it seems rather useless as-is.
-      After installing this update, any expression indexes or materialized
-      views using this operator will need to be reindexed/refreshed.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [d3f4e8a8a] 2017-11-25 14:42:10 -0500
-Branch: REL_10_STABLE [ddba32005] 2017-11-25 14:42:25 -0500
-Branch: REL9_6_STABLE [630aceda5] 2017-11-25 14:42:32 -0500
-Branch: REL9_5_STABLE [47226971e] 2017-11-25 14:42:36 -0500
-Branch: REL9_4_STABLE [5c38ddebd] 2017-11-25 14:42:41 -0500
-Branch: REL9_3_STABLE [6e9ac0a2e] 2017-11-25 14:42:46 -0500
--->
-     <para>
-      Avoid triggering a libc assertion
-      in <filename>contrib/hstore</filename>, due to use
-      of <function>memcpy()</function> with equal source and destination
-      pointers (Tomas Vondra)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [39cfe8619] 2018-01-04 14:59:00 -0500
-Branch: REL_10_STABLE [5ad1b1728] 2018-01-04 14:59:00 -0500
-Branch: REL9_6_STABLE [ad592f4a6] 2018-01-04 14:59:00 -0500
-Branch: master [18869e202] 2018-01-04 16:00:21 -0500
-Branch: REL_10_STABLE [0dc5dfcd7] 2018-01-04 15:59:30 -0500
--->
-     <para>
-      Fix incorrect display of tuples' null bitmaps
-      in <filename>contrib/pageinspect</filename> (Maksim Milyutin)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [b0313f9cc] 2018-01-26 09:56:33 -0500
-Branch: REL_10_STABLE [51fc1b09a] 2018-01-26 09:59:14 -0500
--->
-     <para>
-      Fix incorrect output from <filename>contrib/pageinspect</filename>'s
-      <function>hash_page_items()</function> function (Masahiko Sawada)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [4bbf6edfb] 2018-01-17 16:18:39 -0500
-Branch: REL_10_STABLE [3f05a30b5] 2018-01-17 16:57:53 -0500
-Branch: REL9_6_STABLE [4a81c0229] 2018-01-17 17:09:20 -0500
-Branch: master [99f6a17dd] 2018-01-30 14:44:30 -0500
-Branch: REL_10_STABLE [92123c6ea] 2018-01-30 14:47:02 -0500
-Branch: REL9_6_STABLE [d397f558d] 2018-01-30 14:55:14 -0500
--->
-     <para>
-      In <filename>contrib/postgres_fdw</filename>, avoid
-      <quote>outer pathkeys do not match mergeclauses</quote>
-      planner error when constructing a plan involving a remote join
-      (Robert Haas)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [e9f2703ab] 2018-01-12 16:52:49 -0500
-Branch: REL_10_STABLE [67854bc59] 2018-01-12 16:52:49 -0500
--->
-     <para>
-      In <filename>contrib/postgres_fdw</filename>, avoid planner failure
-      when there are duplicate <literal>GROUP BY</literal> entries
-      (Jeevan Chalke)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [ac3b96268] 2017-11-17 12:46:52 -0500
-Branch: REL_10_STABLE [6313995c2] 2017-11-17 12:47:11 -0500
-Branch: REL9_6_STABLE [0d9243903] 2017-11-17 12:47:21 -0500
-Branch: REL9_5_STABLE [9508d422b] 2017-11-17 12:47:29 -0500
-Branch: REL9_4_STABLE [7d98dc133] 2017-11-17 12:47:36 -0500
-Branch: REL9_3_STABLE [77b76fea9] 2017-11-17 12:47:44 -0500
--->
-     <para>
-      Provide modern examples of how to auto-start Postgres on macOS
-      (Tom Lane)
-     </para>
-
-     <para>
-      The scripts in <filename>contrib/start-scripts/osx</filename> use
-      infrastructure that's been deprecated for over a decade, and which no
-      longer works at all in macOS releases of the last couple of years.
-      Add a new subdirectory <filename>contrib/start-scripts/macos</filename>
-      containing scripts that use the newer <application>launchd</application>
-      infrastructure.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Dunstan <andrew@dunslane.net>
-Branch: master [99d5a3ffb] 2018-01-03 15:36:54 -0500
-Branch: REL_10_STABLE [0fb69340b] 2018-01-03 15:33:12 -0500
-Branch: REL9_6_STABLE [85cdcde1f] 2018-01-03 15:33:32 -0500
-Branch: REL9_5_STABLE [d329d2d3e] 2018-01-03 15:33:47 -0500
-Branch: REL9_4_STABLE [2d03daa7b] 2018-01-03 15:34:02 -0500
-Branch: REL9_3_STABLE [5404145c5] 2018-01-03 15:34:21 -0500
--->
-     <para>
-      Fix incorrect selection of configuration-specific libraries for
-      OpenSSL on Windows (Andrew Dunstan)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [84c4313c6] 2017-11-23 20:22:04 -0800
-Branch: REL_10_STABLE [f16a0958d] 2017-11-23 20:22:24 -0800
-Branch: REL9_6_STABLE [1695ce068] 2017-11-23 20:24:53 -0800
-Branch: REL9_5_STABLE [da8eae56e] 2017-11-23 20:25:08 -0800
-Branch: REL9_4_STABLE [558f62079] 2017-11-23 20:29:48 -0800
-Branch: REL9_3_STABLE [83e6b1434] 2017-11-23 20:32:01 -0800
-Branch: master [7e0c574ee] 2017-12-09 00:58:55 -0800
-Branch: REL_10_STABLE [e2cc65050] 2017-12-09 00:58:58 -0800
-Branch: REL9_6_STABLE [055532bad] 2017-12-09 00:58:58 -0800
-Branch: REL9_5_STABLE [470de6a24] 2017-12-09 00:58:59 -0800
-Branch: REL9_4_STABLE [d78c3ca0e] 2017-12-09 00:58:59 -0800
-Branch: REL9_3_STABLE [70dc7ad58] 2017-12-09 00:58:59 -0800
--->
-     <para>
-      Support linking to MinGW-built versions of libperl (Noah Misch)
-     </para>
-
-     <para>
-      This allows building PL/Perl with some common Perl distributions for
-      Windows.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [65a00f303] 2017-12-08 18:06:05 -0800
-Branch: REL_10_STABLE [9b5c99790] 2017-12-08 18:06:22 -0800
-Branch: REL9_6_STABLE [140fa2fba] 2017-12-08 18:06:25 -0800
-Branch: REL9_5_STABLE [1c1a572d0] 2017-12-08 18:06:29 -0800
-Branch: REL9_4_STABLE [aed8d41af] 2017-12-08 18:13:49 -0800
-Branch: REL9_3_STABLE [188689942] 2017-12-08 18:14:08 -0800
--->
-     <para>
-      Fix MSVC build to test whether 32-bit libperl
-      needs <literal>-D_USE_32BIT_TIME_T</literal> (Noah Misch)
-     </para>
-
-     <para>
-      Available Perl distributions are inconsistent about what they expect,
-      and lack any reliable means of reporting it, so resort to a build-time
-      test on what the library being used actually does.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [cbfffee41] 2017-11-12 14:31:00 -0800
-Branch: REL_10_STABLE [d6387e27e] 2017-11-12 14:31:04 -0800
-Branch: REL9_6_STABLE [8c92e66f1] 2017-11-12 14:31:04 -0800
-Branch: REL9_5_STABLE [b2df91f2f] 2017-11-12 14:31:04 -0800
-Branch: REL9_4_STABLE [e17b38db6] 2017-11-12 14:31:04 -0800
-Branch: REL9_3_STABLE [1c065901e] 2017-11-12 14:31:05 -0800
--->
-     <para>
-      On Windows, install the crash dump handler earlier in postmaster
-      startup (Takayuki Tsunakawa)
-     </para>
-
-     <para>
-      This may allow collection of a core dump for some early-startup
-      failures that did not produce a dump before.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [e02571b73] 2017-11-12 13:03:15 -0800
-Branch: REL_10_STABLE [dcbec53f4] 2017-11-12 13:03:28 -0800
-Branch: REL9_6_STABLE [fd5da32fc] 2017-11-12 13:03:28 -0800
-Branch: REL9_5_STABLE [d74db7a35] 2017-11-12 13:03:28 -0800
-Branch: REL9_4_STABLE [19cf9e96a] 2017-11-12 13:03:29 -0800
-Branch: REL9_3_STABLE [30e99efe8] 2017-11-12 13:05:55 -0800
--->
-     <para>
-      On Windows, avoid encoding-conversion-related crashes when emitting
-      messages very early in postmaster startup (Takayuki Tsunakawa)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [84669c9b0] 2017-11-20 18:05:17 -0500
-Branch: REL_10_STABLE [ae772bbf9] 2017-11-20 18:05:02 -0500
-Branch: REL9_6_STABLE [fa9a69d3d] 2017-11-20 18:05:02 -0500
-Branch: REL9_5_STABLE [2cfafabe6] 2017-11-20 18:05:02 -0500
-Branch: REL9_4_STABLE [13f2bdb63] 2017-11-20 18:05:03 -0500
-Branch: REL9_3_STABLE [1056dd0e9] 2017-11-20 18:05:03 -0500
--->
-     <para>
-      Use our existing Motorola 68K spinlock code on OpenBSD as
-      well as NetBSD (David Carlier)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [f3bd00c01] 2017-11-20 18:05:17 -0500
-Branch: REL_10_STABLE [1ecf7eeb8] 2017-11-20 17:57:46 -0500
-Branch: REL9_6_STABLE [940bafa75] 2017-11-20 17:57:46 -0500
-Branch: REL9_5_STABLE [516cea4bb] 2017-11-20 17:57:46 -0500
-Branch: REL9_4_STABLE [8bd8b4b77] 2017-11-20 17:57:46 -0500
-Branch: REL9_3_STABLE [0245c75f4] 2017-11-20 17:57:46 -0500
--->
-     <para>
-      Add support for spinlocks on Motorola 88K (David Carlier)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [41fc04ff9] 2018-01-27 16:42:28 -0500
-Branch: REL_10_STABLE [2d71b2700] 2018-01-27 16:42:36 -0500
-Branch: REL9_6_STABLE [462402be8] 2018-01-27 16:42:44 -0500
-Branch: REL9_5_STABLE [b00e7555e] 2018-01-27 16:42:49 -0500
-Branch: REL9_4_STABLE [fa86a32f9] 2018-01-27 16:42:55 -0500
-Branch: REL9_3_STABLE [e5e2cc6f8] 2018-01-27 16:43:00 -0500
--->
-     <para>
-      Update time zone data files to <application>tzdata</application>
-      release 2018c for DST law changes in Brazil, Sao Tome and Principe,
-      plus historical corrections for Bolivia, Japan, and South Sudan.
-      The <literal>US/Pacific-New</literal> zone has been removed (it was
-      only an alias for <literal>America/Los_Angeles</literal> anyway).
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-10-1">
-  <title>Release 10.1</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2017-11-09</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 10.0.
-   For information about new features in major release 10, see
-   <xref linkend="release-10"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 10.1</title>
-
-   <para>
-    A dump/restore is not required for those running 10.X.
-   </para>
-
-   <para>
-    However, if you use BRIN indexes, see the fourth changelog entry below.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-<!--
-Author: Dean Rasheed <dean.a.rasheed@gmail.com>
-Branch: master [87b2ebd35] 2017-11-06 09:19:22 +0000
-Branch: REL_10_STABLE [3f8089572] 2017-11-06 09:17:44 +0000
-Branch: REL9_6_STABLE [1f23d1cd2] 2017-11-06 09:16:24 +0000
-Branch: REL9_5_STABLE [045a18888] 2017-11-06 09:15:11 +0000
--->
-     <para>
-      Ensure that <literal>INSERT ... ON CONFLICT DO UPDATE</literal> checks
-      table permissions and RLS policies in all cases (Dean Rasheed)
-     </para>
-
-     <para>
-      The update path of <literal>INSERT ... ON CONFLICT DO UPDATE</literal>
-      requires <literal>SELECT</literal> permission on the columns of the
-      arbiter index, but it failed to check for that in the case of an
-      arbiter specified by constraint name.
-      In addition, for a table with row level security enabled, it failed to
-      check updated rows against the table's <literal>SELECT</literal>
-      policies (regardless of how the arbiter index was specified).
-      (CVE-2017-15099)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [b57422871] 2017-11-06 10:29:37 -0500
-Branch: REL_10_STABLE [c30f082d2] 2017-11-06 10:29:38 -0500
-Branch: REL9_6_STABLE [38e825632] 2017-11-06 10:29:39 -0500
-Branch: REL9_5_STABLE [d5fe5fb23] 2017-11-06 10:29:40 -0500
-Branch: REL9_4_STABLE [70846ee05] 2017-11-06 10:29:41 -0500
-Branch: REL9_3_STABLE [c0c8807de] 2017-11-06 10:29:42 -0500
--->
-     <para>
-      Fix crash due to rowtype mismatch
-      in <function>json{b}_populate_recordset()</function>
-      (Michael Paquier, Tom Lane)
-     </para>
-
-     <para>
-      These functions used the result rowtype specified in the <literal>FROM
-      ... AS</literal> clause without checking that it matched the actual
-      rowtype of the supplied tuple value.  If it didn't, that would usually
-      result in a crash, though disclosure of server memory contents seems
-      possible as well.
-      (CVE-2017-15098)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [dfc015dcf] 2017-11-06 07:11:10 -0800
-Branch: REL_10_STABLE [6b0b983f7] 2017-11-06 07:11:13 -0800
-Branch: REL9_6_STABLE [b7d6f7507] 2017-11-06 07:11:13 -0800
-Branch: REL9_5_STABLE [ed546dd06] 2017-11-06 07:11:13 -0800
-Branch: REL9_4_STABLE [29d067051] 2017-11-06 07:11:13 -0800
-Branch: REL9_3_STABLE [b50029768] 2017-11-06 07:11:13 -0800
-Branch: REL9_2_STABLE [eda780281] 2017-11-06 07:11:13 -0800
--->
-     <para>
-      Fix sample server-start scripts to become <literal>$PGUSER</literal>
-      before opening <literal>$PGLOG</literal> (Noah Misch)
-     </para>
-
-     <para>
-      Previously, the postmaster log file was opened while still running as
-      root.  The database owner could therefore mount an attack against
-      another system user by making <literal>$PGLOG</literal> be a symbolic
-      link to some other file, which would then become corrupted by appending
-      log messages.
-     </para>
-
-     <para>
-      By default, these scripts are not installed anywhere.  Users who have
-      made use of them will need to manually recopy them, or apply the same
-      changes to their modified versions.  If the
-      existing <literal>$PGLOG</literal> file is root-owned, it will need to
-      be removed or renamed out of the way before restarting the server with
-      the corrected script.
-      (CVE-2017-12172)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [ec42a1dcb] 2017-11-03 17:23:13 +0100
-Branch: REL_10_STABLE [37a856567] 2017-11-03 17:23:13 +0100
-Branch: REL9_6_STABLE [bd8e2b3cf] 2017-11-03 17:23:13 +0100
-Branch: REL9_5_STABLE [cf0612aa2] 2017-11-03 17:23:13 +0100
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [1b890562b] 2017-11-03 20:45:36 +0100
-Branch: REL_10_STABLE [b17870d75] 2017-11-03 20:47:44 +0100
--->
-     <para>
-      Fix BRIN index summarization to handle concurrent table extension
-      correctly (&Aacute;lvaro Herrera)
-     </para>
-
-     <para>
-      Previously, a race condition allowed some table rows to be omitted from
-      the index.  It may be necessary to reindex existing BRIN indexes to
-      recover from past occurrences of this problem.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [62a16572d] 2017-11-02 12:54:55 -0400
-Branch: REL_10_STABLE [97ba7b8c8] 2017-11-02 12:54:22 -0400
-Branch: REL9_6_STABLE [a43cd427e] 2017-11-02 12:54:23 -0400
-Branch: REL9_5_STABLE [43276abc6] 2017-11-02 12:54:23 -0400
--->
-     <para>
-      Fix possible failures during concurrent updates of a BRIN index
-      (Tom Lane)
-     </para>
-
-     <para>
-      These race conditions could result in errors like <quote>invalid index
-      offnum</quote> or <quote>inconsistent range map</quote>.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Eisentraut <peter_e@gmx.net>
-Branch: master [a9fce6672] 2017-11-03 12:27:59 -0400
-Branch: REL_10_STABLE [a14b52c61] 2017-11-03 12:28:08 -0400
--->
-     <para>
-      Prevent logical replication from setting non-replicated columns to
-      nulls when replicating an <command>UPDATE</command> (Petr Jelinek)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [360fd1a7b] 2017-10-12 10:26:55 -0400
-Branch: REL_10_STABLE [7cde649ab] 2017-10-12 10:26:54 -0400
--->
-     <para>
-      Fix logical replication to fire <literal>BEFORE ROW DELETE</literal>
-      triggers when expected (Masahiko Sawada)
-     </para>
-
-     <para>
-      Previously, that failed to happen unless the table also had
-      a <literal>BEFORE ROW UPDATE</literal> trigger.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [1518d0784] 2017-10-06 19:18:58 -0400
-Branch: REL_10_STABLE [485d49dbc] 2017-10-06 19:18:58 -0400
-Branch: REL9_6_STABLE [185279da3] 2017-10-06 19:18:58 -0400
-Branch: REL9_5_STABLE [13d2ed921] 2017-10-06 19:18:59 -0400
-Branch: REL9_4_STABLE [bfb69b1e5] 2017-10-06 19:18:59 -0400
--->
-     <para>
-      Fix crash when logical decoding is invoked from a SPI-using function,
-      in particular any function written in a PL language
-      (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [7421f4b89] 2017-10-16 17:56:54 -0400
-Branch: REL_10_STABLE [799037099] 2017-10-16 17:56:43 -0400
--->
-     <para>
-      Ignore CTEs when looking up the target table for
-      <command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command>,
-      and prevent matching schema-qualified target table names to trigger
-      transition table names (Thomas Munro)
-     </para>
-
-     <para>
-      This restores the pre-v10 behavior for CTEs attached to DML commands.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [c3dfe0fec] 2017-10-16 15:24:36 -0400
-Branch: REL_10_STABLE [72e9cc971] 2017-10-16 15:24:36 -0400
--->
-     <para>
-      Avoid evaluating an aggregate function's argument expression(s) at rows
-      where its <literal>FILTER</literal> test fails (Tom Lane)
-     </para>
-
-     <para>
-      This restores the pre-v10 (and SQL-standard) behavior.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [08f1e1f0a] 2017-10-26 12:17:40 -0400
-Branch: REL_10_STABLE [6a81ba1d4] 2017-10-26 12:17:40 -0400
-Branch: REL9_6_STABLE [37b4e0fe9] 2017-10-26 12:17:40 -0400
--->
-     <para>
-      Fix incorrect query results when multiple <literal>GROUPING
-      SETS</literal> columns contain the same simple variable (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [a1c2c430d] 2017-10-06 14:28:42 -0400
-Branch: REL_10_STABLE [0c25e9652] 2017-10-06 14:28:42 -0400
--->
-     <para>
-      Fix query-lifespan memory leakage while evaluating a set-returning
-      function in a <command>SELECT</command>'s target list (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [682ce911f] 2017-10-27 22:22:39 +0200
-Branch: REL_10_STABLE [a87c0c763] 2017-10-29 20:48:51 +0530
--->
-     <para>
-      Allow parallel execution of prepared statements with generic plans
-      (Amit Kapila, Kuntal Ghosh)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [639c1a6bb] 2017-10-27 16:04:01 +0200
-Branch: REL_10_STABLE [965a16fa9] 2017-10-27 16:04:10 +0200
-Branch: REL9_6_STABLE [036b6bd50] 2017-10-27 16:12:16 +0200
--->
-     <para>
-      Fix incorrect parallelization decisions for nested queries
-      (Amit Kapila, Kuntal Ghosh)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [846fcc851] 2017-10-29 12:58:40 +0530
-Branch: REL_10_STABLE [69125c883] 2017-10-29 13:04:37 +0530
-Branch: REL9_6_STABLE [f74f871b8] 2017-10-29 13:14:37 +0530
--->
-     <para>
-      Fix parallel query handling to not fail when a recently-used role is
-      dropped (Amit Kapila)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-Branch: master [6393613b6] 2017-10-13 15:02:45 -0400
-Branch: REL_10_STABLE [a3b1c2218] 2017-10-13 15:05:14 -0400
--->
-     <para>
-      Fix crash in parallel execution of a bitmap scan having a BitmapAnd
-      plan node below a BitmapOr node (Dilip Kumar)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Dunstan <andrew@dunslane.net>
-Branch: master [f3c6e8a27] 2017-10-25 07:13:11 -0400
-Branch: REL_10_STABLE [fb17082d7] 2017-10-25 07:14:21 -0400
-Branch: REL9_6_STABLE [5c3a1bbb4] 2017-10-25 07:19:59 -0400
-Branch: REL9_5_STABLE [5c8dcd322] 2017-10-25 07:20:37 -0400
-Branch: REL9_4_STABLE [7f89fc418] 2017-10-25 07:20:48 -0400
-Author: Andrew Dunstan <andrew@dunslane.net>
-Branch: master [18fc4ecf4] 2017-10-25 07:34:00 -0400
-Branch: REL_10_STABLE [06d5ba0d4] 2017-10-25 07:40:33 -0400
-Branch: REL9_6_STABLE [98efa5ebf] 2017-10-25 07:48:36 -0400
-Branch: REL9_5_STABLE [3cc5f0550] 2017-10-25 07:49:13 -0400
-Branch: REL9_4_STABLE [9cb28e98b] 2017-10-25 07:52:45 -0400
--->
-     <para>
-      Fix <function>json_build_array()</function>,
-      <function>json_build_object()</function>, and their <type>jsonb</type>
-      equivalents to handle explicit <literal>VARIADIC</literal> arguments
-      correctly (Michael Paquier)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [be72b9c37] 2017-10-30 15:52:02 +0100
-Branch: REL_10_STABLE [52ca7572c] 2017-10-30 15:52:13 +0100
--->
-     <para>
-      Fix autovacuum's <quote>work item</quote> logic to prevent possible
-      crashes and silent loss of work items (&Aacute;lvaro Herrera)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [d5b760ecb] 2017-10-27 17:28:54 -0400
-Branch: REL_10_STABLE [ddde3b4f3] 2017-10-27 17:10:21 -0400
-Branch: REL9_6_STABLE [7e5e8b36d] 2017-10-27 17:10:21 -0400
-Branch: REL9_5_STABLE [acd3287e4] 2017-10-27 17:10:21 -0400
-Branch: REL9_4_STABLE [66104119e] 2017-10-27 17:10:21 -0400
-Branch: REL9_3_STABLE [9d15b8b36] 2017-10-27 17:10:21 -0400
-Branch: REL9_2_STABLE [80e79718d] 2017-10-27 17:10:21 -0400
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [d76886c2d] 2017-10-27 18:16:24 -0400
-Branch: REL_10_STABLE [291a31c42] 2017-10-27 18:16:25 -0400
-Branch: REL9_6_STABLE [21daada10] 2017-10-27 18:16:25 -0400
-Branch: REL9_5_STABLE [1f81c2cd5] 2017-10-27 18:16:25 -0400
-Branch: REL9_4_STABLE [d01d97c25] 2017-10-27 18:16:25 -0400
-Branch: REL9_3_STABLE [e06b9e9dc] 2017-10-27 18:16:25 -0400
-Branch: REL9_2_STABLE [a4c11c103] 2017-10-27 18:16:25 -0400
--->
-     <para>
-      Fix corner-case crashes when columns have been added to the end of a
-      view (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [f3ea3e3e8] 2017-10-23 13:57:45 -0400
-Branch: REL_10_STABLE [df4aa6e4e] 2017-10-23 13:57:45 -0400
-Branch: REL9_6_STABLE [285b850d5] 2017-10-23 13:57:45 -0400
-Branch: REL9_5_STABLE [aa0518301] 2017-10-23 13:57:45 -0400
-Branch: REL9_4_STABLE [d8a3be52f] 2017-10-23 13:57:45 -0400
-Branch: REL9_3_STABLE [dde99de11] 2017-10-23 13:57:46 -0400
-Branch: REL9_2_STABLE [900a9fd64] 2017-10-23 13:57:46 -0400
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [6784d7a1d] 2017-10-27 12:19:09 -0400
-Branch: REL_10_STABLE [8be102242] 2017-10-27 12:19:11 -0400
-Branch: REL9_6_STABLE [cf0331a54] 2017-10-27 12:18:57 -0400
-Branch: REL9_5_STABLE [37fb01cb0] 2017-10-27 12:18:57 -0400
-Branch: REL9_4_STABLE [376ac922d] 2017-10-27 12:18:57 -0400
-Branch: REL9_3_STABLE [be203c36a] 2017-10-27 12:18:57 -0400
-Branch: REL9_2_STABLE [adcfa7bd1] 2017-10-27 12:18:57 -0400
--->
-     <para>
-      Record proper dependencies when a view or rule
-      contains <structname>FieldSelect</structname>
-      or <structname>FieldStore</structname> expression nodes (Tom Lane)
-     </para>
-
-     <para>
-      Lack of these dependencies could allow a column or data
-      type <command>DROP</command> to go through when it ought to fail,
-      thereby causing later uses of the view or rule to get errors.
-      This patch does not do anything to protect existing views/rules,
-      only ones created in the future.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [36ea99c84] 2017-10-20 17:12:27 -0400
-Branch: REL_10_STABLE [7a5f8de55] 2017-10-20 17:12:27 -0400
-Branch: REL9_6_STABLE [b1752c3a7] 2017-10-20 17:12:27 -0400
-Branch: REL9_5_STABLE [63fbc51e3] 2017-10-20 17:12:27 -0400
-Branch: REL9_4_STABLE [d1ced6114] 2017-10-20 17:12:27 -0400
-Branch: REL9_3_STABLE [7c70a129e] 2017-10-20 17:12:27 -0400
-Branch: REL9_2_STABLE [0270ad1f7] 2017-10-20 17:12:28 -0400
--->
-     <para>
-      Correctly detect hashability of range data types (Tom Lane)
-     </para>
-
-     <para>
-      The planner mistakenly assumed that any range type could be hashed
-      for use in hash joins or hash aggregation, but actually it must check
-      whether the range's subtype has hash support.  This does not affect any
-      of the built-in range types, since they're all hashable anyway.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [e9ef11ac8] 2017-10-12 17:23:47 +0200
-Branch: REL_10_STABLE [a01a3d931] 2017-10-12 17:32:48 +0200
--->
-     <para>
-      Correctly ignore <structname>RelabelType</structname> expression nodes
-      when examining functional-dependency statistics (David Rowley)
-     </para>
-
-     <para>
-      This allows, e.g., extended statistics on <type>varchar</type> columns
-      to be used properly.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [52328727b] 2017-10-11 22:18:10 -0400
-Branch: REL_10_STABLE [604723d29] 2017-10-11 22:18:01 -0400
-Branch: REL9_6_STABLE [96cfc7e19] 2017-10-11 22:18:01 -0400
--->
-     <para>
-      Prevent sharing transition states between ordered-set aggregates
-      (David Rowley)
-     </para>
-
-     <para>
-      This causes a crash with the built-in ordered-set aggregates, and
-      probably with user-written ones as well.  v11 and later will include
-      provisions for dealing with such cases safely, but in released
-      branches, just disable the optimization.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andres Freund <andres@anarazel.de>
-Branch: master [f67661665] 2017-10-11 14:02:41 -0700
-Branch: REL_10_STABLE [61ace8fe7] 2017-10-11 14:02:41 -0700
-Branch: REL9_6_STABLE [0da46d75e] 2017-10-11 14:02:41 -0700
--->
-     <para>
-      Prevent <varname>idle_in_transaction_session_timeout</varname> from
-      being ignored when a <varname>statement_timeout</varname> occurred
-      earlier (Lukas Fittl)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [118e99c3d] 2017-10-11 14:28:33 -0400
-Branch: REL_10_STABLE [f4cdf781a] 2017-10-11 14:28:33 -0400
-Branch: REL9_6_STABLE [36c687a22] 2017-10-11 14:28:33 -0400
-Branch: REL9_5_STABLE [69bc245d9] 2017-10-11 14:28:33 -0400
-Branch: REL9_4_STABLE [0e84f7075] 2017-10-11 14:28:33 -0400
-Branch: REL9_3_STABLE [7573d122f] 2017-10-11 14:28:33 -0400
-Branch: REL9_2_STABLE [525b09ada] 2017-10-11 14:28:34 -0400
--->
-     <para>
-      Fix low-probability loss of <command>NOTIFY</command> messages due to
-      XID wraparound (Marko Tiikkaja, Tom Lane)
-     </para>
-
-     <para>
-      If a session executed no queries, but merely listened for
-      notifications, for more than 2 billion transactions, it started to miss
-      some notifications from concurrently-committing transactions.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [643c27e36] 2017-10-08 15:25:26 -0400
-Branch: REL_10_STABLE [c3723317d] 2017-10-08 15:25:26 -0400
-Branch: REL9_6_STABLE [13a8924ec] 2017-10-08 15:25:26 -0400
--->
-     <para>
-      Reduce the frequency of data flush requests during bulk file copies to
-      avoid performance problems on macOS, particularly with its new APFS
-      file system (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [bab3a714b] 2017-11-05 09:25:52 -0800
-Branch: REL_10_STABLE [2168f37c4] 2017-11-05 09:25:59 -0800
-Branch: REL9_6_STABLE [1cac62dac] 2017-11-05 09:26:28 -0800
-Branch: REL9_5_STABLE [7932891ab] 2017-11-05 09:26:43 -0800
-Branch: REL9_4_STABLE [2a2e2e85e] 2017-11-05 09:26:47 -0800
--->
-     <para>
-      Allow <command>COPY</command>'s <literal>FREEZE</literal> option to
-      work when the transaction isolation level is <literal>REPEATABLE
-      READ</literal> or higher (Noah Misch)
-     </para>
-
-     <para>
-      This case was unintentionally broken by a previous bug fix.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [305cf1fd7] 2017-10-12 15:20:16 -0400
-Branch: REL_10_STABLE [d48bf6a94] 2017-10-12 15:20:04 -0400
-Branch: REL9_6_STABLE [aa1e9b3a4] 2017-10-12 15:20:04 -0400
--->
-     <para>
-      Fix <function>AggGetAggref()</function> to return the
-      correct <structname>Aggref</structname> nodes to aggregate final
-      functions whose transition calculations have been merged (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [080351466] 2017-10-31 13:40:23 -0400
-Branch: REL_10_STABLE [9cf2b854a] 2017-10-31 13:40:23 -0400
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [51f4d3ed7] 2017-11-01 19:16:14 -0700
-Branch: REL_10_STABLE [f4e13963c] 2017-11-01 19:16:17 -0700
--->
-     <para>
-      Fix insufficient schema-qualification in some new queries
-      in <application>pg_dump</application>
-      and <application>psql</application>
-      (Vitaly Burovoy, Tom Lane, Noah Misch)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [471d55859] 2017-10-22 16:45:16 -0400
-Branch: REL_10_STABLE [852e3224e] 2017-10-22 16:45:26 -0400
--->
-     <para>
-      Avoid use of <literal>@&gt;</literal> operator
-      in <application>psql</application>'s queries for <command>\d</command>
-      (Tom Lane)
-     </para>
-
-     <para>
-      This prevents problems when the <application>parray_gin</application>
-      extension is installed, since that defines a conflicting operator.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Eisentraut <peter_e@gmx.net>
-Branch: master [067a2259f] 2017-11-01 10:20:05 -0400
-Branch: REL_10_STABLE [dd12b5307] 2017-11-01 21:41:45 -0400
-Branch: REL9_6_STABLE [4ba0ffaae] 2017-11-01 21:44:55 -0400
-Branch: REL9_5_STABLE [3064f0e25] 2017-11-01 21:45:11 -0400
--->
-     <para>
-      Fix <application>pg_basebackup</application>'s matching of tablespace
-      paths to canonicalize both paths before comparing (Michael Paquier)
-     </para>
-
-     <para>
-      This is particularly helpful on Windows.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [db6986f47] 2017-10-25 19:32:24 -0400
-Branch: REL_10_STABLE [51e9fffba] 2017-10-25 19:32:24 -0400
-Branch: REL9_6_STABLE [7dc66a2f6] 2017-10-25 19:32:24 -0400
-Branch: REL9_5_STABLE [ee02c1c89] 2017-10-25 19:32:24 -0400
-Branch: REL9_4_STABLE [9f7afb25b] 2017-10-25 19:32:24 -0400
-Branch: REL9_3_STABLE [6dd7a1207] 2017-10-25 19:32:24 -0400
-Branch: REL9_2_STABLE [caeae886e] 2017-10-25 19:32:25 -0400
--->
-     <para>
-      Fix <application>libpq</application> to not require user's home
-      directory to exist (Tom Lane)
-     </para>
-
-     <para>
-      In v10, failure to find the home directory while trying to
-      read <filename>~/.pgpass</filename> was treated as a hard error,
-      but it should just cause that file to not be found.  Both v10 and
-      previous release branches made the same mistake when
-      reading <filename>~/.pg_service.conf</filename>, though this was less
-      obvious since that file is not sought unless a service name is
-      specified.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Meskes <meskes@postgresql.org>
-Branch: master [0af98a95c] 2017-10-26 10:16:04 +0200
-Branch: REL_10_STABLE [65ba1b5c2] 2017-10-26 10:39:37 +0200
-Branch: REL9_6_STABLE [41753604b] 2017-10-26 10:39:46 +0200
-Branch: REL9_5_STABLE [9b01a21fc] 2017-10-26 10:39:54 +0200
-Branch: REL9_4_STABLE [c6a396888] 2017-10-26 10:40:03 +0200
--->
-     <para>
-      In ecpglib, correctly handle backslashes in string literals depending
-      on whether <varname>standard_conforming_strings</varname> is set
-      (Tsunakawa Takayuki)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Meskes <meskes@postgresql.org>
-Branch: master [63d6b97fd] 2017-11-01 13:32:18 +0100
-Branch: REL_10_STABLE [e4381c039] 2017-11-01 13:40:27 +0100
-Branch: REL9_6_STABLE [e0ec1cbff] 2017-11-01 13:40:50 +0100
-Branch: REL9_5_STABLE [d2e6bd13a] 2017-11-01 13:41:00 +0100
-Branch: REL9_4_STABLE [18647e21d] 2017-11-01 13:41:12 +0100
-Branch: REL9_3_STABLE [d64a4d368] 2017-11-01 13:41:21 +0100
-Author: Michael Meskes <meskes@postgresql.org>
-Branch: master [6976a4f05] 2017-11-02 20:49:47 +0100
-Branch: REL_10_STABLE [ee46980a7] 2017-11-02 20:51:00 +0100
-Branch: REL9_6_STABLE [049dab009] 2017-11-02 20:51:13 +0100
-Branch: REL9_5_STABLE [b6d95939e] 2017-11-02 20:51:23 +0100
-Branch: REL9_4_STABLE [ad24e7bc2] 2017-11-02 20:51:34 +0100
-Branch: REL9_3_STABLE [7a35507ac] 2017-11-02 20:51:44 +0100
-Author: Michael Meskes <meskes@postgresql.org>
-Branch: master [7164991ca] 2017-11-03 11:15:14 +0100
-Branch: REL_10_STABLE [c63568b06] 2017-11-03 12:41:39 +0100
-Branch: REL9_6_STABLE [6cf68e223] 2017-11-03 12:41:23 +0100
-Branch: REL9_5_STABLE [90d61bd1d] 2017-11-03 12:41:11 +0100
-Branch: REL9_4_STABLE [946f16518] 2017-11-03 12:40:54 +0100
-Branch: REL9_3_STABLE [deb429b51] 2017-11-03 12:40:42 +0100
--->
-     <para>
-      Make ecpglib's Informix-compatibility mode ignore fractional digits in
-      integer input strings, as expected (Gao Zengqi, Michael Meskes)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Noah Misch <noah@leadboat.com>
-Branch: master [c66b438db] 2017-11-05 18:51:08 -0800
-Branch: REL_10_STABLE [937f67800] 2017-11-05 18:51:15 -0800
-Branch: REL9_6_STABLE [971983f42] 2017-11-05 18:52:38 -0800
-Branch: REL9_5_STABLE [014c5cd87] 2017-11-05 18:54:52 -0800
--->
-     <para>
-      Fix missing temp-install prerequisites
-      for <literal>check</literal>-like Make targets (Noah Misch)
-     </para>
-
-     <para>
-      Some non-default test procedures that are meant to work
-      like <literal>make check</literal> failed to ensure that the temporary
-      installation was up to date.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [8df4ce1ea] 2017-10-23 18:15:36 -0400
-Branch: REL_10_STABLE [0cde56247] 2017-10-23 18:15:42 -0400
-Branch: REL9_6_STABLE [fae550e52] 2017-10-23 18:15:47 -0400
-Branch: REL9_5_STABLE [1e57d85cd] 2017-10-23 18:15:51 -0400
-Branch: REL9_4_STABLE [ba67fac85] 2017-10-23 18:15:56 -0400
-Branch: REL9_3_STABLE [da82bb1d8] 2017-10-23 18:16:00 -0400
-Branch: REL9_2_STABLE [7e8d84c36] 2017-10-23 18:16:04 -0400
--->
-     <para>
-      Update time zone data files to <application>tzdata</application>
-      release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus,
-      Sudan, Tonga, and Turks &amp; Caicos Islands, plus historical
-      corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland,
-      Namibia, and Pago Pago.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Peter Eisentraut <peter_e@gmx.net>
-Branch: master [49df45acd] 2017-11-03 14:14:02 -0400
-Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400
--->
-     <para>
-      In the documentation, restore HTML anchors to being upper-case strings
-      (Peter Eisentraut)
-     </para>
-
-     <para>
-      Due to a toolchain change, the 10.0 user manual had lower-case strings
-      for intrapage anchors, thus breaking some external links into our
-      website documentation.  Return to our previous convention of using
-      upper-case strings.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-10">
-  <title>Release 10</title>
-
-  <formalpara>
-   <title>Release date:</title>
-   <para>2017-10-05</para>
-  </formalpara>
-
-  <sect2>
-   <title>Overview</title>
-
-   <para>
-    Major enhancements in <productname>PostgreSQL</productname> 10 include:
-   </para>
-
-   <!-- Items in this list summarize one or more items below -->
-
-   <itemizedlist>
-
-   <listitem><para>Logical replication using publish/subscribe</para></listitem>
-   <listitem><para>Declarative table partitioning</para></listitem>
-   <listitem><para>Improved query parallelism</para></listitem>
-   <listitem><para>Significant general performance improvements</para></listitem>
-   <listitem><para>Stronger password authentication based on SCRAM-SHA-256</para></listitem>
-   <listitem><para>Improved monitoring and control</para></listitem>
-   </itemizedlist>
-
-   <para>
-    The above items are explained in more detail in the sections below.
-   </para>
-
-  </sect2>
-
-  <sect2>
-
-  <title>Migration to Version 10</title>
-
-   <para>
-    A dump/restore using <xref linkend="app-pg-dumpall"/>, or use of <xref
-    linkend="pgupgrade"/>, is required for those wishing to migrate data
-    from any previous release.
-   </para>
-
-   <para>
-    Version 10 contains a number of changes that may affect compatibility
-    with previous releases.  Observe the following incompatibilities:
-   </para>
-
-   <itemizedlist>
-
-    <listitem>
-<!--
-2017-04-03 [ea69a0dea] Expand hash indexes more gradually.
-2017-05-19 [a95410e2e] pg_upgrade: Handle hash index upgrades more smoothly.
-2017-08-04 [620b49a16] hash: Increase the number of possible overflow bitmaps b
--->
-     <para>
-      Hash indexes must be rebuilt after <application>pg_upgrade</application>-ing
-      from any previous major <productname>PostgreSQL</productname> version (Mithun
-      Cy, Robert Haas, Amit Kapila)
-     </para>
-
-     <para>
-      Major hash index improvements necessitated this requirement.
-      <application>pg_upgrade</application> will create a script to assist with this.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2016-10-20 [f82ec32ac] Rename "pg_xlog" directory to "pg_wal"
-2017-03-17 [88e66d193] Rename "pg_clog" directory to "pg_xact".
--->
-     <para>
-      Rename write-ahead log directory <filename>pg_xlog</filename>
-      to <link linkend="wal"><filename>pg_wal</filename></link>, and rename transaction
-      status directory <filename>pg_clog</filename> to <filename>pg_xact</filename>
-      (Michael Paquier)
-     </para>
-
-     <para>
-      Users have occasionally thought that these directories contained only
-      inessential log files, and proceeded to remove write-ahead log files
-      or transaction status files manually, causing irrecoverable data
-      loss.  These name changes are intended to discourage such errors in
-      future.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-02-09 [806091c96] Remove all references to "xlog" from SQL-callable functi
-2017-02-09 [85c11324c] Rename user-facing tools with "xlog" in the name to say
-2017-02-09 [62e8b3875] Rename command line options for ongoing xlog -> wal conv
-2017-02-15 [0dfa89ba2] Replace reference to "xlog-method" with "wal-method" in
--->
-     <para>
-      Rename <acronym>SQL</acronym> functions, tools, and options that reference
-      <quote>xlog</quote> to <quote>wal</quote> (Robert Haas)
-     </para>
-
-     <para>
-      For example, <function>pg_switch_xlog()</function> becomes
-      <function>pg_switch_wal()</function>, <application>pg_receivexlog</application>
-      becomes <application>pg_receivewal</application>, and <option>--xlogdir</option>
-      becomes <option>--waldir</option>.  This is for consistency with the
-      change of the <filename>pg_xlog</filename> directory name; in general,
-      the <quote>xlog</quote> terminology is no longer used in any user-facing
-      places.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-05-11 [d10c626de] Rename WAL-related functions and views to use "lsn" not
--->
-     <para>
-      Rename <acronym>WAL</acronym>-related functions and views to use <literal>lsn</literal>
-      instead of <literal>location</literal> (David Rowley)
-     </para>
-
-     <para>
-      There was previously an inconsistent mixture of the two terminologies.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-01-16 [d43a619c6] Fix check_srf_call_placement() to handle VALUES cases co
-2017-01-18 [69f4b9c85] Move targetlist SRF handling from expression evaluation
-2017-01-18 [f13a1277a] Doc: improve documentation of new SRF-in-tlist behavior.
-2017-06-13 [0436f6bde] Disallow set-returning functions inside CASE or COALESCE
--->
-     <para>
-      Change the implementation of set-returning functions appearing in
-      a query's <literal>SELECT</literal> list (Andres Freund)
-     </para>
-
-     <para>
-      Set-returning functions are now evaluated before evaluation of scalar
-      expressions in the <literal>SELECT</literal> list, much as though they had
-      been placed in a <literal>LATERAL FROM</literal>-clause item.  This allows
-      saner semantics for cases where multiple set-returning functions are
-      present.  If they return different numbers of rows, the shorter results
-      are extended to match the longest result by adding nulls.  Previously
-      the results were cycled until they all terminated at the same time,
-      producing a number of rows equal to the least common multiple of the
-      functions' periods.  In addition, set-returning functions are now
-      disallowed within <literal>CASE</literal> and <literal>COALESCE</literal> constructs.
-      For more information
-      see <xref linkend="xfunc-sql-functions-returning-set"/>.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2016-11-22 [906bfcad7] Improve handling of "UPDATE ... SET (column_list) = row_
--->
-     <para>
-      Use standard row constructor syntax in <literal>UPDATE ... SET
-      (<replaceable>column_list</replaceable>) = <replaceable>row_constructor</replaceable></literal>
-      (Tom Lane)
-     </para>
-
-     <para>
-      The <replaceable>row_constructor</replaceable> can now begin with the
-      keyword <literal>ROW</literal>; previously that had to be omitted.
-      If just one column name appears in
-      the <replaceable>column_list</replaceable>, then
-      the <replaceable>row_constructor</replaceable> now must use
-      the <literal>ROW</literal> keyword, since otherwise it is not a valid
-      row constructor but just a parenthesized expression.
-      Also, an occurrence
-      of <literal><replaceable>table_name</replaceable>.*</literal> within
-      the <replaceable>row_constructor</replaceable> is now expanded into
-      multiple columns, as occurs in other uses
-      of <replaceable>row_constructor</replaceable>s.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-08-04 [c30f1770a] Apply ALTER ... SET NOT NULL recursively in ALTER ... AD
--->
-     <para>
-      When <command>ALTER TABLE ... ADD PRIMARY KEY</command> marks
-      columns <literal>NOT NULL</literal>, that change now propagates to
-      inheritance child tables as well (Michael Paquier)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-09-16 [54d4d0ff6] Fix SQL-spec incompatibilities in new transition table f
-2017-09-17 [5cc234931] Ensure that BEFORE STATEMENT triggers fire the right num
--->
-     <para>
-      Prevent statement-level triggers from firing more than once per
-      statement (Tom Lane)
-     </para>
-
-     <para>
-      Cases involving writable CTEs updating the same table updated by the
-      containing statement, or by another writable CTE, fired <literal>BEFORE
-      STATEMENT</literal> or <literal>AFTER STATEMENT</literal> triggers more than once.
-      Also, if there were statement-level triggers on a table affected by a
-      foreign key enforcement action (such as <literal>ON DELETE CASCADE</literal>),
-      they could fire more than once per outer SQL statement.  This is
-      contrary to the SQL standard, so change it.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2016-12-20 [1753b1b02] Add pg_sequence system catalog
-2016-11-18 [67dc4ccbb] Add pg_sequences view
-2017-05-15 [f8dc1985f] Fix ALTER SEQUENCE locking
-2017-06-01 [3d79013b9] Make ALTER SEQUENCE, including RESTART, fully transactio
-2017-09-29 [5cc5987ce] psql: Update \d sequence display
--->
-     <para>
-      Move sequences' metadata fields into a new <link
-      linkend="catalog-pg-sequence"><structname>pg_sequence</structname></link>
-      system catalog (Peter Eisentraut)
-     </para>
-
-     <para>
-      A sequence relation now stores only the fields that can be modified
-      by <function>nextval()</function>, that
-      is <structfield>last_value</structfield>, <structfield>log_cnt</structfield>,
-      and <structfield>is_called</structfield>.  Other sequence properties, such as
-      the starting value and increment, are kept in a corresponding row of
-      the <structname>pg_sequence</structname> catalog.
-      <command>ALTER SEQUENCE</command> updates are now fully transactional,
-      implying that the sequence is locked until commit.
-      The <function>nextval()</function> and <function>setval()</function> functions
-      remain nontransactional.
-     </para>
-
-     <para>
-      The main incompatibility introduced by this change is that selecting
-      from a sequence relation now returns only the three fields named
-      above.  To obtain the sequence's other properties, applications must
-      look into <structname>pg_sequence</structname>.  The new system
-      view <link linkend="view-pg-sequences"><structname>pg_sequences</structname></link>
-      can also be used for this purpose; it provides column names that are
-      more compatible with existing code.
-     </para>
-
-     <para>
-      Also, sequences created for <literal>SERIAL</literal> columns now generate
-      positive 32-bit wide values, whereas previous versions generated 64-bit
-      wide values.  This has no visible effect if the values are only stored in
-      a column.
-     </para>
-
-     <para>
-      The output of <application>psql</application>'s <command>\d</command> command for a
-      sequence has been redesigned, too.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-01-04 [9a4d51077] Make wal streaming the default mode for pg_basebackup
--->
-     <para>
-      Make <application><xref linkend="app-pgbasebackup"/></application> stream the
-      <acronym>WAL</acronym> needed to restore the backup by default (Magnus
-      Hagander)
-     </para>
-
-     <para>
-      This changes <application>pg_basebackup</application>'s
-      <option>-X</option>/<option>--wal-method</option> default to <literal>stream</literal>.
-      An option value <literal>none</literal> has been added to reproduce the old
-      behavior.  The <application>pg_basebackup</application> option <option>-x</option>
-      has been removed (instead, use <literal>-X fetch</literal>).
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-02-13 [8df9bd0b4] Change logical replication pg_hba.conf use
--->
-     <para>
-      Change how logical replication
-      uses <link linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>
-      (Peter Eisentraut)
-     </para>
-
-     <para>
-      In previous releases, a logical replication connection required
-      the <literal>replication</literal> keyword in the database column.  As
-      of this release, logical replication matches a normal entry with a
-      database name or keywords such as <literal>all</literal>.  Physical
-      replication continues to use the <literal>replication</literal> keyword.
-      Since built-in logical replication is new in this release, this
-      change only affects users of third-party logical replication plugins.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-01-14 [05cd12ed5] pg_ctl: Change default to wait for all actions
--->
-    <para>
-     Make all <application><xref linkend="app-pg-ctl"/></application> actions wait
-     for completion by default (Peter Eisentraut)
-    </para>
-
-    <para>
-     Previously some <application>pg_ctl</application> actions didn't wait for
-     completion, and required the use of <option>-w</option> to do so.
-    </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-03-27 [3371e4d9b] Change default of log_directory to 'log'
--->
-     <para>
-      Change the default value of the <xref linkend="guc-log-directory"/>
-      server parameter from <filename>pg_log</filename> to <filename>log</filename>
-      (Andreas Karlsson)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-07-31 [c0a15e07c] Always use 2048 bit DH parameters for OpenSSL ephemeral
--->
-     <para>
-      Add configuration option <xref linkend="guc-ssl-dh-params-file"/> to
-      specify file name for custom OpenSSL DH parameters (Heikki Linnakangas)
-     </para>
-
-     <para>
-      This replaces the hardcoded, undocumented file
-      name <filename>dh1024.pem</filename>.  Note that <filename>dh1024.pem</filename> is
-      no longer examined by default; you must set this option if you want
-      to use custom DH parameters.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-07-31 [c0a15e07c] Always use 2048 bit DH parameters for OpenSSL ephemeral
--->
-     <para>
-      Increase the size of the default DH parameters used for OpenSSL
-      ephemeral DH ciphers to 2048 bits (Heikki Linnakangas)
-     </para>
-
-     <para>
-      The size of the compiled-in DH parameters has been increased from
-      1024 to 2048 bits, making DH key exchange more resistant to
-      brute-force attacks.  However, some old SSL implementations, notably
-      some revisions of Java Runtime Environment version 6, will not accept
-      DH parameters longer than 1024 bits, and hence will not be able to
-      connect over SSL.  If it's necessary to support such old clients, you
-      can use custom 1024-bit DH parameters instead of the compiled-in
-      defaults.  See <xref linkend="guc-ssl-dh-params-file"/>.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-05-08 [eb61136dc] Remove support for password_encryption='off' / 'plain'.
--->
-    <para>
-     Remove the ability to store unencrypted passwords on the server
-     (Heikki Linnakangas)
-    </para>
-
-    <para>
-     The <xref linkend="guc-password-encryption"/> server parameter
-     no longer supports <literal>off</literal> or <literal>plain</literal>.
-     The <literal>UNENCRYPTED</literal> option is no longer supported in
-     <command>CREATE/ALTER USER ... PASSWORD</command>.  Similarly, the
-     <option>--unencrypted</option> option has been removed
-     from <application>createuser</application>.  Unencrypted passwords migrated from
-     older versions will be stored encrypted in this release.  The default
-     setting for <varname>password_encryption</varname> is still
-     <literal>md5</literal>.
-    </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-02-15 [51ee6f316] Replace min_parallel_relation_size with two new GUCs.
--->
-    <para>
-     Add <xref linkend="guc-min-parallel-table-scan-size"/>
-     and <xref linkend="guc-min-parallel-index-scan-size"/> server
-     parameters to control parallel queries (Amit Kapila, Robert Haas)
-    </para>
-
-    <para>
-     These replace <varname>min_parallel_relation_size</varname>, which was
-     found to be too generic.
-    </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-06-20 [a69dfe5f4] Don't downcase entries within shared_preload_libraries e
--->
-    <para>
-     Don't downcase unquoted text
-     within <xref linkend="guc-shared-preload-libraries"/> and related
-     server parameters (QL Zhuo)
-    </para>
-
-    <para>
-     These settings are really lists of file names, but they were
-     previously treated as lists of SQL identifiers, which have different
-     parsing rules.
-    </para>
-    </listitem>
-
-    <listitem>
-<!--
-2016-12-23 [e13486eba] Remove sql_inheritance GUC.
--->
-    <para>
-     Remove <varname>sql_inheritance</varname> server parameter (Robert Haas)
-    </para>
-
-    <para>
-     Changing this setting from the default value caused queries referencing
-     parent tables to not include child tables.  The <acronym>SQL</acronym>
-     standard requires them to be included, however, and this has been the
-     default since <productname>PostgreSQL</productname> 7.1.
-    </para>
-    </listitem>
-
-    <listitem>
-<!--
-2016-10-26 [94aceed31] Support multi-dimensional arrays in PL/python.
-2016-10-26 [cfd9c87a5] Only treat Python Lists as array dimensions.
--->
-    <para>
-     Allow multi-dimensional arrays to be passed into PL/Python functions,
-     and returned as nested Python lists (Alexey Grishchenko, Dave Cramer,
-     Heikki Linnakangas)
-    </para>
-
-    <para>
-     This feature requires a backwards-incompatible change to the handling
-     of arrays of composite types in PL/Python.  Previously, you could
-     return an array of composite values by writing, e.g., <literal>[[col1,
-     col2], [col1, col2]]</literal>; but now that is interpreted as a
-     two-dimensional array.  Composite types in arrays must now be written
-     as Python tuples, not lists, to resolve the ambiguity; that is,
-     write <literal>[(col1, col2), (col1, col2)]</literal> instead.
-    </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-02-27 [817f2a586] Remove PL/Tcl's "module" facility.
--->
-    <para>
-     Remove PL/Tcl's <quote>module</quote> auto-loading facility (Tom Lane)
-    </para>
-
-    <para>
-     This functionality has been replaced by new server
-     parameters <xref linkend="guc-pltcl-start-proc"/>
-     and <xref linkend="guc-pltclu-start-proc"/>, which are easier to use
-     and more similar to features available in other PLs.
-    </para>
-    </listitem>
-
-    <listitem>
-<!--
-2016-10-12 [64f3524e2] Remove pg_dump/pg_dumpall support for dumping from pre-8
--->
-    <para>
-     Remove <application>pg_dump</application>/<application>pg_dumpall</application> support
-     for dumping from pre-8.0 servers (Tom Lane)
-    </para>
-
-     <para>
-      Users needing to dump from pre-8.0 servers will need to use dump
-      programs from <productname>PostgreSQL</productname> 9.6 or earlier.  The
-      resulting output should still load successfully into newer servers.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-02-23 [b6aa17e0a] De-support floating-point timestamps.
--->
-     <para>
-      Remove support for floating-point timestamps and intervals (Tom Lane)
-     </para>
-
-     <para>
-      This removes configure's <option>--disable-integer-datetimes</option>
-      option.  Floating-point timestamps have few advantages and have not
-      been the default since <productname>PostgreSQL</productname> 8.3.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2016-10-11 [2f1eaf87e] Drop server support for FE/BE protocol version 1.0.
--->
-     <para>
-      Remove server support for client/server protocol version 1.0 (Tom Lane)
-     </para>
-
-     <para>
-      This protocol hasn't had client support
-      since <productname>PostgreSQL</productname> 6.3.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-02-13 [7ada2d31f] Remove contrib/tsearch2.
--->
-     <para>
-      Remove <filename>contrib/tsearch2</filename> module (Robert Haas)
-     </para>
-
-     <para>
-      This module provided compatibility with the version of full text
-      search that shipped in pre-8.3 <productname>PostgreSQL</productname> releases.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-03-23 [50c956add] Remove createlang and droplang
--->
-     <para>
-      Remove <application>createlang</application> and <application>droplang</application>
-      command-line applications (Peter Eisentraut)
-     </para>
-
-     <para>
-      These had been deprecated since <productname>PostgreSQL</productname> 9.1.
-      Instead, use <command>CREATE EXTENSION</command> and <command>DROP
-      EXTENSION</command> directly.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-2017-03-30 [5ded4bd21] Remove support for version-0 calling conventions.
--->
-     <para>
-      Remove support for version-0 function calling conventions (Andres
-      Freund)
-     </para>
-
-     <para>
-      Extensions providing C-coded functions must now conform to version 1
-      calling conventions.  Version 0 has been deprecated since 2001.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <para>
-    Below you will find a detailed account of the changes between
-    <productname>PostgreSQL</productname> 10 and the previous major
-    release.
-   </para>
-
-   <sect3>
-    <title>Server</title>
-
-    <sect4>
-     <title>Parallel Queries</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-02-15 [569174f1b] btree: Support parallel index scans.
-2017-02-15 [5262f7a4f] Add optimizer and executor support for parallel index sc
-2017-02-19 [0414b26ba] Add optimizer and executor support for parallel index-on
--->
-       <para>
-        Support parallel B-tree index scans (Rahila Syed, Amit Kapila,
-        Robert Haas, Rafia Sabih)
-       </para>
-
-       <para>
-        This change allows B-tree index pages to be searched by separate
-        parallel workers.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-08 [98e6e8904] tidbitmap: Support shared iteration.
-2017-03-08 [f35742ccb] Support parallel bitmap heap scans.
--->
-       <para>
-        Support parallel bitmap heap scans (Dilip Kumar)
-       </para>
-
-       <para>
-        This allows a single index scan to dispatch parallel workers to
-        process different areas of the heap.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-07 [3bc7dafa9] Consider parallel merge joins.
--->
-       <para>
-        Allow merge joins to be performed in parallel (Dilip Kumar)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-02-14 [5e6d8d2bb] Allow parallel workers to execute subplans.
--->
-       <para>
-        Allow non-correlated subqueries to be run in parallel (Amit Kapila)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-09 [355d3993c] Add a Gather Merge executor node.
--->
-       <para>
-        Improve ability of parallel workers to return pre-sorted data
-        (Rushabh Lathia)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-24 [61c2e1a95] Improve access to parallel query from procedural languag
--->
-       <para>
-        Increase parallel query usage in procedural language functions
-        (Robert Haas, Rafia Sabih)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-12-02 [b460f5d66] Add max_parallel_workers GUC.
-2016-12-05 [2b959d495] Reduce the default for max_worker_processes back to 8.
--->
-       <para>
-        Add <xref linkend="guc-max-parallel-workers"/> server parameter
-        to limit the number of worker processes that can be used for
-        query parallelism (Julien Rouhaud)
-       </para>
-
-       <para>
-        This parameter can be set lower than <xref
-        linkend="guc-max-worker-processes"/> to reserve worker processes
-        for purposes other than parallel queries.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-This was disabled in the PG 9.6 branch so there is no commit here.
--->
-       <para>
-        Enable parallelism by default by changing the default setting
-        of <xref linkend="guc-max-parallel-workers-per-gather"/> to
-        <literal>2</literal>.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Indexes</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-02-27 [30df93f69] hash: Refactor overflow page allocation.
-2017-03-14 [c11453ce0] hash: Add write-ahead logging support.
-2017-02-27 [b0f18cb77] hash: Refactor bucket squeeze code.
--->
-       <para>
-        Add write-ahead logging support to hash indexes (Amit Kapila)
-       </para>
-
-       <para>
-        This makes hash indexes crash-safe and replicatable.
-        The former warning message about their use is removed.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-11-30 [6d46f4783] Improve hash index bucket split behavior.
-2017-02-07 [293e24e50] Cache hash index's metapage in rel->rd_amcache.
-2017-03-15 [6977b8b7f] Port single-page btree vacuum logic to hash indexes.
-2017-04-03 [ea69a0dea] Expand hash indexes more gradually.
-2017-08-04 [620b49a16] hash: Increase the number of possible overflow bitmaps b
--->
-       <para>
-        Improve hash index performance (Amit Kapila, Mithun Cy, Ashutosh
-        Sharma)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-08-23 [77e290682] Create an SP-GiST opclass for inet/cidr.
--->
-       <para>
-        Add <acronym>SP-GiST</acronym> index support for <type>INET</type> and
-        <type>CIDR</type> data types (Emre Hasegeli)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-04-01 [7526e1022] BRIN auto-summarization
--->
-       <para>
-        Add option to allow <acronym>BRIN</acronym> index summarization to happen
-        more aggressively (&Aacute;lvaro Herrera)
-       </para>
-
-       <para>
-        A new <link linkend="sql-createindex"><command>CREATE
-        INDEX</command></link> option enables auto-summarization of the
-        previous <acronym>BRIN</acronym> page range when a new page
-        range is created.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-04-01 [c655899ba] BRIN de-summarization
--->
-       <para>
-        Add functions to remove and re-add <acronym>BRIN</acronym>
-        summarization for <acronym>BRIN</acronym> index ranges (&Aacute;lvaro
-        Herrera)
-       </para>
-
-       <para>
-        The new <acronym>SQL</acronym> function <link
-        linkend="functions-admin-index-table"><function>brin_summarize_range()</function></link>
-        updates <acronym>BRIN</acronym> index summarization for a specified
-        range and <function>brin_desummarize_range()</function> removes it.
-        This is helpful to update summarization of a range that is now
-        smaller due to <command>UPDATE</command>s and <command>DELETE</command>s.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-04-06 [7e534adcd] Fix BRIN cost estimation
--->
-       <para>
-        Improve accuracy in determining if a <acronym>BRIN</acronym> index scan
-        is beneficial (David Rowley, Emre Hasegeli)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-09-09 [b1328d78f] Invent PageIndexTupleOverwrite, and teach BRIN and GiST
--->
-       <para>
-        Allow faster <acronym>GiST</acronym> inserts and updates by reusing
-        index space more efficiently (Andrey Borodin)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-23 [218f51584] Reduce page locking in GIN vacuum
--->
-       <para>
-        Reduce page locking during vacuuming of <acronym>GIN</acronym> indexes
-        (Andrey Borodin)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-
-     <title>Locking</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-03-06 [21d4e2e20] Reduce lock levels for table storage params related to p
-2017-04-05 [68ea2b7f9] Reduce lock level for CREATE STATISTICS
--->
-       <para>
-        Reduce locking required to change table parameters (Simon Riggs,
-        Fabr&iacute;zio Mello)
-       </para>
-
-       <para>
-        For example, changing a table's <xref
-        linkend="guc-effective-io-concurrency"/> setting can now be done
-        with a more lightweight lock.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-04-07 [c63172d60] Add GUCs for predicate lock promotion thresholds.
--->
-       <para>
-        Allow tuning of predicate lock promotion thresholds (Dagfinn
-        Ilmari Manns&aring;ker)
-       </para>
-
-       <para>
-        Lock promotion can now be controlled through two new server
-        parameters, <xref
-        linkend="guc-max-pred-locks-per-relation"/> and
-        <xref linkend="guc-max-pred-locks-per-page"/>.
-       </para>
-      </listitem>
-
-    </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Optimizer</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-03-24 [7b504eb28] Implement multivariate n-distinct coefficients
-2017-04-05 [2686ee1b7] Collect and use multi-column dependency stats
-2017-05-12 [bc085205c] Change CREATE STATISTICS syntax
--->
-      <para>
-       Add multi-column optimizer statistics to compute the correlation
-       ratio and number of distinct values (Tomas Vondra, David Rowley,
-       &Aacute;lvaro Herrera)
-      </para>
-
-      <para>
-       New commands are <link
-       linkend="sql-createstatistics"><command>CREATE STATISTICS</command></link>,
-       <link linkend="sql-alterstatistics"><command>ALTER STATISTICS</command></link>, and
-       <link linkend="sql-dropstatistics"><command>DROP STATISTICS</command></link>.
-       This feature is helpful in estimating query memory usage and when
-       combining the statistics from individual columns.
-      </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-01-18 [215b43cdc] Improve RLS planning by marking individual quals with se
--->
-      <para>
-       Improve performance of queries affected by row-level security
-       restrictions (Tom Lane)
-      </para>
-
-      <para>
-       The optimizer now has more knowledge about where it can place RLS
-       filter conditions, allowing better plans to be generated while still
-       enforcing the RLS conditions safely.
-      </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>General Performance</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2016-09-02 [9cca11c91] Speed up SUM calculation in numeric aggregates.
--->
-       <para>
-        Speed up aggregate functions that calculate a running sum
-        using <type>numeric</type>-type arithmetic, including some variants
-        of <function>SUM()</function>, <function>AVG()</function>,
-        and <function>STDDEV()</function> (Heikki Linnakangas)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-13 [aeed17d00] Use radix tree for character encoding conversions.
--->
-       <para>
-        Improve performance of character encoding conversions by
-        using radix trees (Kyotaro Horiguchi, Heikki Linnakangas)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-25 [b8d7f053c] Faster expression evaluation and targetlist projection.
-2017-07-30 [cc9f08b6b] Move ExecProcNode from dispatch to function pointer base
--->
-       <para>
-        Reduce expression evaluation overhead during query execution,
-        as well as plan node calling overhead (Andres Freund)
-       </para>
-
-       <para>
-        This is particularly helpful for queries that process many rows.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-27 [b5635948a] Support hashed aggregation with grouping sets.
--->
-       <para>
-        Allow hashed aggregation to be used with grouping sets (Andrew
-        Gierth)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-04-07 [9c7f5229a] Optimize joins when the inner relation can be proven uni
-2017-06-03 [23886581b] Fix old corner-case logic error in final_cost_nestloop()
--->
-       <para>
-        Use uniqueness guarantees to optimize certain join types (David
-        Rowley)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-29 [f90d23d0c] Implement SortSupport for macaddr data type
--->
-       <para>
-        Improve sort performance of the <type>macaddr</type> data type (Brandur Leach)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-27 [090010f2e] Improve performance of find_tabstat_entry()/get_tabstat_
--->
-       <para>
-        Reduce statistics tracking overhead in sessions that reference
-        many thousands of relations (Aleksander Alekseev)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Monitoring</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-03-08 [f9b1a0dd4] Expose explain's SUMMARY option
--->
-       <para>
-        Allow explicit control
-        over <link linkend="sql-explain"><command>EXPLAIN</command></link>'s display
-        of planning and execution time (Ashutosh Bapat)
-       </para>
-
-       <para>
-        By default planning and execution time are displayed by
-        <command>EXPLAIN ANALYZE</command> and are not displayed in other cases.
-        The new <command>EXPLAIN</command> option <literal>SUMMARY</literal> allows
-        explicit control of this.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-30 [25fff4079] Default monitoring roles
--->
-       <para>
-        Add default monitoring roles (Dave Page)
-       </para>
-
-       <para>
-        New roles <literal>pg_monitor</literal>, <literal>pg_read_all_settings</literal>,
-        <literal>pg_read_all_stats</literal>, and <literal>pg_stat_scan_tables</literal>
-        allow simplified permission configuration.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-18 [17f8ffa1e] Fix REFRESH MATERIALIZED VIEW to report activity to the
--->
-       <para>
-        Properly update the statistics collector during <link
-        linkend="sql-refreshmaterializedview"><command>REFRESH MATERIALIZED
-        VIEW</command></link> (Jim Mlodgenski)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-     <sect5>
-      <title>Logging</title>
-
-      <itemizedlist>
-
-       <listitem>
-<!--
-2016-10-17 [7d3235ba4] By default, set log_line_prefix = '%m [%p] '.
--->
-        <para>
-         Change the default value of <xref linkend="guc-log-line-prefix"/>
-         to include current timestamp (with milliseconds) and the process ID
-         in each line of postmaster log output (Christoph Berg)
-        </para>
-
-        <para>
-         The previous default was an empty prefix.
-        </para>
-       </listitem>
-
-       <listitem>
-<!--
-2017-03-16 [befd73c50] Add pg_ls_logdir() and pg_ls_waldir() functions.
--->
-        <para>
-         Add functions to return the log and <acronym>WAL</acronym> directory
-         contents (Dave Page)
-        </para>
-
-        <para>
-         The new functions
-         are <link linkend="functions-admin-genfile-table"><function>pg_ls_logdir()</function></link>
-         and <link linkend="functions-admin-genfile-table"><function>pg_ls_waldir()</function></link>
-         and can be executed by non-superusers with the proper
-         permissions.
-        </para>
-       </listitem>
-
-       <listitem>
-<!--
-2017-03-03 [19dc233c3] Add pg_current_logfile() function.
--->
-        <para>
-         Add function <link
-         linkend="functions-info-session-table"><function>pg_current_logfile()</function></link>
-         to read logging collector's current stderr and csvlog output file names
-         (Gilles Darold)
-        </para>
-       </listitem>
-
-       <listitem>
-<!--
-2017-03-10 [f9dfa5c97] Improve postmaster's logging of listen socket creation.
-2017-03-14 [2b32ac2a5] Include port number when logging successful binding to a
--->
-        <para>
-         Report the address and port number of each listening socket
-         in the server log during postmaster startup (Tom Lane)
-        </para>
-
-        <para>
-         Also, when logging failure to bind a listening socket, include
-         the specific address we attempted to bind to.
-        </para>
-       </listitem>
-
-       <listitem>
-<!--
-2017-03-10 [6ec4c8584] Reduce log verbosity of startup/shutdown for launcher su
--->
-        <para>
-         Reduce log chatter about the starting and stopping of launcher
-         subprocesses (Tom Lane)
-        </para>
-
-        <para>
-         These are now <literal>DEBUG1</literal>-level messages.
-        </para>
-       </listitem>
-
-       <listitem>
-<!--
-2016-11-17 [a43f1939d] Remove or reduce verbosity of some debug messages.
--->
-        <para>
-         Reduce message verbosity of lower-numbered debug levels
-         controlled by
-         <xref linkend="guc-log-min-messages"/> (Robert Haas)
-        </para>
-
-        <para>
-         This also changes the verbosity of <xref
-         linkend="guc-client-min-messages"/> debug levels.
-        </para>
-       </listitem>
-
-      </itemizedlist>
-
-     </sect5>
-
-     <sect5>
-      <title><link linkend="pg-stat-activity-view"><structname>pg_stat_activity</structname></link></title>
-
-      <itemizedlist>
-
-       <listitem>
-<!--
-2016-10-04 [6f3bd98eb] Extend framework from commit 53be0b1ad to report latch w
-2017-03-18 [249cf070e] Create and use wait events for read, write, and fsync op
--->
-        <para>
-         Add <structname>pg_stat_activity</structname> reporting of low-level wait
-         states (Michael Paquier, Robert Haas, Rushabh Lathia)
-        </para>
-
-        <para>
-         This change enables reporting of numerous low-level wait conditions,
-         including latch waits, file reads/writes/fsyncs, client reads/writes,
-         and synchronous replication.
-        </para>
-       </listitem>
-
-       <listitem>
-<!--
-2016-09-12 [fc3d4a44e] Identify walsenders in pg_stat_activity
-2017-03-26 [fc70a4b0d] Show more processes in pg_stat_activity.
--->
-        <para>
-         Show auxiliary processes, background workers, and walsender
-         processes in <structname>pg_stat_activity</structname> (Kuntal Ghosh,
-         Michael Paquier)
-        </para>
-
-        <para>
-         This simplifies monitoring.  A new
-         column <structfield>backend_type</structfield> identifies the process type.
-        </para>
-       </listitem>
-
-       <listitem>
-<!--
-2017-02-22 [4c728f382] Pass the source text for a parallel query to the workers
--->
-        <para>
-         Allow <structname>pg_stat_activity</structname> to show the SQL query
-         being executed by parallel workers (Rafia Sabih)
-        </para>
-       </listitem>
-
-       <listitem>
-<!--
-2016-12-16 [3761fe3c2] Simplify LWLock tranche machinery by removing array_base
--->
-        <para>
-         Rename
-         <structname>pg_stat_activity</structname>.<structfield>wait_event_type</structfield>
-         values <literal>LWLockTranche</literal> and
-         <literal>LWLockNamed</literal> to <literal>LWLock</literal> (Robert Haas)
-        </para>
-
-        <para>
-         This makes the output more consistent.
-        </para>
-       </listitem>
-
-      </itemizedlist>
-
-     </sect5>
-    </sect4>
-
-    <sect4>
-     <title><acronym>Authentication</acronym></title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-03-07 [818fd4a67] Support SCRAM-SHA-256 authentication (RFC 5802 and 7677)
-2017-03-24 [7ac955b34] Allow SCRAM authentication, when pg_hba.conf says 'md5'.
-2017-04-07 [60f11b87a] Use SASLprep to normalize passwords for SCRAM authentica
-2017-04-18 [c727f120f] Rename "scram" to "scram-sha-256" in pg_hba.conf and pas
--->
-       <para>
-        Add <link linkend="auth-password">SCRAM-SHA-256</link>
-        support for password negotiation and storage (Michael Paquier,
-        Heikki Linnakangas)
-      </para>
-
-       <para>
-        This provides better security than the existing <literal>md5</literal>
-        negotiation and storage method.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-09-28 [babe05bc2] Turn password_encryption GUC into an enum.
--->
-       <para>
-        Change the <xref linkend="guc-password-encryption"/> server parameter
-        from <type>boolean</type> to <type>enum</type> (Michael Paquier)
-       </para>
-
-       <para>
-        This was necessary to support additional password hashing options.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-01-30 [de16ab723] Invent pg_hba_file_rules view to show the content of pg_
--->
-       <para>
-        Add view <link
-        linkend="view-pg-hba-file-rules"><structname>pg_hba_file_rules</structname></link>
-        to display the contents of <filename>pg_hba.conf</filename> (Haribabu
-        Kommi)
-       </para>
-
-       <para>
-        This shows the file contents, not the currently active settings.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-22 [6b76f1bb5] Support multiple RADIUS servers
--->
-       <para>
-        Support multiple <acronym>RADIUS</acronym> servers (Magnus Hagander)
-       </para>
-
-       <para>
-        All the <acronym>RADIUS</acronym> related parameters are now plural and
-        support a comma-separated list of servers.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Server Configuration</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-01-02 [de41869b6] Allow SSL configuration to be updated at SIGHUP.
-2017-01-03 [1e942c747] Disable prompting for passphrase while (re)loading SSL c
-2017-01-04 [6667d9a6d] Re-allow SSL passphrase prompt at server start, but not
--->
-       <para>
-        Allow <acronym>SSL</acronym> configuration to be updated during
-        configuration reload (Andreas Karlsson, Tom Lane)
-       </para>
-
-       <para>
-        This allows <acronym>SSL</acronym> to be reconfigured without a server
-        restart, by using <command>pg_ctl reload</command>, <command>SELECT
-        pg_reload_conf()</command>, or sending a <literal>SIGHUP</literal> signal.
-        However, reloading the <acronym>SSL</acronym> configuration does not work
-        if the server's <acronym>SSL</acronym> key requires a passphrase, as there
-        is no way to re-prompt for the passphrase.  The original
-        configuration will apply for the life of the postmaster in that
-        case.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-02-02 [14ca9abfb] Increase upper bound for bgwriter_lru_maxpages.
--->
-       <para>
-        Make the maximum value of <xref
-        linkend="guc-bgwriter-lru-maxpages"/> effectively unlimited
-        (Jim Nasby)
-       </para>
-      </listitem>
-
-    </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Reliability</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-03-27 [1b02be21f] Fsync directory after creating or unlinking file.
--->
-       <para>
-        After creating or unlinking files, perform an fsync on their parent
-        directory (Michael Paquier)
-       </para>
-
-       <para>
-        This reduces the risk of data loss after a power failure.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-     <sect5>
-      <title><link linkend="wal">Write-Ahead Log</link> (<acronym>WAL</acronym>)</title>
-
-      <itemizedlist>
-
-       <listitem>
-<!--
-2016-12-22 [6ef2eba3f] Skip checkpoints, archiving on idle systems.
--->
-        <para>
-         Prevent unnecessary checkpoints and <acronym>WAL</acronym> archiving on
-         otherwise-idle systems (Michael Paquier)
-        </para>
-       </listitem>
-
-       <listitem>
-<!--
-2017-02-08 [a507b8690] Add WAL consistency checking facility.
-2017-03-14 [bb4a39637] hash: Support WAL consistency checking.
--->
-        <para>
-         Add <xref linkend="guc-wal-consistency-checking"/> server parameter
-         to add details to <acronym>WAL</acronym> that can be sanity-checked on
-         the standby (Kuntal Ghosh, Robert Haas)
-        </para>
-
-        <para>
-         Any sanity-check failure generates a fatal error on the standby.
-        </para>
-       </listitem>
-
-       <listitem>
-<!--
-2017-04-05 [00b6b6feb] Allow -\-with-wal-segsize=n up to n=1024MB
--->
-        <para>
-         Increase the maximum configurable <acronym>WAL</acronym> segment size
-         to one gigabyte (Beena Emerson)
-        </para>
-
-        <para>
-         A larger <acronym>WAL</acronym> segment size allows for fewer
-         <xref linkend="guc-archive-command"/> invocations and fewer
-         <acronym>WAL</acronym> files to manage.
-        </para>
-       </listitem>
-
-      </itemizedlist>
-
-     </sect5>
-
-    </sect4>
-
-   </sect3>
-
-   <sect3>
-    <title>Replication and Recovery</title>
-
-    <itemizedlist>
-
-     <listitem>
-<!--
-2017-01-20 [665d1fad9] Logical replication
-2017-03-23 [7c4f52409] Logical replication support for initial data copy
-2017-04-12 [ff7bce174] Add max_sync_workers_per_subscription to postgresql.conf
--->
-      <para>
-       Add the ability to <link linkend="logical-replication">logically
-       replicate</link> tables to standby servers (Petr Jelinek)
-      </para>
-
-      <para>
-       Logical replication allows more flexibility than physical
-       replication does, including replication between different major
-       versions of <productname>PostgreSQL</productname> and selective
-       replication.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-12-19 [3901fd70c] Support quorum-based synchronous replication.
--->
-      <para>
-       Allow waiting for commit acknowledgment from standby
-       servers irrespective of the order they appear in <xref
-       linkend="guc-synchronous-standby-names"/> (Masahiko Sawada)
-      </para>
-
-      <para>
-       Previously the server always waited for the active standbys that
-       appeared first in <varname>synchronous_standby_names</varname>.  The new
-       <varname>synchronous_standby_names</varname> keyword <literal>ANY</literal> allows
-       waiting for any number of standbys irrespective of their ordering.
-       This is known as quorum commit.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-01-14 [f6d6d2920] Change default values for backup and replication paramet
-2017-05-02 [34fc61673] Change hot_standby default value to 'on'
--->
-      <para>
-       Reduce configuration changes necessary to perform streaming backup
-       and replication (Magnus Hagander, Dang Minh Huong)
-      </para>
-
-      <para>
-       Specifically, the defaults were changed for <xref
-       linkend="guc-wal-level"/>, <xref linkend="guc-max-wal-senders"/>,
-       <xref linkend="guc-max-replication-slots"/>, and <xref
-       linkend="guc-hot-standby"/> to make them suitable for these usages
-       out-of-the-box.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-09 [be37c2120] Enable replication connections by default in pg_hba.conf
--->
-      <para>
-       Enable replication from localhost connections by default in
-       <link linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>
-       (Michael Paquier)
-      </para>
-
-      <para>
-       Previously <filename>pg_hba.conf</filename>'s replication connection
-       lines were commented out by default.  This is particularly useful for
-       <application><xref linkend="app-pgbasebackup"/></application>.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-23 [6912acc04] Replication lag tracking for walsenders
--->
-      <para>
-       Add columns to <link
-       linkend="pg-stat-replication-view"><structname>pg_stat_replication</structname></link>
-       to report replication delay times (Thomas Munro)
-      </para>
-
-      <para>
-       The new columns are <structfield>write_lag</structfield>,
-       <structfield>flush_lag</structfield>, and <structfield>replay_lag</structfield>.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-09-03 [35250b6ad] New recovery target recovery_target_lsn
--->
-      <para>
-       Allow specification of the recovery stopping point by Log Sequence
-       Number (<acronym>LSN</acronym>) in
-       <filename>recovery.conf</filename>
-       (Michael Paquier)
-      </para>
-
-      <para>
-       Previously the stopping point could only be selected by timestamp or
-       XID.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-22 [017e4f258] Expose waitforarchive option through pg_stop_backup()
-2017-08-05 [52f8a59dd] Make pg_stop_backup's wait_for_archive flag work on stan
--->
-      <para>
-       Allow users to disable <link
-       linkend="functions-admin"><function>pg_stop_backup()</function></link>'s
-       waiting for all <acronym>WAL</acronym> to be archived (David Steele)
-      </para>
-
-      <para>
-       An optional second argument to <function>pg_stop_backup()</function>
-       controls that behavior.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-12-12 [a924c327e] Add support for temporary replication slots
--->
-      <para>
-       Allow creation of <link
-       linkend="functions-replication-table">temporary replication slots</link>
-       (Petr Jelinek)
-      </para>
-
-      <para>
-       Temporary slots are automatically removed on session exit or error.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-22 [9b013dc23] Improve performance of replay of AccessExclusiveLocks
--->
-      <para>
-       Improve performance of hot standby replay with better tracking of
-       Access Exclusive locks (Simon Riggs, David Rowley)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-04-04 [728bd991c] Speedup 2PC recovery by skipping two phase state files i
--->
-      <para>
-       Speed up two-phase commit recovery performance (Stas Kelvich,
-       Nikhil Sontakke, Michael Paquier)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Queries</title>
-
-    <itemizedlist>
-
-     <listitem>
-<!--
-2017-03-08 [fcec6caaf] Support XMLTABLE query expression
--->
-      <para>
-       Add <link
-       linkend="functions-xml-processing-xmltable"><function>XMLTABLE</function></link>
-       function that converts <type>XML</type>-formatted data into a row set
-       (Pavel Stehule, &Aacute;lvaro Herrera)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-09-05 [c54159d44] Make locale-dependent regex character classes work for l
--->
-      <para>
-       Fix regular expressions' character class handling for large character
-       codes, particularly Unicode characters above <literal>U+7FF</literal>
-       (Tom Lane)
-      </para>
-
-      <para>
-       Previously, such characters were never recognized as belonging to
-       locale-dependent character classes such as <literal>[[:alpha:]]</literal>.
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Utility Commands</title>
-
-    <itemizedlist>
-
-     <listitem>
-<!--
-2016-12-07 [f0e44751d] Implement table partitioning.
--->
-      <para>
-       Add table <link linkend="sql-createtable-partition">partitioning
-       syntax</link> that automatically creates partition constraints and
-       handles routing of tuple insertions and updates (Amit Langote)
-      </para>
-
-      <para>
-       The syntax supports range and list partitioning.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-11-04 [8c48375e5] Implement syntax for transition tables in AFTER triggers
-2017-04-04 [5ebeb579b] Follow-on cleanup for the transition table patch.
-2017-03-31 [597027163] Add transition table support to plpgsql.
--->
-      <para>
-       Add <link linkend="sql-createtrigger"><literal>AFTER</literal> trigger</link>
-       transition tables to record changed rows (Kevin Grittner, Thomas
-       Munro)
-      </para>
-
-      <para>
-       Transition tables are accessible from triggers written in
-       server-side languages.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-12-05 [093129c9d] Add support for restrictive RLS policies
--->
-      <para>
-       Allow <link linkend="sql-createpolicy">restrictive row-level
-       security policies</link> (Stephen Frost)
-      </para>
-
-      <para>
-       Previously all security policies were permissive, meaning that any
-       matching policy allowed access.  A restrictive policy must
-       match for access to be granted.  These policy types can be combined.
-      </para>
-     </listitem>
-
-      <listitem>
-<!--
-2017-03-31 [64d4da511] For foreign keys, check REFERENCES privilege only on the
--->
-       <para>
-        When creating a foreign-key constraint, check
-        for <literal>REFERENCES</literal> permission on only the referenced table
-        (Tom Lane)
-       </para>
-
-       <para>
-        Previously <literal>REFERENCES</literal> permission on the referencing
-        table was also required.  This appears to have stemmed from a
-        misreading of the SQL standard.  Since creating a foreign key (or
-        any other type of) constraint requires ownership privilege on the
-        constrained table, additionally requiring <literal>REFERENCES</literal>
-        permission seems rather pointless.
-       </para>
-      </listitem>
-
-     <listitem>
-<!--
-2017-03-28 [ab89e465c] Altering default privileges on schemas
--->
-      <para>
-       Allow <link linkend="sql-alterdefaultprivileges">default
-       permissions</link> on schemas (Matheus Oliveira)
-      </para>
-
-      <para>
-       This is done using the <literal>ALTER DEFAULT PRIVILEGES</literal> command.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-02-10 [2ea5b06c7] Add CREATE SEQUENCE AS <data type> clause
--->
-      <para>
-       Add <link linkend="sql-createsequence"><command>CREATE SEQUENCE
-       AS</command></link> command to create a sequence matching an integer data type
-       (Peter Eisentraut)
-      </para>
-
-      <para>
-       This simplifies the creation of sequences matching the range of
-       base columns.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-11-10 [279c439c7] Support "COPY view FROM" for views with INSTEAD OF INSER
--->
-      <para>
-       Allow <literal>COPY <replaceable>view</replaceable>
-       FROM <replaceable>source</replaceable></literal> on views with <literal>INSTEAD
-       INSERT</literal> triggers (Haribabu Kommi)
-      </para>
-
-      <para>
-       The triggers are fed the data rows read by <command>COPY</command>.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-14 [aefeb6874] Allow referring to functions without arguments when uniq
--->
-      <para>
-       Allow the specification of a function name without arguments in
-       <acronym>DDL</acronym> commands, if it is unique (Peter Eisentraut)
-      </para>
-
-      <para>
-       For example, allow <link linkend="sql-dropfunction"><command>DROP
-       FUNCTION</command></link> on a function name without arguments if there
-       is only one function with that name.  This behavior is required by the
-       <acronym>SQL</acronym> standard.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-06 [583f6c414] Allow dropping multiple functions at once
--->
-      <para>
-       Allow multiple functions, operators, and aggregates to be dropped
-       with a single <command>DROP</command> command (Peter Eisentraut)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-02-15 [6d16ecc64] Add CREATE COLLATION IF NOT EXISTS clause
-2017-03-20 [b6fb534f1] Add IF NOT EXISTS for CREATE SERVER and CREATE USER MAPP
--->
-      <para>
-       Support <literal>IF NOT EXISTS</literal>
-       in <link linkend="sql-createserver"><command>CREATE SERVER</command></link>,
-       <link linkend="sql-createusermapping"><command>CREATE USER MAPPING</command></link>,
-       and <link linkend="sql-createcollation"><command>CREATE COLLATION</command></link>
-       (Anastasia Lubennikova, Peter Eisentraut)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-25 [70adf2fbe] Make VACUUM VERBOSE report the number of skipped frozen
-2017-03-03 [9eb344faf] Allow vacuums to report oldestxmin
--->
-      <para>
-       Make <link linkend="sql-vacuum"><command>VACUUM VERBOSE</command></link> report
-       the number of skipped frozen pages and oldest xmin (Masahiko
-       Sawada, Simon Riggs)
-      </para>
-
-      <para>
-       This information is also included in <xref
-       linkend="guc-log-autovacuum-min-duration"/> output.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-01-23 [7e26e02ee] Prefetch blocks during lazy vacuum's truncation scan
--->
-      <para>
-       Improve speed of <command>VACUUM</command>'s removal of trailing empty
-       heap pages (Claudio Freire, &Aacute;lvaro Herrera)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Data Types</title>
-
-    <itemizedlist>
-
-      <listitem>
-<!--
-2017-03-31 [e306df7f9] Full Text Search support for JSON and JSONB
--->
-       <para>
-        Add full text search support for <type>JSON</type> and <type>JSONB</type>
-        (Dmitry Dolgov)
-       </para>
-
-       <para>
-        The functions <function>ts_headline()</function> and
-        <function>to_tsvector()</function> can now be used on these data types.
-       </para>
-      </listitem>
-
-     <listitem>
-<!--
-2017-03-15 [c7a9fa399] Add support for EUI-64 MAC addresses as macaddr8
--->
-      <para>
-       Add support for <acronym>EUI-64</acronym> <acronym>MAC</acronym> addresses, as a
-       new data type <link linkend="datatype-macaddr8"><type>macaddr8</type></link>
-       (Haribabu Kommi)
-      </para>
-
-      <para>
-       This complements the existing support
-       for <acronym>EUI-48</acronym> <acronym>MAC</acronym> addresses
-       (type <type>macaddr</type>).
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-04-06 [321732705] Identity columns
--->
-      <para>
-       Add <link linkend="sql-createtable">identity columns</link> for
-       assigning a numeric value to columns on insert (Peter Eisentraut)
-      </para>
-
-      <para>
-       These are similar to <type>SERIAL</type> columns, but are
-       <acronym>SQL</acronym> standard compliant.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-09-07 [0ab9c56d0] Support renaming an existing value of an enum type.
--->
-      <para>
-       Allow <link linkend="datatype-enum"><type>ENUM</type></link> values to be
-       renamed (Dagfinn Ilmari Manns&aring;ker)
-      </para>
-
-      <para>
-       This uses the syntax <link linkend="sql-altertype"><command>ALTER
-       TYPE ... RENAME VALUE</command></link>.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-02-22 [502a3832c] Correctly handle array pseudotypes in to_json and to_jso
--->
-      <para>
-       Properly treat array pseudotypes
-       (<type>anyarray</type>) as arrays in <link
-       linkend="functions-json-creation-table"><function>to_json()</function></link>
-       and <function>to_jsonb()</function> (Andrew Dunstan)
-      </para>
-
-      <para>
-       Previously columns declared as <type>anyarray</type> (particularly those
-       in the <structname>pg_stats</structname> view) were converted to <type>JSON</type>
-       strings rather than arrays.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-01-17 [323b96aa3] Register missing money operators in system catalogs
--->
-      <para>
-       Add operators for multiplication and division
-       of <link linkend="datatype-money"><type>money</type></link> values
-       with <type>int8</type> values (Peter Eisentraut)
-      </para>
-
-      <para>
-       Previously such cases would result in converting the <type>int8</type>
-       values to <type>float8</type> and then using
-       the <type>money</type>-and-<type>float8</type> operators.  The new behavior
-       avoids possible precision loss.  But note that division
-       of <type>money</type> by <type>int8</type> now truncates the quotient, like
-       other integer-division cases, while the previous behavior would have
-       rounded.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-09-14 [656df624c] Add overflow checks to money type input function
--->
-      <para>
-       Check for overflow in the <type>money</type> type's input function
-       (Peter Eisentraut)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Functions</title>
-
-    <itemizedlist>
-
-     <listitem>
-<!--
-2016-08-17 [cf9b0fea5] Implement regexp_match(), a simplified alternative to re
--->
-      <para>
-       Add simplified <link
-       linkend="functions-posix-regexp"><function>regexp_match()</function></link>
-       function (Emre Hasegeli)
-      </para>
-
-      <para>
-       This is similar to <function>regexp_matches()</function>, but it only
-       returns results from the first match so it does not need to return a
-       set, making it easier to use for simple cases.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-01-18 [d00ca333c] Implement array version of jsonb_delete and operator
--->
-      <para>
-       Add a version of <type>jsonb</type>'s <link
-       linkend="functions-jsonb-op-table">delete operator</link> that takes
-       an array of keys to delete (Magnus Hagander)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-04-06 [cf35346e8] Make json_populate_record and friends operate recursivel
--->
-      <para>
-       Make <link linkend="functions-json-processing-table"><function>json_populate_record()</function></link>
-       and related functions process JSON arrays and objects recursively
-       (Nikita Glukhov)
-      </para>
-
-      <para>
-       With this change, array-type fields in the destination SQL type are
-       properly converted from JSON arrays, and composite-type fields are
-       properly converted from JSON objects.  Previously, such cases would
-       fail because the text representation of the JSON value would be fed
-       to <function>array_in()</function> or <function>record_in()</function>, and its
-       syntax would not match what those input functions expect.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-08-23 [86f31695f] Add txid_current_ifassigned().
--->
-      <para>
-       Add function <link
-       linkend="functions-txid-snapshot"><function>txid_current_if_assigned()</function></link>
-       to return the current transaction ID or <literal>NULL</literal> if no
-       transaction ID has been assigned (Craig Ringer)
-      </para>
-
-      <para>
-       This is different from <link
-       linkend="functions-txid-snapshot"><function>txid_current()</function></link>,
-       which always returns a transaction ID, assigning one if necessary.
-       Unlike that function, this function can be run on standby servers.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-24 [857ee8e39] Add a txid_status function.
--->
-      <para>
-       Add function <link
-       linkend="functions-txid-snapshot"><function>txid_status()</function></link>
-       to check if a transaction was committed (Craig Ringer)
-      </para>
-
-      <para>
-       This is useful for checking after an abrupt disconnection whether
-       your previous transaction committed and you just didn't receive
-       the acknowledgment.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-01-19 [30bcebbdc] Allow negative years in make_date to represent BC years
--->
-      <para>
-       Allow <link
-       linkend="functions-datetime-table"><function>make_date()</function></link>
-       to interpret negative years as <acronym>BC</acronym> years (&Aacute;lvaro
-       Herrera)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-09-28 [d3cd36a13] Make to_timestamp() and to_date() range-check fields of
--->
-      <para>
-       Make <link
-       linkend="functions-formatting-table"><function>to_timestamp()</function></link>
-       and <function>to_date()</function> reject
-       out-of-range input fields (Artur Zakirov)
-      </para>
-
-      <para>
-       For example,
-       previously <literal>to_date('2009-06-40','YYYY-MM-DD')</literal> was
-       accepted and returned <literal>2009-07-10</literal>.  It will now generate
-       an error.
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Server-Side Languages</title>
-
-    <itemizedlist>
-
-     <listitem>
-<!--
-2017-03-27 [70ec3f1f8] PL/Python: Add cursor and execute methods to plan object
--->
-      <para>
-       Allow PL/Python's <function>cursor()</function> and <function>execute()</function>
-       functions to be called as methods of their plan-object arguments
-       (Peter Eisentraut)
-      </para>
-
-      <para>
-       This allows a more object-oriented programming style.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-12-13 [55caaaeba] Improve handling of array elements as getdiag_targets an
--->
-      <para>
-       Allow PL/pgSQL's <command>GET DIAGNOSTICS</command> statement to retrieve
-       values into array elements (Tom Lane)
-      </para>
-
-      <para>
-       Previously, a syntactic restriction prevented the target variable
-       from being an array element.
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-    <sect4>
-     <title><link linkend="pltcl">PL/Tcl</link></title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2016-11-06 [26abb50c4] Support PL/Tcl functions that return composite types and
--->
-       <para>
-        Allow PL/Tcl functions to return composite types and sets
-        (Karl Lehenbauer)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-11 [b58fd4a9c] Add a "subtransaction" command to PL/Tcl.
--->
-       <para>
-        Add a subtransaction command to PL/Tcl (Victor Wagner)
-       </para>
-
-       <para>
-        This allows PL/Tcl queries to fail without aborting the entire
-        function.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-07 [0d2b1f305] Invent start_proc parameters for PL/Tcl.
--->
-       <para>
-        Add server parameters <xref linkend="guc-pltcl-start-proc"/>
-        and <xref linkend="guc-pltclu-start-proc"/>, to allow initialization
-        functions to be called on PL/Tcl startup (Tom Lane)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-   </sect3>
-
-   <sect3>
-    <title>Client Interfaces</title>
-
-    <itemizedlist>
-
-     <listitem>
-<!--
-2016-11-03 [274bb2b38] libpq: Allow connection strings and URIs to specify mult
-2017-05-19 [5f374fe7a] libpq: Try next host if one of them times out.
-2017-07-10 [7b02ba62e] Allow multiple hostaddrs to go with multiple hostnames.
--->
-      <para>
-       Allow specification of <link linkend="libpq-connect-host">multiple
-       host names or addresses</link> in libpq connection strings and URIs
-       (Robert Haas, Heikki Linnakangas)
-      </para>
-
-      <para>
-       libpq will connect to the first responsive server in the list.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-11-29 [721f7bd3c] libpq: Add target_session_attrs parameter.
--->
-      <para>
-       Allow libpq connection strings and URIs to request a <link
-       linkend="libpq-connect-target-session-attrs">read/write host</link>,
-       that is a master server rather than a standby server
-       (Victor Wagner, Mithun Cy)
-      </para>
-
-      <para>
-       This is useful when multiple host names are
-       specified.  It is controlled by libpq connection parameter
-       <option>target_session_attrs</option>.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-01-24 [ba005f193] Allow password file name to be specified as a libpq conn
--->
-      <para>
-       Allow the <link linkend="libpq-connect-passfile">password file name</link>
-       to be specified as a libpq connection parameter (Julian Markwort)
-      </para>
-
-      <para>
-       Previously this could only be specified via an environment variable.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-05-03 [8f8b9be51] Add PQencryptPasswordConn function to libpq, use it in p
--->
-      <para>
-       Add function <link
-       linkend="libpq-pqencryptpasswordconn"><function>PQencryptPasswordConn()</function></link>
-       to allow creation of more types of encrypted passwords on the
-       client side (Michael Paquier, Heikki Linnakangas)
-      </para>
-
-      <para>
-       Previously only <literal>MD5</literal>-encrypted passwords could be created
-       using <link
-       linkend="libpq-pqencryptpassword"><function>PQencryptPassword()</function></link>.
-       This new function can also create <link
-       linkend="auth-pg-hba-conf"><literal>SCRAM-SHA-256</literal></link>-encrypted
-       passwords.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-08-16 [a7b5573d6] Remove separate version numbering for ecpg preprocessor.
--->
-      <para>
-       Change <application>ecpg</application> preprocessor version from 4.12 to 10
-       (Tom Lane)
-      </para>
-
-      <para>
-       Henceforth the <application>ecpg</application> version will match
-       the <productname>PostgreSQL</productname> distribution version number.
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Client Applications</title>
-
-    <sect4>
-     <title><xref linkend="app-psql"/></title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-03-30 [e984ef586] Support \if ... \elif ... \else ... \endif in psql scrip
-2017-04-02 [5dbc5da11] Fix behavior of psql's \p to agree with \g, \w, etc.
-2017-04-02 [68dba97a4] Document psql's behavior of recalling the previously exe
--->
-       <para>
-        Add conditional branch support to <application>psql</application> (Corey
-        Huinker)
-       </para>
-
-       <para>
-        This feature adds <application>psql</application>
-        meta-commands <command>\if</command>, <command>\elif</command>, <command>\else</command>,
-        and <command>\endif</command>.  This is primarily helpful for scripting.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-07 [b2678efd4] psql: Add \gx command
--->
-       <para>
-        Add <application>psql</application> <command>\gx</command> meta-command to execute
-        (<command>\g</command>) a query in expanded mode (<command>\x</command>)
-        (Christoph Berg)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-04-01 [f833c847b] Allow psql variable substitution to occur in backtick co
--->
-       <para>
-        Expand <application>psql</application> variable references in
-        backtick-executed strings (Tom Lane)
-       </para>
-
-       <para>
-        This is particularly useful in the new <application>psql</application>
-        conditional branch commands.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-01-30 [511ae628f] Make psql reject attempts to set special variables to in
-2017-02-01 [86322dc7e] Improve psql's behavior for \set and \unset of its contr
-2017-02-02 [fd6cd6980] Clean up psql's behavior for a few more control variable
--->
-       <para>
-        Prevent <application>psql</application>'s special variables from being set to
-        invalid values (Daniel V&eacute;rit&eacute;, Tom Lane)
-       </para>
-
-       <para>
-        Previously, setting one of <application>psql</application>'s special variables
-        to an invalid value silently resulted in the default behavior.
-        <command>\set</command> on a special variable now fails if the proposed
-        new value is invalid.  As a special exception, <command>\set</command>
-        with an empty or omitted new value, on a boolean-valued special
-        variable, still has the effect of setting the variable
-        to <literal>on</literal>; but now it actually acquires that value rather
-        than an empty string.  <command>\unset</command> on a special variable now
-        explicitly sets the variable to its default value, which is also
-        the value it acquires at startup.  In sum, a control variable now
-        always has a displayable value that reflects
-        what <application>psql</application> is actually doing.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-06 [a6c678f01] Add psql variables showing server version and psql versi
--->
-       <para>
-        Add variables showing server version and <application>psql</application> version
-        (Fabien Coelho)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-11-03 [a0f357e57] psql: Split up "Modifiers" column in \d and \dD
--->
-       <para>
-        Improve <application>psql</application>'s <command>\d</command> (display relation)
-        and <command>\dD</command> (display domain) commands to show collation,
-        nullable, and default properties in separate columns (Peter
-        Eisentraut)
-       </para>
-
-       <para>
-        Previously they were shown in a single <quote>Modifiers</quote> column.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-07-27 [77cb4a1d6] Standardize describe.c's behavior for no-matching-object
--->
-       <para>
-        Make the various <command>\d</command> commands handle no-matching-object
-        cases more consistently (Daniel Gustafsson)
-       </para>
-
-       <para>
-        They now all print the message about that to stderr, not stdout,
-        and the message wording is more consistent.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-08-18 [49917dbd7] Improve psql's tab completion for ALTER EXTENSION foo UP
-2016-08-18 [8019b5a89] Improve psql's tab completion for \l.
-2016-09-01 [76f9dd4fa] Improve tab completion for BEGIN & START|SET TRANSACTION
-2016-09-11 [52803098a] psql tab completion for CREATE DATABASE ... TEMPLATE ...
-2016-09-12 [63c1a8719] Fix recent commit for tab-completion of database templat
-2016-11-03 [1d15d0db5] psql: Tab-complete LOCK [TABLE] ... IN {ACCESS|ROW|SHARE
-2016-11-04 [927d7bb6b] Improve tab completion for CREATE TRIGGER.
-2016-11-08 [577f0bdd2] psql: Tab completion for renaming enum values.
-2017-03-01 [b5a388392] psql: Add tab completion for DEALLOCATE
-2017-03-16 [d7d77f382] psql: Add completion for \help DROP|ALTER
--->
-       <para>
-        Improve <application>psql</application>'s tab completion (Jeff Janes,
-        Ian Barwick, Andreas Karlsson, Sehrope Sarkuni, Thomas Munro,
-        Kevin Grittner, Dagfinn Ilmari Manns&aring;ker)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title><xref linkend="pgbench"/></title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2016-11-09 [41124a91e] pgbench: Allow the transaction log file prefix to be cha
--->
-       <para>
-        Add <application>pgbench</application> option <option>--log-prefix</option> to
-        control the log file prefix (Masahiko Sawada)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-01-20 [cdc2a7047] Allow backslash line continuations in pgbench's meta com
--->
-       <para>
-        Allow <application>pgbench</application>'s meta-commands to span multiple
-        lines (Fabien Coelho)
-       </para>
-
-       <para>
-        A meta-command can now be continued onto the next line by writing
-        backslash-return.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-08-11 [796818442] Remove pgbench's restriction on placement of -M switch.
--->
-       <para>
-        Remove restriction on placement of <option>-M</option> option relative to
-        other command line options (Tom Lane)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-   </sect3>
-
-   <sect3>
-    <title>Server Applications</title>
-
-    <itemizedlist>
-
-     <listitem>
-<!--
-2017-01-17 [cada1af31] Add compression support to pg_receivexlog
--->
-      <para>
-       Add <link
-       linkend="app-pgreceivewal"><application>pg_receivewal</application></link>
-       option <option>-Z</option>/<option>--compress</option> to specify compression
-       (Michael Paquier)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-01-04 [7c030783a] Add pg_recvlogical -\-endpos=LSN
--->
-      <para>
-       Add <link
-       linkend="app-pgrecvlogical"><application>pg_recvlogical</application></link> option
-       <option>--endpos</option> to specify the ending position (Craig Ringer)
-      </para>
-
-      <para>
-       This complements the existing <option>--startpos</option> option.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-10-19 [5d58c07a4] initdb pg_basebackup: Rename -\-noxxx options to -\-no-x
--->
-      <para>
-       Rename <link linkend="app-initdb"><application>initdb</application></link>
-       options <option>--noclean</option> and <option>--nosync</option> to be spelled
-       <option>--no-clean</option> and <option>--no-sync</option> (Vik Fearing,
-       Peter Eisentraut)
-      </para>
-
-      <para>
-       The old spellings are still supported.
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-    <sect4>
-     <title><link linkend="app-pgdump"><application>pg_dump</application></link>,
-     <link linkend="app-pg-dumpall"><application>pg_dumpall</application></link>,
-     <link linkend="app-pgrestore"><application>pg_restore</application></link></title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2016-09-20 [46b55e7f8] pg_restore: Add -N option to exclude schemas
--->
-       <para>
-        Allow <application>pg_restore</application> to exclude schemas (Michael Banck)
-       </para>
-
-       <para>
-        This adds a new <option>-N</option>/<option>--exclude-schema</option> option.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-11-29 [4fafa579b] Add -\-no-blobs option to pg_dump
--->
-       <para>
-        Add <option>--no-blobs</option> option to
-        <application>pg_dump</application> (Guillaume Lelarge)
-       </para>
-
-       <para>
-        This suppresses dumping of large objects.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-07 [9a83d56b3] Allow pg_dumpall to dump roles w/o user passwords
--->
-       <para>
-        Add <application>pg_dumpall</application> option
-        <option>--no-role-passwords</option> to omit role passwords
-        (Robins Tharakan, Simon Riggs)
-       </para>
-
-       <para>
-        This allows use of <application>pg_dumpall</application> by non-superusers;
-        without this option, it fails due to inability to read passwords.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-08-16 [e4892c681] pg_dump: Support using synchronized snapshots on standby
--->
-       <para>
-        Support using synchronized snapshots when dumping from a standby
-        server (Petr Jelinek)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-03-22 [96a7128b7] Sync pg_dump and pg_dumpall output
--->
-       <para>
-        Issue <function>fsync()</function> on the output files generated by
-        <application>pg_dump</application> and
-        <application>pg_dumpall</application> (Michael Paquier)
-       </para>
-
-       <para>
-        This provides more security that the output is safely stored on
-        disk before the program exits.  This can be disabled with
-        the new <option>--no-sync</option> option.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-
-    <title><xref linkend="app-pgbasebackup"/></title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2016-10-23 [56c7d8d45] Allow pg_basebackup to stream transaction log in tar mod
-2016-12-21 [ecbdc4c55] Forbid invalid combination of options in pg_basebackup.
--->
-       <para>
-        Allow <application>pg_basebackup</application> to stream write-ahead log in
-        tar mode (Magnus Hagander)
-       </para>
-
-       <para>
-        The <acronym>WAL</acronym> will be stored in a separate tar file from
-        the base backup.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-01-16 [e7b020f78] Make pg_basebackup use temporary replication slots
--->
-       <para>
-        Make <application>pg_basebackup</application> use temporary replication slots
-        (Magnus Hagander)
-       </para>
-
-       <para>
-        Temporary replication slots will be used by default when
-        <application>pg_basebackup</application> uses WAL streaming with default
-        options.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-09-29 [bc34223bc] pg_basebackup pg_receivexlog: Issue fsync more carefully
--->
-       <para>
-        Be more careful about fsync'ing in all required places
-        in <application>pg_basebackup</application> and
-        <application>pg_receivewal</application> (Michael Paquier)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-09-29 [6ed2d8584] pg_basebackup: Add -\-nosync option
-2016-10-19 [5d58c07a4] initdb pg_basebackup: Rename -\-noxxx options to -\-no-x
--->
-       <para>
-        Add <application>pg_basebackup</application> option <option>--no-sync</option> to
-        disable fsync (Michael Paquier)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-09-28 [6ad8ac602] Exclude additional directories in pg_basebackup
--->
-       <para>
-        Improve <application>pg_basebackup</application>'s handling of which
-        directories to skip (David Steele)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title><application><xref linkend="app-pg-ctl"/></application></title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2016-09-21 [e7010ce47] pg_ctl: Add wait option to promote action
--->
-       <para>
-        Add wait option for <application><xref linkend="app-pg-ctl"/></application>'s
-        promote operation (Peter Eisentraut)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-10-19 [0be22457d] pg_ctl: Add long options for -w and -W
--->
-       <para>
-        Add long options for <application>pg_ctl</application> wait (<option>--wait</option>)
-        and no-wait (<option>--no-wait</option>) (Vik Fearing)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2016-10-19 [caf936b09] pg_ctl: Add long option for -o
--->
-       <para>
-        Add long option for <application>pg_ctl</application> server options
-        (<option>--options</option>) (Peter Eisentraut)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-06-28 [f13ea95f9] Change pg_ctl to detect server-ready by watching status
--->
-       <para>
-        Make <literal>pg_ctl start --wait</literal> detect server-ready by
-        watching <filename>postmaster.pid</filename>, not by attempting connections
-        (Tom Lane)
-       </para>
-
-       <para>
-        The postmaster has been changed to report its ready-for-connections
-        status in <filename>postmaster.pid</filename>, and <application>pg_ctl</application>
-        now examines that file to detect whether startup is complete.
-        This is more efficient and reliable than the old method, and it
-        eliminates postmaster log entries about rejected connection
-        attempts during startup.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-06-26 [c61559ec3] Reduce pg_ctl's reaction time when waiting for postmaste
--->
-       <para>
-        Reduce <application>pg_ctl</application>'s reaction time when waiting for
-        postmaster start/stop (Tom Lane)
-       </para>
-
-       <para>
-        <application>pg_ctl</application> now probes ten times per second when waiting
-        for a postmaster state change, rather than once per second.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-07-05 [1bac5f552] pg_ctl: Make failure to complete operation a nonzero exi
--->
-       <para>
-        Ensure that <application>pg_ctl</application> exits with nonzero status if an
-        operation being waited for does not complete within the timeout
-        (Peter Eisentraut)
-       </para>
-
-       <para>
-        The <literal>start</literal> and <literal>promote</literal> operations now return
-        exit status 1, not 0, in such cases.  The <literal>stop</literal> operation
-        has always done that.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-   </sect3>
-
-   <sect3>
-    <title>Source Code</title>
-
-    <itemizedlist>
-
-     <listitem>
-<!--
-2016-08-15 [ca9112a42] Stamp HEAD as 10devel.
--->
-      <para>
-       Change to two-part release version numbering (Peter Eisentraut, Tom
-       Lane)
-      </para>
-
-      <para>
-       Release numbers will now have two parts (e.g., <literal>10.1</literal>)
-       rather than three (e.g., <literal>9.6.3</literal>).
-       Major versions will now increase just the first number, and minor
-       releases will increase just the second number.
-       Release branches will be referred to by single numbers
-       (e.g., <literal>10</literal> rather than <literal>9.6</literal>).
-       This change is intended to reduce user confusion about what is a
-       major or minor release of <productname>PostgreSQL</productname>.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-06-16 [cea258b63] Teach pgindent to skip files generated by bison or flex
-2017-06-21 [8ff6d4ec7] Adjust pgindent script to use pg_bsd_indent 2.0.
-2017-06-21 [e3860ffa4] Initial pgindent run with pg_bsd_indent version 2.0.
-2017-06-21 [c7b8998eb] Phase 2 of pgindent updates.
-2017-06-21 [382ceffdf] Phase 3 of pgindent updates.
-2017-06-21 [81f056c72] Remove entab and associated detritus.
--->
-      <para>
-       Improve behavior of <application>pgindent</application>
-       (Piotr Stefaniak, Tom Lane)
-      </para>
-
-      <para>
-       We have switched to a new version of <application>pg_bsd_indent</application>
-       based on recent improvements made by the FreeBSD project.  This
-       fixes numerous small bugs that led to odd C code formatting
-       decisions.  Most notably, lines within parentheses (such as in a
-       multi-line function call) are now uniformly indented to match the
-       opening paren, even if that would result in code extending past the
-       right margin.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-23 [eccfef81e] ICU support
--->
-      <para>
-       Allow the <link linkend="configure"><acronym>ICU</acronym></link> library to
-       optionally be used for collation support (Peter Eisentraut)
-      </para>
-
-      <para>
-       The <acronym>ICU</acronym> library has versioning that allows detection
-       of collation changes between versions.  It is enabled via configure
-       option <option>--with-icu</option>.  The default still uses the operating
-       system's native collation library.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-11-04 [c8ead2a39] Provide DLLEXPORT markers for C functions via PG_FUNCTIO
--->
-      <para>
-       Automatically mark all <link
-       linkend="xfunc-c"><function>PG_FUNCTION_INFO_V1</function></link> functions
-       as <literal>DLLEXPORT</literal>-ed on
-      <systemitem class="osname">Windows</systemitem> (Laurenz Albe)
-      </para>
-
-      <para>
-       If third-party code is using <literal>extern</literal> function
-       declarations, they should also add <literal>DLLEXPORT</literal> markers
-       to those declarations.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-11-08 [1833f1a1c] Simplify code by getting rid of SPI_push, SPI_pop, SPI_r
--->
-      <para>
-       Remove <acronym>SPI</acronym> functions <function>SPI_push()</function>,
-       <function>SPI_pop()</function>, <function>SPI_push_conditional()</function>,
-       <function>SPI_pop_conditional()</function>,
-       and <function>SPI_restore_connection()</function> as unnecessary (Tom Lane)
-      </para>
-
-      <para>
-       Their functionality now happens automatically.  There are now no-op
-       macros by these names so that external modules don't need to be
-       updated immediately, but eventually such calls should be removed.
-      </para>
-
-      <para>
-       A side effect of this change is that <function>SPI_palloc()</function> and
-       allied functions now require an active SPI connection; they do not
-       degenerate to simple <function>palloc()</function> if there is none.  That
-       previous behavior was not very useful and posed risks of unexpected
-       memory leaks.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-12-02 [13e14a78e] Management of free memory pages.
-2016-12-02 [13df76a53] Introduce dynamic shared memory areas.
-2016-12-19 [e13029a5c] Provide a DSA area for all parallel queries.
--->
-      <para>
-       Allow shared memory to be dynamically allocated (Thomas Munro,
-       Robert Haas)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-02-27 [58b25e981] Add "Slab" MemoryContext implementation for efficient eq
--->
-      <para>
-       Add slab-like memory allocator for efficient fixed-size allocations
-       (Tomas Vondra)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-10-09 [ecb0d20a9] Use unnamed POSIX semaphores, if available, on Linux and
--->
-      <para>
-       Use <acronym>POSIX</acronym> semaphores rather than SysV semaphores
-       on <systemitem class="osname">Linux</systemitem> and <systemitem
-       class="osname">FreeBSD</systemitem> (Tom Lane)
-      </para>
-
-      <para>
-       This avoids platform-specific limits on SysV semaphore usage.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-04-07 [e8fdbd58f] Improve 64bit atomics support.
--->
-      <para>
-       Improve support for 64-bit atomics (Andres Freund)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-10 [f8f1430ae] Enable 64 bit atomics on ARM64.
--->
-      <para>
-       Enable 64-bit atomic operations on <acronym>ARM64</acronym> (Roman
-       Shaposhnik)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-01-02 [1d63f7d2d] Use clock_gettime(), if available, in instr_time measure
--->
-      <para>
-       Switch to using <function>clock_gettime()</function>, if available, for
-       duration measurements (Tom Lane)
-      </para>
-
-      <para>
-       <function>gettimeofday()</function> is still used
-       if <function>clock_gettime()</function> is not available.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-12-05 [fe0a0b599] Replace PostmasterRandom() with a stronger source, secon
-2017-07-03 [bf723a274] Forbid gen_random_uuid() with -\-disable-strong-random
--->
-      <para>
-       Add more robust random number generators to be used for
-       cryptographically secure uses (Magnus Hagander, Michael Paquier,
-       Heikki Linnakangas)
-      </para>
-
-      <para>
-       If no strong random number generator can be
-       found, <link linkend="configure">configure</link> will fail unless
-       the <option>--disable-strong-random</option> option is used.  However, with
-       this option, <link linkend="pgcrypto"><application>pgcrypto</application></link>
-       functions requiring a strong random number generator will be disabled.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-08-15 [d7ab908fb] Distinguish wait-for-connection from wait-for-write-read
--->
-      <para>
-       Allow <function>WaitLatchOrSocket()</function> to wait for socket
-       connection on Windows (Andres Freund)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-04-06 [3f902354b] Clean up after insufficiently-researched optimization of
--->
-      <para>
-       <filename>tupconvert.c</filename> functions no longer convert tuples just to
-       embed a different composite-type OID in them (Ashutosh Bapat, Tom Lane)
-      </para>
-
-      <para>
-       The majority of callers don't care about the composite-type OID;
-       but if the result tuple is to be used as a composite Datum, steps
-       should be taken to make sure the correct OID is inserted in it.
-      </para>
-     </listitem>
-
-    <listitem>
-<!--
-2016-10-11 [2b860f52e] Remove "sco" and "unixware" ports.
--->
-     <para>
-      Remove <systemitem class="osname">SCO</systemitem> and <systemitem
-      class="osname">Unixware</systemitem> ports (Tom Lane)
-     </para>
-    </listitem>
-
-     <listitem>
-<!--
-2016-08-18 [e8306745e] doc: Speed up XSLT builds
-2016-08-24 [0e4cc1fc5] doc: Fix XSLT speedup with older upstream stylesheet ver
--->
-      <para>
-       Overhaul documentation <link linkend="docguide-toolsets">build
-       process</link> (Alexander Lakhin)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-04-06 [510074f9f] Remove use of Jade and DSSSL
--->
-      <para>
-       Use <acronym>XSLT</acronym> to build the <productname>PostgreSQL</productname>
-       documentation (Peter Eisentraut)
-      </para>
-
-      <para>
-       Previously <application>Jade</application>, <acronym>DSSSL</acronym>, and
-       <application>JadeTex</application> were used.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-11-15 [e36ddab11] Build HTML documentation using XSLT stylesheets by defau
--->
-      <para>
-       Build <acronym>HTML</acronym> documentation using <acronym>XSLT</acronym>
-       stylesheets by default (Peter Eisentraut)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Additional Modules</title>
-
-    <itemizedlist>
-
-     <listitem>
-<!--
-2016-09-29 [8e91e12bc] Allow contrib/file_fdw to read from a program, like COPY
--->
-      <para>
-       Allow <link linkend="file-fdw"><application>file_fdw</application></link> to read
-       from program output as well as files (Corey Huinker, Adam Gomaa)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-10-21 [7012b132d] postgres_fdw: Push down aggregates to remote servers.
--->
-      <para>
-       In <link linkend="postgres-fdw"><application>postgres_fdw</application></link>,
-       push aggregate functions to the remote server, when possible
-       (Jeevan Chalke, Ashutosh Bapat)
-      </para>
-
-      <para>
-       This reduces the amount of data that must be passed from the remote
-       server, and offloads aggregate computation from the requesting server.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-16 [b30fb56b0] postgres_fdw: Push down FULL JOINs with restriction clau
-2017-04-24 [332bec1e6] postgres_fdw: Fix join push down with extensions
--->
-      <para>
-       In <application>postgres_fdw</application>, push joins to the remote server in
-       more cases (David Rowley, Ashutosh Bapat, Etsuro Fujita)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-08-26 [ae025a159] Support OID system column in postgres_fdw.
--->
-      <para>
-       Properly support <type>OID</type> columns in
-       <application>postgres_fdw</application> tables (Etsuro Fujita)
-      </para>
-
-      <para>
-       Previously <type>OID</type> columns always returned zeros.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-21 [f7946a92b] Add btree_gist support for enum types.
--->
-      <para>
-       Allow <link linkend="btree-gist"><application>btree_gist</application></link>
-       and <link linkend="btree-gin"><application>btree_gin</application></link> to
-       index enum types (Andrew Dunstan)
-      </para>
-
-      <para>
-       This allows enums to be used in exclusion constraints.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-11-29 [11da83a0e] Add uuid to the set of types supported by contrib/btree_
--->
-      <para>
-       Add indexing support to <application>btree_gist</application> for the
-       <type>UUID</type> data type (Paul Jungwirth)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-09 [3717dc149] Add amcheck extension to contrib.
--->
-      <para>
-       Add <link linkend="amcheck"><application>amcheck</application></link> which can
-       check the validity of B-tree indexes (Peter Geoghegan)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-27 [a6f22e835] Show ignored constants as "$N" rather than "?" in pg_sta
--->
-      <para>
-       Show ignored constants as <literal>$N</literal> rather than <literal>?</literal>
-       in
-      <link
-      linkend="pgstatstatements"><application>pg_stat_statements</application></link>
-      (Lukas Fittl)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-09-27 [f31a931fa] Improve contrib/cube's handling of zero-D cubes, infinit
--->
-      <para>
-       Improve <link linkend="cube"><application>cube</application></link>'s handling
-       of zero-dimensional cubes (Tom Lane)
-      </para>
-
-      <para>
-       This also improves handling of <literal>infinite</literal> and
-       <literal>NaN</literal> values.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-09-29 [6e654546f] Don't bother to lock bufmgr partitions in pg_buffercache
--->
-      <para>
-       Allow <link
-       linkend="pgbuffercache"><application>pg_buffercache</application></link> to run
-       with fewer locks (Ivan Kartyshov)
-      </para>
-
-      <para>
-       This makes it less disruptive when run on production systems.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-02-03 [e759854a0] pgstattuple: Add pgstathashindex.
--->
-      <para>
-       Add <link linkend="pgstattuple"><application>pgstattuple</application></link>
-       function <function>pgstathashindex()</function> to view hash index
-       statistics (Ashutosh Sharma)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-09-29 [fd321a1df] Remove superuser checks in pgstattuple
--->
-      <para>
-       Use <command>GRANT</command> permissions to
-       control <application>pgstattuple</application> function usage (Stephen Frost)
-      </para>
-
-      <para>
-       This allows DBAs to allow non-superusers to run these functions.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2016-10-28 [d4b5d4cad] pgstattuple: Don't take heavyweight locks when examining
--->
-      <para>
-       Reduce locking when <application>pgstattuple</application> examines hash
-       indexes (Amit Kapila)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-03-17 [fef2bcdcb] pageinspect: Add page_checksum function
--->
-      <para>
-       Add <link linkend="pageinspect"><application>pageinspect</application></link>
-       function <function>page_checksum()</function> to show a page's checksum
-       (Tomas Vondra)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-04-04 [193f5f9e9] pageinspect: Add bt_page_items function with bytea argum
--->
-      <para>
-       Add <application>pageinspect</application>
-       function <function>bt_page_items()</function> to print page items from a
-       page image (Tomas Vondra)
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-2017-02-02 [08bf6e529] pageinspect: Support hash indexes.
--->
-      <para>
-       Add hash index support to <application>pageinspect</application> (Jesper
-       Pedersen, Ashutosh Sharma)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-  </sect2>
-
-  <sect2 id="release-10-acknowledgements">
-   <title>Acknowledgments</title>
-
-   <para>
-    The following individuals (in alphabetical order) have contributed to this
-    release as patch authors, committers, reviewers, testers, or reporters of
-    issues.
-   </para>
-
-   <simplelist>
-    <member>Adam Brightwell</member>
-    <member>Adam Brusselback</member>
-    <member>Adam Gomaa</member>
-    <member>Adam Sah</member>
-    <member>Adrian Klaver</member>
-    <member>Aidan Van Dyk</member>
-    <member>Aleksander Alekseev</member>
-    <member>Alexander Korotkov</member>
-    <member>Alexander Lakhin</member>
-    <member>Alexander Sosna</member>
-    <member>Alexey Bashtanov</member>
-    <member>Alexey Grishchenko</member>
-    <member>Alexey Isayko</member>
-    <member>&Aacute;lvaro Hern&aacute;ndez Tortosa</member>
-    <member>&Aacute;lvaro Herrera</member>
-    <member>Amit Kapila</member>
-    <member>Amit Khandekar</member>
-    <member>Amit Langote</member>
-    <member>Amul Sul</member>
-    <member>Anastasia Lubennikova</member>
-    <member>Andreas Joseph Krogh</member>
-    <member>Andreas Karlsson</member>
-    <member>Andreas Scherbaum</member>
-    <member>Andreas Seltenreich</member>
-    <member>Andres Freund</member>
-    <member>Andrew Dunstan</member>
-    <member>Andrew Gierth</member>
-    <member>Andrew Wheelwright</member>
-    <member>Andrey Borodin</member>
-    <member>Andrey Lizenko</member>
-    <member>Andy Abelisto</member>
-    <member>Antonin Houska</member>
-    <member>Ants Aasma</member>
-    <member>Arjen Nienhuis</member>
-    <member>Arseny Sher</member>
-    <member>Artur Zakirov</member>
-    <member>Ashutosh Bapat</member>
-    <member>Ashutosh Sharma</member>
-    <member>Ashwin Agrawal</member>
-    <member>Atsushi Torikoshi</member>
-    <member>Ayumi Ishii</member>
-    <member>Basil Bourque</member>
-    <member>Beena Emerson</member>
-    <member>Ben de Graaff</member>
-    <member>Benedikt Grundmann</member>
-    <member>Bernd Helmle</member>
-    <member>Brad DeJong</member>
-    <member>Brandur Leach</member>
-    <member>Breen Hagan</member>
-    <member>Bruce Momjian</member>
-    <member>Bruno Wolff III</member>
-    <member>Catalin Iacob</member>
-    <member>Chapman Flack</member>
-    <member>Chen Huajun</member>
-    <member>Choi Doo-Won</member>
-    <member>Chris Bandy</member>
-    <member>Chris Richards</member>
-    <member>Chris Ruprecht</member>
-    <member>Christian Ullrich</member>
-    <member>Christoph Berg</member>
-    <member>Chuanting Wang</member>
-    <member>Claudio Freire</member>
-    <member>Clinton Adams</member>
-    <member>Const Zhang</member>
-    <member>Constantin Pan</member>
-    <member>Corey Huinker</member>
-    <member>Craig Ringer</member>
-    <member>Cynthia Shang</member>
-    <member>Dagfinn Ilmari Manns&aring;ker</member>
-    <member>Daisuke Higuchi</member>
-    <member>Damian Quiroga</member>
-    <member>Dan Wood</member>
-    <member>Dang Minh Huong</member>
-    <member>Daniel Gustafsson</member>
-    <member>Daniel V&eacute;rit&eacute;</member>
-    <member>Daniel Westermann</member>
-    <member>Daniele Varrazzo</member>
-    <member>Danylo Hlynskyi</member>
-    <member>Darko Prelec</member>
-    <member>Dave Cramer</member>
-    <member>Dave Page</member>
-    <member>David Christensen</member>
-    <member>David Fetter</member>
-    <member>David Johnston</member>
-    <member>David Rader</member>
-    <member>David Rowley</member>
-    <member>David Steele</member>
-    <member>Dean Rasheed</member>
-    <member>Denis Smirnov</member>
-    <member>Denish Patel</member>
-    <member>Dennis Bj&ouml;rklund</member>
-    <member>Devrim G&uuml;nd&uuml;z</member>
-    <member>Dilip Kumar</member>
-    <member>Dilyan Palauzov</member>
-    <member>Dima Pavlov</member>
-    <member>Dimitry Ivanov</member>
-    <member>Dmitriy Sarafannikov</member>
-    <member>Dmitry Dolgov</member>
-    <member>Dmitry Fedin</member>
-    <member>Don Morrison</member>
-    <member>Egor Rogov</member>
-    <member>Eiji Seki</member>
-    <member>Emil Iggland</member>
-    <member>Emre Hasegeli</member>
-    <member>Enrique Meneses</member>
-    <member>Erik Nordstr&ouml;m</member>
-    <member>Erik Rijkers</member>
-    <member>Erwin Brandstetter</member>
-    <member>Etsuro Fujita</member>
-    <member>Eugen Konkov</member>
-    <member>Eugene Kazakov</member>
-    <member>Euler Taveira</member>
-    <member>Fabien Coelho</member>
-    <member>Fabr&iacute;zio de Royes Mello</member>
-    <member>Feike Steenbergen</member>
-    <member>Felix Gerzaguet</member>
-    <member>Filip Jirs&aacute;k</member>
-    <member>Fujii Masao</member>
-    <member>Gabriele Bartolini</member>
-    <member>Gabrielle Roth</member>
-    <member>Gao Zengqi</member>
-    <member>Gerdan Santos</member>
-    <member>Gianni Ciolli</member>
-    <member>Gilles Darold</member>
-    <member>Giuseppe Broccolo</member>
-    <member>Graham Dutton</member>
-    <member>Greg Atkins</member>
-    <member>Greg Burek</member>
-    <member>Grigory Smolkin</member>
-    <member>Guillaume Lelarge</member>
-    <member>Hans Buschmann</member>
-    <member>Haribabu Kommi</member>
-    <member>Heikki Linnakangas</member>
-    <member>Henry Boehlert</member>
-    <member>Huan Ruan</member>
-    <member>Ian Barwick</member>
-    <member>Igor Korot</member>
-    <member>Ildus Kurbangaliev</member>
-    <member>Ivan Kartyshov</member>
-    <member>Jaime Casanova</member>
-    <member>Jakob Egger</member>
-    <member>James Parks</member>
-    <member>Jarred Ward</member>
-    <member>Jason Li</member>
-    <member>Jason O'Donnell</member>
-    <member>Jason Petersen</member>
-    <member>Jeevan Chalke</member>
-    <member>Jeevan Ladhe</member>
-    <member>Jeff Dafoe</member>
-    <member>Jeff Davis</member>
-    <member>Jeff Janes</member>
-    <member>Jelte Fennema</member>
-    <member>Jeremy Finzel</member>
-    <member>Jeremy Schneider</member>
-    <member>Jeroen van der Ham</member>
-    <member>Jesper Pedersen</member>
-    <member>Jim Mlodgenski</member>
-    <member>Jim Nasby</member>
-    <member>Jinyu Zhang</member>
-    <member>Joe Conway</member>
-    <member>Joel Jacobson</member>
-    <member>John Harvey</member>
-    <member>Jon Nelson</member>
-    <member>Jordan Gigov</member>
-    <member>Josh Berkus</member>
-    <member>Josh Soref</member>
-    <member>Julian Markwort</member>
-    <member>Julien Rouhaud</member>
-    <member>Junseok Yang</member>
-    <member>Justin Muise</member>
-    <member>Justin Pryzby</member>
-    <member>Kacper Zuk</member>
-    <member>KaiGai Kohei</member>
-    <member>Karen Huddleston</member>
-    <member>Karl Lehenbauer</member>
-    <member>Karl O. Pinc</member>
-    <member>Keith Fiske</member>
-    <member>Kevin Grittner</member>
-    <member>Kim Rose Carlsen</member>
-    <member>Konstantin Evteev</member>
-    <member>Konstantin Knizhnik</member>
-    <member>Kuntal Ghosh</member>
-    <member>Kurt Kartaltepe</member>
-    <member>Kyle Conroy</member>
-    <member>Kyotaro Horiguchi</member>
-    <member>Laurenz Albe</member>
-    <member>Leonardo Cecchi</member>
-    <member>Ludovic Vaugeois-Pepin</member>
-    <member>Lukas Fittl</member>
-    <member>Magnus Hagander</member>
-    <member>Maksim Milyutin</member>
-    <member>Maksym Sobolyev</member>
-    <member>Marc Rassbach</member>
-    <member>Marc-Olaf Jaschke</member>
-    <member>Marcos Castedo</member>
-    <member>Marek Cvoren</member>
-    <member>Mark Dilger</member>
-    <member>Mark Kirkwood</member>
-    <member>Mark Pether</member>
-    <member>Marko Tiikkaja</member>
-    <member>Markus Winand</member>
-    <member>Marllius Ribeiro</member>
-    <member>Marti Raudsepp</member>
-    <member>Mart&iacute;n Marqu&eacute;s</member>
-    <member>Masahiko Sawada</member>
-    <member>Matheus Oliveira</member>
-    <member>Mathieu Fenniak</member>
-    <member>Merlin Moncure</member>
-    <member>Michael Banck</member>
-    <member>Michael Day</member>
-    <member>Michael Meskes</member>
-    <member>Michael Overmeyer</member>
-    <member>Michael Paquier</member>
-    <member>Mike Palmiotto</member>
-    <member>Milos Urbanek</member>
-    <member>Mithun Cy</member>
-    <member>Moshe Jacobson</member>
-    <member>Murtuza Zabuawala</member>
-    <member>Naoki Okano</member>
-    <member>Nathan Bossart</member>
-    <member>Nathan Wagner</member>
-    <member>Neha Khatri</member>
-    <member>Neha Sharma</member>
-    <member>Neil Anderson</member>
-    <member>Nicolas Baccelli</member>
-    <member>Nicolas Guini</member>
-    <member>Nicolas Thauvin</member>
-    <member>Nikhil Sontakke</member>
-    <member>Nikita Glukhov</member>
-    <member>Nikolaus Thiel</member>
-    <member>Nikolay Nikitin</member>
-    <member>Nikolay Shaplov</member>
-    <member>Noah Misch</member>
-    <member>Noriyoshi Shinoda</member>
-    <member>Olaf Gawenda</member>
-    <member>Oleg Bartunov</member>
-    <member>Oskari Saarenmaa</member>
-    <member>Otar Shavadze</member>
-    <member>Paresh More</member>
-    <member>Paul Jungwirth</member>
-    <member>Paul Ramsey</member>
-    <member>Pavan Deolasee</member>
-    <member>Pavel Golub</member>
-    <member>Pavel Han&aacute;k</member>
-    <member>Pavel Raiskup</member>
-    <member>Pavel Stehule</member>
-    <member>Peng Sun</member>
-    <member>Peter Eisentraut</member>
-    <member>Peter Geoghegan</member>
-    <member>Petr Jel&iacute;nek</member>
-    <member>Philippe Beaudoin</member>
-    <member>Pierre-Emmanuel Andr&eacute;</member>
-    <member>Piotr Stefaniak</member>
-    <member>Prabhat Sahu</member>
-    <member>QL Zhuo</member>
-    <member>Radek Slupik</member>
-    <member>Rafa de la Torre</member>
-    <member>Rafia Sabih</member>
-    <member>Ragnar Ouchterlony</member>
-    <member>Rahila Syed</member>
-    <member>Rajkumar Raghuwanshi</member>
-    <member>Regina Obe</member>
-    <member>Richard Pistole</member>
-    <member>Robert Haas</member>
-    <member>Robins Tharakan</member>
-    <member>Rod Taylor</member>
-    <member>Roman Shaposhnik</member>
-    <member>Rushabh Lathia</member>
-    <member>Ryan Murphy</member>
-    <member>Sandeep Thakkar</member>
-    <member>Scott Milliken</member>
-    <member>Sean Farrell</member>
-    <member>Sebastian Luque</member>
-    <member>Sehrope Sarkuni</member>
-    <member>Sergey Burladyan</member>
-    <member>Sergey Koposov</member>
-    <member>Shay Rojansky</member>
-    <member>Shinichi Matsuda</member>
-    <member>Sho Kato</member>
-    <member>Simon Riggs</member>
-    <member>Simone Gotti</member>
-    <member>Spencer Thomason</member>
-    <member>Stas Kelvich</member>
-    <member>Stepan Pesternikov</member>
-    <member>Stephen Frost</member>
-    <member>Steve Randall</member>
-    <member>Steve Singer</member>
-    <member>Steven Fackler</member>
-    <member>Steven Winfield</member>
-    <member>Suraj Kharage</member>
-    <member>Sveinn Sveinsson</member>
-    <member>Sven R. Kunze</member>
-    <member>Tahir Fakhroutdinov</member>
-    <member>Taiki Kondo</member>
-    <member>Takayuki Tsunakawa</member>
-    <member>Takeshi Ideriha</member>
-    <member>Tatsuo Ishii</member>
-    <member>Tatsuro Yamada</member>
-    <member>Teodor Sigaev</member>
-    <member>Thom Brown</member>
-    <member>Thomas Kellerer</member>
-    <member>Thomas Munro</member>
-    <member>Tim Goodaire</member>
-    <member>Tobias Bussmann</member>
-    <member>Tom Dunstan</member>
-    <member>Tom Lane</member>
-    <member>Tom van Tilburg</member>
-    <member>Tomas Vondra</member>
-    <member>Tomonari Katsumata</member>
-    <member>Tushar Ahuja</member>
-    <member>Vaishnavi Prabakaran</member>
-    <member>Venkata Balaji Nagothi</member>
-    <member>Vicky Vergara</member>
-    <member>Victor Wagner</member>
-    <member>Vik Fearing</member>
-    <member>Vinayak Pokale</member>
-    <member>Viren Negi</member>
-    <member>Vitaly Burovoy</member>
-    <member>Vladimir Kunshchikov</member>
-    <member>Vladimir Rusinov</member>
-    <member>Yi Wen Wong</member>
-    <member>Yugo Nagata</member>
-    <member>Zhen Ming Yang</member>
-    <member>Zhou Digoal</member>
-   </simplelist>
-  </sect2>
-
- </sect1>
diff --git a/doc/src/sgml/release-11.sgml b/doc/src/sgml/release-11.sgml
deleted file mode 100644 (file)
index 09b80b8..0000000
+++ /dev/null
@@ -1,3962 +0,0 @@
-<!-- doc/src/sgml/release-11.sgml -->
-<!-- See header comment in release.sgml about typical markup -->
-
- <sect1 id="release-11-1">
-  <title>Release 11.1</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2018-11-08</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 11.0.
-   For information about new features in major release 11, see
-   <xref linkend="release-11"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 11.1</title>
-
-   <para>
-    A dump/restore is not required for those running 11.X.
-   </para>
-
-   <para>
-    However, if you use the <filename>pg_stat_statements</filename> extension,
-    see the changelog entry below about that.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [350410be4] 2018-10-19 00:50:16 -0400
-Branch: REL_11_STABLE [06292bb94] 2018-10-19 00:50:16 -0400
-Branch: REL_10_STABLE [09397f0ed] 2018-10-19 00:50:17 -0400
--->
-     <para>
-      Ensure proper quoting of transition table names
-      when <application>pg_dump</application> emits <command>CREATE TRIGGER
-      ... REFERENCING</command> commands (Tom Lane)
-     </para>
-
-     <para>
-      This oversight could be exploited by an unprivileged user to gain
-      superuser privileges during the next dump/reload
-      or <application>pg_upgrade</application> run.  (CVE-2018-16850)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-Branch: master [dfa608141] 2018-11-03 13:25:19 -0300
-Branch: REL_11_STABLE [33e6c34c3] 2018-11-03 13:25:29 -0300
--->
-     <para>
-      Apply the tablespace specified for a partitioned index when creating a
-      child index (&Aacute;lvaro Herrera)
-     </para>
-
-     <para>
-      Previously, child indexes were always created in the default
-      tablespace.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-Branch: master [1ce4a807e] 2018-11-03 11:05:35 +1300
-Branch: REL_11_STABLE [fd6449aa3] 2018-11-03 11:08:03 +1300
--->
-     <para>
-      Fix NULL handling in parallel hashed multi-batch left joins (Andrew
-      Gierth, Thomas Munro)
-     </para>
-
-     <para>
-      Outer-relation rows with null values of the hash key were omitted from
-      the join result.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [14a158f9b] 2018-10-30 15:26:11 -0400
-Branch: REL_11_STABLE [2bd6dcdef] 2018-10-30 15:26:11 -0400
--->
-     <para>
-      Fix incorrect processing of an array-type coercion expression
-      appearing within a <literal>CASE</literal> clause that has a constant
-      test expression (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Dunstan <andrew@dunslane.net>
-Branch: master [040a1df61] 2018-10-24 10:56:27 -0400
-Branch: REL_11_STABLE [372102b81] 2018-10-24 10:57:35 -0400
--->
-     <para>
-      Fix incorrect expansion of tuples lacking recently-added columns
-      (Andrew Dunstan, Amit Langote)
-     </para>
-
-     <para>
-      This is known to lead to crashes in triggers on tables with
-      recently-added columns, and could have other symptoms as well.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [15c729347] 2018-11-04 13:25:39 -0500
-Branch: REL_11_STABLE [4b0c3712c] 2018-11-04 13:25:39 -0500
-Branch: master [9b6fb9fbb] 2018-11-04 14:50:55 -0500
-Branch: REL_11_STABLE [d358da814] 2018-11-04 14:50:55 -0500
--->
-     <para>
-      Fix bugs with named or defaulted arguments in <command>CALL</command>
-      argument lists (Tom Lane, Pavel Stehule)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andres Freund <andres@anarazel.de>
-Branch: master [4c640f4f3] 2018-11-03 14:48:42 -0700
-Branch: REL_11_STABLE [fd59b29c8] 2018-11-03 14:48:42 -0700
-Branch: master [793beab37] 2018-11-03 15:55:23 -0700
-Branch: REL_11_STABLE [6eb31cedb] 2018-11-03 16:00:00 -0700
--->
-     <para>
-      Fix strictness check for strict aggregates with <literal>ORDER
-      BY</literal> columns (Andrew Gierth, Andres Freund)
-     </para>
-
-     <para>
-      The strictness logic incorrectly ignored rows for which
-      the <literal>ORDER BY</literal> value(s) were null.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [5d28c9bd7] 2018-11-06 18:33:28 -0500
-Branch: REL_11_STABLE [05f84605d] 2018-11-06 18:33:33 -0500
--->
-     <para>
-      Disable <varname>recheck_on_update</varname> optimization (Tom Lane)
-     </para>
-
-     <para>
-      This new-in-v11 feature turns out not to have been ready for prime
-      time.  Disable it until something can be done about it.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [dc3e436b1] 2018-11-05 11:04:02 +0900
-Branch: REL_11_STABLE [7c222d5e5] 2018-11-05 11:04:14 +0900
-Branch: REL_10_STABLE [8aad248f7] 2018-11-05 11:04:20 +0900
--->
-     <para>
-      Prevent creation of a partition in a trigger attached to its parent
-      table (Amit Langote)
-     </para>
-
-     <para>
-      Ideally we'd allow that, but for the moment it has to be blocked to
-      avoid crashes.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [4bc772e2a] 2018-11-05 09:14:33 +0900
-Branch: REL_11_STABLE [948af5232] 2018-11-05 09:15:08 +0900
-Branch: REL_10_STABLE [70c38e708] 2018-11-05 09:15:25 +0900
--->
-     <para>
-      Fix problems with applying <literal>ON COMMIT DELETE ROWS</literal> to
-      a partitioned temporary table (Amit Langote)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [981dc2baa] 2018-11-03 13:56:10 -0400
-Branch: REL_11_STABLE [bf4a9562e] 2018-11-03 13:56:10 -0400
-Branch: REL_10_STABLE [f7ba6e951] 2018-11-03 13:56:10 -0400
-Branch: REL9_6_STABLE [73dbaed93] 2018-11-03 13:56:10 -0400
-Branch: REL9_5_STABLE [6e6092989] 2018-11-03 13:56:10 -0400
-Branch: REL9_4_STABLE [0ae902e39] 2018-11-03 13:56:10 -0400
-Branch: REL9_3_STABLE [33c697e9d] 2018-11-03 13:56:10 -0400
--->
-     <para>
-      Fix character-class checks to not fail on Windows for Unicode
-      characters above U+FFFF (Tom Lane, Kenji Uno)
-     </para>
-
-     <para>
-      This bug affected full-text-search operations, as well
-      as <filename>contrib/ltree</filename>
-      and <filename>contrib/pg_trgm</filename>.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [2ddb9149d] 2018-10-19 21:39:21 -0400
-Branch: REL_11_STABLE [7aaeb7b45] 2018-10-19 21:39:21 -0400
-Branch: REL_10_STABLE [3bdef6d21] 2018-10-19 21:39:21 -0400
-Branch: REL9_6_STABLE [cbab94077] 2018-10-19 21:39:22 -0400
-Branch: REL9_5_STABLE [f4941666a] 2018-10-19 21:39:22 -0400
--->
-     <para>
-      Ensure that the server will process
-      already-received <literal>NOTIFY</literal>
-      and <literal>SIGTERM</literal> interrupts before waiting for client
-      input (Jeff Janes, Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [696b0c5fd] 2018-10-31 17:05:03 -0400
-Branch: REL_11_STABLE [2493e2c2d] 2018-10-31 17:04:42 -0400
-Branch: REL_10_STABLE [92e371f9b] 2018-10-31 17:04:43 -0400
-Branch: REL9_6_STABLE [558571afc] 2018-10-31 17:04:43 -0400
-Branch: REL9_5_STABLE [156a737a6] 2018-10-31 17:04:43 -0400
-Branch: REL9_4_STABLE [95015b1f8] 2018-10-31 17:04:43 -0400
-Branch: REL9_3_STABLE [82dd1c271] 2018-10-31 17:04:43 -0400
--->
-     <para>
-      Fix memory leak in repeated SP-GiST index scans (Tom Lane)
-     </para>
-
-     <para>
-      This is only known to amount to anything significant in cases where
-      an exclusion constraint using SP-GiST receives many new index entries
-      in a single command.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andres Freund <andres@anarazel.de>
-Branch: master [691d79a07] 2018-10-31 15:46:39 -0700
-Branch: REL_11_STABLE [c33a01c79] 2018-10-31 15:46:40 -0700
-Branch: REL_10_STABLE [021e1c329] 2018-10-31 15:46:40 -0700
-Branch: REL9_6_STABLE [d35fd17cb] 2018-10-31 15:46:40 -0700
-Branch: REL9_5_STABLE [679cb44e4] 2018-10-31 15:46:40 -0700
-Branch: REL9_4_STABLE [cf358a2c0] 2018-10-31 15:46:40 -0700
--->
-     <para>
-      Prevent starting the server with <varname>wal_level</varname> set
-      to too low a value to support an existing replication slot (Andres
-      Freund)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [4247db625] 2018-10-19 22:22:57 -0400
-Branch: REL_11_STABLE [d30d27a52] 2018-10-19 22:22:57 -0400
-Branch: REL_10_STABLE [ecc59e31a] 2018-10-19 22:22:57 -0400
-Branch: REL9_6_STABLE [34aad21cb] 2018-10-19 22:22:57 -0400
-Branch: REL9_5_STABLE [ac3be116a] 2018-10-19 22:22:57 -0400
--->
-     <para>
-      Fix <application>psql</application>, as well as documentation
-      examples, to call <function>PQconsumeInput()</function> before
-      each <function>PQnotifies()</function> call (Tom Lane)
-     </para>
-
-     <para>
-      This fixes cases in which <application>psql</application> would not
-      report receipt of a <literal>NOTIFY</literal> message until after the
-      next command.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [d55241af7] 2018-10-19 22:44:12 +0900
-Branch: REL_11_STABLE [cc7f27eae] 2018-10-19 22:45:07 +0900
--->
-     <para>
-      Fix <application>pg_verify_checksums</application>'s determination of
-      which files to check the checksums of (Michael Paquier)
-     </para>
-
-     <para>
-      In some cases it complained about files that are not expected to have
-      checksums.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-Branch: master [edb979766] 2018-09-25 09:55:44 +0900
-Branch: REL_11_STABLE Release: REL_11_0 [a3bb831ef] 2018-09-25 09:56:41 +0900
-Branch: REL_10_STABLE [90a1f9786] 2018-09-25 09:56:57 +0900
--->
-     <para>
-      In <filename>contrib/pg_stat_statements</filename>, disallow
-      the <literal>pg_read_all_stats</literal> role from
-      executing <function>pg_stat_statements_reset()</function>
-      (Haribabu Kommi)
-     </para>
-
-     <para>
-      <literal>pg_read_all_stats</literal> is only meant to grant permission
-      to read statistics, not to change them, so this grant was incorrect.
-     </para>
-
-     <para>
-      To cause this change to take effect, run <literal>ALTER EXTENSION
-      pg_stat_statements UPDATE</literal> in each database
-      where <filename>pg_stat_statements</filename> has been installed.
-      (A database freshly created in 11.0 should not need this, but a
-      database upgraded from a previous release probably still contains
-      the old version of <filename>pg_stat_statements</filename>.  The
-      <literal>UPDATE</literal> command is harmless if the module was
-      already updated.)
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [003c68a3b] 2018-11-06 13:25:24 -0500
-Branch: REL_11_STABLE [1f28ec6be] 2018-11-06 13:25:24 -0500
-Branch: REL_10_STABLE [b2e754c14] 2018-11-06 13:25:24 -0500
--->
-     <para>
-      Rename red-black tree support functions to use <literal>rbt</literal>
-      prefix not <literal>rb</literal> prefix (Tom Lane)
-     </para>
-
-     <para>
-      This avoids name collisions with Ruby functions, which broke
-      PL/Ruby.  It's hoped that there are no other affected extensions.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [1440c461f] 2018-11-02 18:54:00 -0400
-Branch: REL_11_STABLE [df1d749a7] 2018-11-02 18:54:00 -0400
-Branch: REL_10_STABLE [229a5c8ad] 2018-11-02 18:54:00 -0400
-Branch: REL9_6_STABLE [401202b79] 2018-11-02 18:54:00 -0400
-Branch: REL9_5_STABLE [94ea1cf73] 2018-11-02 18:54:00 -0400
-Branch: REL9_4_STABLE [1b5e8b408] 2018-11-02 18:54:00 -0400
-Branch: REL9_3_STABLE [1aad3a724] 2018-11-02 18:54:00 -0400
-Branch: master [e74dd00f5] 2018-10-18 14:55:23 -0400
-Branch: REL_11_STABLE [d1e869d1e] 2018-10-18 14:55:23 -0400
-Branch: REL_10_STABLE [34f9944c2] 2018-10-18 14:55:23 -0400
-Branch: REL9_6_STABLE [1b92ca9e2] 2018-10-18 14:55:23 -0400
-Branch: REL9_5_STABLE [021b355cd] 2018-10-18 14:55:23 -0400
-Branch: REL9_4_STABLE [0749acca5] 2018-10-18 14:55:23 -0400
-Branch: REL9_3_STABLE [015fd381f] 2018-10-18 14:55:23 -0400
-Branch: master [68fc227dd] 2018-10-16 16:27:15 -0400
-Branch: REL_11_STABLE [1a69f738d] 2018-10-16 16:27:15 -0400
-Branch: REL_10_STABLE [ee6c08b01] 2018-10-16 16:27:15 -0400
-Branch: REL9_6_STABLE [5777a9ff8] 2018-10-16 16:27:15 -0400
-Branch: REL9_5_STABLE [d0ab588cc] 2018-10-16 16:27:15 -0400
-Branch: REL9_4_STABLE [486e6f8d9] 2018-10-16 16:27:15 -0400
-Branch: REL9_3_STABLE [19ac2cb2a] 2018-10-16 16:27:15 -0400
-Branch: master [5e2217131] 2018-09-25 13:23:29 -0400
-Branch: REL_11_STABLE Release: REL_11_0 [9590f7d6c] 2018-09-25 13:23:29 -0400
-Branch: REL_10_STABLE [736c3a48c] 2018-09-25 13:23:29 -0400
-Branch: REL9_6_STABLE [0a4456a70] 2018-09-25 13:23:29 -0400
-Branch: REL9_5_STABLE [6dc28d291] 2018-09-25 13:23:29 -0400
-Branch: REL9_4_STABLE [a5361b593] 2018-09-25 13:23:29 -0400
-Branch: REL9_3_STABLE [6019247a5] 2018-09-25 13:23:29 -0400
--->
-     <para>
-      Fix build problems on macOS 10.14 (Mojave) (Tom Lane)
-     </para>
-
-     <para>
-      Adjust <application>configure</application> to add
-      an <option>-isysroot</option> switch to <varname>CPPFLAGS</varname>;
-      without this, PL/Perl and PL/Tcl fail to configure or build on macOS
-      10.14.  The specific sysroot used can be overridden at configure time
-      or build time by setting the <varname>PG_SYSROOT</varname> variable in
-      the arguments of <application>configure</application>
-      or <application>make</application>.
-     </para>
-
-     <para>
-      It is now recommended that Perl-related extensions
-      write <literal>$(perl_includespec)</literal> rather
-      than <literal>-I$(perl_archlibexp)/CORE</literal> in their compiler
-      flags.  The latter continues to work on most platforms, but not recent
-      macOS.
-     </para>
-
-     <para>
-      Also, it should no longer be necessary to
-      specify <option>--with-tclconfig</option> manually to get PL/Tcl to
-      build on recent macOS releases.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Dunstan <andrew@dunslane.net>
-Branch: master [1df92eeaf] 2018-10-28 12:22:32 -0400
-Branch: REL_11_STABLE [8cb5e67d1] 2018-10-28 12:23:19 -0400
-Branch: REL_10_STABLE [a71f55652] 2018-10-28 12:25:10 -0400
-Branch: REL9_6_STABLE [9fd6d4eae] 2018-10-28 12:25:56 -0400
-Branch: REL9_5_STABLE [ba103dc87] 2018-10-28 12:26:05 -0400
-Branch: REL9_4_STABLE [698255147] 2018-10-28 12:26:14 -0400
-Branch: REL9_3_STABLE [075641fd0] 2018-10-28 12:27:58 -0400
--->
-     <para>
-      Fix MSVC build and regression-test scripts to work on recent Perl
-      versions (Andrew Dunstan)
-     </para>
-
-     <para>
-      Perl no longer includes the current directory in its search path
-      by default; work around that.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Andrew Dunstan <andrew@dunslane.net>
-Branch: master [ce5d3424d] 2018-10-20 09:02:36 -0400
-Branch: REL_11_STABLE [a0a8671a6] 2018-10-20 09:10:02 -0400
-Branch: REL_10_STABLE [f4b67efdc] 2018-10-20 09:10:18 -0400
-Branch: REL9_6_STABLE [42a93da25] 2018-10-20 09:10:54 -0400
-Branch: REL9_5_STABLE [cc02db82c] 2018-10-20 09:11:18 -0400
--->
-     <para>
-      On Windows, allow the regression tests to be run by an Administrator
-      account (Andrew Dunstan)
-     </para>
-
-     <para>
-      To do this safely, <application>pg_regress</application> now gives up
-      any such privileges at startup.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-Branch: master [5c2e0ca5f] 2018-10-31 08:35:50 -0400
-Branch: REL_11_STABLE [58c45fdaa] 2018-10-31 08:36:06 -0400
-Branch: REL_10_STABLE [671f43d88] 2018-10-31 08:36:15 -0400
-Branch: REL9_6_STABLE [bb761c6a0] 2018-10-31 08:36:22 -0400
-Branch: REL9_5_STABLE [811d8cb87] 2018-10-31 08:36:29 -0400
-Branch: REL9_4_STABLE [d651e9e7c] 2018-10-31 08:36:35 -0400
-Branch: REL9_3_STABLE [3bf4edace] 2018-10-31 08:36:41 -0400
-Branch: master [13877d30f] 2018-10-19 17:01:34 -0400
-Branch: REL_11_STABLE [d2259c26b] 2018-10-19 17:01:49 -0400
-Branch: REL_10_STABLE [5777c93af] 2018-10-19 17:01:56 -0400
-Branch: REL9_6_STABLE [185f135c9] 2018-10-19 17:02:05 -0400
-Branch: REL9_5_STABLE [56170609b] 2018-10-19 17:02:12 -0400
-Branch: REL9_4_STABLE [9abbfc35c] 2018-10-19 17:02:20 -0400
-Branch: REL9_3_STABLE [84261eb10] 2018-10-19 17:02:26 -0400
--->
-     <para>
-      Update time zone data files to <application>tzdata</application>
-      release 2018g for DST law changes in Chile, Fiji, Morocco, and Russia
-      (Volgograd), plus historical corrections for China, Hawaii, Japan,
-      Macau, and North Korea.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-11">
-  <title>Release 11</title>
-
-  <formalpara>
-   <title>Release date:</title>
-   <para>2018-10-18</para>
-  </formalpara>
-
-  <sect2>
-   <title>Overview</title>
-
-   <para>
-    Major enhancements in <productname>PostgreSQL</productname> 11 include:
-   </para>
-
-   <!-- Items in this list summarize one or more items below -->
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Improvements to partitioning functionality, including:
-      <itemizedlist>
-       <listitem>
-        <para>
-         Add support for partitioning by a hash key
-        </para>
-       </listitem>
-       <listitem>
-        <para>
-         Add support for <literal>PRIMARY KEY</literal>, <literal>FOREIGN
-         KEY</literal>, indexes, and triggers on partitioned tables
-        </para>
-       </listitem>
-       <listitem>
-        <para>
-         Allow creation of a <quote>default</quote> partition for storing
-         data that does not match any of the remaining partitions
-        </para>
-       </listitem>
-       <listitem>
-        <para>
-         <command>UPDATE</command> statements that change a partition key
-         column now cause affected rows to be moved to the appropriate
-         partitions
-        </para>
-       </listitem>
-       <listitem>
-        <para>
-         Improve <command>SELECT</command> performance through enhanced
-         partition elimination strategies during query planning and execution
-        </para>
-       </listitem>
-      </itemizedlist>
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improvements to parallelism, including:
-      <itemizedlist>
-       <listitem>
-        <para>
-         <command>CREATE INDEX</command> can now use parallel processing
-         while building a B-tree index
-        </para>
-       </listitem>
-       <listitem>
-        <para>
-         Parallelization is now possible in <command>CREATE TABLE
-         ... AS</command>,
-         <command>CREATE MATERIALIZED VIEW</command>, and certain
-         queries using <literal>UNION</literal>
-        </para>
-       </listitem>
-       <listitem>
-        <para>
-         Parallelized hash joins and parallelized sequential scans now
-         perform better
-        </para>
-       </listitem>
-      </itemizedlist>
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      SQL stored procedures that support embedded transactions
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Optional Just-in-Time (JIT) compilation for some SQL code, speeding
-      evaluation of expressions
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Window functions now support all framing options shown in the SQL:2011
-      standard, including <literal>RANGE <replaceable>distance</replaceable>
-      PRECEDING/FOLLOWING</literal>, <literal>GROUPS</literal> mode, and
-      frame exclusion options
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Covering indexes can now be created, using the
-      <literal>INCLUDE</literal> clause of <command>CREATE INDEX</command>
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Many other useful performance improvements, including the ability to
-      avoid a table rewrite for <command>ALTER TABLE ... ADD COLUMN</command>
-      with a non-null column default
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-   <para>
-    The above items are explained in more detail in the sections below.
-   </para>
-
-  </sect2>
-
-  <sect2>
-
-  <title>Migration to Version 11</title>
-
-   <para>
-    A dump/restore using <xref linkend="app-pg-dumpall"/>, or use of <xref
-    linkend="pgupgrade"/>, is required for those wishing to migrate data
-    from any previous release.
-   </para>
-
-   <para>
-    Version 11 contains a number of changes that may affect compatibility
-    with previous releases.  Observe the following incompatibilities:
-   </para>
-
-   <itemizedlist>
-
-    <listitem>
-<!--
-2018-01-22 [b3f840120] Move handling of database properties from pg_dumpall int
-2018-01-23 [160a4f62e] In pg_dump, force reconnection after issuing ALTER DATAB
-2018-01-25 [0d4e6ed30] Clean up some aspects of pg_dump/pg_restore item-selecti
--->
-
-       <para>
-        Make <link
-        linkend="app-pgdump"><application>pg_dump</application></link>
-        dump the properties of a database, not just its contents
-        (Haribabu Kommi)
-       </para>
-
-       <para>
-        Previously, attributes of the database itself, such as database-level
-        <command>GRANT</command>/<command>REVOKE</command> permissions and
-        <command>ALTER DATABASE SET</command> variable settings, were only
-        dumped by <link linkend="app-pg-dumpall"><application>pg_dumpall</application></link>.
-        Now <command>pg_dump --create</command> and
-        <command>pg_restore --create</command> will restore these database
-        properties in addition to the objects within the
-        database.  <command>pg_dumpall -g</command> now only dumps role-
-        and tablespace-related attributes.
-        <application>pg_dumpall</application>'s complete output (without
-        <option>-g</option>) is unchanged.
-       </para>
-
-       <para>
-        <application>pg_dump</application> and
-        <application>pg_restore</application>, without
-        <option>--create</option>, no longer dump/restore database-level
-        comments and security labels; those are now treated as properties of
-        the database.
-       </para>
-
-       <para>
-        <application>pg_dumpall</application>'s output script will now always
-        create databases with their original locale and encoding, and hence
-        will fail if the locale or encoding name is unknown to the
-        destination system.  Previously, <command>CREATE DATABASE</command>
-        would be emitted without these specifications if the database locale
-        and encoding matched the old cluster's defaults.
-       </para>
-
-       <para>
-        <command>pg_dumpall --clean</command> now restores the original
-        locale and encoding settings of the <literal>postgres</literal>
-        and <literal>template1</literal> databases, as well as those of
-        user-created databases.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-06-18 [b97a3465d] Consider syntactic form when disambiguating function vs
-2018-06-18 [45e98ee73] Remove obsolete prohibition on function name matching a
--->
-
-       <para>
-        Consider syntactic form when disambiguating function versus column
-        references (Tom Lane)
-       </para>
-
-       <para>
-        When <replaceable>x</replaceable> is a table name or composite
-        column, <productname>PostgreSQL</productname> has traditionally
-        considered the syntactic
-        forms <literal><replaceable>f</replaceable>(<replaceable>x</replaceable>)</literal>
-        and <literal><replaceable>x</replaceable>.<replaceable>f</replaceable></literal>
-        to be equivalent, allowing tricks such as writing a function and
-        then using it as though it were a computed-on-demand column.
-        However, if both interpretations are feasible, the column
-        interpretation was always chosen, leading to surprising results if
-        the user intended the function interpretation.  Now, if there is
-        ambiguity, the interpretation that matches the syntactic form is
-        chosen.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-09-04 [fb466d7b5] Fully enforce uniqueness of constraint names.
--->
-       <para>
-        Fully enforce uniqueness of table and domain constraint names
-        (Tom Lane)
-       </para>
-
-       <para>
-        <productname>PostgreSQL</productname> expects the names of a table's
-        constraints to be distinct, and likewise for the names of a domain's
-        constraints.  However, there was not rigid enforcement of this, and
-        previously there were corner cases where duplicate names could be
-        created.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-29 [61b200e2f] Avoid wrong results for power() with NaN input on some p
-2018-04-29 [6bdf1303b] Avoid wrong results for power() with NaN input on more p
-2018-05-17 [d1fc750b5] Make numeric power() handle NaNs according to the modern
--->
-
-       <para>
-        Make <function>power(numeric, numeric)</function>
-        and <function>power(float8, float8)</function>
-        handle <literal>NaN</literal> inputs according to the POSIX standard
-        (Tom Lane, Dang Minh Huong)
-       </para>
-
-       <para>
-        POSIX says that <literal>NaN ^ 0 = 1</literal> and <literal>1 ^ NaN
-        = 1</literal>, but all other cases with <literal>NaN</literal>
-        input(s) should return <literal>NaN</literal>.
-        <function>power(numeric, numeric)</function> just
-        returned <literal>NaN</literal> in all such cases; now it honors the
-        two exceptions.  <function>power(float8, float8)</function> followed
-        the standard if the C library does; but on some old Unix platforms
-        the library doesn't, and there were also problems on some versions
-        of Windows.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-17 [e87d4965b] Prevent to_number() from losing data when template doesn
--->
-
-       <para>
-        Prevent <link
-        linkend="functions-formatting-numeric-table"><function>to_number()</function></link>
-        from consuming characters when the template separator does not
-        match (Oliver Ford)
-       </para>
-
-       <para>
-        Specifically, <command>SELECT to_number('1234', '9,999')</command>
-        used to return <literal>134</literal>.  It will now
-        return <literal>1234</literal>.  <literal>L</literal> and
-        <literal>TH</literal> now only consume characters that are not
-        digits, positive/negative signs, decimal points, or commas.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-18 [976a1a48f] Improve to_date/to_number/to_timestamp behavior with mul
--->
-
-       <para>
-        Fix <link
-        linkend="functions-formatting"><function>to_date()</function></link>,
-        <function>to_number()</function>, and
-        <function>to_timestamp()</function> to skip a character for each
-        template character (Tom Lane)
-       </para>
-
-       <para>
-        Previously, they skipped one <emphasis>byte</emphasis> for each byte
-        of template character, resulting in strange behavior if either string
-        contained multibyte characters.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-18 [63ca86318] Fix quoted-substring handling in format parsing for to_c
--->
-
-       <para>
-        Adjust the handling of backslashes inside double-quotes in
-        template strings for <function>to_char()</function>,
-        <function>to_number()</function>, and
-        <function>to_timestamp()</function>.
-       </para>
-
-       <para>
-        Such a backslash now escapes the character after it, particularly
-        a double-quote or another backslash.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-06-21 [e474c2b7e] Set correct context for XPath evaluation
--->
-
-       <para>
-        Correctly handle relative path expressions
-        in <function>xmltable()</function>, <function>xpath()</function>,
-        and other XML-handling functions (Markus Winand)
-       </para>
-
-       <para>
-        Per the SQL standard, relative paths start from the document node of
-        the XML input document, not the root node as these functions
-        previously did.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-18 [f8e5f156b] Rearm statement_timeout after each executed query.
-
--->
-
-       <para>
-        In the <link linkend="protocol-query-concepts">extended query
-        protocol</link>,
-        make <link linkend="guc-statement-timeout"><varname>statement_timeout</varname></link>
-        apply to each Execute message separately, not to all commands before
-        Sync (Tatsuo Ishii, Andres Freund)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-14 [f66e8bf87] Remove pg_class.relhaspkey
--->
-
-       <para>
-        Remove the <structfield>relhaspkey</structfield> column from system
-        catalog <structname>pg_class</structname> (Peter Eisentraut)
-       </para>
-
-       <para>
-        Applications needing to check for a primary key should consult
-        <structname>pg_index</structname>.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-02 [fd1a421fe] Add prokind column, replacing proisagg and proiswindow
--->
-
-       <para>
-        Replace system catalog <structname>pg_proc</structname>'s
-        <structfield>proisagg</structfield> and
-        <structfield>proiswindow</structfield> columns with
-        <structfield>prokind</structfield> (Peter Eisentraut)
-       </para>
-
-       <para>
-        This new column more clearly distinguishes functions, procedures,
-        aggregates, and window functions.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-08-16 [9b5140fb5] Correct representation of foreign tables in information
--->
-
-       <para>
-        Correct information schema column <link
-        linkend="infoschema-tables"><structname>tables</structname>.<structfield>table_type</structfield></link>
-        to return <literal>FOREIGN</literal> instead of <literal>FOREIGN
-        TABLE</literal> (Peter Eisentraut)
-       </para>
-
-       <para>
-        This new output matches the SQL standard.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-20 [be87b70b6] Sync process names between ps and pg_stat_activity
--->
-
-       <para>
-        Change the ps process display
-        labels for background workers to match the <link
-        linkend="pg-stat-activity-view"><structname>pg_stat_activity</structname>.<structfield>backend_type</structfield></link>
-        labels (Peter Eisentraut)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-09 [ae20b23a9] Refactor permissions checks for large objects.
-2017-11-14 [6d776522d] Document changes in large-object privilege checking.
--->
-
-       <para>
-        Cause large object permission checks
-        to happen during large object open, <link
-        linkend="lo-open"><function>lo_open()</function></link>, not
-        when a read or write is attempted (Tom Lane, Michael Paquier)
-       </para>
-
-       <para>
-        If write access is requested and not available, an error will now be
-        thrown even if the large object is never written to.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-08-09 [87330e21c] Restrict access to reindex of shared catalogs for non-pr
--->
-       <para>
-        Prevent non-superusers from reindexing shared catalogs
-        (Michael Paquier, Robert Haas)
-       </para>
-
-       <para>
-        Previously, database owners were also allowed to do this, but
-        now it is considered outside the bounds of their privileges.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-06 [11523e860] Support new default roles with adminpack
--->
-
-       <para>
-        Remove deprecated <link
-        linkend="adminpack"><filename>adminpack</filename></link> functions
-        <function>pg_file_read()</function>,
-        <function>pg_file_length()</function>, and
-        <function>pg_logfile_rotate()</function> (Stephen Frost)
-       </para>
-
-       <para>
-        Equivalent functionality is now present in the core backend.
-        Existing <filename>adminpack</filename> installs will continue to have
-        access to these functions until they are updated via <command>ALTER
-        EXTENSION ... UPDATE</command>.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-26 [fb8697b31] Avoid unnecessary use of pg_strcasecmp for already-downc
--->
-
-       <para>
-        Honor the capitalization of double-quoted command options
-        (Daniel Gustafsson)
-       </para>
-
-       <para>
-        Previously, option names in certain SQL commands were forcibly
-        lower-cased even if entered with double quotes; thus for example
-        <literal>"FillFactor"</literal> would be accepted as an index storage
-        option, though properly its name is lower-case.  Such cases will now
-        generate an error.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-29 [8b304b8b7] Remove replacement selection sort.
--->
-
-       <para>
-        Remove server parameter <varname>replacement_sort_tuples</varname>
-        (Peter Geoghegan)
-       </para>
-
-       <para>
-        Replacement sorts were determined to be no longer useful.
-       </para>
-
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-26 [4971d2a32] Remove the obsolete WITH clause of CREATE FUNCTION.
--->
-
-       <para>
-        Remove <literal>WITH</literal> clause in <link
-        linkend="sql-createfunction"><command>CREATE
-        FUNCTION</command></link> (Michael Paquier)
-       </para>
-
-       <para>
-        <productname>PostgreSQL</productname> has long supported a more
-        standard-compliant syntax for this capability.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-02-13 [4b93f5799] Make plpgsql use its DTYPE_REC code paths for composite-
--->
-
-       <para>
-        In PL/pgSQL trigger functions, the <varname>OLD</varname>
-        and <varname>NEW</varname> variables now read as NULL when not
-        assigned (Tom Lane)
-       </para>
-
-       <para>
-        Previously, references to these variables could be parsed but not
-        executed.
-       </para>
-      </listitem>
-
-   </itemizedlist>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <para>
-    Below you will find a detailed account of the changes between
-    <productname>PostgreSQL</productname> 11 and the previous major
-    release.
-   </para>
-
-   <sect3>
-    <title>Server</title>
-
-    <sect4>
-     <title>Partitioning</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-11-09 [1aba8e651] Add hash partitioning.
--->
-
-       <para>
-        Allow the creation of partitions based on hashing a key column
-        (Amul Sul)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-19 [8b08f7d48] Local partitioned indexes
-2018-02-19 [eb7ed3f30] Allow UNIQUE indexes on partitioned tables
-2018-03-26 [555ee77a9] Handle INSERT .. ON CONFLICT with partitioned tables
--->
-
-       <para>
-        Support indexes on partitioned tables (&Aacute;lvaro Herrera,
-        Amit Langote)
-       </para>
-
-       <para>
-        An <quote>index</quote> on a partitioned table is not a physical
-        index across the whole partitioned table, but rather a template for
-        automatically creating similar indexes on each partition of the
-        table.
-       </para>
-
-       <para>
-        If the partition key is part of the index's column set, a
-        partitioned index may be declared <literal>UNIQUE</literal>.
-        It will represent a valid uniqueness constraint across the whole
-        partitioned table, even though each physical index only enforces
-        uniqueness within its own partition.
-       </para>
-
-       <para>
-        The new command <link linkend="sql-alterindex"><command>ALTER
-        INDEX ATTACH PARTITION</command></link> causes an existing index on
-        a partition to be associated with a matching index template for its
-        partitioned table.  This provides flexibility in setting up a new
-        partitioned index for an existing partitioned table.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-04 [3de241dba] Foreign keys on partitioned tables
--->
-
-       <para>
-        Allow foreign keys on partitioned tables (&Aacute;lvaro Herrera)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-23 [86f575948] Allow FOR EACH ROW triggers on partitioned tables
--->
-
-       <para>
-        Allow <literal>FOR EACH ROW</literal> triggers on partitioned
-        tables (&Aacute;lvaro Herrera)
-       </para>
-
-       <para>
-        Creation of a trigger on a partitioned table automatically creates
-        triggers on all existing and future partitions.
-        This also allows deferred unique constraints on partitioned tables.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-08 [6f6b99d13] Allow a partitioned table to have a default partition.
-2018-04-11 [72cf7f310] Fix ALTER TABLE .. ATTACH PARTITION ... DEFAULT
--->
-
-       <para>
-        Allow partitioned tables to have a default partition (Jeevan Ladhe,
-        Beena Emerson, Ashutosh Bapat, Rahila Syed, Robert Haas)
-       </para>
-
-       <para>
-        The default partition will store rows that don't match any of the
-        other defined partitions, and is searched accordingly.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-19 [2f1784410] Allow UPDATE to move rows between partitions.
--->
-
-       <para>
-        <command>UPDATE</command> statements that change a partition key
-        column now cause affected rows to be moved to the appropriate
-        partitions (Amit Khandekar)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-06 [3d956d956] Allow insert and update tuple routing and COPY for forei
--->
-
-       <para>
-        Allow <command>INSERT</command>, <command>UPDATE</command>, and
-        <command>COPY</command> on partitioned tables to properly route
-        rows to foreign partitions (Etsuro Fujita, Amit Langote)
-       </para>
-
-       <para>
-        This is supported by <filename>postgres_fdw</filename>
-        foreign tables.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-02-02 [9aef17316] Refactor code for partition bound searching
-2018-02-23 [f724022d0] Revise API for partition bound search functions.
-2018-04-06 [9fdb675fc] Faster partition pruning
-2018-04-23 [055fb8d33] Add GUC enable_partition_pruning
--->
-
-       <para>
-        Allow faster partition elimination during query processing (Amit
-        Langote, David Rowley, Dilip Kumar)
-       </para>
-
-       <para>
-        This speeds access to partitioned tables with many partitions.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-07 [499be013d] Support partition pruning at execution time
--->
-
-       <para>
-        Allow partition elimination during query execution (David Rowley,
-        Beena Emerson)
-       </para>
-
-       <para>
-        Previously, partition elimination only happened at planning
-        time, meaning many joins and prepared queries could not use
-        partition elimination.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-08-15 [e139f1953] Assorted preparatory refactoring for partition-wise join
-2017-10-06 [f49842d1e] Basic partition-wise join functionality.
-2018-02-16 [2fb1abaeb] Rename enable_partition_wise_join to enable_partitionwis
--->
-
-       <para>
-        In an equality join between partitioned tables, allow matching
-        partitions to be joined directly (Ashutosh Bapat)
-       </para>
-
-       <para>
-        This feature is disabled by default
-        but can be enabled by changing <link
-        linkend="guc-enable-partitionwise-join"><varname>enable_partitionwise_join</varname></link>.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-26 [9fd8b7d63] Factor some code out of create_grouping_paths.
-2018-03-22 [e2f1eb0ee] Implement partition-wise grouping/aggregation.
--->
-
-       <para>
-        Allow aggregate functions on partitioned tables to be evaluated
-        separately for each partition, subsequently merging the results
-        (Jeevan Chalke, Ashutosh Bapat, Robert Haas)
-       </para>
-
-       <para>
-        This feature is disabled by default
-        but can be enabled by changing <link
-        linkend="guc-enable-partitionwise-aggregate"><varname>enable_partitionwise_aggregate</varname></link>.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-02 [7e0d64c7a] postgres_fdw: Push down partition-wise aggregation.
--->
-
-       <para>
-        Allow <link
-        linkend="postgres-fdw"><filename>postgres_fdw</filename></link>
-        to push down aggregates to foreign tables that are partitions
-        (Jeevan Chalke)
-       </para>
-
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Parallel Queries</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2018-02-02 [9da0cc352] Support parallel btree index builds.
--->
-
-       <para>
-        Allow parallel building of a btree index (Peter Geoghegan,
-        Rushabh Lathia, Heikki Linnakangas)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-12-21 [180428404] Add parallel-aware hash joins.
--->
-
-       <para>
-        Allow hash joins to be performed in parallel using a shared hash
-        table (Thomas Munro)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-12-05 [ab7271677] Support Parallel Append plan nodes.
-2018-03-22 [88ba0ae2a] Consider Parallel Append of partial paths for UNION [ALL
--->
-
-       <para>
-        Allow <literal>UNION</literal> to run each
-        <command>SELECT</command> in parallel if the individual
-        <command>SELECT</command>s cannot be parallelized (Amit Khandekar,
-        Robert Haas, Amul Sul)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-same commits as above
-2017-12-05 [ab7271677] Support Parallel Append plan nodes.
-2018-03-22 [88ba0ae2a] Consider Parallel Append of partial paths for UNION [ALL
--->
-
-       <para>
-        Allow partition scans to more efficiently use parallel workers
-        (Amit Khandekar, Robert Haas, Amul Sul)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-08-29 [3452dc524] Push tuple limits through Gather and Gather Merge.
--->
-
-       <para>
-        Allow <literal>LIMIT</literal> to be passed to parallel workers
-        (Robert Haas, Tom Lane)
-       </para>
-
-       <para>
-        This allows workers to reduce returned results and use targeted
-        index scans.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-16 [e89a71fb4] Pass InitPlan values to workers via Gather (Merge).
-2018-03-29 [3f90ec859] Postpone generate_gather_paths for topmost scan/join rel
-2018-03-29 [11cf92f6e] Rewrite the code that applies scan/join targets to paths
--->
-
-       <para>
-        Allow single-evaluation queries, e.g. <literal>WHERE</literal>
-        clause aggregate queries, and functions in the target list to be
-        parallelized (Amit Kapila, Robert Haas)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-15 [e5253fdc4] Add parallel_leader_participation GUC.
--->
-
-       <para>
-        Add server parameter <link
-        linkend="guc-parallel-leader-participation"><varname>parallel_leader_participation</varname></link>
-        to control whether the leader also executes subplans (Thomas Munro)
-       </para>
-
-       <para>
-        The default is enabled, meaning the leader will execute subplans.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-05 [e9baa5e9f] Allow DML commands that create tables to use parallel qu
--->
-
-       <para>
-        Allow parallelization of commands <command>CREATE TABLE
-        ... AS</command>, <command>SELECT INTO</command>, and
-        <command>CREATE MATERIALIZED VIEW</command> (Haribabu Kommi)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-08-16 [3cda10f41] Use atomic ops to hand out pages to scan in parallel sca
-
--->
-
-       <para>
-        Improve performance of sequential scans with many parallel workers
-        (David Rowley)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-08-29 [bf11e7ee2] Propagate sort instrumentation from workers back to lead
--->
-
-       <para>
-        Add reporting of parallel workers' sort activity in
-        <command>EXPLAIN</command> (Robert Haas, Tom Lane)
-       </para>
-
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Indexes</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2018-04-07 [8224de4f4] Indexes with INCLUDE columns and their support in B-tree
--->
-
-       <para>
-        Allow B-tree indexes to include columns that are not part of the
-        search key or unique constraint, but are available to be read by
-        index-only scans (Anastasia Lubennikova, Alexander Korotkov, Teodor
-        Sigaev)
-       </para>
-
-       <para>
-        This is enabled by the new <literal>INCLUDE</literal> clause of <link
-        linkend="sql-createindex"><command>CREATE INDEX</command></link>.
-        It facilitates building <quote>covering indexes</quote> that optimize
-        specific types of queries.  Columns can be included even if their
-        data types don't have B-tree support.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-26 [2b2727343] Optimize btree insertions for common case of increasing
-2018-04-10 [074251db6] Adjustments to the btree fastpath optimization.
--->
-
-       <para>
-        Improve performance of monotonically increasing index additions
-        (Pavan Deolasee, Peter Geoghegan)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-22 [7c75ef571] hash: Implement page-at-a-time scan.
--->
-
-       <para>
-        Improve performance of hash index scans (Ashutosh Sharma)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-27 [3ad55863e] Add predicate locking for GiST
-2018-03-30 [43d1ed60f] Predicate locking in GIN index
-2018-04-07 [b508a56f2] Predicate locking in hash indexes.
--->
-
-       <para>
-        Add predicate locking for hash, GiST and GIN indexes (Shubham
-        Barai)
-       </para>
-
-       <para>
-        This reduces the likelihood of serialization conflicts in
-        serializable-mode transactions.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-     <sect5>
-      <title><link linkend="spgist">SP-Gist</link></title>
-
-      <itemizedlist>
-
-      <listitem>
-<!--
-2018-04-03 [710d90da1] Add prefix operator for TEXT type.
--->
-
-       <para>
-        Add prefix-match
-        operator <type>text</type> <literal>^@</literal> <type>text</type>,
-        which is supported by SP-GiST (Ildus Kurbangaliev)
-       </para>
-
-       <para>
-        This is similar to using <replaceable>var</replaceable> <literal>LIKE
-        'word%'</literal> with a btree index, but it is more efficient.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-12-25 [ff963b393] Add polygon opclass for SP-GiST
--->
-
-       <para>
-        Allow polygons to be indexed with SP-GiST (Nikita Glukhov,
-        Alexander Korotkov)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-12-22 [854823fa3] Add optional compression method to SP-GiST
--->
-
-       <para>
-        Allow SP-GiST to use lossy representation of leaf keys (Teodor Sigaev,
-        Heikki Linnakangas, Alexander Korotkov, Nikita Glukhov)
-       </para>
-
-      </listitem>
-
-      </itemizedlist>
-
-     </sect5>
-
-    </sect4>
-
-    <sect4>
-     <title>Optimizer</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2018-03-22 [b5db1d93d] Improve ANALYZE's strategy for finding MCVs.
--->
-
-       <para>
-        Improve selection of the most common values for statistics
-        (Jeff Janes, Dean Rasheed)
-       </para>
-
-       <para>
-        Previously, the most common values (<acronym>MCV</acronym>s) were
-        identified based on their frequency compared to all column
-        values.  Now, <acronym>MCV</acronym>s are chosen based on their
-        frequency compared to the non-<acronym>MCV</acronym> values.
-        This improves the robustness of the algorithm for both uniform and
-        non-uniform distributions.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-13 [7d08ce286] Distinguish selectivity of &lt; from &lt;= and &gt; from &gt;=.
--->
-
-       <para>
-        Improve selectivity estimates for <literal>&gt;=</literal>
-        and <literal>&lt;=</literal> (Tom Lane)
-       </para>
-
-       <para>
-        Previously, such cases used the same selectivity estimates
-        as <literal>&gt;</literal> and <literal>&lt;</literal>, respectively,
-        unless the comparison constants are <acronym>MCV</acronym>s.
-        This change is particularly helpful for queries
-        involving <literal>BETWEEN</literal> with small ranges.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-08 [8ec5429e2] Reduce "X = X" to "X IS NOT NULL", if it's easy to do so
--->
-
-       <para>
-        Reduce <replaceable>var</replaceable> <literal>=</literal>
-        <replaceable>var</replaceable>
-        to <replaceable>var</replaceable> <literal>IS NOT NULL</literal>
-        where equivalent (Tom Lane)
-       </para>
-
-       <para>
-        This leads to better selectivity estimates.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-29 [7ca25b7de] Fix neqjoinsel's behavior for semi/anti join cases.
--->
-
-       <para>
-        Improve optimizer's row count estimates for <literal>EXISTS</literal>
-        and <literal>NOT EXISTS</literal> queries (Tom Lane)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-02 [7b6c07547] Teach planner to account for HAVING quals in aggregation
--->
-
-       <para>
-        Make the optimizer account for evaluation costs and selectivity
-        of <literal>HAVING</literal> clauses (Tom Lane)
-       </para>
-
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>General Performance</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2018-03-21 [432bb9e04] Basic JIT provider and error handling infrastructure.
-2018-03-22 [b96d550eb] Support for optimizing and emitting code in LLVM JIT pro
-2018-03-22 [cc415a56d] Basic planner and executor integration for JIT.
-2018-03-26 [32af96b2b] JIT tuple deforming in LLVM JIT provider.
-2018-03-27 [f4f5845b3] Quick adaption of JIT tuple deforming to the fast defaul
-2018-03-28 [9370462e9] Add inlining support to LLVM JIT provider.
-2018-09-15 [0fdadfb01] In v11, disable JIT by default (it's still enabled by de
--->
-
-       <para>
-        Add <link linkend="jit">Just-in-Time</link>
-        (<acronym>JIT</acronym>) compilation of some parts of query plans
-        to improve execution speed (Andres Freund)
-       </para>
-
-       <para>
-        This feature requires <application>LLVM</application> to be
-        available.  It is not currently enabled by default, even in
-        builds that support it.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-01 [7c70996eb] Allow bitmap scans to operate as index-only scans when p
--->
-
-       <para>
-        Allow bitmap scans to perform index-only scans when possible
-        (Alexander Kuzmenkov)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-29 [851a26e26] While vacuuming a large table, update upper-level <acronym>FSM</acronym> da
-2018-03-30 [c79f6df75] Do index FSM vacuuming sooner.
--->
-
-       <para>
-        Update the free space map during <command>VACUUM</command>
-        (Claudio Freire)
-       </para>
-
-       <para>
-        This allows free space to be reused more quickly.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-04 [857f9c36c] Skip full index scan during cleanup of B-tree indexes wh
--->
-
-       <para>
-        Allow <command>VACUUM</command> to avoid unnecessary index scans
-        (Masahiko Sawada, Alexander Korotkov)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-01 [baaf272ac] Use group updates when setting transaction status in clo
--->
-
-       <para>
-        Improve performance of committing multiple concurrent transactions
-        (Amit Kapila)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-08 [84ad4b036] Reduce memory usage of targetlist SRFs.
--->
-
-       <para>
-        Reduce memory usage for queries using set-returning functions in
-        their target lists (Andres Freund)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-09 [69c3936a1] Expression evaluation based aggregate transition invocat
--->
-
-       <para>
-        Improve the speed of aggregate computations (Andres Freund)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-02-07 [1bc0100d2] postgres_fdw: Push down UPDATE/DELETE joins to remote se
--->
-
-       <para>
-        Allow <link
-        linkend="postgres-fdw"><filename>postgres_fdw</filename></link>
-        to push <command>UPDATE</command>s and <command>DELETE</command>s
-        using joins to foreign servers (Etsuro Fujita)
-       </para>
-
-       <para>
-        Previously, only non-join <command>UPDATE</command>s and
-        <command>DELETE</command>s were pushed.
-       </para>
-
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-21 [1cc4f536e] Support huge pages on Windows
--->
-
-       <para>
-        Add support for <firstterm>large pages</firstterm> on Windows
-        (Takayuki Tsunakawa, Thomas Munro)
-       </para>
-
-       <para>
-        This is controlled by the <link
-        linkend="guc-huge-pages">huge_pages</link> configuration
-        parameter.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Monitoring</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-09-01 [c039ba071] Add memory info to getrusage output
--->
-
-       <para>
-        Show memory usage in output from <link
-        linkend="runtime-config-statistics-monitor"><varname>log_statement_stats</varname></link>,
-        <varname>log_parser_stats</varname>,
-        <varname>log_planner_stats</varname>, and
-        <varname>log_executor_stats</varname> (Justin Pryzby, Peter
-        Eisentraut)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-29 [5373bc2a0] Add background worker type
--->
-
-       <para>
-        Add column <link
-        linkend="pg-stat-activity-view"><structname>pg_stat_activity</structname>.<structfield>backend_type</structfield></link>
-        to show the type of a background worker (Peter Eisentraut)
-       </para>
-
-       <para>
-        The type is also visible in <application>ps</application> output.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-12-04 [ab6eaee88] When VACUUM or ANALYZE skips a concurrently dropped tabl
--->
-
-       <para>
-        Make <link
-        linkend="guc-log-autovacuum-min-duration"><varname>log_autovacuum_min_duration</varname></link>
-        log skipped tables that are concurrently being dropped (Nathan
-        Bossart)
-       </para>
-
-      </listitem>
-
-     </itemizedlist>
-
-     <sect5>
-      <title><link linkend="infoschema-tables">Information Schema</link></title>
-
-      <itemizedlist>
-
-      <listitem>
-<!--
-2018-02-07 [32ff26911] Add more information_schema columns
--->
-
-       <para>
-        Add <literal>information_schema</literal> columns related to table
-        constraints and triggers (Peter Eisentraut)
-       </para>
-
-       <para>
-        Specifically,
-        <structname>triggers</structname>.<structfield>action_order</structfield>,
-        <structname>triggers</structname>.<structfield>action_reference_old_table</structfield>,
-        and
-        <structname>triggers</structname>.<structfield>action_reference_new_table</structfield>
-        are now populated, where before they were always null.  Also,
-        <structname>table_constraints</structname>.<structfield>enforced</structfield>
-        now exists but is not yet usefully populated.
-       </para>
-
-      </listitem>
-
-      </itemizedlist>
-
-     </sect5>
-    </sect4>
-
-    <sect4>
-     <title><acronym>Authentication</acronym></title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-09-12 [83aaac41c] Allow custom search filters to be configured for LDAP au
--->
-
-       <para>
-        Allow the server to specify more complex <link
-        linkend="auth-ldap"><acronym>LDAP</acronym></link> specifications
-        in search+bind mode (Thomas Munro)
-       </para>
-
-       <para>
-        Specifically, <literal>ldapsearchfilter</literal> allows pattern matching using
-        combinations of <acronym>LDAP</acronym> attributes.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-03 [35c0754fa] Allow ldaps when using ldap authentication
-2018-01-04 [3ad2afc2e] Define LDAPS_PORT if it's missing and disable implicit L
--->
-
-       <para>
-        Allow <acronym>LDAP</acronym> authentication to use
-        encrypted <acronym>LDAP</acronym> (Thomas Munro)
-       </para>
-
-       <para>
-        We already supported <acronym>LDAP</acronym> over
-        <acronym>TLS</acronym> by using <literal>ldaptls=1</literal>.
-        This new <acronym>TLS</acronym> <acronym>LDAP</acronym> method for
-        encrypted <acronym>LDAP</acronym> is enabled
-        with <literal>ldapscheme=ldaps</literal>
-        or <literal>ldapurl=ldaps://</literal>.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-12 [cf1238cd9] Log diagnostic messages if errors occur during LDAP auth
--->
-
-       <para>
-        Improve logging of <acronym>LDAP</acronym> errors (Thomas Munro)
-       </para>
-
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Permissions</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2018-04-06 [0fdc8495b] Add default roles for file/program access
-2018-04-07 [da9b580d8] Refactor dir/file permissions
--->
-
-       <para>
-        Add <link linkend="default-roles-table">default roles</link> that
-        enable file system access (Stephen Frost)
-       </para>
-
-       <para>
-        Specifically, the new roles are:
-        <literal>pg_read_server_files</literal>,
-        <literal>pg_write_server_files</literal>, and
-        <literal>pg_execute_server_program</literal>.  These roles now also
-        control who can use server-side <command>COPY</command> and the <link
-        linkend="file-fdw"><filename>file_fdw</filename></link> extension.
-        Previously, only superusers could use these functions, and that
-        is still the default behavior.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-06 [e79350fef] Remove explicit superuser checks in favor of ACLs
--->
-
-       <para>
-        Allow access to file system functions to be controlled by
-        <command>GRANT</command>/<command>REVOKE</command> permissions,
-        rather than superuser checks (Stephen Frost)
-       </para>
-
-       <para>
-        Specifically, these functions were modified: <link
-        linkend="functions-admin-genfile-table"><function>pg_ls_dir()</function></link>,
-        <function>pg_read_file()</function>,
-        <function>pg_read_binary_file()</function>,
-        <function>pg_stat_file()</function>.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-09 [5ecc0d738] Restrict lo_import()/lo_export() via SQL permissions not
-2017-11-14 [6d776522d] Document changes in large-object privilege checking.
--->
-
-       <para>
-        Use <command>GRANT</command>/<command>REVOKE</command>
-        to control access to <link
-        linkend="lo-import"><function>lo_import()</function></link>
-        and <function>lo_export()</function> (Michael Paquier, Tom Lane)
-       </para>
-
-       <para>
-        Previously, only superusers were granted access to these functions.
-       </para>
-
-       <para>
-        The compile-time option <literal>ALLOW_DANGEROUS_LO_FUNCTIONS</literal>
-        has been removed.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-12-05 [ab3f008a2] postgres_fdw: Judge password use by run-as user, not ses
--->
-
-       <para>
-        Use view owner not session owner when
-        preventing non-password access to <link
-        linkend="postgres-fdw"><filename>postgres_fdw</filename></link>
-        tables (Robert Haas)
-       </para>
-
-       <para>
-        <productname>PostgreSQL</productname> only allows superusers to
-        access <filename>postgres_fdw</filename> tables without
-        passwords, e.g. via <literal>peer</literal>.  Previously, the
-        session owner had to be a superuser to allow such access; now
-        the view owner is checked instead.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-14 [50c6bb022] Fix enforcement of SELECT FOR UPDATE permissions with ne
--->
-
-       <para>
-        Fix invalid locking permission check in <command>SELECT FOR
-        UPDATE</command> on views (Tom Lane)
-       </para>
-
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Server Configuration</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2018-03-17 [8a3d94252] Add ssl_passphrase_command setting
--->
-
-       <para>
-        Add server setting <link
-        linkend="guc-ssl-passphrase-command"><varname>ssl_passphrase_command</varname></link>
-        to allow supplying of the passphrase for <acronym>SSL</acronym>
-        key files (Peter Eisentraut)
-       </para>
-
-       <para>
-        Also add <link
-        linkend="guc-ssl-passphrase-command-supports-reload"><varname>ssl_passphrase_command_supports_reload</varname></link>
-        to specify whether the <acronym>SSL</acronym> configuration
-        should be reloaded and <varname>ssl_passphrase_command</varname>
-        called during a server configuration reload.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-20 [c2513365a] Parameter toast_tuple_target controls TOAST for new rows
--->
-
-       <para>
-        Add storage parameter <link
-        linkend="sql-createtable-storage-parameters"><varname>toast_tuple_target</varname></link>
-        to control the minimum tuple length before <acronym>TOAST</acronym>
-        storage will be considered (Simon Riggs)
-       </para>
-
-       <para>
-        The default <acronym>TOAST</acronym> threshold has not been
-        changed.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-12 [6e7baa322] Introduce BYTES unit for GUCs.
-2018-05-23 [b06d8e58b] Accept "B" in all memory-unit GUCs, and improve error me
--->
-
-       <para>
-        Allow server options related to memory and file sizes to be
-        specified in units of bytes (Beena Emerson)
-       </para>
-
-       <para>
-        The new unit suffix is <quote>B</quote>.  This is in addition to the
-        existing units <quote>kB</quote>, <quote>MB</quote>, <quote>GB</quote>
-        and <quote>TB</quote>.
-       </para>
-
-      </listitem>
-
-    </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title><link linkend="wal">Write-Ahead Log</link> (<acronym>WAL</acronym>)</title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-09-19 [fc49e24fa] Make WAL segment size configurable at initdb time.
--->
-
-       <para>
-        Allow the <acronym>WAL</acronym> file size to be set
-        during <application>initdb</application> (Beena Emerson)
-       </para>
-
-       <para>
-        Previously, the 16MB default could only be changed at compile time.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-07 [4b0d28de0] Remove secondary checkpoint
--->
-
-       <para>
-        Retain <acronym>WAL</acronym> data for only a single checkpoint
-        (Simon Riggs)
-       </para>
-
-       <para>
-        Previously, <acronym>WAL</acronym> was retained for two checkpoints.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-30 [4a33bb59d] Ensure that WAL pages skipped by a forced WAL switch are
--->
-
-       <para>
-        Fill the unused portion of force-switched <acronym>WAL</acronym>
-        segment files with zeros for improved compressibility (Chapman
-        Flack)
-       </para>
-
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-   </sect3>
-
-   <sect3>
-    <title>Base Backup and Streaming Replication</title>
-
-    <itemizedlist>
-
-      <listitem>
-<!--
-2018-04-07 [5dfd1e5a6] Logical decoding of TRUNCATE
-2018-04-07 [039eb6e92] Logical replication support for TRUNCATE
--->
-
-       <para>
-        Replicate <command>TRUNCATE</command> activity when using logical
-        replication (Simon Riggs, Marco Nenciarini, Peter Eisentraut)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-28 [1eb6d6527] Store 2PC GID in commit/abort WAL recs for logical decod
--->
-
-       <para>
-        Pass prepared transaction information to logical replication
-        subscribers (Nikhil Sontakke, Stas Kelvich)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-23 [8694cc96b] Exclude unlogged tables from base backups
-2018-03-27 [920a5e500] Skip temp tables from basebackup.
-2017-11-07 [98267ee83] Exclude pg_internal.init from BASE_BACKUP
--->
-
-       <para>
-        Exclude unlogged tables, temporary tables, and
-        <filename>pg_internal.init</filename> files from streaming base
-        backups (David Steele)
-       </para>
-
-       <para>
-        There is no need to copy such files.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-03 [4eb77d50c] Validate page level checksums in base backups
--->
-
-       <para>
-        Allow checksums of heap pages to be verified during streaming base
-        backup (Michael Banck)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-17 [9c7d06d60] Ability to advance replication slots
--->
-
-       <para>
-        Allow replication slots to be advanced programmatically, rather
-        than be consumed by subscribers (Petr Jelinek)
-       </para>
-
-       <para>
-        This allows efficient advancement of replication slots when the
-        contents do not need to be consumed.  This is performed by
-        <function>pg_replication_slot_advance()</function>.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-06 [6271fceb8] Add TIMELINE to backup_label file
--->
-
-       <para>
-        Add timeline information to the <link
-        linkend="backup-lowlevel-base-backup"><filename>backup_label</filename></link>
-        file (Michael Paquier)
-       </para>
-
-       <para>
-        Also add a check that the <acronym>WAL</acronym> timeline matches
-        the <filename>backup_label</filename> file's timeline.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-31 [9a895462d] Enhance pg_stat_wal_receiver view to display host and po
--->
-
-       <para>
-        Add host and port connection information to the
-        <structname>pg_stat_wal_receiver</structname> system view
-        (Haribabu Kommi)
-       </para>
-      </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Utility Commands</title>
-
-    <itemizedlist>
-
-      <listitem>
-<!--
-2018-03-28 [16828d5c0] Fast ALTER TABLE ADD COLUMN with a non-NULL default
--->
-
-       <para>
-        Allow <command>ALTER TABLE</command> to add a column with
-        a non-null default without doing a table rewrite (Andrew Dunstan,
-        Serge Rielau)
-       </para>
-
-       <para>
-        This is enabled when the default value is a constant.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-30 [34c20de4d] Allow to lock views.
-2018-03-31 [1b26bd408] Fix bug with view locking code.
--->
-
-       <para>
-        Allow views to be locked by locking the underlying tables
-        (Yugo Nagata)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-06 [5b6d13eec] Allow SET STATISTICS on expression indexes
--->
-
-       <para>
-        Allow <command>ALTER INDEX</command> to set statistics-gathering
-        targets for expression indexes (Alexander Korotkov, Adrien Nayrat)
-       </para>
-
-       <para>
-        In <application>psql</application>, <literal>\d+</literal> now shows
-        the statistics target for indexes.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-03 [11d8d72c2] Allow multiple tables to be specified in one VACUUM or A
--->
-
-       <para>
-        Allow multiple tables to be specified in one
-        <command>VACUUM</command> or <command>ANALYZE</command> command
-        (Nathan Bossart)
-       </para>
-
-       <para>
-        Also, if any table mentioned in <command>VACUUM</command> uses
-        a column list, then the <command>ANALYZE</command> keyword must be
-        supplied; previously, <command>ANALYZE</command> was implied in
-        such cases.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-05 [854dd8cff] Add parenthesized options syntax for ANALYZE.
--->
-
-       <para>
-        Add parenthesized options syntax to <command>ANALYZE</command>
-        (Nathan Bossart)
-       </para>
-
-       <para>
-        This is similar to the syntax supported by
-        <command>VACUUM</command>.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-14 [4de2d4fba] Explicitly track whether aggregate final functions modif
-2017-10-16 [be0ebb65f] Allow the built-in ordered-set aggregates to share trans
--->
-
-       <para>
-        Add <command>CREATE AGGREGATE</command> option to specify the
-        behavior of the aggregate's finalization function (Tom Lane)
-       </para>
-
-       <para>
-        This is helpful for allowing user-defined aggregate functions to be
-        optimized and to work as window functions.
-       </para>
-
-      </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Data Types</title>
-
-    <itemizedlist>
-
-      <listitem>
-<!--
-2017-09-30 [c12d570fa] Support arrays over domains.
--->
-
-       <para>
-        Allow the creation of arrays of domains (Tom Lane)
-       </para>
-
-       <para>
-        This also allows <function>array_agg()</function> to be used
-        on domains.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-26 [37a795a60] Support domains over composite types.
-2017-10-26 [820c0305f] Support domains over composite types in PL/Tcl.
-2017-10-28 [60651e4cd] Support domains over composite types in PL/Perl.
-2017-11-16 [687f096ea] Make PL/Python handle domain-type conversions correctly.
--->
-
-       <para>
-        Support domains over composite types (Tom Lane)
-       </para>
-
-       <para>
-        Also allow PL/Perl, PL/Python, and PL/Tcl to handle
-        composite-domain function arguments and results.  Also improve
-        PL/Python domain handling.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-29 [c0cbe00fe] Add casts from jsonb
--->
-
-       <para>
-        Add casts from <type>JSONB</type> scalars to numeric and boolean data
-        types (Anastasia Lubennikova)
-       </para>
-
-      </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Functions</title>
-
-    <itemizedlist>
-
-      <listitem>
-<!--
-2018-02-07 [0a459cec9] Support all SQL:2011 options for window frame clauses.
-2018-02-24 [8b29e88cd] Add window RANGE support for float4, float8, numeric.
--->
-
-       <para>
-        Add all <link linkend="sql-window">window function</link> framing
-        options specified by SQL:2011 (Oliver Ford, Tom Lane)
-       </para>
-
-       <para>
-        Specifically, allow <literal>RANGE</literal> mode to use
-        <literal>PRECEDING</literal> and <literal>FOLLOWING</literal> to
-        select rows having grouping values within plus or minus the
-        specified offset.  Add <literal>GROUPS</literal> mode to include plus
-        or minus the number of peer groups.  Frame exclusion syntax was also
-        added.
-       </para>
-
-      </listitem>
-
-      <listitem>
-<!--
-2018-02-22 [10cfce34c] Add user-callable SHA-2 functions
--->
-
-       <para>
-        Add <acronym>SHA-2</acronym> family of hash functions (Peter
-        Eisentraut)
-       </para>
-
-       <para>
-        Specifically, <link
-        linkend="functions-binarystring-other"><function>sha224()</function></link>,
-        <function>sha256()</function>, <function>sha384()</function>,
-        <function>sha512()</function> were added.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-08-31 [81c5e46c4] Introduce 64-bit hash functions with a 64-bit seed.
--->
-
-       <para>
-        Add support for 64-bit non-cryptographic hash functions (Robert
-        Haas, Amul Sul)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-09 [11b623dd0] Implement TZH and TZM timestamp format patterns
--->
-
-       <para>
-        Allow <function>to_char()</function> and
-        <function>to_timestamp()</function> to specify the time zone's
-        offset from <acronym>UTC</acronym> in hours and minutes
-        (Nikita Glukhov, Andrew Dunstan)
-       </para>
-
-       <para>
-        This is done with format specifications <link
-        linkend="functions-formatting-datetime-table"><literal>TZH</literal></link>
-        and <literal>TZM</literal>.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-05 [1664ae197] Add websearch_to_tsquery
--->
-
-       <para>
-        Add text search function <link
-        linkend="textsearch-functions-table"><function>websearch_to_tsquery()</function></link>
-        that supports a query syntax similar to that used by web search
-        engines (Victor Drobny, Dmitry Ivanov)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-07 [1c1791e00] Add json(b)_to_tsvector function
--->
-
-       <para>
-        Add functions <link
-        linkend="textsearch-functions-table"><function>json(b)_to_tsvector()</function></link>
-        to create a text search query for matching
-        <type>JSON</type>/<type>JSONB</type> values (Dmitry Dolgov)
-       </para>
-
-      </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Server-Side Languages</title>
-
-    <itemizedlist>
-
-      <listitem>
-<!--
-2017-11-30 [e4128ee76] SQL procedures
-2018-02-22 [76b6aa41f] Support parameters in CALL
-2018-03-14 [33803f67f] Support INOUT arguments in procedures
-2018-04-14 [a8677e3ff] Support named and default arguments in CALL
-2018-08-22 [e0dc839e7] Change PROCEDURE to FUNCTION in CREATE TRIGGER syntax
-2018-08-22 [fd4417e8a] Change PROCEDURE to FUNCTION in CREATE OPERATOR syntax
--->
-
-       <para>
-        Add SQL-level procedures, which can start and commit their own
-        transactions (Peter Eisentraut)
-       </para>
-
-       <para>
-        They are created with the new <link
-        linkend="sql-createprocedure"><command>CREATE
-        PROCEDURE</command></link> command and invoked via <link
-        linkend="sql-call"><command>CALL</command></link>.
-       </para>
-
-       <para>
-        The new <command>ALTER</command>/<command>DROP ROUTINE</command>
-        commands allow altering/dropping of all routine-like objects,
-        including procedures, functions, and aggregates.
-       </para>
-
-       <para>
-        Also, writing <literal>FUNCTION</literal> is now preferred
-        over writing <literal>PROCEDURE</literal> in <command>CREATE
-        OPERATOR</command> and <command>CREATE TRIGGER</command>, because the
-        referenced object must be a function not a procedure.  However, the
-        old syntax is still accepted for compatibility.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-22 [8561e4840] Transaction control in PL procedures
-2018-03-28 [d92bc83c4] PL/pgSQL: Nested CALL with transactions
-2018-03-28 [056a5a3f6] Allow committing inside cursor loop
-2018-04-05 [b981275b6] PL/pgSQL: Add support for SET TRANSACTION
--->
-
-       <para>
-        Add transaction control to PL/pgSQL, PL/Perl, PL/Python, PL/Tcl,
-        and <acronym>SPI</acronym> server-side languages (Peter Eisentraut)
-       </para>
-
-       <para>
-        Transaction control is only available within top-transaction-level
-        procedures and nested <command>DO</command> and
-        <command>CALL</command> blocks that only contain other
-        <command>DO</command> and <command>CALL</command> blocks.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-02-13 [f9263006d] Support CONSTANT/NOT NULL/initial value for plpgsql comp
--->
-
-       <para>
-        Add the ability to define PL/pgSQL composite-type variables as not
-        null, constant, or with initial values (Tom Lane)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-02-13 [4b93f5799] Make plpgsql use its DTYPE_REC code paths for composite-
--->
-
-       <para>
-        Allow PL/pgSQL to handle changes to composite types (e.g. record,
-        row) that happen between the first and later function executions
-        in the same session (Tom Lane)
-       </para>
-
-       <para>
-        Previously, such circumstances generated errors.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-28 [3f44e3db7] Transforms for jsonb to PL/Python
--->
-
-       <para>
-        Add extension <filename>jsonb_plpython</filename> to
-        transform <type>JSONB</type> to/from PL/Python types (Anthony
-        Bykov)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-03 [341e16618] Transforms for jsonb to PL/Perl
--->
-
-       <para>
-        Add extension <filename>jsonb_plperl</filename> to transform
-        <type>JSONB</type> to/from PL/Perl types (Anthony Bykov)
-       </para>
-
-      </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Client Interfaces</title>
-
-    <itemizedlist>
-
-      <listitem>
-<!--
-2018-03-17 [e3bdb2d92] Set libpq sslcompression to off by default
--->
-
-       <para>
-        Change libpq to disable compression by default (Peter Eisentraut)
-       </para>
-
-       <para>
-        Compression is already disabled in modern OpenSSL versions, so that
-        the libpq setting had no effect with such libraries.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-08-25 [d22e9d530] Implement <literal>DO CONTINUE</literal> action for <literal>ECPG WHENEVER</literal> statement
--->
-
-       <para>
-        Add <literal>DO CONTINUE</literal> option
-        to <application>ecpg</application>'s <literal>WHENEVER</literal>
-        statement (Vinayak Pokale)
-       </para>
-
-       <para>
-        This generates a C <command>continue</command> statement, causing a
-        return to the top of the contained loop when the specified condition
-        occurs.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-14 [3b7ab4380] Add Oracle like handling of char arrays.
--->
-
-       <para>
-        Add an <application>ecpg</application> mode to enable Oracle
-        Pro*C-style handling of char arrays.
-       </para>
-
-       <para>
-        This mode is enabled with <option>-C</option>.
-       </para>
-
-      </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Client Applications</title>
-
-    <sect4>
-     <title><xref linkend="app-psql"/></title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-09-05 [49ca462eb] Add \gdesc psql command.
--->
-
-       <para>
-        Add <application>psql</application> command <literal>\gdesc</literal>
-        to display the names and types of the columns in a query result
-        (Pavel Stehule)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-12 [69835bc89] Add psql variables to track success/failure of SQL queri
--->
-
-       <para>
-        Add <application>psql</application> variables to report query
-        activity and errors (Fabien Coelho)
-       </para>
-
-       <para>
-        Specifically, the new variables are <literal>ERROR</literal>,
-        <literal>SQLSTATE</literal>, <literal>ROW_COUNT</literal>,
-        <literal>LAST_ERROR_MESSAGE</literal>, and
-        <literal>LAST_ERROR_SQLSTATE</literal>.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-21 [d57c7a7c5] Provide a test for variable existence in psql
--->
-
-       <para>
-        Allow <application>psql</application> to test for the existence
-        of a variable (Fabien Coelho)
-       </para>
-
-       <para>
-        Specifically, the syntax <literal>:{?variable_name}</literal> allows
-        a variable's existence to be tested in an <literal>\if</literal>
-        statement.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-05 [5e8304fdc] In psql, use PSQL_PAGER in preference to PAGER, if it's
--->
-
-       <para>
-        Allow environment variable <envar>PSQL_PAGER</envar> to control
-        <application>psql</application>'s pager (Pavel Stehule)
-       </para>
-
-       <para>
-        This allows <application>psql</application>'s default pager to
-        be specified as a separate environment variable from the pager
-        for other applications.  <envar>PAGER</envar> is still honored
-        if <envar>PSQL_PAGER</envar> is not set.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-23 [05b6ec39d] Show partition info from psql \d+
--->
-
-       <para>
-        Make psql's <literal>\d+</literal> command always show the table's
-        partitioning information (Amit Langote, Ashutosh Bapat)
-       </para>
-
-       <para>
-        Previously, partition information would not be displayed for a
-        partitioned table if it had no partitions.  Also indicate which
-        partitions are themselves partitioned.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-29 [15be27460] Avoid misleading psql password prompt when username is m
--->
-
-       <para>
-        Ensure that <application>psql</application> reports the proper user
-        name when prompting for a password (Tom Lane)
-       </para>
-
-       <para>
-        Previously, combinations of <option>-U</option> and a user name
-        embedded in a <acronym>URI</acronym> caused incorrect reporting.
-        Also suppress the user name before the password prompt when
-        <option>--password</option> is specified.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-02-01 [df9f599bc] psql:  Add quit/help behavior/hint, for other tool porta
--->
-
-       <para>
-        Allow <command>quit</command> and <command>exit</command> to
-        exit <application>psql</application> when given with no prior input
-        (Bruce Momjian)
-       </para>
-
-       <para>
-        Also print hints about how to exit when <command>quit</command> and
-        <command>exit</command> are used alone on a line while the input
-        buffer is not empty.  Add a similar hint for <command>help</command>.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-02-12 [91389228a] psql:  give ^D hint for \q in place where \q is ignored
--->
-
-       <para>
-        Make <application>psql</application> hint at using control-D
-        when <command>\q</command> is entered alone on a line but ignored
-        (Bruce Momjian)
-       </para>
-
-       <para>
-        For example, <command>\q</command> does not exit when supplied
-        in character strings.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-03 [2b8c94e1b] Improve tab-completion for ALTER INDEX RESET/SET.
--->
-
-       <para>
-        Improve tab completion for <command>ALTER INDEX
-        RESET</command>/<command>SET</command> (Masahiko Sawada)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-05 [722408bcd] Add infrastructure to support server-version-dependent t
--->
-
-       <para>
-        Add infrastructure to allow <application>psql</application>
-        to adapt its tab completion queries based on the server version
-        (Tom Lane)
-       </para>
-
-       <para>
-        Previously, tab completion queries could fail against older servers.
-       </para>
-
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title><link linkend="pgbench"><application>pgbench</application></link></title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2018-01-09 [bc7fa0c15] Improve scripting language in pgbench
--->
-
-       <para>
-        Add <application>pgbench</application> expression support for
-        NULLs, booleans, and some functions and operators (Fabien Coelho)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-22 [f67b113ac] Add \if support to pgbench
--->
-
-       <para>
-        Add <literal>\if</literal> conditional support to
-        <application>pgbench</application> (Fabien Coelho)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-04 [9d36a3866] Adjust pgbench to allow non-ASCII characters in variable
--->
-
-       <para>
-        Allow the use of non-<acronym>ASCII</acronym> characters in
-        <application>pgbench</application> variable names (Fabien Coelho)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-13 [591c504fa] Allow running just selected steps of pgbench's initializ
--->
-
-       <para>
-        Add <application>pgbench</application> option
-        <option>--init-steps</option> to control the initialization steps
-        performed (Masahiko Sawada)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-12-14 [1fcd0adeb] Add approximated Zipfian-distributed random generator to
--->
-
-       <para>
-        Add an approximately Zipfian-distributed random generator to
-        <application>pgbench</application> (Alik Khilazhev)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-26 [64f85894a] Set random seed for pgbench.
--->
-
-       <para>
-        Allow the random seed to be set in
-        <application>pgbench</application> (Fabien Coelho)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-12-27 [7a727c180] Add pow(), aka power(), function to pgbench.
--->
-
-       <para>
-        Allow <application>pgbench</application> to do exponentiation
-        with <function>pow()</function> and <function>power()</function>
-        (Ra&uacute;l Mar&iacute;n Rodr&iacute;guez)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-21 [e51a04840] Add general purpose hasing functions to pgbench.
--->
-
-       <para>
-        Add hashing functions to <application>pgbench</application>
-        (Ildar Musin)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-04 [c23bb6bad] Fix some subtle problems in pgbench transaction stats co
-2017-11-21 [16827d442] pgbench: fix stats reporting when some transactions are
--->
-
-       <para>
-        Make <application>pgbench</application> statistics more
-        accurate when using <option>--latency-limit</option> and
-        <option>--rate</option> (Fabien Coelho)
-       </para>
-
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-   </sect3>
-
-   <sect3>
-    <title>Server Applications</title>
-
-    <itemizedlist>
-
-      <listitem>
-<!--
-2017-09-27 [3709ca1cf] pg_basebackup: Add option to create replication slot
--->
-
-       <para>
-        Add an option to <link
-        linkend="app-pgbasebackup"><application>pg_basebackup</application></link>
-        that creates a named replication slot (Michael Banck)
-       </para>
-
-       <para>
-        The option <option>--create-slot</option> creates
-        the named replication slot (<option>--slot</option>)
-        when the <acronym>WAL</acronym> streaming method
-        (<option>--wal-method=stream</option>) is used.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-07 [c37b3d08c] Allow group access on PGDATA
--->
-
-       <para>
-        Allow <link
-        linkend="app-initdb"><application>initdb</application></link>
-        to set group read access to the data directory (David Steele)
-       </para>
-
-       <para>
-        This is accomplished with the new initdb option
-        <option>--allow-group-access</option>.  Administrators
-        can also set group permissions on the empty data
-        directory before running initdb.  Server variable <link
-        linkend="guc-data-directory"><varname>data_directory_mode</varname></link>
-        allows reading of data directory group permissions.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-05 [1fde38bea] Allow on-line enabling and disabling of data checksums
-2018-04-09 [a228cc13a] Revert "Allow on-line enabling and disabling of data che
--->
-
-       <para>
-        Add <link
-        linkend="pgverifychecksums"><application>pg_verify_checksums</application></link>
-        tool to verify database checksums while offline (Magnus Hagander)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-25 [bf4a8676c] pg_resetwal: Allow users to change the WAL segment size
--->
-
-       <para>
-        Allow <link
-        linkend="app-pgresetwal"><application>pg_resetwal</application></link>
-        to change the <acronym>WAL</acronym> segment size via
-        <option>--wal-segsize</option> (Nathan Bossart)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-24 [e22b27f0c] Add long options to pg_resetwal and pg_controldata
--->
-
-       <para>
-        Add long options to <application>pg_resetwal</application>
-        and <application>pg_controldata</application> (Nathan Bossart,
-        Peter Eisentraut)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-29 [5f3971291] pg_receivewal: Add - -no-sync option.
--->
-
-       <para>
-        Add <link
-        linkend="app-pgreceivewal"><application>pg_receivewal</application></link>
-        option <option>--no-sync</option> to prevent synchronous
-        <acronym>WAL</acronym> writes, for testing (Michael Paquier)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-11 [6d9fa5264] pg_receivewal: Add - -endpos option
--->
-
-       <para>
-        Add <application>pg_receivewal</application> option
-        <option>--endpos</option> to specify when <acronym>WAL</acronym>
-        receiving should stop (Michael Paquier)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-01 [2e83db3ad] Allow pg_ctl kill to send SIGKILL.
--->
-
-       <para>
-        Allow <link
-        linkend="app-pg-ctl"><application>pg_ctl</application></link>
-        to send the <literal>SIGKILL</literal> signal to processes
-        (Andres Freund)
-       </para>
-
-       <para>
-        This was previously unsupported due to concerns over possible misuse.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-29 [266b6acb3] Make pg_rewind skip files and directories that are remov
--->
-
-       <para>
-        Reduce the number of files copied by <link
-        linkend="app-pgrewind"><application>pg_rewind</application></link>
-        (Michael Paquier)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-09 [5d5aeddab] Make sure pg_rewind can't run as root
--->
-
-       <para>
-        Prevent <application>pg_rewind</application> from running as
-        <literal>root</literal> (Michael Paquier)
-       </para>
-
-      </listitem>
-
-     </itemizedlist>
-
-    <sect4>
-     <title><link linkend="app-pgdump"><application>pg_dump</application></link>,
-     <link linkend="app-pg-dumpall"><application>pg_dumpall</application></link>,
-     <link linkend="app-pgrestore"><application>pg_restore</application></link></title>
-
-     <itemizedlist>
-
-      <listitem>
-<!--
-2017-09-01 [84be67181] pg_dumpall: Add a -E flag to set the encoding, like pg_d
--->
-
-       <para>
-        Add <application>pg_dumpall</application> option
-        <option>--encoding</option> to control output encoding
-        (Michael Paquier)
-       </para>
-
-       <para>
-        <application>pg_dump</application> already had this option.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-08-14 [23d7680d0] pg_dump: Add a - -load-via-partition-root option.
--->
-
-       <para>
-        Add <application>pg_dump</application> option
-        <option>--load-via-partition-root</option> to force loading of
-        data into the partition's root table, rather than the original
-        partition (Rushabh Lathia)
-       </para>
-
-       <para>
-        This is useful if the system to be loaded to has different collation
-        definitions or endianness, possibly requiring rows to be stored in
-        different partitions than previously.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-25 [1368e92e1] Support - -no-comments in pg_dump, pg_dumpall, pg_restore
--->
-
-       <para>
-        Add an option to suppress dumping and restoring database object
-        comments (Robins Tharakan)
-       </para>
-
-       <para>
-        The new <application>pg_dump</application>,
-        <application>pg_dumpall</application>, and
-        <application>pg_restore</application> option is
-        <option>--no-comments</option>.
-       </para>
-
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-   </sect3>
-
-   <sect3>
-    <title>Source Code</title>
-
-    <itemizedlist>
-
-      <listitem>
-<!--
-2018-07-31 [d06eebce5] Provide for contrib and pgxs modules to install include
-2018-09-05 [235526a20] Allow extensions to install built as well as unbuilt hea
-2018-09-07 [094ffd684] Refactor installation of extension headers.
-2018-09-16 [f1ca5a654] Fix out-of-tree build for transform modules.
--->
-       <para>
-        Add <application>PGXS</application> support for installing include
-        files (Andrew Gierth)
-       </para>
-
-       <para>
-        This supports creating extension modules that depend on other
-        modules.  Formerly there was no easy way for the dependent module to
-        find the referenced one's include files.  Several
-        existing <filename>contrib</filename> modules that define data types
-        have been adjusted to install relevant files.  Also, PL/Perl and
-        PL/Python now install their include files, to support creation of
-        transform modules for those languages.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-05 [1fd869066] Install errcodes.txt for use by extensions.
--->
-
-       <para>
-        Install <filename>errcodes.txt</filename> to allow extensions to access
-        the list of error codes known to <productname>PostgreSQL</productname>
-        (Thomas Munro)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-06 [1c53f612b] Escape &lt; and &amp; in SGML
-2017-10-17 [c29c57890] Don't use SGML empty tags
-2017-10-20 [1ff01b390] Convert SGML IDs to lower case
-2017-11-23 [3c49c6fac] Convert documentation to DocBook XML
--->
-
-       <para>
-        Convert documentation to DocBook <acronym>XML</acronym> (Peter
-        Eisentraut, Alexander Lakhin, J&uuml;rgen Purtz)
-       </para>
-
-       <para>
-        The file names still use an <filename>sgml</filename> extension
-        for compatibility with back branches.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-22 [9a95a77d9] Use stdbool.h if suitable
-2018-03-23 [7ba7986fb] Fix interaction of Perl and stdbool.h
-2018-05-02 [6fe25c135] Change SIZEOF_BOOL to 1 for Windows.
--->
-
-       <para>
-        Use <filename>stdbool.h</filename> to define type <type>bool</type>
-        on platforms where it's suitable, which is most (Peter Eisentraut)
-       </para>
-
-       <para>
-        This eliminates a coding hazard for extension modules that need
-        to include <filename>stdbool.h</filename>.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-03 [a351679c8] Trivial adjustments in preparation for bootstrap data co
-2018-04-08 [372728b0d] Replace our traditional initial-catalog-data format with
-2018-04-17 [e90d4ddc6] Simplify genbki.pl's data quoting rules.
-2018-04-17 [9ffcccdb9] Rationalize handling of array type names in bootstrap da
-2018-04-17 [55d26ff63] Rationalize handling of single and double quotes in boot
-2018-04-18 [5372c2c84] Improve error detection/reporting in Catalog.pm and genb
-2018-04-26 [a0854f107] Avoid parsing catalog data twice during BKI file constru
-2018-05-05 [d160882a1] Fix bootstrap parser so that its keywords are unreserved
--->
-
-       <para>
-        Overhaul the way that initial system catalog contents are defined
-        (John Naylor)
-       </para>
-
-       <para>
-        The initial data is now represented in Perl data structures, making
-        it much easier to manipulate mechanically.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-21 [846b5a525] Prevent extensions from creating custom GUCs that are GU
--->
-
-       <para>
-        Prevent extensions from creating custom server parameters that
-        take a quoted list of values (Tom Lane)
-       </para>
-
-       <para>
-        This cannot be supported at present because knowledge of the
-        parameter's property would be required even before the extension is
-        loaded.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-18 [9288d62bb] Support channel binding 'tls-unique' in SCRAM
-2017-12-19 [4bbf110d2] Add libpq connection parameter "scram_channel_binding"
-2018-01-04 [d3fb72ea6] Implement channel binding tls-server-end-point for SCRAM
--->
-
-       <para>
-        Add ability to use channel binding when using <link
-        linkend="auth-password"><acronym>SCRAM</acronym></link>
-        authentication (Michael Paquier)
-       </para>
-
-       <para>
-        Channel binding is intended to prevent man-in-the-middle attacks, but
-        <acronym>SCRAM</acronym> cannot prevent them unless it can be forced
-        to be active.  Unfortunately, there is no way to do that in libpq.
-        Support for it is expected in future versions of libpq and in
-        interfaces not built using libpq, e.g. JDBC.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-05 [eed1ce72e] Allow background workers to bypass datallowconn
--->
-
-       <para>
-        Allow background workers to attach to databases that normally
-        disallow connections (Magnus Hagander)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-04 [f044d71e3] Use ARMv8 CRC instructions where available.
--->
-
-       <para>
-        Add support for hardware <acronym>CRC</acronym> calculations
-        on <productname>ARMv8</productname> (Yuqi Gu, Heikki Linnakangas,
-        Thomas Munro)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-04 [212e6f34d] Replace binary search in fmgr_isbuiltin with a lookup ar
--->
-
-       <para>
-        Speed up lookups of built-in functions by OID (Andres Freund)
-       </para>
-
-       <para>
-        The previous binary search has been replaced by a lookup array.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-11 [1de09ad8e] Add more efficient functions to pqformat API.
--->
-
-       <para>
-        Speed up construction of query results (Andres Freund)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-13 [141fd1b66] Improve sys/catcache performance.
--->
-
-       <para>
-        Improve speed of access to system caches (Andres Freund)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-23 [a4ccc1cef] Generational memory allocator
--->
-
-       <para>
-        Add a generational memory allocator which is optimized for serial
-        allocation/deallocation (Tomas Vondra)
-       </para>
-
-       <para>
-        This reduces memory usage for logical decoding.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-22 [7c91a0364] Sync up our various ways of estimating pg_class.reltuple
--->
-
-       <para>
-        Make the computation of
-        <structname>pg_class</structname>.<structfield>reltuples</structfield>
-        by <command>VACUUM</command> consistent with its computation
-        by <command>ANALYZE</command> (Tomas Vondra)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-25 [46cda5bf7] Change pgindent/README to specify that we use perltidy v
-2018-04-27 [a2ada08d4] perltidy: Don't write backup files
--->
-
-       <para>
-        Update to use <application>perltidy</application> version
-        <literal>20170521</literal> (Tom Lane, Peter Eisentraut)
-       </para>
-      </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Additional Modules</title>
-
-    <itemizedlist>
-
-      <listitem>
-<!--
-2017-08-21 [79ccd7cbd] pg_prewarm: Add automatic prewarm feature.
--->
-
-       <para>
-        Allow extension <link
-        linkend="pgprewarm"><filename>pg_prewarm</filename></link>
-        to restore the previous shared buffer contents on startup (Mithun
-        Cy, Robert Haas)
-       </para>
-
-       <para>
-        This is accomplished by having <filename>pg_prewarm</filename> store
-        the shared buffers' relation and block number data to disk
-        occasionally during server operation, and at shutdown.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-21 [be8a7a686] Add strict_word_similarity to pg_trgm module
--->
-
-       <para>
-        Add <link linkend="pgtrgm"><filename>pg_trgm</filename></link>
-        function <function>strict_word_similarity()</function> to compute
-        the similarity of whole words (Alexander Korotkov)
-       </para>
-
-       <para>
-        The function <function>word_similarity()</function> already
-        existed for this purpose, but it was designed to find similar
-        parts of words, while <function>strict_word_similarity()</function>
-        computes the similarity to whole words.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-19 [f24649976] Add citext_pattern_ops for citext contrib module
--->
-
-       <para>
-        Allow creation of indexes that can be used by <literal>LIKE</literal>
-        comparisons
-        on <link linkend="citext"><filename>citext</filename></link> columns
-        (Alexey Chernyshov)
-       </para>
-
-       <para>
-        To do this, the index must be created using the
-        <literal>citext_pattern_ops</literal> operator class.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-05 [f4cd7102b] Add support of bool, bpchar, name and uuid to btree_gin
--->
-
-       <para>
-        Allow <link
-        linkend="btree-gin"><filename>btree_gin</filename></link>
-        to index <type>bool</type>, <type>bpchar</type>, <type>name</type>
-        and <type>uuid</type> data types (Matheus Oliveira)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-20 [de1d042f5] Support index-only scans in contrib/cube and contrib/seg
--->
-
-       <para>
-        Allow <link linkend="cube"><filename>cube</filename></link>
-        and <link linkend="seg"><filename>seg</filename></link>
-        extensions to perform index-only scans using GiST indexes
-        (Andrey Borodin)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-01-11 [f50c80dbb] llow negative coordinate for ~&gt; (cube, int) operator
--->
-
-       <para>
-        Allow retrieval of negative cube coordinates using
-        the <literal>~&gt;</literal> operator (Alexander Korotkov)
-       </para>
-
-       <para>
-        This is useful for KNN-GiST searches when looking for coordinates in
-        descending order.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-08-16 [ec0a69e49] Extend the default rules file for contrib/unaccent with
--->
-
-       <para>
-        Add Vietnamese letter handling to the <link
-        linkend="unaccent"><filename>unaccent</filename></link>
-        extension (Dang Minh Huong, Michael Paquier)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-03-31 [7f563c09f] Add amcheck verification of heap relations belonging to
--->
-
-       <para>
-        Enhance <link
-        linkend="amcheck"><filename>amcheck</filename></link>
-        to check that each heap tuple has an index entry (Peter Geoghegan)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2018-04-06 [11523e860] Support new default roles with adminpack
--->
-
-       <para>
-        Have <link
-        linkend="adminpack"><filename>adminpack</filename></link>
-        use the new default file system access roles (Stephen Frost)
-       </para>
-
-       <para>
-        Previously, only superusers could call <filename>adminpack</filename>
-        functions; now role permissions are checked.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-10-11 [cff440d36] pg_stat_statements: Widen query IDs from 32 bits to 64 b
--->
-
-       <para>
-        Widen <structname>pg_stat_statement</structname>'s query ID
-        to 64 bits (Robert Haas)
-       </para>
-
-       <para>
-        This greatly reduces the chance of query ID hash collisions.
-        The query ID can now potentially display as a negative value.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-11-17 [527878635] Remove contrib/start-scripts/osx/.
--->
-
-       <para>
-        Remove the <filename>contrib/start-scripts/osx</filename> scripts
-        since they are no longer recommended
-        (use <filename>contrib/start-scripts/macos</filename> instead)
-        (Tom Lane)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-2017-09-22 [5d3cad564] Remove contrib/chkpass
--->
-
-       <para>
-        Remove the <filename>chkpass</filename> extension (Peter Eisentraut)
-       </para>
-
-       <para>
-        This extension is no longer considered to be a usable security tool
-        or example of how to write an extension.
-       </para>
-
-      </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-  </sect2>
-
-  <sect2 id="release-11-acknowledgements">
-   <title>Acknowledgments</title>
-
-   <para>
-    The following individuals (in alphabetical order) have contributed to this
-    release as patch authors, committers, reviewers, testers, or reporters of
-    issues.
-   </para>
-
-   <simplelist>
-    <member>Abhijit Menon-Sen</member>
-    <member>Adam Bielanski</member>
-    <member>Adam Brightwell</member>
-    <member>Adam Brusselback</member>
-    <member>Aditya Toshniwal</member>
-    <member>Adrián Escoms</member>
-    <member>Adrien Nayrat</member>
-    <member>Akos Vandra</member>
-    <member>Aleksander Alekseev</member>
-    <member>Aleksandr Parfenov</member>
-    <member>Alexander Korotkov</member>
-    <member>Alexander Kukushkin</member>
-    <member>Alexander Kuzmenkov</member>
-    <member>Alexander Lakhin</member>
-    <member>Alexandre Garcia</member>
-    <member>Alexey Bashtanov</member>
-    <member>Alexey Chernyshov</member>
-    <member>Alexey Kryuchkov</member>
-    <member>Alik Khilazhev</member>
-    <member>Álvaro Herrera</member>
-    <member>Amit Kapila</member>
-    <member>Amit Khandekar</member>
-    <member>Amit Langote</member>
-    <member>Amul Sul</member>
-    <member>Anastasia Lubennikova</member>
-    <member>Andreas Joseph Krogh</member>
-    <member>Andreas Karlsson</member>
-    <member>Andreas Seltenreich</member>
-    <member>André Hänsel</member>
-    <member>Andrei Gorita</member>
-    <member>Andres Freund</member>
-    <member>Andrew Dunstan</member>
-    <member>Andrew Fletcher</member>
-    <member>Andrew Gierth</member>
-    <member>Andrew Grossman</member>
-    <member>Andrew Krasichkov</member>
-    <member>Andrey Borodin</member>
-    <member>Andrey Lizenko</member>
-    <member>Andy Abelisto</member>
-    <member>Anthony Bykov</member>
-    <member>Antoine Scemama</member>
-    <member>Anton Dignös</member>
-    <member>Antonin Houska</member>
-    <member>Arseniy Sharoglazov</member>
-    <member>Arseny Sher</member>
-    <member>Arthur Zakirov</member>
-    <member>Ashutosh Bapat</member>
-    <member>Ashutosh Sharma</member>
-    <member>Ashwin Agrawal</member>
-    <member>Asim Praveen</member>
-    <member>Atsushi Torikoshi</member>
-    <member>Badrul Chowdhury</member>
-    <member>Balazs Szilfai</member>
-    <member>Basil Bourque</member>
-    <member>Beena Emerson</member>
-    <member>Ben Chobot</member>
-    <member>Benjamin Coutu</member>
-    <member>Bernd Helmle</member>
-    <member>Blaz Merela</member>
-    <member>Brad DeJong</member>
-    <member>Brent Dearth</member>
-    <member>Brian Cloutier</member>
-    <member>Bruce Momjian</member>
-    <member>Catalin Iacob</member>
-    <member>Chad Trabant</member>
-    <member>Chapman Flack</member>
-    <member>Christian Duta</member>
-    <member>Christian Ullrich</member>
-    <member>Christoph Berg</member>
-    <member>Christoph Dreis</member>
-    <member>Christophe Courtois</member>
-    <member>Christopher Jones</member>
-    <member>Claudio Freire</member>
-    <member>Clayton Salem</member>
-    <member>Craig Ringer</member>
-    <member>Dagfinn Ilmari Mannsåker</member>
-    <member>Dan Vianello</member>
-    <member>Dan Watson</member>
-    <member>Dang Minh Huong</member>
-    <member>Daniel Gustafsson</member>
-    <member>Daniel Vérité</member>
-    <member>Daniel Westermann</member>
-    <member>Daniel Wood</member>
-    <member>Darafei Praliaskouski</member>
-    <member>Dave Cramer</member>
-    <member>Dave Page</member>
-    <member>David Binderman</member>
-    <member>David Carlier</member>
-    <member>David Fetter</member>
-    <member>David G. Johnston</member>
-    <member>David Gould</member>
-    <member>David Hinkle</member>
-    <member>David Pereiro Lagares</member>
-    <member>David Rader</member>
-    <member>David Rowley</member>
-    <member>David Steele</member>
-    <member>Davy Machado</member>
-    <member>Dean Rasheed</member>
-    <member>Dian Fay</member>
-    <member>Dilip Kumar</member>
-    <member>Dmitriy Sarafannikov</member>
-    <member>Dmitry Dolgov</member>
-    <member>Dmitry Ivanov</member>
-    <member>Dmitry Shalashov</member>
-    <member>Don Seiler</member>
-    <member>Doug Doole</member>
-    <member>Doug Rady</member>
-    <member>Edmund Horner</member>
-    <member>Eiji Seki</member>
-    <member>Elvis Pranskevichus</member>
-    <member>Emre Hasegeli</member>
-    <member>Erik Rijkers</member>
-    <member>Erwin Brandstetter</member>
-    <member>Etsuro Fujita</member>
-    <member>Euler Taveira</member>
-    <member>Everaldo Canuto</member>
-    <member>Fabien Coelho</member>
-    <member>Fabrízio de Royes Mello</member>
-    <member>Feike Steenbergen</member>
-    <member>Frits Jalvingh</member>
-    <member>Fujii Masao</member>
-    <member>Gao Zengqi</member>
-    <member>Gianni Ciolli</member>
-    <member>Greg Stark</member>
-    <member>Gunnlaugur Thor Briem</member>
-    <member>Guo Xiang Tan</member>
-    <member>Hadi Moshayedi</member>
-    <member>Hailong Li</member>
-    <member>Haribabu Kommi</member>
-    <member>Heath Lord</member>
-    <member>Heikki Linnakangas</member>
-    <member>Hugo Mercier</member>
-    <member>Igor Korot</member>
-    <member>Igor Neyman</member>
-    <member>Ildar Musin</member>
-    <member>Ildus Kurbangaliev</member>
-    <member>Ioseph Kim</member>
-    <member>Jacob Champion</member>
-    <member>Jaime Casanova</member>
-    <member>Jakob Egger</member>
-    <member>Jean-Pierre Pelletier</member>
-    <member>Jeevan Chalke</member>
-    <member>Jeevan Ladhe</member>
-    <member>Jeff Davis</member>
-    <member>Jeff Janes</member>
-    <member>Jeremy Evans</member>
-    <member>Jeremy Finzel</member>
-    <member>Jeremy Schneider</member>
-    <member>Jesper Pedersen</member>
-    <member>Jim Nasby</member>
-    <member>Jimmy Yih</member>
-    <member>Jing Wang</member>
-    <member>Jobin Augustine</member>
-    <member>Joe Conway</member>
-    <member>John Gorman</member>
-    <member>John Naylor</member>
-    <member>Jon Nelson</member>
-    <member>Jon Wolski</member>
-    <member>Jonathan Allen</member>
-    <member>Jonathan S. Katz</member>
-    <member>Julien Rouhaud</member>
-    <member>Jürgen Purtz</member>
-    <member>Justin Pryzby</member>
-    <member>KaiGai Kohei</member>
-    <member>Kaiting Chen</member>
-    <member>Karl Lehenbauer</member>
-    <member>Keith Fiske</member>
-    <member>Kevin Bloch</member>
-    <member>Kha Nguyen</member>
-    <member>Kim Rose Carlsen</member>
-    <member>Konstantin Knizhnik</member>
-    <member>Kuntal Ghosh</member>
-    <member>Kyle Samson</member>
-    <member>Kyotaro Horiguchi</member>
-    <member>Lætitia Avrot</member>
-    <member>Lars Kanis</member>
-    <member>Laurenz Albe</member>
-    <member>Leonardo Cecchi</member>
-    <member>Liudmila Mantrova</member>
-    <member>Lixian Zou</member>
-    <member>Lloyd Albin</member>
-    <member>Luca Ferrari</member>
-    <member>Lucas Fairchild</member>
-    <member>Lukas Eder</member>
-    <member>Lukas Fittl</member>
-    <member>Magnus Hagander</member>
-    <member>Mai Peng</member>
-    <member>Maksim Milyutin</member>
-    <member>Maksym Boguk</member>
-    <member>Mansur Galiev</member>
-    <member>Marc Dilger</member>
-    <member>Marco Nenciarini</member>
-    <member>Marina Polyakova</member>
-    <member>Mario de Frutos Dieguez</member>
-    <member>Mark Cave-Ayland</member>
-    <member>Mark Dilger</member>
-    <member>Mark Wood</member>
-    <member>Marko Tiikkaja</member>
-    <member>Markus Winand</member>
-    <member>Martín Marqués</member>
-    <member>Masahiko Sawada</member>
-    <member>Matheus Oliveira</member>
-    <member>Matthew Stickney</member>
-    <member>Metin Doslu</member>
-    <member>Michael Banck</member>
-    <member>Michael Meskes</member>
-    <member>Michael Paquier</member>
-    <member>Michail Nikolaev</member>
-    <member>Mike Blackwell</member>
-    <member>Minh-Quan Tran</member>
-    <member>Mithun Cy</member>
-    <member>Morgan Owens</member>
-    <member>Nathan Bossart</member>
-    <member>Nathan Wagner</member>
-    <member>Neil Conway</member>
-    <member>Nick Barnes</member>
-    <member>Nicolas Thauvin</member>
-    <member>Nikhil Sontakke</member>
-    <member>Nikita Glukhov</member>
-    <member>Nikolay Shaplov</member>
-    <member>Noah Misch</member>
-    <member>Noriyoshi Shinoda</member>
-    <member>Oleg Bartunov</member>
-    <member>Oleg Samoilov</member>
-    <member>Oliver Ford</member>
-    <member>Pan Bian</member>
-    <member>Pascal Legrand</member>
-    <member>Patrick Hemmer</member>
-    <member>Patrick Krecker</member>
-    <member>Paul Bonaud</member>
-    <member>Paul Guo</member>
-    <member>Paul Ramsey</member>
-    <member>Pavan Deolasee</member>
-    <member>Pavan Maddamsetti</member>
-    <member>Pavel Golub</member>
-    <member>Pavel Stehule</member>
-    <member>Peter Eisentraut</member>
-    <member>Peter Geoghegan</member>
-    <member>Petr Jelínek</member>
-    <member>Petru-Florin Mihancea</member>
-    <member>Phil Florent</member>
-    <member>Philippe Beaudoin</member>
-    <member>Pierre Ducroquet</member>
-    <member>Piotr Stefaniak</member>
-    <member>Prabhat Sahu</member>
-    <member>Pu Qun</member>
-    <member>QL Zhuo</member>
-    <member>Rafia Sabih</member>
-    <member>Rahila Syed</member>
-    <member>Rainer Orth</member>
-    <member>Rajkumar Raghuwanshi</member>
-    <member>Raúl Marín Rodríguez</member>
-    <member>Regina Obe</member>
-    <member>Richard Yen</member>
-    <member>Robert Haas</member>
-    <member>Robins Tharakan</member>
-    <member>Rod Taylor</member>
-    <member>Rushabh Lathia</member>
-    <member>Ryan Murphy</member>
-    <member>Sahap Asci</member>
-    <member>Samuel Horwitz</member>
-    <member>Scott Ure</member>
-    <member>Sean Johnston</member>
-    <member>Shao Bret</member>
-    <member>Shay Rojansky</member>
-    <member>Shubham Barai</member>
-    <member>Simon Riggs</member>
-    <member>Simone Gotti</member>
-    <member>Sivasubramanian Ramasubramanian</member>
-    <member>Stas Kelvich</member>
-    <member>Stefan Kaltenbrunner</member>
-    <member>Stephen Froehlich</member>
-    <member>Stephen Frost</member>
-    <member>Steve Singer</member>
-    <member>Steven Winfield</member>
-    <member>Sven Kunze</member>
-    <member>Taiki Kondo</member>
-    <member>Takayuki Tsunakawa</member>
-    <member>Takeshi Ideriha</member>
-    <member>Tatsuo Ishii</member>
-    <member>Tatsuro Yamada</member>
-    <member>Teodor Sigaev</member>
-    <member>Thom Brown</member>
-    <member>Thomas Kellerer</member>
-    <member>Thomas Munro</member>
-    <member>Thomas Reiss</member>
-    <member>Tobias Bussmann</member>
-    <member>Todd A. Cook</member>
-    <member>Tom Kazimiers</member>
-    <member>Tom Lane</member>
-    <member>Tomas Vondra</member>
-    <member>Tomonari Katsumata</member>
-    <member>Torsten Grust</member>
-    <member>Tushar Ahuja</member>
-    <member>Vaishnavi Prabakaran</member>
-    <member>Vasundhar Boddapati</member>
-    <member>Victor Drobny</member>
-    <member>Victor Wagner</member>
-    <member>Victor Yegorov</member>
-    <member>Vik Fearing</member>
-    <member>Vinayak Pokale</member>
-    <member>Vincent Lachenal</member>
-    <member>Vitaliy Garnashevich</member>
-    <member>Vitaly Burovoy</member>
-    <member>Vladimir Baranoff</member>
-    <member>Xin Zhang</member>
-    <member>Yi Wen Wong</member>
-    <member>Yorick Peterse</member>
-    <member>Yugo Nagata</member>
-    <member>Yuqi Gu</member>
-    <member>Yura Sokolov</member>
-    <member>Yves Goergen</member>
-    <member>Zhou Digoal</member>
-   </simplelist>
-  </sect2>
-
- </sect1>
index b06fef287dc297d0540a24d37b7310ec27fd7c97..348f0f58251a5df2eb48ba4b3cc04d039ad1d723 100644 (file)
@@ -4,8 +4,14 @@
  <sect1 id="release-12">
   <title>Release 12</title>
 
-  <para>JIT is enabled by default in this release.  It was disabled by
-  default in PG 11, so we document is enablement here.
+  <para>
+   This is just a placeholder for now.  Actual notes will appear
+   after feature freeze.
+  </para>
+
+  <para>
+   JIT is enabled by default in this release.  It was disabled by
+   default in PG 11, so we should document its enablement here.
   </para>
 
  </sect1>
diff --git a/doc/src/sgml/release-7.4.sgml b/doc/src/sgml/release-7.4.sgml
deleted file mode 100644 (file)
index a67945a..0000000
+++ /dev/null
@@ -1,4622 +0,0 @@
-<!-- doc/src/sgml/release-7.4.sgml -->
-<!-- See header comment in release.sgml about typical markup -->
-
- <sect1 id="release-7-4-30">
-  <title>Release 7.4.30</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2010-10-04</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.29.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <para>
-   This is expected to be the last <productname>PostgreSQL</productname> release
-   in the 7.4.X series.  Users are encouraged to update to a newer
-   release branch soon.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.30</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-    However, if you are upgrading from a version earlier than 7.4.26,
-    see <xref linkend="release-7-4-26"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Use a separate interpreter for each calling SQL userid in PL/Perl and
-      PL/Tcl (Tom Lane)
-     </para>
-
-     <para>
-      This change prevents security problems that can be caused by subverting
-      Perl or Tcl code that will be executed later in the same session under
-      another SQL user identity (for example, within a <literal>SECURITY
-      DEFINER</literal> function).  Most scripting languages offer numerous ways that
-      that might be done, such as redefining standard functions or operators
-      called by the target function.  Without this change, any SQL user with
-      Perl or Tcl language usage rights can do essentially anything with the
-      SQL privileges of the target function's owner.
-     </para>
-
-     <para>
-      The cost of this change is that intentional communication among Perl
-      and Tcl functions becomes more difficult.  To provide an escape hatch,
-      PL/PerlU and PL/TclU functions continue to use only one interpreter
-      per session.  This is not considered a security issue since all such
-      functions execute at the trust level of a database superuser already.
-     </para>
-
-     <para>
-      It is likely that third-party procedural languages that claim to offer
-      trusted execution have similar security issues.  We advise contacting
-      the authors of any PL you are depending on for security-critical
-      purposes.
-     </para>
-
-     <para>
-      Our thanks to Tim Bunce for pointing out this issue (CVE-2010-3433).
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent possible crashes in <function>pg_get_expr()</function> by disallowing
-      it from being called with an argument that is not one of the system
-      catalog columns it's intended to be used with
-      (Heikki Linnakangas, Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <quote>cannot handle unplanned sub-select</quote> error (Tom Lane)
-     </para>
-
-     <para>
-      This occurred when a sub-select contains a join alias reference that
-      expands into an expression containing another sub-select.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Take care to fsync the contents of lockfiles (both
-      <filename>postmaster.pid</filename> and the socket lockfile) while writing them
-      (Tom Lane)
-     </para>
-
-     <para>
-      This omission could result in corrupted lockfile contents if the
-      machine crashes shortly after postmaster start.  That could in turn
-      prevent subsequent attempts to start the postmaster from succeeding,
-      until the lockfile is manually removed.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improve <filename>contrib/dblink</filename>'s handling of tables containing
-      dropped columns (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix connection leak after <quote>duplicate connection name</quote>
-      errors in <filename>contrib/dblink</filename> (Itagaki Takahiro)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update build infrastructure and documentation to reflect the source code
-      repository's move from CVS to Git (Magnus Hagander and others)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-29">
-  <title>Release 7.4.29</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2010-05-17</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.28.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <para>
-   The <productname>PostgreSQL</productname> community will stop releasing updates
-   for the 7.4.X release series in July 2010.
-   Users are encouraged to update to a newer release branch soon.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.29</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-    However, if you are upgrading from a version earlier than 7.4.26,
-    see <xref linkend="release-7-4-26"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Enforce restrictions in <literal>plperl</literal> using an opmask applied to
-      the whole interpreter, instead of using <filename>Safe.pm</filename>
-      (Tim Bunce, Andrew Dunstan)
-     </para>
-
-     <para>
-      Recent developments have convinced us that <filename>Safe.pm</filename> is too
-      insecure to rely on for making <literal>plperl</literal> trustable.  This
-      change removes use of <filename>Safe.pm</filename> altogether, in favor of using
-      a separate interpreter with an opcode mask that is always applied.
-      Pleasant side effects of the change include that it is now possible to
-      use Perl's <literal>strict</literal> pragma in a natural way in
-      <literal>plperl</literal>, and that Perl's <literal>$a</literal> and <literal>$b</literal>
-      variables work as expected in sort routines, and that function
-      compilation is significantly faster.  (CVE-2010-1169)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent PL/Tcl from executing untrustworthy code from
-      <structname>pltcl_modules</structname> (Tom)
-     </para>
-
-     <para>
-      PL/Tcl's feature for autoloading Tcl code from a database table
-      could be exploited for trojan-horse attacks, because there was no
-      restriction on who could create or insert into that table.  This change
-      disables the feature unless <structname>pltcl_modules</structname> is owned by a
-      superuser.  (However, the permissions on the table are not checked, so
-      installations that really need a less-than-secure modules table can
-      still grant suitable privileges to trusted non-superusers.)  Also,
-      prevent loading code into the unrestricted <quote>normal</quote> Tcl
-      interpreter unless we are really going to execute a <literal>pltclu</literal>
-      function.  (CVE-2010-1170)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Do not allow an unprivileged user to reset superuser-only parameter
-      settings (Alvaro)
-     </para>
-
-     <para>
-      Previously, if an unprivileged user ran <literal>ALTER USER ... RESET
-      ALL</literal> for himself, or <literal>ALTER DATABASE ... RESET ALL</literal> for
-      a database he owns, this would remove all special parameter settings
-      for the user or database, even ones that are only supposed to be
-      changeable by a superuser.  Now, the <command>ALTER</command> will only
-      remove the parameters that the user has permission to change.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Avoid possible crash during backend shutdown if shutdown occurs
-      when a <literal>CONTEXT</literal> addition would be made to log entries (Tom)
-     </para>
-
-     <para>
-      In some cases the context-printing function would fail because the
-      current transaction had already been rolled back when it came time
-      to print a log message.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update PL/Perl's <filename>ppport.h</filename> for modern Perl versions
-      (Andrew)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix assorted memory leaks in PL/Python (Andreas Freund, Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Ensure that <filename>contrib/pgstattuple</filename> functions respond to cancel
-      interrupts promptly (Tatsuhito Kasahara)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make server startup deal properly with the case that
-      <function>shmget()</function> returns <literal>EINVAL</literal> for an existing
-      shared memory segment (Tom)
-     </para>
-
-     <para>
-      This behavior has been observed on BSD-derived kernels including macOS.
-      It resulted in an entirely-misleading startup failure complaining that
-      the shared memory request size was too large.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-28">
-  <title>Release 7.4.28</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2010-03-15</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.27.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <para>
-   The <productname>PostgreSQL</productname> community will stop releasing updates
-   for the 7.4.X release series in July 2010.
-   Users are encouraged to update to a newer release branch soon.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.28</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-    However, if you are upgrading from a version earlier than 7.4.26,
-    see <xref linkend="release-7-4-26"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Add new configuration parameter <varname>ssl_renegotiation_limit</varname> to
-      control how often we do session key renegotiation for an SSL connection
-      (Magnus)
-     </para>
-
-     <para>
-      This can be set to zero to disable renegotiation completely, which may
-      be required if a broken SSL library is used.  In particular, some
-      vendors are shipping stopgap patches for CVE-2009-3555 that cause
-      renegotiation attempts to fail.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make <function>substring()</function> for <type>bit</type> types treat any negative
-      length as meaning <quote>all the rest of the string</quote> (Tom)
-     </para>
-
-     <para>
-      The previous coding treated only -1 that way, and would produce an
-      invalid result value for other negative values, possibly leading to
-      a crash (CVE-2010-0442).
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix some cases of pathologically slow regular expression matching (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      When reading <filename>pg_hba.conf</filename> and related files, do not treat
-      <literal>@something</literal> as a file inclusion request if the <literal>@</literal>
-      appears inside quote marks; also, never treat <literal>@</literal> by itself
-      as a file inclusion request (Tom)
-     </para>
-
-     <para>
-      This prevents erratic behavior if a role or database name starts with
-      <literal>@</literal>.  If you need to include a file whose path name
-      contains spaces, you can still do so, but you must write
-      <literal>@"/path to/file"</literal> rather than putting the quotes around
-      the whole construct.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent infinite loop on some platforms if a directory is named as
-      an inclusion target in <filename>pg_hba.conf</filename> and related files
-      (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Ensure PL/Tcl initializes the Tcl interpreter fully (Tom)
-     </para>
-
-     <para>
-      The only known symptom of this oversight is that the Tcl
-      <literal>clock</literal> command misbehaves if using Tcl 8.5 or later.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent crash in <filename>contrib/dblink</filename> when too many key
-      columns are specified to a <function>dblink_build_sql_*</function> function
-      (Rushabh Lathia, Joe Conway)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-27">
-  <title>Release 7.4.27</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2009-12-14</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.26.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.27</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-    However, if you are upgrading from a version earlier than 7.4.26,
-    see <xref linkend="release-7-4-26"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Protect against indirect security threats caused by index functions
-      changing session-local state (Gurjeet Singh, Tom)
-     </para>
-
-     <para>
-      This change prevents allegedly-immutable index functions from possibly
-      subverting a superuser's session (CVE-2009-4136).
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Reject SSL certificates containing an embedded null byte in the common
-      name (CN) field (Magnus)
-     </para>
-
-     <para>
-      This prevents unintended matching of a certificate to a server or client
-      name during SSL validation (CVE-2009-4034).
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix possible crash during backend-startup-time cache initialization (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent signals from interrupting <literal>VACUUM</literal> at unsafe times
-      (Alvaro)
-     </para>
-
-     <para>
-      This fix prevents a PANIC if a <literal>VACUUM FULL</literal> is canceled
-      after it's already committed its tuple movements, as well as transient
-      errors if a plain <literal>VACUUM</literal> is interrupted after having
-      truncated the table.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix possible crash due to integer overflow in hash table size
-      calculation (Tom)
-     </para>
-
-     <para>
-      This could occur with extremely large planner estimates for the size of
-      a hashjoin's result.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix very rare crash in <type>inet</type>/<type>cidr</type> comparisons (Chris
-      Mikkelson)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix PAM password processing to be more robust (Tom)
-     </para>
-
-     <para>
-      The previous code is known to fail with the combination of the Linux
-      <literal>pam_krb5</literal> PAM module with Microsoft Active Directory as the
-      domain controller.  It might have problems elsewhere too, since it was
-      making unjustified assumptions about what arguments the PAM stack would
-      pass to it.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make the postmaster ignore any <literal>application_name</literal> parameter in
-      connection request packets, to improve compatibility with future libpq
-      versions (Tom)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-26">
-  <title>Release 7.4.26</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2009-09-09</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.25.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.26</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-    However, if you have any hash indexes on <type>interval</type> columns,
-    you must <command>REINDEX</command> them after updating to 7.4.26.
-    Also, if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Disallow <command>RESET ROLE</command> and <command>RESET SESSION
-      AUTHORIZATION</command> inside security-definer functions (Tom, Heikki)
-     </para>
-
-     <para>
-      This covers a case that was missed in the previous patch that
-      disallowed <command>SET ROLE</command> and <command>SET SESSION
-      AUTHORIZATION</command> inside security-definer functions.
-      (See CVE-2007-6600)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix handling of sub-SELECTs appearing in the arguments of
-      an outer-level aggregate function (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix hash calculation for data type <type>interval</type> (Tom)
-     </para>
-
-     <para>
-      This corrects wrong results for hash joins on interval values.
-      It also changes the contents of hash indexes on interval columns.
-      If you have any such indexes, you must <command>REINDEX</command> them
-      after updating.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix overflow for <literal>INTERVAL '<replaceable>x</replaceable> ms'</literal>
-      when <replaceable>x</replaceable> is more than 2 million and integer
-      datetimes are in use (Alex Hunsaker)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix calculation of distance between a point and a line segment (Tom)
-     </para>
-
-     <para>
-      This led to incorrect results from a number of geometric operators.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <type>money</type> data type to work in locales where currency
-      amounts have no fractional digits, e.g. Japan (Itagaki Takahiro)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Properly round datetime input like
-      <literal>00:12:57.9999999999999999999999999999</literal> (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix poor choice of page split point in GiST R-tree operator classes
-      (Teodor)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix portability issues in plperl initialization (Andrew Dunstan)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improve robustness of <application>libpq</application>'s code to recover
-      from errors during <command>COPY FROM STDIN</command> (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Avoid including conflicting readline and editline header files
-      when both libraries are installed (Zdenek Kotala)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-25">
-  <title>Release 7.4.25</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2009-03-16</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.24.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.25</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-    However, if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Prevent error recursion crashes when encoding conversion fails (Tom)
-     </para>
-
-     <para>
-      This change extends fixes made in the last two minor releases for
-      related failure scenarios.  The previous fixes were narrowly tailored
-      for the original problem reports, but we have now recognized that
-      <emphasis>any</emphasis> error thrown by an encoding conversion function could
-      potentially lead to infinite recursion while trying to report the
-      error.  The solution therefore is to disable translation and encoding
-      conversion and report the plain-ASCII form of any error message,
-      if we find we have gotten into a recursive error reporting situation.
-      (CVE-2009-0922)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Disallow <command>CREATE CONVERSION</command> with the wrong encodings
-      for the specified conversion function (Heikki)
-     </para>
-
-     <para>
-      This prevents one possible scenario for encoding conversion failure.
-      The previous change is a backstop to guard against other kinds of
-      failures in the same area.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix core dump when <function>to_char()</function> is given format codes that
-      are inappropriate for the type of the data argument (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Add <literal>MUST</literal> (Mauritius Island Summer Time) to the default list
-      of known timezone abbreviations (Xavier Bugaud)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-24">
-  <title>Release 7.4.24</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2009-02-02</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.23.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.24</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-    However, if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Improve handling of URLs in <function>headline()</function> function (Teodor)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improve handling of overlength headlines in <function>headline()</function>
-      function (Teodor)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent possible Assert failure or misconversion if an encoding
-      conversion is created with the wrong conversion function for the
-      specified pair of encodings (Tom, Heikki)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Avoid unnecessary locking of small tables in <command>VACUUM</command>
-      (Heikki)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix uninitialized variables in <filename>contrib/tsearch2</filename>'s
-      <function>get_covers()</function> function (Teodor)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix bug in <function>to_char()</function>'s handling of <literal>TH</literal>
-      format codes (Andreas Scherbaum)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make all documentation reference <literal>pgsql-bugs</literal> and/or
-      <literal>pgsql-hackers</literal> as appropriate, instead of the
-      now-decommissioned <literal>pgsql-ports</literal> and <literal>pgsql-patches</literal>
-      mailing lists (Tom)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-23">
-  <title>Release 7.4.23</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2008-11-03</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.22.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.23</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-    However, if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Fix backend crash when the client encoding cannot represent a localized
-      error message (Tom)
-     </para>
-
-     <para>
-      We have addressed similar issues before, but it would still fail if
-      the <quote>character has no equivalent</quote> message itself couldn't
-      be converted.  The fix is to disable localization and send the plain
-      ASCII error message when we detect such a situation.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix incorrect tsearch2 headline generation when single query
-      item matches first word of text (Sushant Sinha)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix improper display of fractional seconds in interval values when
-      using a non-ISO datestyle in an <option>--enable-integer-datetimes</option>
-      build (Ron Mayer)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Ensure <function>SPI_getvalue</function> and <function>SPI_getbinval</function>
-      behave correctly when the passed tuple and tuple descriptor have
-      different numbers of columns (Tom)
-     </para>
-
-     <para>
-      This situation is normal when a table has had columns added or removed,
-      but these two functions didn't handle it properly.
-      The only likely consequence is an incorrect error indication.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <application>ecpg</application>'s parsing of <command>CREATE USER</command> (Michael)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-22">
-  <title>Release 7.4.22</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2008-09-22</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.21.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.22</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-    However, if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Fix datetime input functions to correctly detect integer overflow when
-      running on a 64-bit platform (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improve performance of writing very long log messages to syslog (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix bug in backwards scanning of a cursor on a <literal>SELECT DISTINCT
-      ON</literal> query (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix planner to estimate that <literal>GROUP BY</literal> expressions yielding
-      boolean results always result in two groups, regardless of the
-      expressions' contents (Tom)
-     </para>
-
-     <para>
-      This is very substantially more accurate than the regular <literal>GROUP
-      BY</literal> estimate for certain boolean tests like <replaceable>col</replaceable>
-      <literal>IS NULL</literal>.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improve <application>pg_dump</application> and <application>pg_restore</application>'s
-      error reporting after failure to send a SQL command (Tom)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-21">
-  <title>Release 7.4.21</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2008-06-12</para>
-  </formalpara>
-
-  <para>
-   This release contains one serious bug fix over 7.4.20.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.21</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-    However, if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Make <function>pg_get_ruledef()</function> parenthesize negative constants (Tom)
-     </para>
-
-     <para>
-      Before this fix, a negative constant in a view or rule might be dumped
-      as, say, <literal>-42::integer</literal>, which is subtly incorrect: it should
-      be <literal>(-42)::integer</literal> due to operator precedence rules.
-      Usually this would make little difference, but it could interact with
-      another recent patch to cause
-      <productname>PostgreSQL</productname> to reject what had been a valid
-      <command>SELECT DISTINCT</command> view query.  Since this could result in
-      <application>pg_dump</application> output failing to reload, it is being treated
-      as a high-priority fix.  The only released versions in which dump
-      output is actually incorrect are 8.3.1 and 8.2.7.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-20">
-  <title>Release 7.4.20</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>never released</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.19.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.20</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-    However, if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Fix conversions between ISO-8859-5 and other encodings to handle
-      Cyrillic <quote>Yo</quote> characters (<literal>e</literal> and <literal>E</literal> with
-      two dots) (Sergey Burladyan)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix a few datatype input functions
-      that were allowing unused bytes in their results to contain
-      uninitialized, unpredictable values (Tom)
-     </para>
-
-     <para>
-      This could lead to failures in which two apparently identical literal
-      values were not seen as equal, resulting in the parser complaining
-      about unmatched <literal>ORDER BY</literal> and <literal>DISTINCT</literal>
-      expressions.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix a corner case in regular-expression substring matching
-      (<literal>substring(<replaceable>string</replaceable> from
-      <replaceable>pattern</replaceable>)</literal>) (Tom)
-     </para>
-
-     <para>
-      The problem occurs when there is a match to the pattern overall but
-      the user has specified a parenthesized subexpression and that
-      subexpression hasn't got a match.  An example is
-      <literal>substring('foo' from 'foo(bar)?')</literal>.
-      This should return NULL, since <literal>(bar)</literal> isn't matched, but
-      it was mistakenly returning the whole-pattern match instead (ie,
-      <literal>foo</literal>).
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix incorrect result from <application>ecpg</application>'s
-      <function>PGTYPEStimestamp_sub()</function> function (Michael)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <literal>DatumGetBool</literal> macro to not fail with <application>gcc</application>
-      4.3 (Tom)
-     </para>
-
-     <para>
-      This problem affects <quote>old style</quote> (V0) C functions that
-      return boolean.  The fix is already in 8.3, but the need to
-      back-patch it was not realized at the time.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix longstanding <command>LISTEN</command>/<command>NOTIFY</command>
-      race condition (Tom)
-     </para>
-
-     <para>
-      In rare cases a session that had just executed a
-      <command>LISTEN</command> might not get a notification, even though
-      one would be expected because the concurrent transaction executing
-      <command>NOTIFY</command> was observed to commit later.
-     </para>
-
-     <para>
-      A side effect of the fix is that a transaction that has executed
-      a not-yet-committed <command>LISTEN</command> command will not see any
-      row in <structname>pg_listener</structname> for the <command>LISTEN</command>,
-      should it choose to look; formerly it would have.  This behavior
-      was never documented one way or the other, but it is possible that
-      some applications depend on the old behavior.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix display of constant expressions in <literal>ORDER BY</literal>
-      and <literal>GROUP BY</literal> (Tom)
-     </para>
-
-     <para>
-      An explicitly casted constant would be shown incorrectly.  This could
-      for example lead to corruption of a view definition during
-      dump and reload.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <application>libpq</application> to handle NOTICE messages correctly
-      during COPY OUT (Tom)
-     </para>
-
-     <para>
-      This failure has only been observed to occur when a user-defined
-      datatype's output routine issues a NOTICE, but there is no
-      guarantee it couldn't happen due to other causes.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-19">
-  <title>Release 7.4.19</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2008-01-07</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.18,
-   including fixes for significant security issues.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.19</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Prevent functions in indexes from executing with the privileges of
-      the user running <command>VACUUM</command>, <command>ANALYZE</command>, etc (Tom)
-     </para>
-
-     <para>
-      Functions used in index expressions and partial-index
-      predicates are evaluated whenever a new table entry is made.  It has
-      long been understood that this poses a risk of trojan-horse code
-      execution if one modifies a table owned by an untrustworthy user.
-      (Note that triggers, defaults, check constraints, etc. pose the
-      same type of risk.)  But functions in indexes pose extra danger
-      because they will be executed by routine maintenance operations
-      such as <command>VACUUM FULL</command>, which are commonly performed
-      automatically under a superuser account.  For example, a nefarious user
-      can execute code with superuser privileges by setting up a
-      trojan-horse index definition and waiting for the next routine vacuum.
-      The fix arranges for standard maintenance operations
-      (including <command>VACUUM</command>, <command>ANALYZE</command>, <command>REINDEX</command>,
-      and <command>CLUSTER</command>) to execute as the table owner rather than
-      the calling user, using the same privilege-switching mechanism already
-      used for <literal>SECURITY DEFINER</literal> functions.  To prevent bypassing
-      this security measure, execution of <command>SET SESSION
-      AUTHORIZATION</command> and <command>SET ROLE</command> is now forbidden within a
-      <literal>SECURITY DEFINER</literal> context.  (CVE-2007-6600)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Repair assorted bugs in the regular-expression package (Tom, Will Drewry)
-     </para>
-
-     <para>
-      Suitably crafted regular-expression patterns could cause crashes,
-      infinite or near-infinite looping, and/or massive memory consumption,
-      all of which pose denial-of-service hazards for applications that
-      accept regex search patterns from untrustworthy sources.
-      (CVE-2007-4769, CVE-2007-4772, CVE-2007-6067)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Require non-superusers who use <filename>/contrib/dblink</filename> to use only
-      password authentication, as a security measure (Joe)
-     </para>
-
-     <para>
-      The fix that appeared for this in 7.4.18 was incomplete, as it plugged
-      the hole for only some <filename>dblink</filename> functions.  (CVE-2007-6601,
-      CVE-2007-3278)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix planner failure in some cases of <literal>WHERE false AND var IN
-      (SELECT ...)</literal> (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix potential crash in <function>translate()</function> when using a multibyte
-      database encoding (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix PL/Python to not crash on long exception messages (Alvaro)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      <application>ecpg</application> parser fixes (Michael)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make <filename>contrib/tablefunc</filename>'s <function>crosstab()</function> handle
-      NULL rowid as a category in its own right, rather than crashing (Joe)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <type>tsvector</type> and <type>tsquery</type> output routines to
-      escape backslashes correctly (Teodor, Bruce)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix crash of <function>to_tsvector()</function> on huge input strings (Teodor)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Require a specific version of <productname>Autoconf</productname> to be used
-      when re-generating the <command>configure</command> script (Peter)
-     </para>
-
-     <para>
-      This affects developers and packagers only.  The change was made
-      to prevent accidental use of untested combinations of
-      <productname>Autoconf</productname> and <productname>PostgreSQL</productname> versions.
-      You can remove the version check if you really want to use a
-      different <productname>Autoconf</productname> version, but it's
-      your responsibility whether the result works or not.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-18">
-  <title>Release 7.4.18</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2007-09-17</para>
-  </formalpara>
-
-  <para>
-   This release contains fixes from 7.4.17.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.18</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Prevent index corruption when a transaction inserts rows and
-      then aborts close to the end of a concurrent <command>VACUUM</command>
-      on the same table (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make <command>CREATE DOMAIN ... DEFAULT NULL</command> work properly (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix excessive logging of <acronym>SSL</acronym> error messages (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix crash when <varname>log_min_error_statement</varname> logging runs out
-      of memory (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent <command>CLUSTER</command> from failing
-      due to attempting to process temporary tables of other sessions (Alvaro)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Require non-superusers who use <filename>/contrib/dblink</filename> to use only
-      password authentication, as a security measure (Joe)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-17">
-  <title>Release 7.4.17</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2007-04-23</para>
-  </formalpara>
-
-  <para>
-   This release contains fixes from 7.4.16,
-   including a security fix.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.17</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-    <para>
-     Support explicit placement of the temporary-table schema within
-     <varname>search_path</varname>, and disable searching it for functions
-     and operators (Tom)
-    </para>
-    <para>
-     This is needed to allow a security-definer function to set a
-     truly secure value of <varname>search_path</varname>.  Without it,
-     an unprivileged SQL user can use temporary objects to execute code
-     with the privileges of the security-definer function (CVE-2007-2138).
-     See <command>CREATE FUNCTION</command> for more information.
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     <filename>/contrib/tsearch2</filename> crash fixes (Teodor)
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     Fix potential-data-corruption bug in how <command>VACUUM FULL</command> handles
-     <command>UPDATE</command> chains (Tom, Pavan Deolasee)
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     Fix PANIC during enlargement of a hash index (bug introduced in 7.4.15)
-     (Tom)
-    </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-16">
-  <title>Release 7.4.16</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2007-02-05</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.15, including
-   a security fix.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.16</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-    <para>
-     Remove security vulnerability that allowed connected users
-     to read backend memory (Tom)
-    </para>
-    <para>
-     The vulnerability involves suppressing the normal check that a SQL
-     function returns the data type it's declared to, or changing the
-     data type of a table column used in a SQL function (CVE-2007-0555).
-     This error can easily be exploited to cause a backend crash, and in
-     principle might be used to read database content that the user
-     should not be able to access.
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     Fix rare bug wherein btree index page splits could fail
-     due to choosing an infeasible split point (Heikki Linnakangas)
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     Fix for rare Assert() crash triggered by <literal>UNION</literal> (Tom)
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     Tighten security of multi-byte character processing for UTF8 sequences
-     over three bytes long (Tom)
-    </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-15">
-  <title>Release 7.4.15</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2007-01-08</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.14.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.15</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Improve handling of <function>getaddrinfo()</function> on AIX (Tom)
-     </para>
-
-     <para>
-      This fixes a problem with starting the statistics collector,
-      among other things.
-     </para>
-    </listitem>
-
-     <listitem>
-      <para>
-       Fix <quote>failed to re-find parent key</quote> errors in
-       <command>VACUUM</command> (Tom)
-      </para>
-     </listitem>
-
-     <listitem>
-      <para>
-       Fix bugs affecting multi-gigabyte hash indexes (Tom)
-      </para>
-     </listitem>
-
-    <listitem>
-     <para>
-      Fix error when constructing an <literal>ARRAY[]</literal> made up of multiple
-      empty elements (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      <function>to_number()</function> and <function>to_char(numeric)</function>
-      are now <literal>STABLE</literal>, not <literal>IMMUTABLE</literal>, for
-      new <application>initdb</application> installs (Tom)
-     </para>
-
-     <para>
-      This is because <varname>lc_numeric</varname> can potentially
-      change the output of these functions.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improve index usage of regular expressions that use parentheses (Tom)
-     </para>
-
-     <para>
-      This improves <application>psql</application> <literal>\d</literal> performance also.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-14">
-  <title>Release 7.4.14</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2006-10-16</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.13.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.14</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Fix core dump when an untyped literal is taken as
-ANYARRAY</para></listitem>
-<listitem><para>Fix <function>string_to_array()</function> to handle overlapping
- matches for the separator string</para>
-<para>For example, <literal>string_to_array('123xx456xxx789', 'xx')</literal>.
-</para></listitem>
-<listitem><para>Fix corner cases in pattern matching for
- <application>psql</application>'s <literal>\d</literal> commands</para></listitem>
-<listitem><para>Fix index-corrupting bugs in /contrib/ltree
- (Teodor)</para></listitem>
-<listitem><para>Fix backslash escaping in /contrib/dbmirror</para></listitem>
-<listitem><para>Adjust regression tests for recent changes in US DST laws
-</para> </listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-13">
-  <title>Release 7.4.13</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2006-05-23</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.12,
-   including patches for extremely serious security issues.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.13</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-
-   <para>
-    Full security against the SQL-injection attacks described in
-    CVE-2006-2313 and CVE-2006-2314 might require changes in application
-    code.  If you have applications that embed untrustworthy strings
-    into SQL commands, you should examine them as soon as possible to
-    ensure that they are using recommended escaping techniques.  In
-    most cases, applications should be using subroutines provided by
-    libraries or drivers (such as <application>libpq</application>'s
-    <function>PQescapeStringConn()</function>) to perform string escaping,
-    rather than relying on <foreignphrase>ad hoc</foreignphrase> code to do it.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Change the server to reject invalidly-encoded multibyte
-characters in all cases (Tatsuo, Tom)</para>
-<para>While <productname>PostgreSQL</productname> has been moving in this direction for
-some time, the checks are now applied uniformly to all encodings and all
-textual input, and are now always errors not merely warnings.  This change
-defends against SQL-injection attacks of the type described in CVE-2006-2313.
-</para></listitem>
-
-<listitem><para>Reject unsafe uses of <literal>\'</literal> in string literals</para>
-<para>As a server-side defense against SQL-injection attacks of the type
-described in CVE-2006-2314, the server now only accepts <literal>''</literal> and not
-<literal>\'</literal> as a representation of ASCII single quote in SQL string
-literals.  By default, <literal>\'</literal> is rejected only when
-<varname>client_encoding</varname> is set to a client-only encoding (SJIS, BIG5, GBK,
-GB18030, or UHC), which is the scenario in which SQL injection is possible.
-A new configuration parameter <varname>backslash_quote</varname> is available to
-adjust this behavior when needed.  Note that full security against
-CVE-2006-2314 might require client-side changes; the purpose of
-<varname>backslash_quote</varname> is in part to make it obvious that insecure
-clients are insecure.
-</para></listitem>
-
-<listitem><para>Modify <application>libpq</application>'s string-escaping routines to be
-aware of encoding considerations and
-<varname>standard_conforming_strings</varname></para>
-<para>This fixes <application>libpq</application>-using applications for the security
-issues described in CVE-2006-2313 and CVE-2006-2314, and also future-proofs
-them against the planned changeover to SQL-standard string literal syntax.
-Applications that use multiple <productname>PostgreSQL</productname> connections
-concurrently should migrate to <function>PQescapeStringConn()</function> and
-<function>PQescapeByteaConn()</function> to ensure that escaping is done correctly
-for the settings in use in each database connection.  Applications that
-do string escaping <quote>by hand</quote> should be modified to rely on library
-routines instead.
-</para></listitem>
-
-<listitem><para>Fix some incorrect encoding conversion functions</para>
-<para><function>win1251_to_iso</function>, <function>alt_to_iso</function>,
-<function>euc_tw_to_big5</function>, <function>euc_tw_to_mic</function>,
-<function>mic_to_euc_tw</function> were all broken to varying
-extents.
-</para></listitem>
-
-<listitem><para>Clean up stray remaining uses of <literal>\'</literal> in strings
-(Bruce, Jan)</para></listitem>
-
-<listitem><para>Fix bug that sometimes caused OR'd index scans to
-miss rows they should have returned</para></listitem>
-
-<listitem><para>Fix WAL replay for case where a btree index has been
-truncated</para></listitem>
-
-<listitem><para>Fix <literal>SIMILAR TO</literal> for patterns involving
-<literal>|</literal> (Tom)</para></listitem>
-
-<listitem><para>Fix server to use custom DH SSL parameters correctly (Michael
-Fuhr)</para></listitem>
-
-<listitem><para>Fix for Bonjour on Intel Macs (Ashley Clark)</para></listitem>
-
-<listitem><para>Fix various minor memory leaks</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-12">
-  <title>Release 7.4.12</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2006-02-14</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.11.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.12</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    if you are upgrading from a version earlier than 7.4.11,
-    see <xref linkend="release-7-4-11"/>.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-
-<listitem><para>Fix potential crash in <command>SET
-SESSION AUTHORIZATION</command> (CVE-2006-0553)</para>
-<para>An unprivileged user could crash the server process, resulting in
-momentary denial of service to other users, if the server has been compiled
-with Asserts enabled (which is not the default).
-Thanks to Akio Ishida for reporting this problem.
-</para></listitem>
-
-<listitem><para>Fix bug with row visibility logic in self-inserted
-rows (Tom)</para>
-<para>Under rare circumstances a row inserted by the current command
-could be seen as already valid, when it should not be.  Repairs bug
-created in 7.4.9 and 7.3.11 releases.
-</para></listitem>
-
-<listitem><para>Fix race condition that could lead to <quote>file already
-exists</quote> errors during pg_clog file creation
-(Tom)</para></listitem>
-
-<listitem><para>Properly check <literal>DOMAIN</literal> constraints for
-<literal>UNKNOWN</literal> parameters in prepared statements
-(Neil)</para></listitem>
-
-<listitem><para>Fix to allow restoring dumps that have cross-schema
-references to custom operators (Tom)</para></listitem>
-
-<listitem><para>Portability fix for testing presence of <function>finite</function>
-and <function>isinf</function> during configure (Tom)</para></listitem>
-
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-11">
-  <title>Release 7.4.11</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2006-01-09</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.10.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.11</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    if you are upgrading from a version earlier than 7.4.8,
-    see <xref linkend="release-7-4-8"/>.
-    Also, you might need to <command>REINDEX</command> indexes on textual
-    columns after updating, if you are affected by the locale or
-    <application>plperl</application> issues described below.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-
-<listitem><para>Fix for protocol-level Describe messages issued
-outside a transaction or in a failed transaction (Tom)</para></listitem>
-
-<listitem><para>Fix character string comparison for locales that consider
-different character combinations as equal, such as Hungarian (Tom)</para>
-<para>This might require <command>REINDEX</command> to fix existing indexes on
-textual columns.</para></listitem>
-
-<listitem><para>Set locale environment variables during postmaster startup
-to ensure that <application>plperl</application> won't change the locale later</para>
-<para>This fixes a problem that occurred if the <application>postmaster</application> was
-started with environment variables specifying a different locale than what
-<application>initdb</application> had been told.  Under these conditions, any use of
-<application>plperl</application> was likely to lead to corrupt indexes.  You might need
-<command>REINDEX</command> to fix existing indexes on
-textual columns if this has happened to you.</para></listitem>
-
-<listitem><para>Fix longstanding bug in strpos() and regular expression
-handling in certain rarely used Asian multi-byte character sets (Tatsuo)
-</para></listitem>
-
-<listitem><para>Fix bug in <filename>/contrib/pgcrypto</filename> gen_salt,
-which caused it not to use all available salt space for MD5 and
-XDES algorithms (Marko Kreen, Solar Designer)</para>
-<para>Salts for Blowfish and standard DES are unaffected.</para></listitem>
-
-<listitem><para>Fix <filename>/contrib/dblink</filename> to throw an error,
-rather than crashing, when the number of columns specified is different from
-what's actually returned by the query (Joe)</para></listitem>
-
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-10">
-  <title>Release 7.4.10</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2005-12-12</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.9.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.10</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    if you are upgrading from a version earlier than 7.4.8,
-    see <xref linkend="release-7-4-8"/>.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-
-<listitem><para>Fix race condition in transaction log management</para>
-<para>There was a narrow window in which an I/O operation could be initiated
-for the wrong page, leading to an Assert failure or data
-corruption.</para>
-</listitem>
-
-<listitem><para>Prevent failure if client sends Bind protocol message
-when current transaction is already aborted</para></listitem>
-
-<listitem><para><filename>/contrib/ltree</filename> fixes (Teodor)</para></listitem>
-
-<listitem><para>AIX and HPUX compile fixes (Tom)</para></listitem>
-
-<listitem><para>Fix longstanding planning error for outer joins</para>
-<para>This bug sometimes caused a bogus error <quote>RIGHT JOIN is
-only supported with merge-joinable join conditions</quote>.</para></listitem>
-
-<listitem><para>Prevent core dump in <application>pg_autovacuum</application> when a
-table has been dropped</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-9">
-  <title>Release 7.4.9</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2005-10-04</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.8.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.9</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    if you are upgrading from a version earlier than 7.4.8,
-    see <xref linkend="release-7-4-8"/>.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Fix error that allowed <command>VACUUM</command> to remove
-<literal>ctid</literal> chains too soon, and add more checking in code that follows
-<literal>ctid</literal> links</para>
-<para>This fixes a long-standing problem that could cause crashes in very rare
-circumstances.</para></listitem>
-<listitem><para>Fix <type>CHAR()</type> to properly pad spaces to the specified
-length when using a multiple-byte character set (Yoshiyuki Asaba)</para>
-<para>In prior releases, the padding of <type>CHAR()</type> was incorrect
-because it only padded to the specified number of bytes without
-considering how many characters were stored.</para></listitem>
-<listitem><para>Fix the sense of the test for read-only transaction
-in <command>COPY</command></para>
-<para>The code formerly prohibited <command>COPY TO</command>, where it should
-prohibit <command>COPY FROM</command>.
-</para></listitem>
-<listitem><para>Fix planning problem with outer-join ON clauses that reference
-only the inner-side relation</para></listitem>
-<listitem><para>Further fixes for <literal>x FULL JOIN y ON true</literal> corner
-cases</para></listitem>
-<listitem><para>Make <function>array_in</function> and <function>array_recv</function> more
-paranoid about validating their OID parameter</para></listitem>
-<listitem><para>Fix missing rows in queries like <literal>UPDATE a=... WHERE
-a...</literal> with GiST index on column <literal>a</literal></para></listitem>
-<listitem><para>Improve robustness of datetime parsing</para></listitem>
-<listitem><para>Improve checking for partially-written WAL
-pages</para></listitem>
-<listitem><para>Improve robustness of signal handling when SSL is
-enabled</para></listitem>
-<listitem><para>Don't try to open more than <literal>max_files_per_process</literal>
-files during postmaster startup</para></listitem>
-<listitem><para>Various memory leakage fixes</para></listitem>
-<listitem><para>Various portability improvements</para></listitem>
-<listitem><para>Fix PL/pgSQL to handle <literal>var := var</literal> correctly when
-the variable is of pass-by-reference type</para></listitem>
-<listitem><para>Update <filename>contrib/tsearch2</filename> to use current Snowball
-code</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-8">
-  <title>Release 7.4.8</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2005-05-09</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.7, including several
-   security-related issues.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.8</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    it is one possible way of handling two significant security problems
-    that have been found in the initial contents of 7.4.X system
-    catalogs.  A dump/initdb/reload sequence using 7.4.8's initdb will
-    automatically correct these problems.
-   </para>
-
-   <para>
-    The larger security problem is that the built-in character set encoding
-    conversion functions can be invoked from SQL commands by unprivileged
-    users, but the functions were not designed for such use and are not
-    secure against malicious choices of arguments.  The fix involves changing
-    the declared parameter list of these functions so that they can no longer
-    be invoked from SQL commands.  (This does not affect their normal use
-    by the encoding conversion machinery.)
-   </para>
-
-   <para>
-    The lesser problem is that the <filename>contrib/tsearch2</filename> module
-    creates several functions that are misdeclared to return
-    <type>internal</type> when they do not accept <type>internal</type> arguments.
-    This breaks type safety for all functions using <type>internal</type>
-    arguments.
-   </para>
-
-   <para>
-    It is strongly recommended that all installations repair these errors,
-    either by initdb or by following the manual repair procedures given
-    below.  The errors at least allow unprivileged database users to crash
-    their server process, and might allow unprivileged users to gain the
-    privileges of a database superuser.
-   </para>
-
-   <para>
-    If you wish not to do an initdb, perform the following procedures instead.
-    As the database superuser, do:
-
-<programlisting>
-BEGIN;
-UPDATE pg_proc SET proargtypes[3] = 'internal'::regtype
-WHERE pronamespace = 11 AND pronargs = 5
-     AND proargtypes[2] = 'cstring'::regtype;
--- The command should report having updated 90 rows;
--- if not, rollback and investigate instead of committing!
-COMMIT;
-</programlisting>
-
-    Next, if you have installed <filename>contrib/tsearch2</filename>, do:
-
-<programlisting>
-BEGIN;
-UPDATE pg_proc SET proargtypes[0] = 'internal'::regtype
-WHERE oid IN (
-   'dex_init(text)'::regprocedure,
-   'snb_en_init(text)'::regprocedure,
-   'snb_ru_init(text)'::regprocedure,
-   'spell_init(text)'::regprocedure,
-   'syn_init(text)'::regprocedure
-);
--- The command should report having updated 5 rows;
--- if not, rollback and investigate instead of committing!
-COMMIT;
-</programlisting>
-
-    If this command fails with a message like <quote>function
-    "dex_init(text)" does not exist</quote>, then either <filename>tsearch2</filename>
-    is not installed in this database, or you already did the update.
-   </para>
-
-   <para>
-    The above procedures must be carried out in <emphasis>each</emphasis> database
-    of an installation, including <literal>template1</literal>, and ideally
-    including <literal>template0</literal> as well.  If you do not fix the
-    template databases then any subsequently created databases will contain
-    the same errors.  <literal>template1</literal> can be fixed in the same way
-    as any other database, but fixing <literal>template0</literal> requires
-    additional steps.  First, from any database issue:
-<programlisting>
-UPDATE pg_database SET datallowconn = true WHERE datname = 'template0';
-</programlisting>
-     Next connect to <literal>template0</literal> and perform the above repair
-     procedures.  Finally, do:
-<programlisting>
--- re-freeze template0:
-VACUUM FREEZE;
--- and protect it against future alterations:
-UPDATE pg_database SET datallowconn = false WHERE datname = 'template0';
-</programlisting>
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Change encoding function signature to prevent
-misuse</para></listitem>
-<listitem><para>Change <filename>contrib/tsearch2</filename> to avoid unsafe use of
-<type>INTERNAL</type> function results</para></listitem>
-<listitem><para>Repair ancient race condition that allowed a transaction to be
-seen as committed for some purposes (eg SELECT FOR UPDATE) slightly sooner
-than for other purposes</para>
-<para>This is an extremely serious bug since it could lead to apparent
-data inconsistencies being briefly visible to applications.</para></listitem>
-<listitem><para>Repair race condition between relation extension and
-VACUUM</para>
-<para>This could theoretically have caused loss of a page's worth of
-freshly-inserted data, although the scenario seems of very low probability.
-There are no known cases of it having caused more than an Assert failure.
-</para></listitem>
-<listitem><para>Fix comparisons of <type>TIME WITH TIME ZONE</type> values</para>
-<para>
-The comparison code was wrong in the case where the
-<literal>--enable-integer-datetimes</literal> configuration switch had been used.
-NOTE: if you have an index on a <type>TIME WITH TIME ZONE</type> column,
-it will need to be <command>REINDEX</command>ed after installing this update, because
-the fix corrects the sort order of column values.
-</para></listitem>
-<listitem><para>Fix <function>EXTRACT(EPOCH)</function> for
-<type>TIME WITH TIME ZONE</type> values</para></listitem>
-<listitem><para>Fix mis-display of negative fractional seconds in
-<type>INTERVAL</type> values</para>
-<para>
-This error only occurred when the
-<literal>--enable-integer-datetimes</literal> configuration switch had been used.
-</para></listitem>
-<listitem><para>Ensure operations done during backend shutdown are counted by
-statistics collector</para>
-<para>
-This is expected to resolve reports of <application>pg_autovacuum</application>
-not vacuuming the system catalogs often enough &mdash; it was not being
-told about catalog deletions caused by temporary table removal during
-backend exit.
-</para></listitem>
-<listitem><para>Additional buffer overrun checks in plpgsql
-(Neil)</para></listitem>
-<listitem><para>Fix pg_dump to dump trigger names containing <literal>%</literal>
-correctly (Neil)</para></listitem>
-<listitem><para>Fix <filename>contrib/pgcrypto</filename> for newer OpenSSL builds
-(Marko Kreen)</para></listitem>
-<listitem><para>Still more 64-bit fixes for
-<filename>contrib/intagg</filename></para></listitem>
-<listitem><para>Prevent incorrect optimization of functions returning
-<type>RECORD</type></para></listitem>
-<listitem><para>Prevent <function>to_char(interval)</function> from dumping core for
-month-related formats</para></listitem>
-<listitem><para>Prevent crash on <literal>COALESCE(NULL,NULL)</literal></para></listitem>
-<listitem><para>Fix <function>array_map</function> to call PL functions correctly</para></listitem>
-<listitem><para>Fix permission checking in <command>ALTER DATABASE RENAME</command></para></listitem>
-<listitem><para>Fix <command>ALTER LANGUAGE RENAME</command></para></listitem>
-<listitem><para>Make <function>RemoveFromWaitQueue</function> clean up after itself</para>
-<para>
-This fixes a lock management error that would only be visible if a transaction
-was kicked out of a wait for a lock (typically by query cancel) and then the
-holder of the lock released it within a very narrow window.
-</para></listitem>
-<listitem><para>Fix problem with untyped parameter appearing in
-<command>INSERT ... SELECT</command></para></listitem>
-<listitem><para>Fix <command>CLUSTER</command> failure after
-<command>ALTER TABLE SET WITHOUT OIDS</command></para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-7">
-  <title>Release 7.4.7</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2005-01-31</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.6, including several
-   security-related issues.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 7.4.7</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Disallow <command>LOAD</command> to non-superusers</para>
-<para>
-On platforms that will automatically execute initialization functions of a
-shared library (this includes at least Windows and ELF-based Unixen),
-<command>LOAD</command> can be used to make the server execute arbitrary code.
-Thanks to NGS Software for reporting this.</para></listitem>
-<listitem><para>Check that creator of an aggregate function has the right to
-execute the specified transition functions</para>
-<para>
-This oversight made it possible to bypass denial of EXECUTE
-permission on a function.</para></listitem>
-<listitem><para>Fix security and 64-bit issues in
-contrib/intagg</para></listitem>
-<listitem><para>Add needed STRICT marking to some contrib functions (Kris
-Jurka)</para></listitem>
-<listitem><para>Avoid buffer overrun when plpgsql cursor declaration has too
-many parameters (Neil)</para></listitem>
-<listitem><para>Fix planning error for FULL and RIGHT outer joins</para>
-<para>
-The result of the join was mistakenly supposed to be sorted the same as the
-left input.  This could not only deliver mis-sorted output to the user, but
-in case of nested merge joins could give outright wrong answers.
-</para></listitem>
-<listitem><para>Fix plperl for quote marks in tuple fields</para></listitem>
-<listitem><para>Fix display of negative intervals in SQL and GERMAN
-datestyles</para></listitem>
-<listitem><para>Make age(timestamptz) do calculation in local timezone not
-GMT</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-6">
-  <title>Release 7.4.6</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2004-10-22</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.5.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-
-  <sect2>
-   <title>Migration to Version 7.4.6</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Repair possible failure to update hint bits on disk</para>
-<para>
-Under rare circumstances this oversight could lead to
-<quote>could not access transaction status</quote> failures, which qualifies
-it as a potential-data-loss bug.
-</para></listitem>
-<listitem><para>Ensure that hashed outer join does not miss tuples</para>
-<para>
-Very large left joins using a hash join plan could fail to output unmatched
-left-side rows given just the right data distribution.
-</para></listitem>
-<listitem><para>Disallow running <application>pg_ctl</application> as root</para>
-<para>
-This is to guard against any possible security issues.
-</para></listitem>
-<listitem><para>Avoid using temp files in <filename>/tmp</filename> in <command>make_oidjoins_check</command></para>
-<para>
-This has been reported as a security issue, though it's hardly worthy of
-concern since there is no reason for non-developers to use this script anyway.
-</para></listitem>
-<listitem><para>Prevent forced backend shutdown from re-emitting prior command
-result</para>
-<para>
-In rare cases, a client might think that its last command had succeeded when
-it really had been aborted by forced database shutdown.
-</para></listitem>
-<listitem><para>Repair bug in <function>pg_stat_get_backend_idset</function></para>
-<para>
-This could lead to misbehavior in some of the system-statistics views.
-</para></listitem>
-<listitem><para>Fix small memory leak in postmaster</para></listitem>
-<listitem><para>Fix <quote>expected both swapped tables to have TOAST
-tables</quote> bug</para>
-<para>
-This could arise in cases such as CLUSTER after ALTER TABLE DROP COLUMN.
-</para></listitem>
-<listitem><para>Prevent <literal>pg_ctl restart</literal> from adding <literal>-D</literal> multiple times</para></listitem>
-<listitem><para>Fix problem with NULL values in GiST indexes</para></listitem>
-<listitem><para><literal>::</literal> is no longer interpreted as a variable in an
-ECPG prepare statement</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-5">
-  <title>Release 7.4.5</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2004-08-18</para>
-  </formalpara>
-
-  <para>
-   This release contains one serious bug fix over 7.4.4.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-
-  <sect2>
-   <title>Migration to Version 7.4.5</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Repair possible crash during concurrent B-tree index insertions</para>
-<para>
-This patch fixes a rare case in which concurrent insertions into a B-tree index
-could result in a server panic.  No permanent damage would result, but it's
-still worth a re-release.  The bug does not exist in pre-7.4 releases.
-</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-4">
-  <title>Release 7.4.4</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2004-08-16</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.3.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-
-  <sect2>
-   <title>Migration to Version 7.4.4</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Prevent possible loss of committed transactions during crash</para>
-<para>
-Due to insufficient interlocking between transaction commit and checkpointing,
-it was possible for transactions committed just before the most recent
-checkpoint to be lost, in whole or in part, following a database crash and
-restart.  This is a serious bug that has existed
-since <productname>PostgreSQL</productname> 7.1.
-</para></listitem>
-<listitem><para>Check HAVING restriction before evaluating result list of an
-aggregate plan</para></listitem>
-<listitem><para>Avoid crash when session's current user ID is deleted</para></listitem>
-<listitem><para>Fix hashed crosstab for zero-rows case (Joe)</para></listitem>
-<listitem><para>Force cache update after renaming a column in a foreign key</para></listitem>
-<listitem><para>Pretty-print UNION queries correctly</para></listitem>
-<listitem><para>Make psql handle <literal>\r\n</literal> newlines properly in COPY IN</para></listitem>
-<listitem><para><application>pg_dump</application> handled ACLs with grant options incorrectly</para></listitem>
-<listitem><para>Fix thread support for macOS and Solaris</para></listitem>
-<listitem><para>Updated JDBC driver (build 215) with various fixes</para></listitem>
-<listitem><para>ECPG fixes</para></listitem>
-<listitem><para>Translation updates (various contributors)</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-3">
-  <title>Release 7.4.3</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2004-06-14</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.2.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-
-  <sect2>
-   <title>Migration to Version 7.4.3</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Fix temporary memory leak when using non-hashed aggregates (Tom)</para></listitem>
-<listitem><para>ECPG fixes, including some for Informix compatibility (Michael)</para></listitem>
-<listitem><para>Fixes for compiling with thread-safety, particularly Solaris (Bruce)</para></listitem>
-<listitem><para>Fix error in COPY IN termination when using the old network protocol (ljb)</para></listitem>
-<listitem><para>Several important fixes in pg_autovacuum, including fixes for
-large tables, unsigned oids, stability, temp tables, and debug mode
-(Matthew T. O'Connor)</para></listitem>
-<listitem><para>Fix problem with reading tar-format dumps on NetBSD and BSD/OS (Bruce)</para></listitem>
-<listitem><para>Several JDBC fixes</para></listitem>
-<listitem><para>Fix ALTER SEQUENCE RESTART where last_value equals the restart value (Tom)</para></listitem>
-<listitem><para>Repair failure to recalculate nested sub-selects (Tom)</para></listitem>
-<listitem><para>Fix problems with non-constant expressions in LIMIT/OFFSET</para></listitem>
-<listitem><para>Support FULL JOIN with no join clause, such as X FULL JOIN Y ON TRUE (Tom)</para></listitem>
-<listitem><para>Fix another zero-column table bug (Tom)</para></listitem>
-<listitem><para>Improve handling of non-qualified identifiers in GROUP BY clauses in sub-selects (Tom)</para>
-<para>
-Select-list aliases within the sub-select will now take precedence over
-names from outer query levels.
-</para></listitem>
-<listitem><para>Do not generate <quote>NATURAL CROSS JOIN</quote> when decompiling rules (Tom)</para></listitem>
-<listitem><para>Add checks for invalid field length in binary COPY (Tom)</para>
-<para>
- This fixes a difficult-to-exploit security hole.
-</para></listitem>
-<listitem><para>Avoid locking conflict between <command>ANALYZE</command> and <command>LISTEN</command>/<command>NOTIFY</command></para></listitem>
-<listitem><para>Numerous translation updates (various contributors)</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-2">
-  <title>Release 7.4.2</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2004-03-08</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.1.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-
-  <sect2>
-   <title>Migration to Version 7.4.2</title>
-
-   <para>
-    A dump/restore is not required for those running 7.4.X.  However,
-    it might be advisable as the easiest method of incorporating fixes for
-    two errors that have been found in the initial contents of 7.4.X system
-    catalogs.  A dump/initdb/reload sequence using 7.4.2's initdb will
-    automatically correct these problems.
-   </para>
-
-   <para>
-    The more severe of the two errors is that data type <type>anyarray</type>
-    has the wrong alignment label; this is a problem because the
-    <structname>pg_statistic</structname> system catalog uses <type>anyarray</type>
-    columns.  The mislabeling can cause planner misestimations and even
-    crashes when planning queries that involve <literal>WHERE</literal> clauses on
-    double-aligned columns (such as <type>float8</type> and <type>timestamp</type>).
-    It is strongly recommended that all installations repair this error,
-    either by initdb or by following the manual repair procedure given
-    below.
-   </para>
-
-   <para>
-    The lesser error is that the system view <structname>pg_settings</structname>
-    ought to be marked as having public update access, to allow
-    <literal>UPDATE pg_settings</literal> to be used as a substitute for
-    <command>SET</command>.  This can also be fixed either by initdb or manually,
-    but it is not necessary to fix unless you want to use <literal>UPDATE
-    pg_settings</literal>.
-   </para>
-
-   <para>
-    If you wish not to do an initdb, the following procedure will work
-    for fixing <structname>pg_statistic</structname>.  As the database superuser,
-    do:
-
-<programlisting>
--- clear out old data in pg_statistic:
-DELETE FROM pg_statistic;
-VACUUM pg_statistic;
--- this should update 1 row:
-UPDATE pg_type SET typalign = 'd' WHERE oid = 2277;
--- this should update 6 rows:
-UPDATE pg_attribute SET attalign = 'd' WHERE atttypid = 2277;
---
--- At this point you MUST start a fresh backend to avoid a crash!
---
--- repopulate pg_statistic:
-ANALYZE;
-</programlisting>
-
-    This can be done in a live database, but beware that all backends
-    running in the altered database must be restarted before it is safe to
-    repopulate <structname>pg_statistic</structname>.
-   </para>
-
-   <para>
-    To repair the <structname>pg_settings</structname> error, simply do:
-<programlisting>
-GRANT SELECT, UPDATE ON pg_settings TO PUBLIC;
-</programlisting>
-   </para>
-
-   <para>
-    The above procedures must be carried out in <emphasis>each</emphasis> database
-    of an installation, including <literal>template1</literal>, and ideally
-    including <literal>template0</literal> as well.  If you do not fix the
-    template databases then any subsequently created databases will contain
-    the same errors.  <literal>template1</literal> can be fixed in the same way
-    as any other database, but fixing <literal>template0</literal> requires
-    additional steps.  First, from any database issue:
-<programlisting>
-UPDATE pg_database SET datallowconn = true WHERE datname = 'template0';
-</programlisting>
-     Next connect to <literal>template0</literal> and perform the above repair
-     procedures.  Finally, do:
-<programlisting>
--- re-freeze template0:
-VACUUM FREEZE;
--- and protect it against future alterations:
-UPDATE pg_database SET datallowconn = false WHERE datname = 'template0';
-</programlisting>
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<para>
-   Release 7.4.2 incorporates all the fixes included in release 7.3.6,
-   plus the following fixes:
-</para>
-
-<itemizedlist>
-<listitem><para>Fix <structname>pg_statistic</structname> alignment bug that could crash optimizer</para>
-<para>See above for details about this problem.</para></listitem>
-<listitem><para>Allow non-super users to update <structname>pg_settings</structname></para></listitem>
-<listitem><para>Fix several optimizer bugs, most of which led to
-<quote>variable not found in subplan target lists</quote> errors</para></listitem>
-<listitem><para>Avoid out-of-memory failure during startup of large multiple
-index scan</para></listitem>
-<listitem><para>Fix multibyte problem that could lead to <quote>out of
-memory</quote> error during <command>COPY IN</command></para></listitem>
-<listitem><para>Fix problems with <command>SELECT INTO</command> / <command>CREATE
-TABLE AS</command> from tables without OIDs</para></listitem>
-<listitem><para>Fix problems with <filename>alter_table</filename> regression test
-during parallel testing</para></listitem>
-<listitem><para>Fix problems with hitting open file limit, especially on macOS (Tom)</para></listitem>
-<listitem><para>Partial fix for Turkish-locale issues</para>
-<para>initdb will succeed now in Turkish locale, but there are still some
-inconveniences associated with the <literal>i/I</literal> problem.</para></listitem>
-<listitem><para>Make pg_dump set client encoding on restore</para></listitem>
-<listitem><para>Other minor pg_dump fixes</para></listitem>
-<listitem><para>Allow ecpg to again use C keywords as column names (Michael)</para></listitem>
-<listitem><para>Added ecpg <literal>WHENEVER NOT_FOUND</literal> to
-<literal>SELECT/INSERT/UPDATE/DELETE</literal> (Michael)</para></listitem>
-<listitem><para>Fix ecpg crash for queries calling set-returning functions (Michael)</para></listitem>
-<listitem><para>Various other ecpg fixes (Michael)</para></listitem>
-<listitem><para>Fixes for Borland compiler</para></listitem>
-<listitem><para>Thread build improvements (Bruce)</para></listitem>
-<listitem><para>Various other build fixes</para></listitem>
-<listitem><para>Various JDBC fixes</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-7-4-1">
-  <title>Release 7.4.1</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2003-12-22</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 7.4.
-   For information about new features in the 7.4 major release, see
-   <xref linkend="release-7-4"/>.
-  </para>
-
-
-  <sect2>
-   <title>Migration to Version 7.4.1</title>
-
-   <para>
-    A dump/restore is <emphasis>not</emphasis> required for those
-    running 7.4.
-   </para>
-
-   <para>
-    If you want to install the fixes in the information schema
-    you need to reload it into the database.
-    This is either accomplished by initializing a new cluster
-    by running <command>initdb</command>, or by running the following
-    sequence of SQL commands in each database (ideally including
-    <literal>template1</literal>) as a superuser in
-    <application>psql</application>, after installing the new release:
-<programlisting>
-DROP SCHEMA information_schema CASCADE;
-\i /usr/local/pgsql/share/information_schema.sql
-</programlisting>
-    Substitute your installation path in the second command.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Fixed bug in <command>CREATE SCHEMA</command> parsing in ECPG (Michael)</para></listitem>
-<listitem><para>Fix compile error when <option>--enable-thread-safety</option> and <option>--with-perl</option> are used together (Peter)</para></listitem>
-<listitem><para>Fix for subqueries that used hash joins (Tom)</para>
-<para>
-   Certain subqueries that used hash joins would crash because of
-   improperly shared structures.
-</para></listitem>
-<listitem><para>Fix free space map compaction bug (Tom)</para>
-<para>
-   This fixes a bug where compaction of the free space map could lead
-   to a database server shutdown.
-</para>
-</listitem>
-<listitem><para>Fix for Borland compiler build of libpq (Bruce)</para></listitem>
-<listitem><para>Fix <function>netmask()</function> and <function>hostmask()</function> to return the maximum-length masklen (Tom)</para>
-<para>
-   Fix these functions to return values consistent with pre-7.4
-   releases.
-</para>
-</listitem>
-<listitem><para>Several <filename>contrib/pg_autovacuum</filename> fixes</para>
-<para>
-   Fixes include improper variable initialization, missing vacuum after
-   <command>TRUNCATE</command>, and duration computation overflow for long vacuums.
-</para>
-</listitem>
-<listitem><para>Allow compile of <filename>contrib/cube</filename> under Cygwin (Jason Tishler)</para></listitem>
-<listitem><para>Fix Solaris use of password file when no passwords are defined (Tom)</para>
-<para>
-   Fix crash on Solaris caused by use of any type of password
-   authentication when no passwords were defined.
-</para>
-</listitem>
-<listitem><para>JDBC fix for thread problems, other fixes</para></listitem>
-<listitem><para>Fix for <type>bytea</type> index lookups (Joe)</para></listitem>
-<listitem><para>Fix information schema for bit data types (Peter)</para></listitem>
-<listitem><para>Force zero_damaged_pages to be on during recovery from WAL</para></listitem>
-<listitem><para>Prevent some obscure cases of <quote>variable not in subplan target lists</quote></para></listitem>
-<listitem><para>Make <function>PQescapeBytea</function> and <function>byteaout</function> consistent with each other (Joe)</para></listitem>
-<listitem><para>Escape <type>bytea</type> output for bytes &gt; 0x7e(Joe)</para>
-<para>
- If different client encodings are used for <type>bytea</type> output and input, it
- is possible for <type>bytea</type> values to be corrupted by the differing
- encodings.  This fix escapes all bytes that might be affected.
-</para>
-</listitem>
-<listitem><para>Added missing <function>SPI_finish()</function> calls to dblink's <function>get_tuple_of_interest()</function> (Joe)</para></listitem>
-<listitem><para>New Czech FAQ</para></listitem>
-<listitem><para>Fix information schema view <literal>constraint_column_usage</literal> for foreign keys (Peter)</para></listitem>
-<listitem><para>ECPG fixes (Michael)</para></listitem>
-<listitem><para>Fix bug with multiple <literal>IN</literal> subqueries and joins in the subqueries (Tom)</para></listitem>
-<listitem><para>Allow <literal>COUNT('x')</literal> to work (Tom)</para></listitem>
-<listitem><para>Install ECPG include files for Informix compatibility into separate directory (Peter)</para>
-<para>
- Some names of ECPG include files for Informix compatibility conflicted with operating system include files.
- By installing them in their own directory, name conflicts have been reduced.
-</para>
-</listitem>
-<listitem><para>Fix SSL memory leak (Neil)</para>
-<para>
- This release fixes a bug in 7.4 where SSL didn't free all memory it allocated.
-</para>
-</listitem>
-<listitem><para>Prevent <filename>pg_service.conf</filename> from using service name as default dbname (Bruce)</para></listitem>
-<listitem><para>Fix local ident authentication on FreeBSD (Tom)</para></listitem>
-</itemizedlist>
-
- </sect2>
-</sect1>
-
-<sect1 id="release-7-4">
- <title>Release 7.4</title>
-
- <formalpara>
-  <title>Release date:</title>
-  <para>2003-11-17</para>
- </formalpara>
-
- <sect2>
-  <title>Overview</title>
-
-  <para>
-   Major changes in this release:
-  </para>
-
-  <variablelist>
-   <varlistentry>
-    <term>
-     <literal>IN</literal> / <literal>NOT IN</literal> subqueries are
-     now much more efficient
-    </term>
-
-    <listitem>
-     <para>
-      In previous releases, <literal>IN</literal>/<literal>NOT
-      IN</literal> subqueries were joined to the upper query by
-      sequentially scanning the subquery looking for a match.  The
-      7.4 code uses the same sophisticated techniques used by
-      ordinary joins and so is much faster.  An
-      <literal>IN</literal> will now usually be as fast as or faster
-      than an equivalent <literal>EXISTS</literal> subquery; this
-      reverses the conventional wisdom that applied to previous
-      releases.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     Improved <literal>GROUP BY</literal> processing by using hash buckets
-    </term>
-
-    <listitem>
-     <para>
-      In previous releases, rows to be grouped had to be sorted
-      first.  The 7.4 code can do <literal>GROUP BY</literal>
-      without sorting, by accumulating results into a hash table
-      with one entry per group.  It will still use the sort
-      technique, however, if the hash table is estimated to be too
-      large to fit in <varname>sort_mem</varname>.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     New multikey hash join capability
-    </term>
-
-    <listitem>
-     <para>
-      In previous releases, hash joins could only occur on single
-      keys.  This release allows multicolumn hash joins.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     Queries using the explicit <literal>JOIN</literal> syntax are
-     now better optimized
-    </term>
-
-    <listitem>
-     <para>
-      Prior releases evaluated queries using the explicit
-      <literal>JOIN</literal> syntax only in the order implied by
-      the syntax. 7.4 allows full optimization of these queries,
-      meaning the optimizer considers all possible join orderings
-      and chooses the most efficient.  Outer joins, however, must
-      still follow the declared ordering.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     Faster and more powerful regular expression code
-    </term>
-
-    <listitem>
-     <para>
-      The entire regular expression module has been replaced with a
-      new version by Henry Spencer, originally written for Tcl.  The
-      code greatly improves performance and supports several flavors
-      of regular expressions.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     Function-inlining for simple SQL functions
-    </term>
-
-    <listitem>
-     <para>
-      Simple SQL functions can now be inlined by including their SQL
-      in the main query.  This improves performance by eliminating
-      per-call overhead.  That means simple SQL functions now
-      behave like macros.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     Full support for IPv6 connections and IPv6 address data types
-    </term>
-
-    <listitem>
-     <para>
-      Previous releases allowed only IPv4 connections, and the IP
-      data types only supported IPv4 addresses. This release adds
-      full IPv6 support in both of these areas.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     Major improvements in SSL performance and reliability
-    </term>
-
-    <listitem>
-     <para>
-      Several people very familiar with the SSL API have overhauled
-      our SSL code to improve SSL key negotiation and error
-      recovery.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     Make free space map efficiently reuse empty index pages,
-     and other free space management improvements
-    </term>
-
-    <listitem>
-     <para>
-      In previous releases, B-tree index pages that were left empty
-      because of deleted rows could only be reused by rows with
-      index values similar to the rows originally indexed on that
-      page. In 7.4, <command>VACUUM</command> records empty index
-      pages and allows them to be reused for any future index rows.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     SQL-standard information schema
-    </term>
-
-    <listitem>
-     <para>
-      The information schema provides a standardized and stable way
-      to access information about the schema objects defined in a
-      database.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     Cursors conform more closely to the SQL standard
-    </term>
-
-    <listitem>
-     <para>
-      The commands <command>FETCH</command> and
-      <command>MOVE</command> have been overhauled to conform more
-      closely to the SQL standard.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     Cursors can exist outside transactions
-    </term>
-
-    <listitem>
-     <para>
-      These cursors are also called holdable cursors.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     New client-to-server protocol
-    </term>
-
-    <listitem>
-     <para>
-      The new protocol adds error codes, more status information,
-      faster startup, better support for binary data transmission,
-      parameter values separated from SQL commands, prepared
-      statements available at the protocol level, and cleaner
-      recovery from <command>COPY</command> failures.  The older
-      protocol is still supported by both server and clients.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     <application>libpq</application> and
-     <application>ECPG</application> applications are now fully
-     thread-safe
-    </term>
-
-    <listitem>
-     <para>
-      While previous <application>libpq</application> releases
-      already supported threads, this release improves thread safety
-      by fixing some non-thread-safe code that was used during
-      database connection startup.  The <command>configure</command>
-      option <option>--enable-thread-safety</option> must be used to
-      enable this feature.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     New version of full-text indexing
-    </term>
-
-    <listitem>
-     <para>
-      A new full-text indexing suite is available in
-      <filename>contrib/tsearch2</filename>.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     New autovacuum tool
-    </term>
-
-    <listitem>
-     <para>
-      The new autovacuum tool in
-      <filename>contrib/autovacuum</filename> monitors the database
-      statistics tables for
-      <command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command>
-      activity and automatically vacuums tables when needed.
-     </para>
-    </listitem>
-   </varlistentry>
-
-   <varlistentry>
-    <term>
-     Array handling has been improved and moved into the server core
-    </term>
-
-    <listitem>
-     <para>
-      Many array limitations have been removed, and arrays behave
-      more like fully-supported data types.
-     </para>
-    </listitem>
-   </varlistentry>
-
-  </variablelist>
- </sect2>
-
- <sect2>
-  <title>Migration to Version 7.4</title>
-
-  <para>
-   A dump/restore using <application>pg_dump</application> is
-   required for those wishing to migrate data from any previous
-   release.
-  </para>
-
-  <para>
-   Observe the following incompatibilities:
-  </para>
-
-  <itemizedlist>
-   <listitem>
-    <para>
-     The server-side autocommit setting was removed and
-     reimplemented in client applications and languages.
-     Server-side autocommit was causing too many problems with
-     languages and applications that wanted to control their own
-     autocommit behavior, so autocommit was removed from the server
-     and added to individual client APIs as appropriate.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Error message wording has changed substantially in this
-     release.  Significant effort was invested to make the messages
-     more consistent and user-oriented.  If your applications try to
-     detect different error conditions by parsing the error message,
-     you are strongly encouraged to use the new error code facility instead.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Inner joins using the explicit <literal>JOIN</literal> syntax
-     might behave differently because they are now better
-     optimized.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     A number of server configuration parameters have been renamed
-     for clarity, primarily those related to
-     logging.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     <literal>FETCH 0</literal> or <literal>MOVE 0</literal> now
-     does nothing.  In prior releases, <literal>FETCH 0</literal>
-     would fetch all remaining rows, and <literal>MOVE 0</literal>
-     would move to the end of the cursor.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     <command>FETCH</command> and <command>MOVE</command> now return
-     the actual number of rows fetched/moved, or zero if at the
-     beginning/end of the cursor.  Prior releases would return the
-     row count passed to the command, not the number of rows
-     actually fetched or moved.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     <command>COPY</command> now can process files that use
-     carriage-return or carriage-return/line-feed end-of-line
-     sequences. Literal carriage-returns and line-feeds are no
-     longer accepted in data values; use <literal>\r</literal> and
-     <literal>\n</literal> instead.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Trailing spaces are now trimmed when converting from type
-     <type>char(<replaceable>n</replaceable>)</type> to
-     <type>varchar(<replaceable>n</replaceable>)</type> or <type>text</type>.
-     This is what most people always expected to happen anyway.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     The data type <type>float(<replaceable>p</replaceable>)</type> now
-     measures <replaceable>p</replaceable> in binary digits, not decimal
-     digits.  The new behavior follows the SQL standard.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Ambiguous date values now must match the ordering specified by
-     the <varname>datestyle</varname> setting.  In prior releases, a
-     date specification of <literal>10/20/03</literal> was interpreted as a
-     date in October even if <varname>datestyle</varname> specified that
-     the day should be first.  7.4 will throw an error if a date
-     specification is invalid for the current setting of
-     <varname>datestyle</varname>.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     The functions <function>oidrand</function>,
-     <function>oidsrand</function>, and
-     <function>userfntest</function> have been removed.  These
-     functions were determined to be no longer useful.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     String literals specifying time-varying date/time values, such
-     as <literal>'now'</literal> or <literal>'today'</literal> will
-     no longer work as expected in column default expressions; they
-     now cause the time of the table creation to be the default, not
-     the time of the insertion.  Functions such as
-     <function>now()</function>, <function>current_timestamp</function>, or
-     <function>current_date</function> should be used instead.
-    </para>
-
-    <para>
-     In previous releases, there was special code so that strings
-     such as <literal>'now'</literal> were interpreted at
-     <command>INSERT</command> time and not at table creation time, but
-     this work around didn't cover all cases.  Release 7.4 now
-     requires that defaults be defined properly using functions such
-     as <function>now()</function> or <function>current_timestamp</function>. These
-     will work in all situations.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     The dollar sign (<literal>$</literal>) is no longer allowed in
-     operator names.  It can instead be a non-first character in
-     identifiers.  This was done to improve compatibility with other
-     database systems, and to avoid syntax problems when parameter
-     placeholders (<literal>$<replaceable>n</replaceable></literal>) are written
-     adjacent to operators.
-    </para>
-   </listitem>
-
-  </itemizedlist>
- </sect2>
-
- <sect2>
-  <title>Changes</title>
-
-  <para>
-   Below you will find a detailed account of the changes between
-   release 7.4 and the previous major release.
-  </para>
-
- <sect3>
-  <title>Server Operation Changes</title>
-
-  <itemizedlist>
-   <listitem>
-    <para>
-     Allow IPv6 server connections (Nigel Kukard, Johan Jordaan,
-     Bruce, Tom, Kurt Roeckx, Andrew Dunstan)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Fix SSL to handle errors cleanly (Nathan Mueller)
-    </para>
-    <para>
-     In prior releases, certain SSL API error reports were not
-     handled correctly.  This release fixes those problems.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     SSL protocol security and performance improvements (Sean Chittenden)
-    </para>
-    <para>
-     SSL key renegotiation was happening too frequently, causing poor
-     SSL performance.  Also, initial key handling was improved.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Print lock information when a deadlock is detected (Tom)
-    </para>
-    <para>
-     This allows easier debugging of deadlock situations.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Update <filename>/tmp</filename> socket modification times
-     regularly to avoid their removal (Tom)
-    </para>
-    <para>
-     This should help prevent <filename>/tmp</filename> directory
-     cleaner administration scripts from removing server socket
-     files.
-    </para>
-   </listitem>
-
-   <listitem><para>Enable PAM for macOS (Aaron Hillegass)</para></listitem>
-
-   <listitem>
-    <para>Make B-tree indexes fully WAL-safe (Tom)</para>
-    <para>
-     In prior releases, under certain rare cases, a server crash
-     could cause B-tree indexes to become corrupt. This release
-     removes those last few rare cases.
-    </para>
-   </listitem>
-
-   <listitem><para>Allow B-tree index compaction and empty page reuse (Tom)</para></listitem>
-
-   <listitem>
-    <para>
-     Fix inconsistent index lookups during split of first root page (Tom)
-    </para>
-    <para>
-     In prior releases, when a single-page index split into two
-     pages, there was a brief period when another database session
-     could miss seeing an index entry.  This release fixes that rare
-     failure case.
-    </para>
-   </listitem>
-
-   <listitem><para>Improve free space map allocation logic (Tom)</para></listitem>
-
-   <listitem>
-    <para>Preserve free space information between server restarts (Tom)</para>
-    <para>
-     In prior releases, the free space map was not saved when the
-     postmaster was stopped, so newly started servers had no free
-     space information. This release saves the free space map, and
-     reloads it when the server is restarted.
-    </para>
-   </listitem>
-
-   <listitem><para>Add start time to <literal>pg_stat_activity</literal> (Neil)</para></listitem>
-   <listitem><para>New code to detect corrupt disk pages; erase with <varname>zero_damaged_pages</varname> (Tom)</para></listitem>
-   <listitem><para>New client/server protocol: faster, no username length limit, allow clean exit from <command>COPY</command> (Tom)</para></listitem>
-   <listitem><para>Add transaction status, table ID, column ID to client/server protocol (Tom)</para></listitem>
-   <listitem><para>Add binary I/O to client/server protocol (Tom)</para></listitem>
-   <listitem><para>Remove autocommit server setting; move to client applications (Tom)</para></listitem>
-   <listitem><para>New error message wording, error codes, and three levels of error detail (Tom, Joe, Peter)</para></listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>Performance Improvements</title>
-
-  <itemizedlist>
-   <listitem><para>Add hashing for <literal>GROUP BY</literal> aggregates (Tom)</para></listitem>
-   <listitem><para>Make nested-loop joins be smarter about multicolumn indexes (Tom)</para></listitem>
-   <listitem><para>Allow multikey hash joins (Tom)</para></listitem>
-   <listitem><para>Improve constant folding (Tom)</para></listitem>
-   <listitem><para>Add ability to inline simple SQL functions (Tom)</para></listitem>
-
-   <listitem>
-    <para>Reduce memory usage for queries using complex functions (Tom)</para>
-    <para>
-     In prior releases, functions returning allocated memory would
-     not free it until the query completed. This release allows the
-     freeing of function-allocated memory when the function call
-     completes, reducing the total memory used by functions.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Improve GEQO optimizer performance (Tom)</para>
-    <para>
-     This release fixes several inefficiencies in the way the GEQO optimizer
-     manages potential query paths.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Allow <literal>IN</literal>/<literal>NOT IN</literal> to be handled via hash
-     tables (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Improve <literal>NOT IN (<replaceable>subquery</replaceable>)</literal>
-     performance (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Allow most <literal>IN</literal> subqueries to be processed as
-     joins (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Pattern matching operations can use indexes regardless of
-     locale (Peter)
-    </para>
-    <para>
-     There is no way for non-ASCII locales to use the standard
-     indexes for <literal>LIKE</literal> comparisons. This release
-     adds a way to create a special index for
-     <literal>LIKE</literal>.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Allow the postmaster to preload libraries using <varname>preload_libraries</varname> (Joe)</para>
-    <para>
-     For shared libraries that require a long time to load, this
-     option is available so the library can be preloaded in the
-     postmaster and inherited by all database sessions.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Improve optimizer cost computations, particularly for subqueries (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Avoid sort when subquery <literal>ORDER BY</literal> matches upper query (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Deduce that <literal>WHERE a.x = b.y AND b.y = 42</literal> also
-     means <literal>a.x = 42</literal> (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Allow hash/merge joins on complex joins (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Allow hash joins for more data types (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Allow join optimization of explicit inner joins, disable with
-     <varname>join_collapse_limit</varname> (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Add parameter <varname>from_collapse_limit</varname> to control
-     conversion of subqueries to joins (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Use faster and more powerful regular expression code from Tcl
-     (Henry Spencer, Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Use bit-mapped relation sets in the optimizer (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Improve connection startup time (Tom)</para>
-    <para>
-     The new client/server protocol requires fewer network packets to
-     start a database session.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Improve trigger/constraint performance (Stephan)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Improve speed of <literal>col IN (const, const, const, ...)</literal> (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Fix hash indexes which were broken in rare cases (Tom)
-    </para>
-   </listitem>
-
-   <listitem><para>Improve hash index concurrency and speed (Tom)</para>
-    <para>
-     Prior releases suffered from poor hash index performance,
-     particularly for high concurrency situations. This release fixes
-     that, and the development group is interested in reports
-     comparing B-tree and hash index performance.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Align shared buffers on 32-byte boundary for copy speed improvement (Manfred Spraul)</para>
-    <para>
-     Certain CPU's perform faster data copies when addresses are
-     32-byte aligned.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Data type <type>numeric</type> reimplemented for better performance (Tom)</para>
-    <para>
-     <type>numeric</type> used to be stored in base 100. The new code
-     uses base 10000, for significantly better performance.
-    </para>
-   </listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>Server Configuration Changes</title>
-
-  <itemizedlist>
-   <listitem>
-    <para>Rename server parameter <varname>server_min_messages</varname> to <varname>log_min_messages</varname> (Bruce)</para>
-    <para>
-     This was done so most parameters that control the server logs
-     begin with <literal>log_</literal>.
-    </para>
-   </listitem>
-
-   <listitem><para>Rename <varname>show_*_stats</varname> to <varname>log_*_stats</varname> (Bruce)</para></listitem>
-   <listitem><para>Rename <varname>show_source_port</varname> to <varname>log_source_port</varname> (Bruce)</para></listitem>
-   <listitem><para>Rename <varname>hostname_lookup</varname> to <varname>log_hostname</varname> (Bruce)</para></listitem>
-
-   <listitem>
-    <para>Add <varname>checkpoint_warning</varname> to warn of excessive checkpointing (Bruce)</para>
-    <para>
-     In prior releases, it was difficult to determine if checkpoint
-     was happening too frequently. This feature adds a warning to the
-     server logs when excessive checkpointing happens.
-    </para>
-   </listitem>
-
-   <listitem><para>New read-only server parameters for localization (Tom)</para></listitem>
-
-   <listitem>
-    <para>
-     Change debug server log messages to output as <literal>DEBUG</literal>
-     rather than <literal>LOG</literal> (Bruce)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Prevent server log variables from being turned off by non-superusers (Bruce)</para>
-    <para>
-     This is a security feature so non-superusers cannot disable
-     logging that was enabled by the administrator.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     <varname>log_min_messages</varname>/<varname>client_min_messages</varname> now
-     controls <varname>debug_*</varname> output (Bruce)
-    </para>
-    <para>
-     This centralizes client debug information so all debug output
-     can be sent to either the client or server logs.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Add macOS Rendezvous server support (Chris Campbell)</para>
-    <para>
-     This allows macOS hosts to query the network for available
-     <productname>PostgreSQL</productname> servers.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Add ability to print only slow statements using
-     <varname>log_min_duration_statement</varname>
-     (Christopher)
-    </para>
-    <para>
-     This is an often requested debugging feature that allows
-     administrators to see only slow queries in their server logs.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Allow <filename>pg_hba.conf</filename> to accept netmasks in CIDR format (Andrew Dunstan)</para>
-    <para>
-     This allows administrators to merge the host IP address and
-     netmask fields into a single CIDR field in <filename>pg_hba.conf</filename>.
-    </para>
-   </listitem>
-
-   <listitem><para>New read-only parameter <varname>is_superuser</varname> (Tom)</para></listitem>
-
-   <listitem>
-    <para>New parameter <varname>log_error_verbosity</varname> to control error detail (Tom)</para>
-    <para>
-     This works with the new error reporting feature to supply
-     additional error information like hints, file names and line
-     numbers.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para><literal>postgres --describe-config</literal> now dumps server config variables (Aizaz Ahmed, Peter)</para>
-    <para>
-     This option is useful for administration tools that need to know
-     the configuration variable names and their minimums, maximums,
-     defaults, and descriptions.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Add new columns in <literal>pg_settings</literal>:
-     <literal>context</literal>, <literal>type</literal>, <literal>source</literal>,
-     <literal>min_val</literal>, <literal>max_val</literal> (Joe)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Make default <varname>shared_buffers</varname> 1000 and
-     <varname>max_connections</varname> 100, if possible (Tom)
-    </para>
-    <para>
-     Prior versions defaulted to 64 shared buffers so <productname>PostgreSQL</productname>
-     would start on even very old systems. This release tests the
-     amount of shared memory allowed by the platform and selects more
-     reasonable default values if possible.  Of course, users are
-     still encouraged to evaluate their resource load and size
-     <varname>shared_buffers</varname> accordingly.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     New <filename>pg_hba.conf</filename> record type
-     <literal>hostnossl</literal> to prevent SSL connections (Jon
-     Jensen)
-    </para>
-    <para>
-     In prior releases, there was no way to prevent SSL connections
-     if both the client and server supported SSL. This option allows
-     that capability.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Remove parameter <varname>geqo_random_seed</varname>
-     (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Add server parameter <varname>regex_flavor</varname> to control regular expression processing (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Make <command>pg_ctl</command> better handle nonstandard ports (Greg)
-    </para>
-   </listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>Query Changes</title>
-
-  <itemizedlist>
-   <listitem><para>New SQL-standard information schema (Peter)</para></listitem>
-   <listitem><para>Add read-only transactions (Peter)</para></listitem>
-   <listitem><para>Print key name and value in foreign-key violation messages (Dmitry Tkach)</para></listitem>
-
-   <listitem>
-    <para>Allow users to see their own queries in <literal>pg_stat_activity</literal> (Kevin Brown)</para>
-    <para>
-     In prior releases, only the superuser could see query strings
-     using <literal>pg_stat_activity</literal>. Now ordinary users
-     can see their own query strings.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Fix aggregates in subqueries to match SQL standard (Tom)</para>
-    <para>
-     The SQL standard says that an aggregate function appearing
-     within a nested subquery belongs to the outer query if its
-     argument contains only outer-query variables.  Prior
-     <productname>PostgreSQL</productname> releases did not handle
-     this fine point correctly.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Add option to prevent auto-addition of tables referenced in query (Nigel J. Andrews)</para>
-    <para>
-     By default, tables mentioned in the query are automatically
-     added to the <literal>FROM</literal> clause if they are not already
-     there.  This is compatible with historic
-     <productname>POSTGRES</productname> behavior but is contrary to
-     the SQL standard.  This option allows selecting
-     standard-compatible behavior.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Allow <literal>UPDATE ... SET col = DEFAULT</literal> (Rod)</para>
-    <para>
-     This allows <command>UPDATE</command> to set a column to its
-     declared default value.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Allow expressions to be used in <literal>LIMIT</literal>/<literal>OFFSET</literal> (Tom)</para>
-    <para>
-     In prior releases, <literal>LIMIT</literal>/<literal>OFFSET</literal> could
-     only use constants, not expressions.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Implement <literal>CREATE TABLE AS EXECUTE</literal> (Neil, Peter)</para>
-   </listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>Object Manipulation Changes</title>
-
-  <itemizedlist>
-   <listitem>
-    <para>Make <command>CREATE SEQUENCE</command> grammar more conforming to SQL:2003 (Neil)</para>
-   </listitem>
-
-   <listitem>
-    <para>Add statement-level triggers (Neil)</para>
-    <para>
-     While this allows a trigger to fire at the end of a statement,
-     it does not allow the trigger to access all rows modified by the
-     statement.  This capability is planned for a future release.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Add check constraints for domains (Rod)</para>
-    <para>
-     This greatly increases the usefulness of domains by allowing
-     them to use check constraints.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Add <command>ALTER DOMAIN</command> (Rod)</para>
-    <para>
-     This allows manipulation of existing domains.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Fix several zero-column table bugs (Tom)</para>
-    <para>
-     <productname>PostgreSQL</productname> supports zero-column tables. This fixes various bugs
-     that occur when using such tables.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Have <literal>ALTER TABLE ... ADD PRIMARY KEY</literal> add not-null constraint (Rod)</para>
-    <para>
-     In prior releases, <literal>ALTER TABLE ... ADD
-     PRIMARY</literal> would add a unique index, but not a not-null
-     constraint.  That is fixed in this release.
-    </para>
-   </listitem>
-
-   <listitem><para>Add <literal>ALTER TABLE ... WITHOUT OIDS</literal> (Rod)</para>
-    <para>
-     This allows control over whether new and updated rows will have
-     an OID column.  This is most useful for saving storage space.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Add <literal>ALTER SEQUENCE</literal> to modify minimum, maximum,
-     increment, cache, cycle values (Rod)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Add <literal>ALTER TABLE ... CLUSTER ON</literal> (Alvaro Herrera)</para>
-    <para>
-     This command is used by <command>pg_dump</command> to record the
-     cluster column for each table previously clustered. This
-     information is used by database-wide cluster to cluster all
-     previously clustered tables.
-    </para>
-   </listitem>
-
-   <listitem><para>Improve automatic type casting for domains (Rod, Tom)</para></listitem>
-   <listitem><para>Allow dollar signs in identifiers, except as first character (Tom)</para></listitem>
-   <listitem><para>Disallow dollar signs in operator names, so <literal>x=$1</literal> works (Tom)</para></listitem>
-
-   <listitem>
-    <para>
-     Allow copying table schema using <literal>LIKE
-     <replaceable>subtable</replaceable></literal>, also SQL:2003
-     feature <literal>INCLUDING DEFAULTS</literal> (Rod)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Add <literal>WITH GRANT OPTION</literal> clause to
-     <command>GRANT</command> (Peter)
-    </para>
-    <para>
-     This enabled <command>GRANT</command> to give other users the
-     ability to grant privileges on an object.
-    </para>
-   </listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>Utility Command Changes</title>
-
-  <itemizedlist>
-   <listitem>
-    <para>Add <literal>ON COMMIT</literal> clause to <command>CREATE TABLE</command> for temporary tables (Gavin)</para>
-    <para>
-     This adds the ability for a table to be dropped or all rows
-     deleted on transaction commit.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Allow cursors outside transactions using <literal>WITH HOLD</literal> (Neil)</para>
-    <para>
-     In previous releases, cursors were removed at the end of the
-     transaction that created them. Cursors can now be created with
-     the <literal>WITH HOLD</literal> option, which allows them to
-     continue to be accessed after the creating transaction has
-     committed.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para><literal>FETCH 0</literal> and <literal>MOVE 0 </literal> now do nothing (Bruce)</para>
-    <para>
-     In previous releases, <literal>FETCH 0</literal> fetched all
-     remaining rows, and <literal>MOVE 0</literal> moved to the end
-     of the cursor.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Cause <command>FETCH</command> and <command>MOVE</command> to
-     return the number of rows fetched/moved, or zero if at the
-     beginning/end of cursor, per SQL standard (Bruce)
-    </para>
-    <para>
-     In prior releases, the row count returned by
-     <command>FETCH</command> and <command>MOVE</command> did not
-     accurately reflect the number of rows processed.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Properly handle <literal>SCROLL</literal> with cursors, or
-    report an error (Neil)</para>
-    <para>
-     Allowing random access (both forward and backward scrolling) to
-     some kinds of queries cannot be done without some additional
-     work. If <literal>SCROLL</literal> is specified when the cursor
-     is created, this additional work will be performed. Furthermore,
-     if the cursor has been created with <literal>NO SCROLL</literal>,
-     no random access is allowed.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Implement SQL-compatible options <literal>FIRST</literal>,
-     <literal>LAST</literal>, <literal>ABSOLUTE <replaceable>n</replaceable></literal>,
-     <literal>RELATIVE <replaceable>n</replaceable></literal> for
-     <command>FETCH</command> and <command>MOVE</command> (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Allow <command>EXPLAIN</command> on <command>DECLARE CURSOR</command> (Tom)</para>
-   </listitem>
-
-   <listitem>
-    <para>Allow <command>CLUSTER</command> to use index marked as pre-clustered by default (Alvaro Herrera)</para>
-   </listitem>
-
-   <listitem>
-    <para>Allow <command>CLUSTER</command> to cluster all tables (Alvaro Herrera)</para>
-    <para>
-     This allows all previously clustered tables in a database to be
-     reclustered with a single command.
-    </para>
-   </listitem>
-
-   <listitem><para>Prevent <command>CLUSTER</command> on partial indexes (Tom)</para></listitem>
-
-   <listitem><para>Allow DOS and Mac line-endings in <command>COPY</command> files (Bruce)</para></listitem>
-
-   <listitem>
-    <para>
-     Disallow literal carriage return as a data value,
-     backslash-carriage-return and <literal>\r</literal> are still allowed
-     (Bruce)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para><command>COPY</command> changes (binary, <literal>\.</literal>) (Tom)</para>
-   </listitem>
-
-   <listitem>
-    <para>Recover from <command>COPY</command> failure cleanly (Tom)</para>
-   </listitem>
-
-   <listitem>
-    <para>Prevent possible memory leaks in <command>COPY</command> (Tom)</para>
-   </listitem>
-
-   <listitem>
-    <para>Make <command>TRUNCATE</command> transaction-safe (Rod)</para>
-    <para>
-     <command>TRUNCATE</command> can now be used inside a
-     transaction. If the transaction aborts, the changes made by the
-     <command>TRUNCATE</command> are automatically rolled back.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Allow prepare/bind of utility commands like
-     <command>FETCH</command> and <command>EXPLAIN</command> (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Add <command>EXPLAIN EXECUTE</command> (Neil)</para>
-   </listitem>
-
-   <listitem>
-    <para>Improve <command>VACUUM</command> performance on indexes by reducing WAL traffic (Tom)</para>
-   </listitem>
-
-   <listitem>
-    <para>Functional indexes have been generalized into indexes on expressions (Tom)</para>
-    <para>
-     In prior releases, functional indexes only supported a simple
-     function applied to one or more column names.  This release
-     allows any type of scalar expression.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Have <command>SHOW TRANSACTION ISOLATION</command> match input
-     to <command>SET TRANSACTION ISOLATION</command>
-     (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-      Have <command>COMMENT ON DATABASE</command> on nonlocal
-      database generate a warning, rather than an error (Rod)
-     </para>
-
-    <para>
-     Database comments are stored in database-local tables so
-     comments on a database have to be stored in each database.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Improve reliability of <command>LISTEN</command>/<command>NOTIFY</command> (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Allow <command>REINDEX</command> to reliably reindex nonshared system catalog indexes (Tom)</para>
-    <para>
-     This allows system tables to be reindexed without the
-     requirement of a standalone session, which was necessary in
-     previous releases. The only tables that now require a standalone
-     session for reindexing are the global system tables
-     <literal>pg_database</literal>, <literal>pg_shadow</literal>, and
-     <literal>pg_group</literal>.
-    </para>
-   </listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>Data Type and Function Changes</title>
-
-  <itemizedlist>
-   <listitem>
-    <para>
-     New server parameter <varname>extra_float_digits</varname> to
-     control precision display of floating-point numbers (Pedro
-     Ferreira, Tom)
-    </para>
-    <para>
-     This controls output precision which was causing regression
-     testing problems.
-    </para>
-   </listitem>
-
-   <listitem><para>Allow <literal>+1300</literal> as a numeric time-zone specifier, for FJST (Tom)</para></listitem>
-
-   <listitem>
-    <para>
-     Remove rarely used functions <function>oidrand</function>,
-     <function>oidsrand</function>, and <function>userfntest</function> functions
-     (Neil)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Add <function>md5()</function> function to main server, already in <filename>contrib/pgcrypto</filename> (Joe)</para>
-    <para>
-     An MD5 function was frequently requested. For more complex
-     encryption capabilities, use
-     <filename>contrib/pgcrypto</filename>.
-    </para>
-   </listitem>
-
-   <listitem><para>Increase date range of <type>timestamp</type> (John Cochran)</para></listitem>
-
-   <listitem>
-    <para>
-     Change <literal>EXTRACT(EPOCH FROM timestamp)</literal> so
-     <type>timestamp without time zone</type> is assumed to be in
-     local time, not GMT (Tom)
-    </para>
-   </listitem>
-
-   <listitem><para>Trap division by zero in case the operating system doesn't prevent it (Tom)</para></listitem>
-   <listitem><para>Change the <type>numeric</type> data type internally to base 10000 (Tom)</para></listitem>
-   <listitem><para>New <function>hostmask()</function> function (Greg Wickham)</para></listitem>
-   <listitem><para>Fixes for <function>to_char()</function> and <function>to_timestamp()</function> (Karel)</para></listitem>
-
-   <listitem>
-    <para>
-     Allow functions that can take any argument data type and return
-     any data type, using <type>anyelement</type> and
-     <type>anyarray</type> (Joe)
-    </para>
-    <para>
-     This allows the creation of functions that can work with any
-     data type.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Arrays can now be specified as <literal>ARRAY[1,2,3]</literal>,
-     <literal>ARRAY[['a','b'],['c','d']]</literal>, or
-     <literal>ARRAY[ARRAY[ARRAY[2]]]</literal> (Joe)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Allow proper comparisons for arrays, including <literal>ORDER
-     BY</literal> and <literal>DISTINCT</literal> support
-     (Joe)
-    </para>
-   </listitem>
-
-   <listitem><para>Allow indexes on array columns (Joe)</para></listitem>
-   <listitem><para>Allow array concatenation with <literal>||</literal> (Joe)</para></listitem>
-
-   <listitem>
-    <para>
-     Allow <literal>WHERE</literal> qualification
-     <literal><replaceable>expr</replaceable> <replaceable>op</replaceable> ANY/SOME/ALL
-     (<replaceable>array_expr</replaceable>)</literal> (Joe)
-    </para>
-    <para>
-     This allows arrays to behave like a list of values, for purposes
-     like <literal>SELECT * FROM tab WHERE col IN
-     (array_val)</literal>.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     New array functions <function>array_append</function>,
-     <function>array_cat</function>, <function>array_lower</function>,
-     <function>array_prepend</function>, <function>array_to_string</function>,
-     <function>array_upper</function>, <function>string_to_array</function> (Joe)
-    </para>
-   </listitem>
-
-   <listitem><para>Allow user defined aggregates to use polymorphic functions (Joe)</para></listitem>
-   <listitem><para>Allow assignments to empty arrays (Joe)</para></listitem>
-
-   <listitem>
-    <para>
-     Allow 60 in seconds fields of <type>time</type>,
-     <type>timestamp</type>, and <type>interval</type> input values
-     (Tom)
-    </para>
-    <para>
-     Sixty-second values are needed for leap seconds.
-    </para>
-   </listitem>
-
-   <listitem><para>Allow <type>cidr</type> data type to be cast to <type>text</type> (Tom)</para></listitem>
-
-   <listitem><para>Disallow invalid time zone names in SET TIMEZONE</para></listitem>
-
-   <listitem>
-    <para>
-     Trim trailing spaces when <type>char</type> is cast to
-     <type>varchar</type> or <type>text</type> (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Make <type>float(<replaceable>p</replaceable>)</type> measure the precision
-     <replaceable>p</replaceable> in binary digits, not decimal digits
-     (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Add IPv6 support to the <type>inet</type> and <type>cidr</type> data types (Michael Graff)</para>
-   </listitem>
-
-   <listitem>
-    <para>Add <function>family()</function> function to report whether address is IPv4 or IPv6 (Michael Graff)</para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Have <literal>SHOW datestyle</literal> generate output similar
-     to that used by <literal>SET datestyle</literal> (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Make <literal>EXTRACT(TIMEZONE)</literal> and <literal>SET/SHOW
-     TIME ZONE</literal> follow the SQL convention for the sign of
-     time zone offsets, i.e., positive is east from UTC (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Fix <literal>date_trunc('quarter', ...)</literal> (B&ouml;jthe Zolt&aacute;n)</para>
-    <para>
-     Prior releases returned an incorrect value for this function call.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Make <function>initcap()</function> more compatible with Oracle (Mike Nolan)</para>
-    <para>
-     <function>initcap()</function> now uppercases a letter appearing
-     after any non-alphanumeric character, rather than only after
-     whitespace.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Allow only <varname>datestyle</varname> field order for date values not in ISO-8601 format (Greg)</para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Add new <varname>datestyle</varname> values <literal>MDY</literal>,
-     <literal>DMY</literal>, and <literal>YMD</literal> to set input field order;
-     honor <literal>US</literal> and <literal>European</literal> for backward
-     compatibility (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     String literals like <literal>'now'</literal> or
-     <literal>'today'</literal> will no longer work as a column
-     default. Use functions such as <function>now()</function>,
-     <function>current_timestamp</function> instead.  (change
-     required for prepared statements) (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Treat NaN as larger than any other value in <function>min()</function>/<function>max()</function> (Tom)</para>
-    <para>
-     NaN was already sorted after ordinary numeric values for most
-     purposes, but <function>min()</function> and <function>max()</function> didn't
-     get this right.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Prevent interval from suppressing <literal>:00</literal>
-    seconds display</para>
-   </listitem>
-
-   <listitem>
-    <para>
-     New functions <function>pg_get_triggerdef(prettyprint)</function>
-     and <function>pg_conversion_is_visible()</function> (Christopher)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Allow time to be specified as <literal>040506</literal> or <literal>0405</literal> (Tom)</para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Input date order must now be <literal>YYYY-MM-DD</literal> (with 4-digit year) or
-     match <varname>datestyle</varname>
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Make <function>pg_get_constraintdef</function> support
-     unique, primary-key, and check constraints (Christopher)
-    </para>
-   </listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>Server-Side Language Changes</title>
-
-  <itemizedlist>
-   <listitem>
-    <para>
-     Prevent PL/pgSQL crash when <literal>RETURN NEXT</literal> is
-     used on a zero-row record variable (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Make PL/Python's <function>spi_execute</function> interface
-     handle null values properly (Andrew Bosma)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Allow PL/pgSQL to declare variables of composite types without <literal>%ROWTYPE</literal> (Tom)</para>
-   </listitem>
-
-   <listitem>
-    <para>Fix PL/Python's <function>_quote()</function> function to handle big integers</para>
-   </listitem>
-
-   <listitem>
-    <para>Make PL/Python an untrusted language, now called <literal>plpythonu</literal> (Kevin Jacobs, Tom)</para>
-    <para>
-     The Python language no longer supports a restricted execution
-     environment, so the trusted version of PL/Python was removed. If
-     this situation changes, a version of PL/Python that can be used
-     by non-superusers will be readded.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Allow polymorphic PL/pgSQL functions (Joe, Tom)</para>
-   </listitem>
-
-   <listitem>
-    <para>Allow polymorphic SQL functions (Joe)</para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Improved compiled function caching mechanism in PL/pgSQL with
-     full support for polymorphism (Joe)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Add new parameter <literal>$0</literal> in PL/pgSQL representing the
-     function's actual return type (Joe)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Allow PL/Tcl and PL/Python to use the same trigger on multiple tables (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Fixed PL/Tcl's <function>spi_prepare</function> to accept fully
-     qualified type names in the parameter type list
-     (Jan)
-    </para>
-   </listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>psql Changes</title>
-
-  <itemizedlist>
-   <listitem>
-    <para>Add <literal>\pset pager always</literal> to always use pager (Greg)</para>
-    <para>
-     This forces the pager to be used even if the number of rows is
-     less than the screen height.  This is valuable for rows that
-     wrap across several screen rows.
-    </para>
-   </listitem>
-
-   <listitem><para>Improve tab completion (Rod, Ross Reedstrom, Ian Barwick)</para></listitem>
-   <listitem><para>Reorder <literal>\?</literal> help into groupings (Harald Armin Massa, Bruce)</para></listitem>
-   <listitem><para>Add backslash commands for listing schemas, casts, and conversions (Christopher)</para></listitem>
-
-   <listitem>
-    <para>
-     <command>\encoding</command> now changes based on the server parameter
-     <varname>client_encoding</varname> (Tom)
-    </para>
-    <para>
-     In previous versions, <command>\encoding</command> was not aware
-     of encoding changes made using <literal>SET
-     client_encoding</literal>.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Save editor buffer into readline history (Ross)</para>
-    <para>
-     When <command>\e</command> is used to edit a query, the result is saved
-     in the readline history for retrieval using the up arrow.
-    </para>
-   </listitem>
-
-   <listitem><para>Improve <command>\d</command> display (Christopher)</para></listitem>
-   <listitem><para>Enhance HTML mode to be more standards-conforming (Greg)</para></listitem>
-
-   <listitem>
-    <para>New <command>\set AUTOCOMMIT off</command> capability (Tom)</para>
-    <para>
-     This takes the place of the removed server parameter <varname>autocommit</varname>.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>New <command>\set VERBOSITY</command> to control error detail (Tom)</para>
-    <para>
-     This controls the new error reporting details.
-    </para>
-   </listitem>
-
-   <listitem><para>New prompt escape sequence <literal>%x</literal> to show transaction status (Tom)</para></listitem>
-   <listitem><para>Long options for <application>psql</application> are now available on all platforms</para></listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>pg_dump Changes</title>
-
-  <itemizedlist>
-   <listitem><para>Multiple pg_dump fixes, including tar format and large objects</para></listitem>
-   <listitem><para>Allow pg_dump to dump specific schemas (Neil)</para></listitem>
-
-   <listitem>
-    <para>Make pg_dump preserve column storage characteristics (Christopher)</para>
-    <para>
-     This preserves <literal>ALTER TABLE ... SET STORAGE</literal> information.
-    </para>
-   </listitem>
-
-   <listitem><para>Make pg_dump preserve <command>CLUSTER</command> characteristics (Christopher)</para></listitem>
-
-   <listitem>
-    <para>
-     Have pg_dumpall use <command>GRANT</command>/<command>REVOKE</command> to dump database-level privileges (Tom)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Allow pg_dumpall to support the options <option>-a</option>,
-     <option>-s</option>, <option>-x</option> of pg_dump (Tom)
-    </para>
-   </listitem>
-
-   <listitem><para>Prevent pg_dump from lowercasing identifiers specified on the command line (Tom)</para></listitem>
-
-   <listitem>
-    <para>
-     pg_dump options <option>--use-set-session-authorization</option>
-     and <option>--no-reconnect</option> now do nothing, all dumps
-     use <command>SET SESSION AUTHORIZATION</command>
-    </para>
-    <para>
-     pg_dump no longer reconnects to switch users, but instead always
-     uses <command>SET SESSION AUTHORIZATION</command>. This will
-     reduce password prompting during restores.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Long options for <application>pg_dump</application> are now available on all platforms</para>
-    <para>
-     <productname>PostgreSQL</productname> now includes its own
-     long-option processing routines.
-    </para>
-   </listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>libpq Changes</title>
-
-  <itemizedlist>
-   <listitem>
-    <para>
-     Add function <function>PQfreemem</function> for freeing memory on
-     Windows, suggested for <command>NOTIFY</command> (Bruce)
-    </para>
-    <para>
-     Windows requires that memory allocated in a library be freed by
-     a function in the same library, hence
-     <function>free()</function> doesn't work for freeing memory
-     allocated by libpq. <function>PQfreemem</function> is the proper
-     way to free libpq memory, especially on Windows, and is
-     recommended for other platforms as well.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Document service capability, and add sample file (Bruce)</para>
-    <para>
-     This allows clients to look up connection information in a
-     central file on the client machine.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Make <function>PQsetdbLogin</function> have the same defaults as
-     <function>PQconnectdb</function> (Tom)
-    </para>
-   </listitem>
-
-   <listitem><para>Allow libpq to cleanly fail when result sets are too large (Tom)</para></listitem>
-
-   <listitem>
-    <para>
-     Improve performance of function <function>PQunescapeBytea</function> (Ben Lamb)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Allow thread-safe libpq with <filename>configure</filename>
-     option <option>--enable-thread-safety</option> (Lee Kindness,
-     Philip Yarra)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Allow function <function>pqInternalNotice</function> to accept a
-     format string and arguments instead of just a preformatted
-     message (Tom, Sean Chittenden)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Control SSL negotiation with <literal>sslmode</literal> values
-     <literal>disable</literal>, <literal>allow</literal>,
-     <literal>prefer</literal>, and <literal>require</literal> (Jon
-     Jensen)
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Allow new error codes and levels of text (Tom)</para>
-   </listitem>
-
-   <listitem>
-    <para>Allow access to the underlying table and column of a query result (Tom)</para>
-    <para>
-     This is helpful for query-builder applications that want to know
-     the underlying table and column names associated with a specific
-     result set.
-    </para>
-   </listitem>
-
-   <listitem><para>Allow access to the current transaction status (Tom)</para></listitem>
-   <listitem><para>Add ability to pass binary data directly to the server (Tom)</para></listitem>
-
-   <listitem>
-    <para>
-     Add function <function>PQexecPrepared</function> and
-     <function>PQsendQueryPrepared</function> functions which perform
-     bind/execute of previously prepared statements (Tom)
-     </para>
-    </listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>JDBC Changes</title>
-
-  <itemizedlist>
-   <listitem><para>Allow <function>setNull</function> on updateable result sets</para></listitem>
-   <listitem><para>Allow <function>executeBatch</function> on a prepared statement (Barry)</para></listitem>
-   <listitem><para>Support SSL connections (Barry)</para></listitem>
-   <listitem><para>Handle schema names in result sets (Paul Sorenson)</para></listitem>
-   <listitem><para>Add refcursor support (Nic Ferrier)</para></listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>Miscellaneous Interface Changes</title>
-
-  <itemizedlist>
-   <listitem>
-    <para>Prevent possible memory leak or core dump during libpgtcl shutdown (Tom)</para>
-   </listitem>
-   <listitem>
-    <para>Add Informix compatibility to ECPG (Michael)</para>
-    <para>
-     This allows ECPG to process embedded C programs that were
-     written using certain Informix extensions.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Add type <type>decimal</type> to ECPG that is fixed length, for Informix (Michael)</para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Allow thread-safe embedded SQL programs with
-     <filename>configure</filename> option
-     <option>--enable-thread-safety</option> (Lee Kindness, Bruce)
-    </para>
-    <para>
-     This allows multiple threads to access the database at the same
-     time.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>Moved Python client PyGreSQL to <ulink url="http://www.pygresql.org"></ulink> (Marc)</para>
-   </listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>Source Code Changes</title>
-
-  <itemizedlist>
-   <listitem><para>Prevent need for separate platform geometry regression result files (Tom)</para></listitem>
-   <listitem><para>Improved PPC locking primitive (Reinhard Max)</para></listitem>
-   <listitem><para>New function <function>palloc0</function> to allocate and clear memory (Bruce)</para></listitem>
-   <listitem><para>Fix locking code for s390x CPU (64-bit) (Tom)</para></listitem>
-   <listitem><para>Allow OpenBSD to use local ident credentials (William Ahern)</para></listitem>
-   <listitem><para>Make query plan trees read-only to executor (Tom)</para></listitem>
-   <listitem><para>Add macOS startup scripts (David Wheeler)</para></listitem>
-   <listitem><para>Allow libpq to compile with Borland C++ compiler (Lester Godwin, Karl Waclawek)</para></listitem>
-   <listitem><para>Use our own version of <function>getopt_long()</function> if needed (Peter)</para></listitem>
-   <listitem><para>Convert administration scripts to C (Peter)</para></listitem>
-   <listitem><para> Bison &gt;= 1.85 is now required to build the <productname>PostgreSQL</productname> grammar, if building from CVS</para></listitem>
-   <listitem><para>Merge documentation into one book (Peter)</para></listitem>
-   <listitem><para>Add Windows compatibility functions (Bruce)</para></listitem>
-   <listitem><para>Allow client interfaces to compile under MinGW (Bruce)</para></listitem>
-   <listitem><para>New <function>ereport()</function> function for error reporting (Tom)</para></listitem>
-   <listitem><para>Support Intel compiler on Linux (Peter)</para></listitem>
-   <listitem><para>Improve Linux startup scripts (Slawomir Sudnik, Darko Prenosil)</para></listitem>
-   <listitem><para>Add support for AMD Opteron and Itanium (Jeffrey W. Baker, Bruce)</para></listitem>
-   <listitem>
-    <para>Remove <option>--enable-recode</option> option from <command>configure</command></para>
-    <para>
-     This was no longer needed now that we have <command>CREATE CONVERSION</command>.
-    </para>
-   </listitem>
-   <listitem>
-    <para>Generate a compile error if spinlock code is not found (Bruce)</para>
-    <para>
-     Platforms without spinlock code will now fail to compile, rather
-     than silently using semaphores. This failure can be disabled
-     with a new <command>configure</command> option.
-    </para>
-   </listitem>
-  </itemizedlist>
- </sect3>
-
- <sect3>
-  <title>Contrib Changes</title>
-
-  <itemizedlist>
-   <listitem><para>Change dbmirror license to BSD</para></listitem>
-   <listitem><para>Improve earthdistance (Bruno Wolff III)</para></listitem>
-   <listitem><para>Portability improvements to pgcrypto (Marko Kreen)</para></listitem>
-   <listitem><para>Prevent crash in xml (John Gray, Michael Richards)</para></listitem>
-   <listitem><para>Update oracle</para></listitem>
-   <listitem><para>Update mysql</para></listitem>
-   <listitem><para>Update cube (Bruno Wolff III)</para></listitem>
-   <listitem><para>Update earthdistance to use cube (Bruno Wolff III)</para></listitem>
-   <listitem><para>Update btree_gist (Oleg)</para></listitem>
-   <listitem><para>New tsearch2 full-text search module (Oleg, Teodor)</para></listitem>
-   <listitem><para>Add hash-based crosstab function to tablefuncs (Joe)</para></listitem>
-   <listitem><para>Add serial column to order <function>connectby()</function> siblings in tablefuncs (Nabil Sayegh,Joe)</para></listitem>
-   <listitem><para>Add named persistent connections to dblink (Shridhar Daithanka)</para></listitem>
-   <listitem><para>New pg_autovacuum allows automatic <command>VACUUM</command> (Matthew T. O'Connor)</para></listitem>
-   <listitem><para>Make pgbench honor environment variables <envar>PGHOST</envar>, <envar>PGPORT</envar>, <envar>PGUSER</envar> (Tatsuo)</para></listitem>
-   <listitem><para>Improve intarray (Teodor Sigaev)</para></listitem>
-   <listitem><para>Improve pgstattuple (Rod)</para></listitem>
-   <listitem><para>Fix bug in <function>metaphone()</function> in fuzzystrmatch</para></listitem>
-   <listitem><para>Improve adddepend (Rod)</para></listitem>
-   <listitem><para>Update spi/timetravel (B&ouml;jthe Zolt&aacute;n)</para></listitem>
-   <listitem><para>Fix dbase <option>-s</option> option and improve non-ASCII handling (Thomas Behr, M&aacute;rcio Smiderle)</para></listitem>
-   <listitem><para>Remove array module because features now included by default (Joe)</para></listitem>
-  </itemizedlist>
- </sect3>
- </sect2>
-</sect1>
diff --git a/doc/src/sgml/release-8.0.sgml b/doc/src/sgml/release-8.0.sgml
deleted file mode 100644 (file)
index 6171e0d..0000000
+++ /dev/null
@@ -1,5421 +0,0 @@
-<!-- doc/src/sgml/release-8.0.sgml -->
-<!-- See header comment in release.sgml about typical markup -->
-
- <sect1 id="release-8-0-26">
-  <title>Release 8.0.26</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2010-10-04</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.25.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <para>
-   This is expected to be the last <productname>PostgreSQL</productname> release
-   in the 8.0.X series.  Users are encouraged to update to a newer
-   release branch soon.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.26</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.
-    However, if you are upgrading from a version earlier than 8.0.22,
-    see <xref linkend="release-8-0-22"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Use a separate interpreter for each calling SQL userid in PL/Perl and
-      PL/Tcl (Tom Lane)
-     </para>
-
-     <para>
-      This change prevents security problems that can be caused by subverting
-      Perl or Tcl code that will be executed later in the same session under
-      another SQL user identity (for example, within a <literal>SECURITY
-      DEFINER</literal> function).  Most scripting languages offer numerous ways that
-      that might be done, such as redefining standard functions or operators
-      called by the target function.  Without this change, any SQL user with
-      Perl or Tcl language usage rights can do essentially anything with the
-      SQL privileges of the target function's owner.
-     </para>
-
-     <para>
-      The cost of this change is that intentional communication among Perl
-      and Tcl functions becomes more difficult.  To provide an escape hatch,
-      PL/PerlU and PL/TclU functions continue to use only one interpreter
-      per session.  This is not considered a security issue since all such
-      functions execute at the trust level of a database superuser already.
-     </para>
-
-     <para>
-      It is likely that third-party procedural languages that claim to offer
-      trusted execution have similar security issues.  We advise contacting
-      the authors of any PL you are depending on for security-critical
-      purposes.
-     </para>
-
-     <para>
-      Our thanks to Tim Bunce for pointing out this issue (CVE-2010-3433).
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent possible crashes in <function>pg_get_expr()</function> by disallowing
-      it from being called with an argument that is not one of the system
-      catalog columns it's intended to be used with
-      (Heikki Linnakangas, Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <quote>cannot handle unplanned sub-select</quote> error (Tom Lane)
-     </para>
-
-     <para>
-      This occurred when a sub-select contains a join alias reference that
-      expands into an expression containing another sub-select.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Defend against functions returning setof record where not all the
-      returned rows are actually of the same rowtype (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Take care to fsync the contents of lockfiles (both
-      <filename>postmaster.pid</filename> and the socket lockfile) while writing them
-      (Tom Lane)
-     </para>
-
-     <para>
-      This omission could result in corrupted lockfile contents if the
-      machine crashes shortly after postmaster start.  That could in turn
-      prevent subsequent attempts to start the postmaster from succeeding,
-      until the lockfile is manually removed.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Avoid recursion while assigning XIDs to heavily-nested
-      subtransactions (Andres Freund, Robert Haas)
-     </para>
-
-     <para>
-      The original coding could result in a crash if there was limited
-      stack space.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <varname>log_line_prefix</varname>'s <literal>%i</literal> escape,
-      which could produce junk early in backend startup (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix possible data corruption in <command>ALTER TABLE ... SET
-      TABLESPACE</command> when archiving is enabled (Jeff Davis)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Allow <command>CREATE DATABASE</command> and <command>ALTER DATABASE ... SET
-      TABLESPACE</command> to be interrupted by query-cancel (Guillaume Lelarge)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      In PL/Python, defend against null pointer results from
-      <function>PyCObject_AsVoidPtr</function> and <function>PyCObject_FromVoidPtr</function>
-      (Peter Eisentraut)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improve <filename>contrib/dblink</filename>'s handling of tables containing
-      dropped columns (Tom Lane)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix connection leak after <quote>duplicate connection name</quote>
-      errors in <filename>contrib/dblink</filename> (Itagaki Takahiro)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <filename>contrib/dblink</filename> to handle connection names longer than
-      62 bytes correctly (Itagaki Takahiro)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update build infrastructure and documentation to reflect the source code
-      repository's move from CVS to Git (Magnus Hagander and others)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update time zone data files to <application>tzdata</application> release 2010l
-      for DST law changes in Egypt and Palestine; also historical corrections
-      for Finland.
-     </para>
-
-     <para>
-      This change also adds new names for two Micronesian timezones:
-      Pacific/Chuuk is now preferred over Pacific/Truk (and the preferred
-      abbreviation is CHUT not TRUT) and Pacific/Pohnpei is preferred over
-      Pacific/Ponape.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-25">
-  <title>Release 8.0.25</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2010-05-17</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.24.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <para>
-   The <productname>PostgreSQL</productname> community will stop releasing updates
-   for the 8.0.X release series in July 2010.
-   Users are encouraged to update to a newer release branch soon.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.25</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.
-    However, if you are upgrading from a version earlier than 8.0.22,
-    see <xref linkend="release-8-0-22"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Enforce restrictions in <literal>plperl</literal> using an opmask applied to
-      the whole interpreter, instead of using <filename>Safe.pm</filename>
-      (Tim Bunce, Andrew Dunstan)
-     </para>
-
-     <para>
-      Recent developments have convinced us that <filename>Safe.pm</filename> is too
-      insecure to rely on for making <literal>plperl</literal> trustable.  This
-      change removes use of <filename>Safe.pm</filename> altogether, in favor of using
-      a separate interpreter with an opcode mask that is always applied.
-      Pleasant side effects of the change include that it is now possible to
-      use Perl's <literal>strict</literal> pragma in a natural way in
-      <literal>plperl</literal>, and that Perl's <literal>$a</literal> and <literal>$b</literal>
-      variables work as expected in sort routines, and that function
-      compilation is significantly faster.  (CVE-2010-1169)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent PL/Tcl from executing untrustworthy code from
-      <structname>pltcl_modules</structname> (Tom)
-     </para>
-
-     <para>
-      PL/Tcl's feature for autoloading Tcl code from a database table
-      could be exploited for trojan-horse attacks, because there was no
-      restriction on who could create or insert into that table.  This change
-      disables the feature unless <structname>pltcl_modules</structname> is owned by a
-      superuser.  (However, the permissions on the table are not checked, so
-      installations that really need a less-than-secure modules table can
-      still grant suitable privileges to trusted non-superusers.)  Also,
-      prevent loading code into the unrestricted <quote>normal</quote> Tcl
-      interpreter unless we are really going to execute a <literal>pltclu</literal>
-      function.  (CVE-2010-1170)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Do not allow an unprivileged user to reset superuser-only parameter
-      settings (Alvaro)
-     </para>
-
-     <para>
-      Previously, if an unprivileged user ran <literal>ALTER USER ... RESET
-      ALL</literal> for himself, or <literal>ALTER DATABASE ... RESET ALL</literal> for
-      a database he owns, this would remove all special parameter settings
-      for the user or database, even ones that are only supposed to be
-      changeable by a superuser.  Now, the <command>ALTER</command> will only
-      remove the parameters that the user has permission to change.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Avoid possible crash during backend shutdown if shutdown occurs
-      when a <literal>CONTEXT</literal> addition would be made to log entries (Tom)
-     </para>
-
-     <para>
-      In some cases the context-printing function would fail because the
-      current transaction had already been rolled back when it came time
-      to print a log message.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update PL/Perl's <filename>ppport.h</filename> for modern Perl versions
-      (Andrew)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix assorted memory leaks in PL/Python (Andreas Freund, Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent infinite recursion in <application>psql</application> when expanding
-      a variable that refers to itself (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Ensure that <filename>contrib/pgstattuple</filename> functions respond to cancel
-      interrupts promptly (Tatsuhito Kasahara)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make server startup deal properly with the case that
-      <function>shmget()</function> returns <literal>EINVAL</literal> for an existing
-      shared memory segment (Tom)
-     </para>
-
-     <para>
-      This behavior has been observed on BSD-derived kernels including macOS.
-      It resulted in an entirely-misleading startup failure complaining that
-      the shared memory request size was too large.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update time zone data files to <application>tzdata</application> release 2010j
-      for DST law changes in Argentina, Australian Antarctic, Bangladesh,
-      Mexico, Morocco, Pakistan, Palestine, Russia, Syria, Tunisia;
-      also historical corrections for Taiwan.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-24">
-  <title>Release 8.0.24</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2010-03-15</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.23.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <para>
-   The <productname>PostgreSQL</productname> community will stop releasing updates
-   for the 8.0.X release series in July 2010.
-   Users are encouraged to update to a newer release branch soon.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.24</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.
-    However, if you are upgrading from a version earlier than 8.0.22,
-    see <xref linkend="release-8-0-22"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Add new configuration parameter <varname>ssl_renegotiation_limit</varname> to
-      control how often we do session key renegotiation for an SSL connection
-      (Magnus)
-     </para>
-
-     <para>
-      This can be set to zero to disable renegotiation completely, which may
-      be required if a broken SSL library is used.  In particular, some
-      vendors are shipping stopgap patches for CVE-2009-3555 that cause
-      renegotiation attempts to fail.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix possible crashes when trying to recover from a failure in
-      subtransaction start (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix server memory leak associated with use of savepoints and a client
-      encoding different from server's encoding (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make <function>substring()</function> for <type>bit</type> types treat any negative
-      length as meaning <quote>all the rest of the string</quote> (Tom)
-     </para>
-
-     <para>
-      The previous coding treated only -1 that way, and would produce an
-      invalid result value for other negative values, possibly leading to
-      a crash (CVE-2010-0442).
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix integer-to-bit-string conversions to handle the first fractional
-      byte correctly when the output bit width is wider than the given
-      integer by something other than a multiple of 8 bits (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix some cases of pathologically slow regular expression matching (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix the <literal>STOP WAL LOCATION</literal> entry in backup history files to
-      report the next WAL segment's name when the end location is exactly at a
-      segment boundary (Itagaki Takahiro)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      When reading <filename>pg_hba.conf</filename> and related files, do not treat
-      <literal>@something</literal> as a file inclusion request if the <literal>@</literal>
-      appears inside quote marks; also, never treat <literal>@</literal> by itself
-      as a file inclusion request (Tom)
-     </para>
-
-     <para>
-      This prevents erratic behavior if a role or database name starts with
-      <literal>@</literal>.  If you need to include a file whose path name
-      contains spaces, you can still do so, but you must write
-      <literal>@"/path to/file"</literal> rather than putting the quotes around
-      the whole construct.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent infinite loop on some platforms if a directory is named as
-      an inclusion target in <filename>pg_hba.conf</filename> and related files
-      (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix plpgsql failure in one case where a composite column is set to NULL
-      (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Add <literal>volatile</literal> markings in PL/Python to avoid possible
-      compiler-specific misbehavior (Zdenek Kotala)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Ensure PL/Tcl initializes the Tcl interpreter fully (Tom)
-     </para>
-
-     <para>
-      The only known symptom of this oversight is that the Tcl
-      <literal>clock</literal> command misbehaves if using Tcl 8.5 or later.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent crash in <filename>contrib/dblink</filename> when too many key
-      columns are specified to a <function>dblink_build_sql_*</function> function
-      (Rushabh Lathia, Joe Conway)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix assorted crashes in <filename>contrib/xml2</filename> caused by sloppy
-      memory management (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update time zone data files to <application>tzdata</application> release 2010e
-      for DST law changes in Bangladesh, Chile, Fiji, Mexico, Paraguay, Samoa.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-23">
-  <title>Release 8.0.23</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2009-12-14</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.22.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.23</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.
-    However, if you are upgrading from a version earlier than 8.0.22,
-    see <xref linkend="release-8-0-22"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Protect against indirect security threats caused by index functions
-      changing session-local state (Gurjeet Singh, Tom)
-     </para>
-
-     <para>
-      This change prevents allegedly-immutable index functions from possibly
-      subverting a superuser's session (CVE-2009-4136).
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Reject SSL certificates containing an embedded null byte in the common
-      name (CN) field (Magnus)
-     </para>
-
-     <para>
-      This prevents unintended matching of a certificate to a server or client
-      name during SSL validation (CVE-2009-4034).
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix possible crash during backend-startup-time cache initialization (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent signals from interrupting <literal>VACUUM</literal> at unsafe times
-      (Alvaro)
-     </para>
-
-     <para>
-      This fix prevents a PANIC if a <literal>VACUUM FULL</literal> is canceled
-      after it's already committed its tuple movements, as well as transient
-      errors if a plain <literal>VACUUM</literal> is interrupted after having
-      truncated the table.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix possible crash due to integer overflow in hash table size
-      calculation (Tom)
-     </para>
-
-     <para>
-      This could occur with extremely large planner estimates for the size of
-      a hashjoin's result.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix very rare crash in <type>inet</type>/<type>cidr</type> comparisons (Chris
-      Mikkelson)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix premature drop of temporary files used for a cursor that is accessed
-      within a subtransaction (Heikki)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix PAM password processing to be more robust (Tom)
-     </para>
-
-     <para>
-      The previous code is known to fail with the combination of the Linux
-      <literal>pam_krb5</literal> PAM module with Microsoft Active Directory as the
-      domain controller.  It might have problems elsewhere too, since it was
-      making unjustified assumptions about what arguments the PAM stack would
-      pass to it.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix rare crash in exception processing in PL/Python (Peter)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Ensure <application>psql</application>'s flex module is compiled with the correct
-      system header definitions (Tom)
-     </para>
-
-     <para>
-      This fixes build failures on platforms where
-      <literal>--enable-largefile</literal> causes incompatible changes in the
-      generated code.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make the postmaster ignore any <literal>application_name</literal> parameter in
-      connection request packets, to improve compatibility with future libpq
-      versions (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update time zone data files to <application>tzdata</application> release 2009s
-      for DST law changes in Antarctica, Argentina, Bangladesh, Fiji,
-      Novokuznetsk, Pakistan, Palestine, Samoa, Syria; also historical
-      corrections for Hong Kong.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-22">
-  <title>Release 8.0.22</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2009-09-09</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.21.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.22</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.
-    However, if you have any hash indexes on <type>interval</type> columns,
-    you must <command>REINDEX</command> them after updating to 8.0.22.
-    Also, if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Disallow <command>RESET ROLE</command> and <command>RESET SESSION
-      AUTHORIZATION</command> inside security-definer functions (Tom, Heikki)
-     </para>
-
-     <para>
-      This covers a case that was missed in the previous patch that
-      disallowed <command>SET ROLE</command> and <command>SET SESSION
-      AUTHORIZATION</command> inside security-definer functions.
-      (See CVE-2007-6600)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix handling of sub-SELECTs appearing in the arguments of
-      an outer-level aggregate function (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix hash calculation for data type <type>interval</type> (Tom)
-     </para>
-
-     <para>
-      This corrects wrong results for hash joins on interval values.
-      It also changes the contents of hash indexes on interval columns.
-      If you have any such indexes, you must <command>REINDEX</command> them
-      after updating.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Treat <function>to_char(..., 'TH')</function> as an uppercase ordinal
-      suffix with <literal>'HH'</literal>/<literal>'HH12'</literal> (Heikki)
-     </para>
-
-     <para>
-      It was previously handled as <literal>'th'</literal> (lowercase).
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix overflow for <literal>INTERVAL '<replaceable>x</replaceable> ms'</literal>
-      when <replaceable>x</replaceable> is more than 2 million and integer
-      datetimes are in use (Alex Hunsaker)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix calculation of distance between a point and a line segment (Tom)
-     </para>
-
-     <para>
-      This led to incorrect results from a number of geometric operators.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <type>money</type> data type to work in locales where currency
-      amounts have no fractional digits, e.g. Japan (Itagaki Takahiro)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Properly round datetime input like
-      <literal>00:12:57.9999999999999999999999999999</literal> (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix poor choice of page split point in GiST R-tree operator classes
-      (Teodor)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix portability issues in plperl initialization (Andrew Dunstan)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <application>pg_ctl</application> to not go into an infinite loop if
-      <filename>postgresql.conf</filename> is empty (Jeff Davis)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <filename>contrib/xml2</filename>'s <function>xslt_process()</function> to
-      properly handle the maximum number of parameters (twenty) (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improve robustness of <application>libpq</application>'s code to recover
-      from errors during <command>COPY FROM STDIN</command> (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Avoid including conflicting readline and editline header files
-      when both libraries are installed (Zdenek Kotala)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update time zone data files to <application>tzdata</application> release 2009l
-      for DST law changes in Bangladesh, Egypt, Jordan, Pakistan,
-      Argentina/San_Luis, Cuba, Jordan (historical correction only),
-      Mauritius, Morocco, Palestine, Syria, Tunisia.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-21">
-  <title>Release 8.0.21</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2009-03-16</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.20.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.21</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.
-    However, if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Prevent error recursion crashes when encoding conversion fails (Tom)
-     </para>
-
-     <para>
-      This change extends fixes made in the last two minor releases for
-      related failure scenarios.  The previous fixes were narrowly tailored
-      for the original problem reports, but we have now recognized that
-      <emphasis>any</emphasis> error thrown by an encoding conversion function could
-      potentially lead to infinite recursion while trying to report the
-      error.  The solution therefore is to disable translation and encoding
-      conversion and report the plain-ASCII form of any error message,
-      if we find we have gotten into a recursive error reporting situation.
-      (CVE-2009-0922)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Disallow <command>CREATE CONVERSION</command> with the wrong encodings
-      for the specified conversion function (Heikki)
-     </para>
-
-     <para>
-      This prevents one possible scenario for encoding conversion failure.
-      The previous change is a backstop to guard against other kinds of
-      failures in the same area.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix core dump when <function>to_char()</function> is given format codes that
-      are inappropriate for the type of the data argument (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Add <literal>MUST</literal> (Mauritius Island Summer Time) to the default list
-      of known timezone abbreviations (Xavier Bugaud)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-20">
-  <title>Release 8.0.20</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2009-02-02</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.19.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.20</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.
-    However, if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Improve handling of URLs in <function>headline()</function> function (Teodor)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improve handling of overlength headlines in <function>headline()</function>
-      function (Teodor)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent possible Assert failure or misconversion if an encoding
-      conversion is created with the wrong conversion function for the
-      specified pair of encodings (Tom, Heikki)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Avoid unnecessary locking of small tables in <command>VACUUM</command>
-      (Heikki)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix uninitialized variables in <filename>contrib/tsearch2</filename>'s
-      <function>get_covers()</function> function (Teodor)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make all documentation reference <literal>pgsql-bugs</literal> and/or
-      <literal>pgsql-hackers</literal> as appropriate, instead of the
-      now-decommissioned <literal>pgsql-ports</literal> and <literal>pgsql-patches</literal>
-      mailing lists (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update time zone data files to <application>tzdata</application> release 2009a (for
-      Kathmandu and historical DST corrections in Switzerland, Cuba)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-19">
-  <title>Release 8.0.19</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2008-11-03</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.18.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.19</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.
-    However, if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Fix backend crash when the client encoding cannot represent a localized
-      error message (Tom)
-     </para>
-
-     <para>
-      We have addressed similar issues before, but it would still fail if
-      the <quote>character has no equivalent</quote> message itself couldn't
-      be converted.  The fix is to disable localization and send the plain
-      ASCII error message when we detect such a situation.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix possible crash when deeply nested functions are invoked from
-      a trigger (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Ensure an error is reported when a newly-defined PL/pgSQL trigger
-      function is invoked as a normal function (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix incorrect tsearch2 headline generation when single query
-      item matches first word of text (Sushant Sinha)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix improper display of fractional seconds in interval values when
-      using a non-ISO datestyle in an <option>--enable-integer-datetimes</option>
-      build (Ron Mayer)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Ensure <function>SPI_getvalue</function> and <function>SPI_getbinval</function>
-      behave correctly when the passed tuple and tuple descriptor have
-      different numbers of columns (Tom)
-     </para>
-
-     <para>
-      This situation is normal when a table has had columns added or removed,
-      but these two functions didn't handle it properly.
-      The only likely consequence is an incorrect error indication.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <application>ecpg</application>'s parsing of <command>CREATE USER</command> (Michael)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix recent breakage of <literal>pg_ctl restart</literal> (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update time zone data files to <application>tzdata</application> release 2008i (for
-      DST law changes in Argentina, Brazil, Mauritius, Syria)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-18">
-  <title>Release 8.0.18</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2008-09-22</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.17.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.18</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.
-    However, if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Widen local lock counters from 32 to 64 bits (Tom)
-     </para>
-
-     <para>
-      This responds to reports that the counters could overflow in
-      sufficiently long transactions, leading to unexpected <quote>lock is
-      already held</quote> errors.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Add checks in executor startup to ensure that the tuples produced by an
-      <command>INSERT</command> or <command>UPDATE</command> will match the target table's
-      current rowtype (Tom)
-     </para>
-
-     <para>
-      <command>ALTER COLUMN TYPE</command>, followed by re-use of a previously
-      cached plan, could produce this type of situation.  The check protects
-      against data corruption and/or crashes that could ensue.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix datetime input functions to correctly detect integer overflow when
-      running on a 64-bit platform (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improve performance of writing very long log messages to syslog (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix bug in backwards scanning of a cursor on a <literal>SELECT DISTINCT
-      ON</literal> query (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix planner to estimate that <literal>GROUP BY</literal> expressions yielding
-      boolean results always result in two groups, regardless of the
-      expressions' contents (Tom)
-     </para>
-
-     <para>
-      This is very substantially more accurate than the regular <literal>GROUP
-      BY</literal> estimate for certain boolean tests like <replaceable>col</replaceable>
-      <literal>IS NULL</literal>.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix PL/Tcl to behave correctly with Tcl 8.5, and to be more careful
-      about the encoding of data sent to or from Tcl (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix PL/Python to work with Python 2.5
-     </para>
-
-     <para>
-      This is a back-port of fixes made during the 8.2 development cycle.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improve <application>pg_dump</application> and <application>pg_restore</application>'s
-      error reporting after failure to send a SQL command (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <application>pg_ctl</application> to properly preserve postmaster
-      command-line arguments across a <literal>restart</literal> (Bruce)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update time zone data files to <application>tzdata</application> release 2008f (for
-      DST law changes in Argentina, Bahamas, Brazil, Mauritius, Morocco,
-      Pakistan, Palestine, and Paraguay)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-17">
-  <title>Release 8.0.17</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2008-06-12</para>
-  </formalpara>
-
-  <para>
-   This release contains one serious bug fix over 8.0.16.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.17</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.
-    However, if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Make <function>pg_get_ruledef()</function> parenthesize negative constants (Tom)
-     </para>
-
-     <para>
-      Before this fix, a negative constant in a view or rule might be dumped
-      as, say, <literal>-42::integer</literal>, which is subtly incorrect: it should
-      be <literal>(-42)::integer</literal> due to operator precedence rules.
-      Usually this would make little difference, but it could interact with
-      another recent patch to cause
-      <productname>PostgreSQL</productname> to reject what had been a valid
-      <command>SELECT DISTINCT</command> view query.  Since this could result in
-      <application>pg_dump</application> output failing to reload, it is being treated
-      as a high-priority fix.  The only released versions in which dump
-      output is actually incorrect are 8.3.1 and 8.2.7.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-16">
-  <title>Release 8.0.16</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>never released</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.15.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.16</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.
-    However, if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Fix <command>ALTER TABLE ADD COLUMN ... PRIMARY KEY</command> so that the new
-      column is correctly checked to see if it's been initialized to all
-      non-nulls (Brendan Jurd)
-     </para>
-
-     <para>
-      Previous versions neglected to check this requirement at all.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix possible <command>CREATE TABLE</command> failure when inheriting the
-      <quote>same</quote> constraint from multiple parent relations that
-      inherited that constraint from a common ancestor (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix conversions between ISO-8859-5 and other encodings to handle
-      Cyrillic <quote>Yo</quote> characters (<literal>e</literal> and <literal>E</literal> with
-      two dots) (Sergey Burladyan)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix a few datatype input functions
-      that were allowing unused bytes in their results to contain
-      uninitialized, unpredictable values (Tom)
-     </para>
-
-     <para>
-      This could lead to failures in which two apparently identical literal
-      values were not seen as equal, resulting in the parser complaining
-      about unmatched <literal>ORDER BY</literal> and <literal>DISTINCT</literal>
-      expressions.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix a corner case in regular-expression substring matching
-      (<literal>substring(<replaceable>string</replaceable> from
-      <replaceable>pattern</replaceable>)</literal>) (Tom)
-     </para>
-
-     <para>
-      The problem occurs when there is a match to the pattern overall but
-      the user has specified a parenthesized subexpression and that
-      subexpression hasn't got a match.  An example is
-      <literal>substring('foo' from 'foo(bar)?')</literal>.
-      This should return NULL, since <literal>(bar)</literal> isn't matched, but
-      it was mistakenly returning the whole-pattern match instead (ie,
-      <literal>foo</literal>).
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update time zone data files to <application>tzdata</application> release 2008c (for
-      DST law changes in Morocco, Iraq, Choibalsan, Pakistan, Syria, Cuba,
-      Argentina/San_Luis, and Chile)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix incorrect result from <application>ecpg</application>'s
-      <function>PGTYPEStimestamp_sub()</function> function (Michael)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix core dump in <filename>contrib/xml2</filename>'s
-      <function>xpath_table()</function> function when the input query returns a
-      NULL value (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <filename>contrib/xml2</filename>'s makefile to not override
-      <literal>CFLAGS</literal> (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <literal>DatumGetBool</literal> macro to not fail with <application>gcc</application>
-      4.3 (Tom)
-     </para>
-
-     <para>
-      This problem affects <quote>old style</quote> (V0) C functions that
-      return boolean.  The fix is already in 8.3, but the need to
-      back-patch it was not realized at the time.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix longstanding <command>LISTEN</command>/<command>NOTIFY</command>
-      race condition (Tom)
-     </para>
-
-     <para>
-      In rare cases a session that had just executed a
-      <command>LISTEN</command> might not get a notification, even though
-      one would be expected because the concurrent transaction executing
-      <command>NOTIFY</command> was observed to commit later.
-     </para>
-
-     <para>
-      A side effect of the fix is that a transaction that has executed
-      a not-yet-committed <command>LISTEN</command> command will not see any
-      row in <structname>pg_listener</structname> for the <command>LISTEN</command>,
-      should it choose to look; formerly it would have.  This behavior
-      was never documented one way or the other, but it is possible that
-      some applications depend on the old behavior.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix rare crash when an error occurs during a query using a hash index
-      (Heikki)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix input of datetime values for February 29 in years BC (Tom)
-     </para>
-
-     <para>
-      The former coding was mistaken about which years were leap years.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <quote>unrecognized node type</quote> error in some variants of
-      <command>ALTER OWNER</command> (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <application>pg_ctl</application> to correctly extract the postmaster's port
-      number from command-line options (Itagaki Takahiro, Tom)
-     </para>
-
-     <para>
-      Previously, <literal>pg_ctl start -w</literal> could try to contact the
-      postmaster on the wrong port, leading to bogus reports of startup
-      failure.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Use <option>-fwrapv</option> to defend against possible misoptimization
-      in recent <application>gcc</application> versions (Tom)
-     </para>
-
-     <para>
-      This is known to be necessary when building <productname>PostgreSQL</productname>
-      with <application>gcc</application> 4.3 or later.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix display of constant expressions in <literal>ORDER BY</literal>
-      and <literal>GROUP BY</literal> (Tom)
-     </para>
-
-     <para>
-      An explicitly casted constant would be shown incorrectly.  This could
-      for example lead to corruption of a view definition during
-      dump and reload.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <application>libpq</application> to handle NOTICE messages correctly
-      during COPY OUT (Tom)
-     </para>
-
-     <para>
-      This failure has only been observed to occur when a user-defined
-      datatype's output routine issues a NOTICE, but there is no
-      guarantee it couldn't happen due to other causes.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-15">
-  <title>Release 8.0.15</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2008-01-07</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.14,
-   including fixes for significant security issues.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <para>
-   This is the last 8.0.X release for which the <productname>PostgreSQL</productname>
-   community will produce binary packages for <productname>Windows</productname>.
-   Windows users are encouraged to move to 8.2.X or later,
-   since there are Windows-specific fixes in 8.2.X that
-   are impractical to back-port.  8.0.X will continue to
-   be supported on other platforms.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.15</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Prevent functions in indexes from executing with the privileges of
-      the user running <command>VACUUM</command>, <command>ANALYZE</command>, etc (Tom)
-     </para>
-
-     <para>
-      Functions used in index expressions and partial-index
-      predicates are evaluated whenever a new table entry is made.  It has
-      long been understood that this poses a risk of trojan-horse code
-      execution if one modifies a table owned by an untrustworthy user.
-      (Note that triggers, defaults, check constraints, etc. pose the
-      same type of risk.)  But functions in indexes pose extra danger
-      because they will be executed by routine maintenance operations
-      such as <command>VACUUM FULL</command>, which are commonly performed
-      automatically under a superuser account.  For example, a nefarious user
-      can execute code with superuser privileges by setting up a
-      trojan-horse index definition and waiting for the next routine vacuum.
-      The fix arranges for standard maintenance operations
-      (including <command>VACUUM</command>, <command>ANALYZE</command>, <command>REINDEX</command>,
-      and <command>CLUSTER</command>) to execute as the table owner rather than
-      the calling user, using the same privilege-switching mechanism already
-      used for <literal>SECURITY DEFINER</literal> functions.  To prevent bypassing
-      this security measure, execution of <command>SET SESSION
-      AUTHORIZATION</command> and <command>SET ROLE</command> is now forbidden within a
-      <literal>SECURITY DEFINER</literal> context.  (CVE-2007-6600)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Repair assorted bugs in the regular-expression package (Tom, Will Drewry)
-     </para>
-
-     <para>
-      Suitably crafted regular-expression patterns could cause crashes,
-      infinite or near-infinite looping, and/or massive memory consumption,
-      all of which pose denial-of-service hazards for applications that
-      accept regex search patterns from untrustworthy sources.
-      (CVE-2007-4769, CVE-2007-4772, CVE-2007-6067)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Require non-superusers who use <filename>/contrib/dblink</filename> to use only
-      password authentication, as a security measure (Joe)
-     </para>
-
-     <para>
-      The fix that appeared for this in 8.0.14 was incomplete, as it plugged
-      the hole for only some <filename>dblink</filename> functions.  (CVE-2007-6601,
-      CVE-2007-3278)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update time zone data files to <application>tzdata</application> release 2007k
-      (in particular, recent Argentina changes) (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix planner failure in some cases of <literal>WHERE false AND var IN
-      (SELECT ...)</literal> (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Preserve the tablespace of indexes that are
-      rebuilt by <command>ALTER TABLE ... ALTER COLUMN TYPE</command> (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make archive recovery always start a new WAL timeline, rather than only
-      when a recovery stop time was used (Simon)
-     </para>
-
-     <para>
-      This avoids a corner-case risk of trying to overwrite an existing
-      archived copy of the last WAL segment, and seems simpler and cleaner
-      than the original definition.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make <command>VACUUM</command> not use all of <varname>maintenance_work_mem</varname>
-      when the table is too small for it to be useful (Alvaro)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix potential crash in <function>translate()</function> when using a multibyte
-      database encoding (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix PL/Perl to cope when platform's Perl defines type <literal>bool</literal>
-      as <literal>int</literal> rather than <literal>char</literal> (Tom)
-     </para>
-
-     <para>
-      While this could theoretically happen anywhere, no standard build of
-      Perl did things this way ... until <productname>macOS</productname> 10.5.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix PL/Python to not crash on long exception messages (Alvaro)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <application>pg_dump</application> to correctly handle inheritance child tables
-      that have default expressions different from their parent's (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      <application>ecpg</application> parser fixes (Michael)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make <filename>contrib/tablefunc</filename>'s <function>crosstab()</function> handle
-      NULL rowid as a category in its own right, rather than crashing (Joe)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix <type>tsvector</type> and <type>tsquery</type> output routines to
-      escape backslashes correctly (Teodor, Bruce)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix crash of <function>to_tsvector()</function> on huge input strings (Teodor)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Require a specific version of <productname>Autoconf</productname> to be used
-      when re-generating the <command>configure</command> script (Peter)
-     </para>
-
-     <para>
-      This affects developers and packagers only.  The change was made
-      to prevent accidental use of untested combinations of
-      <productname>Autoconf</productname> and <productname>PostgreSQL</productname> versions.
-      You can remove the version check if you really want to use a
-      different <productname>Autoconf</productname> version, but it's
-      your responsibility whether the result works or not.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-14">
-  <title>Release 8.0.14</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2007-09-17</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.13.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.14</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Prevent index corruption when a transaction inserts rows and
-      then aborts close to the end of a concurrent <command>VACUUM</command>
-      on the same table (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Make <command>CREATE DOMAIN ... DEFAULT NULL</command> work properly (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix excessive logging of <acronym>SSL</acronym> error messages (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix logging so that log messages are never interleaved when using
-      the syslogger process (Andrew)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix crash when <varname>log_min_error_statement</varname> logging runs out
-      of memory (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix incorrect handling of some foreign-key corner cases (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Prevent <command>CLUSTER</command> from failing
-      due to attempting to process temporary tables of other sessions (Alvaro)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update the time zone database rules, particularly New Zealand's upcoming changes (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Windows socket improvements (Magnus)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Suppress timezone name (<literal>%Z</literal>) in log timestamps on Windows
-      because of possible encoding mismatches (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Require non-superusers who use <filename>/contrib/dblink</filename> to use only
-      password authentication, as a security measure (Joe)
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-13">
-  <title>Release 8.0.13</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2007-04-23</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.12,
-   including a security fix.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.13</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-    <para>
-     Support explicit placement of the temporary-table schema within
-     <varname>search_path</varname>, and disable searching it for functions
-     and operators (Tom)
-    </para>
-    <para>
-     This is needed to allow a security-definer function to set a
-     truly secure value of <varname>search_path</varname>.  Without it,
-     an unprivileged SQL user can use temporary objects to execute code
-     with the privileges of the security-definer function (CVE-2007-2138).
-     See <command>CREATE FUNCTION</command> for more information.
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     <filename>/contrib/tsearch2</filename> crash fixes (Teodor)
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     Fix potential-data-corruption bug in how <command>VACUUM FULL</command> handles
-     <command>UPDATE</command> chains (Tom, Pavan Deolasee)
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     Fix PANIC during enlargement of a hash index (bug introduced in 8.0.10)
-     (Tom)
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     Fix POSIX-style timezone specs to follow new USA DST rules (Tom)
-    </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-12">
-  <title>Release 8.0.12</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2007-02-07</para>
-  </formalpara>
-
-  <para>
-   This release contains one fix from 8.0.11.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.12</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-    <para>
-     Remove overly-restrictive check for type length in constraints and
-     functional indexes(Tom)
-    </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-11">
-  <title>Release 8.0.11</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2007-02-05</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.10, including
-   a security fix.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.11</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-    <para>
-     Remove security vulnerabilities that allowed connected users
-     to read backend memory (Tom)
-    </para>
-    <para>
-     The vulnerabilities involve suppressing the normal check that a SQL
-     function returns the data type it's declared to, and changing the
-     data type of a table column (CVE-2007-0555, CVE-2007-0556).  These
-     errors can easily be exploited to cause a backend crash, and in
-     principle might be used to read database content that the user
-     should not be able to access.
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     Fix rare bug wherein btree index page splits could fail
-     due to choosing an infeasible split point (Heikki Linnakangas)
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     Fix for rare Assert() crash triggered by <literal>UNION</literal> (Tom)
-    </para>
-    </listitem>
-
-    <listitem>
-    <para>
-     Tighten security of multi-byte character processing for UTF8 sequences
-     over three bytes long (Tom)
-    </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-10">
-  <title>Release 8.0.10</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2007-01-08</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.9.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.10</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      Improve handling of <function>getaddrinfo()</function> on AIX (Tom)
-     </para>
-
-     <para>
-      This fixes a problem with starting the statistics collector,
-      among other things.
-     </para>
-    </listitem>
-
-     <listitem>
-      <para>
-       Fix <quote>failed to re-find parent key</quote> errors in
-       <command>VACUUM</command> (Tom)
-      </para>
-     </listitem>
-
-     <listitem>
-      <para>
-       Fix race condition for truncation of a large relation across a
-       gigabyte boundary by <command>VACUUM</command> (Tom)
-      </para>
-     </listitem>
-
-     <listitem>
-      <para>
-       Fix bugs affecting multi-gigabyte hash indexes (Tom)
-      </para>
-     </listitem>
-
-    <listitem>
-     <para>
-      Fix possible deadlock in Windows signal handling (Teodor)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix error when constructing an <literal>ARRAY[]</literal> made up of multiple
-      empty elements (Tom)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Fix ecpg memory leak during connection (Michael)
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      <function>to_number()</function> and <function>to_char(numeric)</function>
-      are now <literal>STABLE</literal>, not <literal>IMMUTABLE</literal>, for
-      new <application>initdb</application> installs (Tom)
-     </para>
-
-     <para>
-      This is because <varname>lc_numeric</varname> can potentially
-      change the output of these functions.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Improve index usage of regular expressions that use parentheses (Tom)
-     </para>
-
-     <para>
-      This improves <application>psql</application> <literal>\d</literal> performance also.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Update timezone database
-     </para>
-
-     <para>
-      This affects Australian and Canadian daylight-savings rules in
-      particular.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-9">
-  <title>Release 8.0.9</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2006-10-16</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.8.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.9</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Fix crash when referencing <literal>NEW</literal> row
-values in rule WHERE expressions (Tom)</para></listitem>
-<listitem><para>Fix core dump when an untyped literal is taken as
-ANYARRAY</para></listitem>
-<listitem><para>Fix mishandling of AFTER triggers when query contains a SQL
-function returning multiple rows (Tom)</para></listitem>
-<listitem><para>Fix <command>ALTER TABLE ... TYPE</command> to recheck
-<literal>NOT NULL</literal> for <literal>USING</literal> clause (Tom)</para></listitem>
-<listitem><para>Fix <function>string_to_array()</function> to handle overlapping
- matches for the separator string</para>
-<para>For example, <literal>string_to_array('123xx456xxx789', 'xx')</literal>.
-</para></listitem>
-<listitem><para>Fix corner cases in pattern matching for
- <application>psql</application>'s <literal>\d</literal> commands</para></listitem>
-<listitem><para>Fix index-corrupting bugs in /contrib/ltree
- (Teodor)</para></listitem>
-<listitem><para>Numerous robustness fixes in <application>ecpg</application> (Joachim
-Wieland)</para></listitem>
-<listitem><para>Fix backslash escaping in /contrib/dbmirror</para></listitem>
-<listitem><para>Fix instability of statistics collection on Win32 (Tom, Andrew)</para></listitem>
-<listitem><para>Fixes for <systemitem class="osname">AIX</systemitem> and
-<productname>Intel</productname> compilers (Tom)</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-8">
-  <title>Release 8.0.8</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2006-05-23</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.7,
-   including patches for extremely serious security issues.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.8</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-
-   <para>
-    Full security against the SQL-injection attacks described in
-    CVE-2006-2313 and CVE-2006-2314 might require changes in application
-    code.  If you have applications that embed untrustworthy strings
-    into SQL commands, you should examine them as soon as possible to
-    ensure that they are using recommended escaping techniques.  In
-    most cases, applications should be using subroutines provided by
-    libraries or drivers (such as <application>libpq</application>'s
-    <function>PQescapeStringConn()</function>) to perform string escaping,
-    rather than relying on <foreignphrase>ad hoc</foreignphrase> code to do it.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Change the server to reject invalidly-encoded multibyte
-characters in all cases (Tatsuo, Tom)</para>
-<para>While <productname>PostgreSQL</productname> has been moving in this direction for
-some time, the checks are now applied uniformly to all encodings and all
-textual input, and are now always errors not merely warnings.  This change
-defends against SQL-injection attacks of the type described in CVE-2006-2313.
-</para></listitem>
-
-<listitem><para>Reject unsafe uses of <literal>\'</literal> in string literals</para>
-<para>As a server-side defense against SQL-injection attacks of the type
-described in CVE-2006-2314, the server now only accepts <literal>''</literal> and not
-<literal>\'</literal> as a representation of ASCII single quote in SQL string
-literals.  By default, <literal>\'</literal> is rejected only when
-<varname>client_encoding</varname> is set to a client-only encoding (SJIS, BIG5, GBK,
-GB18030, or UHC), which is the scenario in which SQL injection is possible.
-A new configuration parameter <varname>backslash_quote</varname> is available to
-adjust this behavior when needed.  Note that full security against
-CVE-2006-2314 might require client-side changes; the purpose of
-<varname>backslash_quote</varname> is in part to make it obvious that insecure
-clients are insecure.
-</para></listitem>
-
-<listitem><para>Modify <application>libpq</application>'s string-escaping routines to be
-aware of encoding considerations and
-<varname>standard_conforming_strings</varname></para>
-<para>This fixes <application>libpq</application>-using applications for the security
-issues described in CVE-2006-2313 and CVE-2006-2314, and also future-proofs
-them against the planned changeover to SQL-standard string literal syntax.
-Applications that use multiple <productname>PostgreSQL</productname> connections
-concurrently should migrate to <function>PQescapeStringConn()</function> and
-<function>PQescapeByteaConn()</function> to ensure that escaping is done correctly
-for the settings in use in each database connection.  Applications that
-do string escaping <quote>by hand</quote> should be modified to rely on library
-routines instead.
-</para></listitem>
-
-<listitem><para>Fix some incorrect encoding conversion functions</para>
-<para><function>win1251_to_iso</function>, <function>alt_to_iso</function>,
-<function>euc_tw_to_big5</function>, <function>euc_tw_to_mic</function>,
-<function>mic_to_euc_tw</function> were all broken to varying
-extents.
-</para></listitem>
-
-<listitem><para>Clean up stray remaining uses of <literal>\'</literal> in strings
-(Bruce, Jan)</para></listitem>
-
-<listitem><para>Fix bug that sometimes caused OR'd index scans to
-miss rows they should have returned</para></listitem>
-
-<listitem><para>Fix WAL replay for case where a btree index has been
-truncated</para></listitem>
-
-<listitem><para>Fix <literal>SIMILAR TO</literal> for patterns involving
-<literal>|</literal> (Tom)</para></listitem>
-
-<listitem><para>Fix <command>SELECT INTO</command> and <command>CREATE TABLE AS</command> to
-create tables in the default tablespace, not the base directory (Kris
-Jurka)</para></listitem>
-
-<listitem><para>Fix server to use custom DH SSL parameters correctly (Michael
-Fuhr)</para></listitem>
-
-<listitem><para>Fix for Bonjour on Intel Macs (Ashley Clark)</para></listitem>
-
-<listitem><para>Fix various minor memory leaks</para></listitem>
-
-<listitem><para>Fix problem with password prompting on some Win32 systems
-(Robert Kinberg)</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-7">
-  <title>Release 8.0.7</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2006-02-14</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.6.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.7</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    if you are upgrading from a version earlier than 8.0.6,
-    see <xref linkend="release-8-0-6"/>.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-
-<listitem><para>Fix potential crash in <command>SET
-SESSION AUTHORIZATION</command> (CVE-2006-0553)</para>
-<para>An unprivileged user could crash the server process, resulting in
-momentary denial of service to other users, if the server has been compiled
-with Asserts enabled (which is not the default).
-Thanks to Akio Ishida for reporting this problem.
-</para></listitem>
-
-<listitem><para>Fix bug with row visibility logic in self-inserted
-rows (Tom)</para>
-<para>Under rare circumstances a row inserted by the current command
-could be seen as already valid, when it should not be.  Repairs bug
-created in 8.0.4, 7.4.9, and 7.3.11 releases.
-</para></listitem>
-
-<listitem><para>Fix race condition that could lead to <quote>file already
-exists</quote> errors during pg_clog and pg_subtrans file creation
-(Tom)</para></listitem>
-
-<listitem><para>Fix cases that could lead to crashes if a cache-invalidation
-message arrives at just the wrong time (Tom)</para></listitem>
-
-<listitem><para>Properly check <literal>DOMAIN</literal> constraints for
-<literal>UNKNOWN</literal> parameters in prepared statements
-(Neil)</para></listitem>
-
-<listitem><para>Ensure <command>ALTER COLUMN TYPE</command> will process
-<literal>FOREIGN KEY</literal>, <literal>UNIQUE</literal>, and <literal>PRIMARY KEY</literal>
-constraints in the proper order (Nakano Yoshihisa)</para></listitem>
-
-<listitem><para>Fixes to allow restoring dumps that have cross-schema
-references to custom operators or operator classes (Tom)</para></listitem>
-
-<listitem><para>Allow <application>pg_restore</application> to continue properly after a
-<command>COPY</command> failure; formerly it tried to treat the remaining
-<command>COPY</command> data as SQL commands (Stephen Frost)</para></listitem>
-
-<listitem><para>Fix <application>pg_ctl</application> <literal>unregister</literal> crash
-when the  data directory is not specified (Magnus)</para></listitem>
-
-<listitem><para>Fix <application>ecpg</application> crash on AMD64 and PPC
-(Neil)</para></listitem>
-
-<listitem><para>Recover properly if error occurs during argument passing
-in <application>PL/Python</application> (Neil)</para></listitem>
-
-<listitem><para>Fix <application>PL/Perl</application>'s handling of locales on
-Win32 to match the backend (Andrew)</para></listitem>
-
-<listitem><para>Fix crash when <literal>log_min_messages</literal> is set to
-<literal>DEBUG3</literal> or above in <filename>postgresql.conf</filename> on Win32
-(Bruce)</para></listitem>
-
-<listitem><para>Fix <application>pgxs</application> <literal>-L</literal> library path
-specification for Win32, Cygwin, macOS, AIX (Bruce)</para></listitem>
-
-<listitem><para>Check that SID is enabled while checking for Win32 admin
-privileges (Magnus)</para></listitem>
-
-<listitem><para>Properly reject out-of-range date inputs (Kris
-Jurka)</para></listitem>
-
-<listitem><para>Portability fix for testing presence of <function>finite</function>
-and <function>isinf</function> during configure (Tom)</para></listitem>
-
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-6">
-  <title>Release 8.0.6</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2006-01-09</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.5.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.6</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    if you are upgrading from a version earlier than 8.0.3,
-    see <xref linkend="release-8-0-3"/>.
-    Also, you might need to <command>REINDEX</command> indexes on textual
-    columns after updating, if you are affected by the locale or
-    <application>plperl</application> issues described below.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-
-<listitem><para>Fix Windows code so that postmaster will continue rather
-than exit if there is no more room in ShmemBackendArray (Magnus)</para>
-<para>The previous behavior could lead to a denial-of-service situation if too
-many connection requests arrive close together.  This applies
-<emphasis>only</emphasis> to the Windows port.</para></listitem>
-
-<listitem><para>Fix bug introduced in 8.0 that could allow ReadBuffer
-to return an already-used page as new, potentially causing loss of
-recently-committed data (Tom)</para></listitem>
-
-<listitem><para>Fix for protocol-level Describe messages issued
-outside a transaction or in a failed transaction (Tom)</para></listitem>
-
-<listitem><para>Fix character string comparison for locales that consider
-different character combinations as equal, such as Hungarian (Tom)</para>
-<para>This might require <command>REINDEX</command> to fix existing indexes on
-textual columns.</para></listitem>
-
-<listitem><para>Set locale environment variables during postmaster startup
-to ensure that <application>plperl</application> won't change the locale later</para>
-<para>This fixes a problem that occurred if the <application>postmaster</application> was
-started with environment variables specifying a different locale than what
-<application>initdb</application> had been told.  Under these conditions, any use of
-<application>plperl</application> was likely to lead to corrupt indexes.  You might need
-<command>REINDEX</command> to fix existing indexes on
-textual columns if this has happened to you.</para></listitem>
-
-<listitem><para>Allow more flexible relocation of installation
-directories (Tom)</para>
-<para>Previous releases supported relocation only if all installation
-directory paths were the same except for the last component.</para></listitem>
-
-<listitem><para>Fix longstanding bug in strpos() and regular expression
-handling in certain rarely used Asian multi-byte character sets (Tatsuo)
-</para></listitem>
-
-<listitem><para>Various fixes for functions returning <literal>RECORD</literal>s
-(Tom) </para></listitem>
-
-<listitem><para>Fix bug in <filename>/contrib/pgcrypto</filename> gen_salt,
-which caused it not to use all available salt space for MD5 and
-XDES algorithms (Marko Kreen, Solar Designer)</para>
-<para>Salts for Blowfish and standard DES are unaffected.</para></listitem>
-
-<listitem><para>Fix <filename>/contrib/dblink</filename> to throw an error,
-rather than crashing, when the number of columns specified is different from
-what's actually returned by the query (Joe)</para></listitem>
-
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-5">
-  <title>Release 8.0.5</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2005-12-12</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.4.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.5</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    if you are upgrading from a version earlier than 8.0.3,
-    see <xref linkend="release-8-0-3"/>.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-
-<listitem><para>Fix race condition in transaction log management</para>
-<para>There was a narrow window in which an I/O operation could be initiated
-for the wrong page, leading to an Assert failure or data
-corruption.</para>
-</listitem>
-
-<listitem><para>Fix bgwriter problems after recovering from errors
-(Tom)</para>
-<para>
-The background writer was found to leak buffer pins after write errors.
-While not fatal in itself, this might lead to mysterious blockages of
-later VACUUM commands.
-</para>
-</listitem>
-
-<listitem><para>Prevent failure if client sends Bind protocol message
-when current transaction is already aborted</para></listitem>
-
-<listitem><para><filename>/contrib/ltree</filename> fixes (Teodor)</para></listitem>
-
-<listitem><para>AIX and HPUX compile fixes (Tom)</para></listitem>
-
-<listitem><para>Retry file reads and writes after Windows
-NO_SYSTEM_RESOURCES error (Qingqing Zhou)</para></listitem>
-
-<listitem><para>Fix intermittent failure when <varname>log_line_prefix</varname>
-includes <literal>%i</literal></para></listitem>
-
-<listitem><para>Fix <application>psql</application> performance issue with long scripts
-on Windows (Merlin Moncure)</para></listitem>
-
-<listitem><para>Fix missing updates of <filename>pg_group</filename> flat
-file</para></listitem>
-
-<listitem><para>Fix longstanding planning error for outer joins</para>
-<para>This bug sometimes caused a bogus error <quote>RIGHT JOIN is
-only supported with merge-joinable join conditions</quote>.</para></listitem>
-
-<listitem><para>Postpone timezone initialization until after
-<filename>postmaster.pid</filename> is created</para>
-<para>This avoids confusing startup scripts that expect the pid file to appear
-quickly.</para></listitem>
-
-<listitem><para>Prevent core dump in <application>pg_autovacuum</application> when a
-table has been dropped</para></listitem>
-
-<listitem><para>Fix problems with whole-row references (<literal>foo.*</literal>)
-to subquery results</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-4">
-  <title>Release 8.0.4</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2005-10-04</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.3.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.4</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    if you are upgrading from a version earlier than 8.0.3,
-    see <xref linkend="release-8-0-3"/>.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Fix error that allowed <command>VACUUM</command> to remove
-<literal>ctid</literal> chains too soon, and add more checking in code that follows
-<literal>ctid</literal> links</para>
-<para>This fixes a long-standing problem that could cause crashes in very rare
-circumstances.</para></listitem>
-<listitem><para>Fix <type>CHAR()</type> to properly pad spaces to the specified
-length when using a multiple-byte character set (Yoshiyuki Asaba)</para>
-<para>In prior releases, the padding of <type>CHAR()</type> was incorrect
-because it only padded to the specified number of bytes without
-considering how many characters were stored.</para></listitem>
-<listitem><para>Force a checkpoint before committing <command>CREATE
-DATABASE</command></para>
-<para>This should fix recent reports of <quote>index is not a btree</quote>
-failures when a crash occurs shortly after <command>CREATE
-DATABASE</command>.</para></listitem>
-<listitem><para>Fix the sense of the test for read-only transaction
-in <command>COPY</command></para>
-<para>The code formerly prohibited <command>COPY TO</command>, where it should
-prohibit <command>COPY FROM</command>.
-</para></listitem>
-<listitem><para>Handle consecutive embedded newlines in <command>COPY</command>
-CSV-mode input</para></listitem>
-<listitem><para>Fix <function>date_trunc(week)</function> for dates near year
-end</para></listitem>
-<listitem><para>Fix planning problem with outer-join ON clauses that reference
-only the inner-side relation</para></listitem>
-<listitem><para>Further fixes for <literal>x FULL JOIN y ON true</literal> corner
-cases</para></listitem>
-<listitem><para>Fix overenthusiastic optimization of <literal>x IN (SELECT
-DISTINCT ...)</literal> and related cases</para></listitem>
-<listitem><para>Fix mis-planning of queries with small <literal>LIMIT</literal>
-values due to poorly thought out <quote>fuzzy</quote> cost
-comparison</para></listitem>
-<listitem><para>Make <function>array_in</function> and <function>array_recv</function> more
-paranoid about validating their OID parameter</para></listitem>
-<listitem><para>Fix missing rows in queries like <literal>UPDATE a=... WHERE
-a...</literal> with GiST index on column <literal>a</literal></para></listitem>
-<listitem><para>Improve robustness of datetime parsing</para></listitem>
-<listitem><para>Improve checking for partially-written WAL
-pages</para></listitem>
-<listitem><para>Improve robustness of signal handling when SSL is
-enabled</para></listitem>
-<listitem><para>Improve MIPS and M68K spinlock code</para></listitem>
-<listitem><para>Don't try to open more than <literal>max_files_per_process</literal>
-files during postmaster startup</para></listitem>
-<listitem><para>Various memory leakage fixes</para></listitem>
-<listitem><para>Various portability improvements</para></listitem>
-<listitem><para>Update timezone data files</para></listitem>
-<listitem><para>Improve handling of DLL load failures on Windows</para></listitem>
-<listitem><para>Improve random-number generation on Windows</para></listitem>
-<listitem><para>Make <literal>psql -f filename</literal> return a nonzero exit code
-when opening the file fails</para></listitem>
-<listitem><para>Change <application>pg_dump</application> to handle inherited check
-constraints more reliably</para></listitem>
-<listitem><para>Fix password prompting in <application>pg_restore</application> on
-Windows</para></listitem>
-<listitem><para>Fix PL/pgSQL to handle <literal>var := var</literal> correctly when
-the variable is of pass-by-reference type</para></listitem>
-<listitem><para>Fix PL/Perl <literal>%_SHARED</literal> so it's actually
-shared</para></listitem>
-<listitem><para>Fix <filename>contrib/pg_autovacuum</filename> to allow sleep
-intervals over 2000 sec</para></listitem>
-<listitem><para>Update <filename>contrib/tsearch2</filename> to use current Snowball
-code</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-3">
-  <title>Release 8.0.3</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2005-05-09</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.2, including several
-   security-related issues.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.3</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.X.  However,
-    it is one possible way of handling two significant security problems
-    that have been found in the initial contents of 8.0.X system
-    catalogs.  A dump/initdb/reload sequence using 8.0.3's initdb will
-    automatically correct these problems.
-   </para>
-
-   <para>
-    The larger security problem is that the built-in character set encoding
-    conversion functions can be invoked from SQL commands by unprivileged
-    users, but the functions were not designed for such use and are not
-    secure against malicious choices of arguments.  The fix involves changing
-    the declared parameter list of these functions so that they can no longer
-    be invoked from SQL commands.  (This does not affect their normal use
-    by the encoding conversion machinery.)
-   </para>
-
-   <para>
-    The lesser problem is that the <filename>contrib/tsearch2</filename> module
-    creates several functions that are improperly declared to return
-    <type>internal</type> when they do not accept <type>internal</type> arguments.
-    This breaks type safety for all functions using <type>internal</type>
-    arguments.
-   </para>
-
-   <para>
-    It is strongly recommended that all installations repair these errors,
-    either by initdb or by following the manual repair procedure given
-    below.  The errors at least allow unprivileged database users to crash
-    their server process, and might allow unprivileged users to gain the
-    privileges of a database superuser.
-   </para>
-
-   <para>
-    If you wish not to do an initdb, perform the same manual repair
-    procedures shown in the <link linkend="release-7-4-8">7.4.8 release
-    notes</link>.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Change encoding function signature to prevent
-misuse</para></listitem>
-<listitem><para>Change <filename>contrib/tsearch2</filename> to avoid unsafe use of
-<type>INTERNAL</type> function results</para></listitem>
-<listitem><para>Guard against incorrect second parameter to
-<function>record_out</function></para></listitem>
-<listitem><para>Repair ancient race condition that allowed a transaction to be
-seen as committed for some purposes (eg SELECT FOR UPDATE) slightly sooner
-than for other purposes</para>
-<para>This is an extremely serious bug since it could lead to apparent
-data inconsistencies being briefly visible to applications.</para></listitem>
-<listitem><para>Repair race condition between relation extension and
-VACUUM</para>
-<para>This could theoretically have caused loss of a page's worth of
-freshly-inserted data, although the scenario seems of very low probability.
-There are no known cases of it having caused more than an Assert failure.
-</para></listitem>
-<listitem><para>Fix comparisons of <type>TIME WITH TIME ZONE</type> values</para>
-<para>
-The comparison code was wrong in the case where the
-<literal>--enable-integer-datetimes</literal> configuration switch had been used.
-NOTE: if you have an index on a <type>TIME WITH TIME ZONE</type> column,
-it will need to be <command>REINDEX</command>ed after installing this update, because
-the fix corrects the sort order of column values.
-</para></listitem>
-<listitem><para>Fix <function>EXTRACT(EPOCH)</function> for
-<type>TIME WITH TIME ZONE</type> values</para></listitem>
-<listitem><para>Fix mis-display of negative fractional seconds in
-<type>INTERVAL</type> values</para>
-<para>
-This error only occurred when the
-<literal>--enable-integer-datetimes</literal> configuration switch had been used.
-</para></listitem>
-<listitem><para>Fix pg_dump to dump trigger names containing <literal>%</literal>
-correctly (Neil)</para></listitem>
-<listitem><para>Still more 64-bit fixes for
-<filename>contrib/intagg</filename></para></listitem>
-<listitem><para>Prevent incorrect optimization of functions returning
-<type>RECORD</type></para></listitem>
-<listitem><para>Prevent crash on <literal>COALESCE(NULL,NULL)</literal></para></listitem>
-<listitem><para>Fix Borland makefile for libpq</para></listitem>
-<listitem><para>Fix <filename>contrib/btree_gist</filename> for <type>timetz</type> type
-(Teodor)</para></listitem>
-<listitem><para>Make <command>pg_ctl</command> check the PID found in
-<filename>postmaster.pid</filename> to see if it is still a live
-process</para></listitem>
-<listitem><para>Fix <command>pg_dump</command>/<command>pg_restore</command> problems caused
-by addition of dump timestamps</para></listitem>
-<listitem><para>Fix interaction between materializing holdable cursors and
-firing deferred triggers during transaction commit</para></listitem>
-<listitem><para>Fix memory leak in SQL functions returning pass-by-reference
-data types</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-2">
-  <title>Release 8.0.2</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2005-04-07</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.1.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.2</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.*.
-    This release updates the major version number of the
-    <productname>PostgreSQL</productname> libraries, so it might be
-    necessary to re-link some user applications if they cannot
-    find the properly-numbered shared library.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Increment the major version number of all interface
-libraries (Bruce)</para>
-<para>
-This should have been done in 8.0.0.  It is required so 7.4.X versions
-of PostgreSQL client applications, like <application>psql</application>,
-can be used on the same machine as 8.0.X applications.  This might require
-re-linking user applications that use these libraries.
-</para></listitem>
-<listitem><para>Add Windows-only <varname>wal_sync_method</varname> setting of
-<option>fsync_writethrough</option> (Magnus, Bruce)</para>
-<para>
-This setting causes <productname>PostgreSQL</productname> to write through
-any disk-drive write cache when writing to WAL.
-This behavior was formerly called <option>fsync</option>, but was
-renamed because it acts quite differently from <option>fsync</option> on other
-platforms.
-</para>
-</listitem>
-<listitem><para>Enable the <varname>wal_sync_method</varname> setting of
-<option>open_datasync</option> on Windows, and make it the default for that
- platform (Magnus, Bruce)</para>
-<para>
-Because the default is no longer <option>fsync_writethrough</option>,
-data loss is possible during a power failure if the disk drive has
-write caching enabled. To turn off the write cache on Windows,
-from the <application>Device Manager</application>, choose the drive properties,
-then <literal>Policies</literal>.
-</para>
-</listitem>
-<listitem><para>New cache management algorithm <acronym>2Q</acronym> replaces
-<acronym>ARC</acronym> (Tom)</para>
-<para>
-This was done to avoid a pending US patent on <acronym>ARC</acronym>.  The
-<acronym>2Q</acronym> code might be a few percentage points slower than
-<acronym>ARC</acronym> for some work loads.  A better cache management algorithm
-will appear in 8.1.
-</para></listitem>
-<listitem><para>Planner adjustments to improve behavior on freshly-created
-tables (Tom)</para></listitem>
-<listitem><para>Allow plpgsql to assign to an element of an array that is
-initially <literal>NULL</literal> (Tom)</para>
-<para>
-Formerly the array would remain <literal>NULL</literal>, but now it becomes a
-single-element array.  The main SQL engine was changed to handle
-<command>UPDATE</command> of a null array value this way in 8.0, but the similar
-case in plpgsql was overlooked.
-</para>
-</listitem>
-<listitem><para>Convert <literal>\r\n</literal> and <literal>\r</literal> to <literal>\n</literal>
-in plpython function bodies (Michael Fuhr)</para>
-<para>
- This prevents syntax errors when plpython code is written on a Windows or
- Mac client.
-</para>
-</listitem>
-<listitem><para>Allow SPI cursors to handle utility commands that return rows,
-such as <command>EXPLAIN</command> (Tom)</para></listitem>
-<listitem><para>Fix <command>CLUSTER</command> failure after <command>ALTER TABLE
-SET WITHOUT OIDS</command> (Tom)</para></listitem>
-<listitem><para>Reduce memory usage of <command>ALTER TABLE ADD COLUMN</command>
-(Neil)</para></listitem>
-<listitem><para>Fix <command>ALTER LANGUAGE RENAME</command> (Tom)</para></listitem>
-<listitem><para>Document the Windows-only <literal>register</literal> and
-<literal>unregister</literal> options of <application>pg_ctl</application> (Magnus)</para></listitem>
-<listitem><para>Ensure operations done during backend shutdown are counted by
-statistics collector</para>
-<para>
-This is expected to resolve reports of <application>pg_autovacuum</application>
-not vacuuming the system catalogs often enough &mdash; it was not being
-told about catalog deletions caused by temporary table removal during
-backend exit.
-</para></listitem>
-<listitem><para>Change the Windows default for configuration parameter
-<varname>log_destination</varname> to <option>eventlog</option> (Magnus)</para>
-<para>
-By default, a server running on Windows will now send log output to the
-Windows event logger rather than standard error.
-</para></listitem>
-<listitem><para>Make Kerberos authentication work on Windows (Magnus)</para></listitem>
-<listitem><para>Allow <command>ALTER DATABASE RENAME</command> by superusers
-who aren't flagged as having CREATEDB privilege (Tom)</para></listitem>
-<listitem><para>Modify WAL log entries for <command>CREATE</command> and
-<command>DROP DATABASE</command> to not specify absolute paths (Tom)</para>
-<para>This allows point-in-time recovery on a different machine with possibly
-different database location.  Note that <command>CREATE TABLESPACE</command> still
-poses a hazard in such situations.
-</para></listitem>
-<listitem><para>Fix crash from a backend exiting with an open transaction
-that created a table and opened a cursor on it (Tom)</para></listitem>
-<listitem><para>Fix <function>array_map()</function> so it can call PL functions
-(Tom)</para></listitem>
-<listitem><para>Several <filename>contrib/tsearch2</filename> and
-<filename>contrib/btree_gist</filename> fixes (Teodor)
-</para></listitem>
-<listitem><para>Fix crash of some <filename>contrib/pgcrypto</filename>
-functions on some platforms (Marko Kreen)</para></listitem>
-<listitem><para>Fix <filename>contrib/intagg</filename> for 64-bit platforms
-(Tom)</para></listitem>
-<listitem><para>Fix ecpg bugs in parsing of <command>CREATE</command> statement
-(Michael)</para></listitem>
-<listitem><para>Work around gcc bug on powerpc and amd64 causing problems in
-ecpg (Christof Petig)</para></listitem>
-<listitem><para>Do not use locale-aware versions of <function>upper()</function>,
-<function>lower()</function>, and <function>initcap()</function> when the locale is
-<literal>C</literal> (Bruce)</para>
-<para>
- This allows these functions to work on platforms that generate errors
- for non-7-bit data when the locale is <literal>C</literal>.
-</para></listitem>
-<listitem><para>Fix <function>quote_ident()</function> to quote names that match keywords (Tom)</para></listitem>
-<listitem><para>Fix <function>to_date()</function> to behave reasonably when
-<literal>CC</literal> and <literal>YY</literal> fields are both used (Karel)</para></listitem>
-<listitem><para>Prevent <function>to_char(interval)</function> from failing
-when given a zero-month interval (Tom)</para></listitem>
-<listitem><para>Fix wrong week returned by <function>date_trunc('week')</function>
-(Bruce)</para>
-<para>
-<function>date_trunc('week')</function>
-returned the wrong year for the first few days of January in some years.
-</para></listitem>
-<listitem><para>Use the correct default mask length for class <literal>D</literal>
-addresses in <type>INET</type> data types (Tom)</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0-1">
-  <title>Release 8.0.1</title>
-
-  <formalpara>
-  <title>Release date:</title>
-  <para>2005-01-31</para>
-  </formalpara>
-
-  <para>
-   This release contains a variety of fixes from 8.0.0, including several
-   security-related issues.
-   For information about new features in the 8.0 major release, see
-   <xref linkend="release-8-0"/>.
-  </para>
-
-  <sect2>
-   <title>Migration to Version 8.0.1</title>
-
-   <para>
-    A dump/restore is not required for those running 8.0.0.
-   </para>
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-<itemizedlist>
-<listitem><para>Disallow <command>LOAD</command> to non-superusers</para>
-<para>
-On platforms that will automatically execute initialization functions of a
-shared library (this includes at least Windows and ELF-based Unixen),
-<command>LOAD</command> can be used to make the server execute arbitrary code.
-Thanks to NGS Software for reporting this.</para></listitem>
-<listitem><para>Check that creator of an aggregate function has the right to
-execute the specified transition functions</para>
-<para>
-This oversight made it possible to bypass denial of EXECUTE
-permission on a function.</para></listitem>
-<listitem><para>Fix security and 64-bit issues in
-contrib/intagg</para></listitem>
-<listitem><para>Add needed STRICT marking to some contrib functions (Kris
-Jurka)</para></listitem>
-<listitem><para>Avoid buffer overrun when plpgsql cursor declaration has too
-many parameters (Neil)</para></listitem>
-<listitem><para>Make <command>ALTER TABLE ADD COLUMN</command> enforce domain
-constraints in all cases</para></listitem>
-<listitem><para>Fix planning error for FULL and RIGHT outer joins</para>
-<para>
-The result of the join was mistakenly supposed to be sorted the same as the
-left input.  This could not only deliver mis-sorted output to the user, but
-in case of nested merge joins could give outright wrong answers.
-</para></listitem>
-<listitem><para>Improve planning of grouped aggregate queries</para></listitem>
-<listitem><para><command>ROLLBACK TO <replaceable>savepoint</replaceable></command>
-closes cursors created since the savepoint</para></listitem>
-<listitem><para>Fix inadequate backend stack size on Windows</para></listitem>
-<listitem><para>Avoid SHGetSpecialFolderPath() on Windows
-(Magnus)</para></listitem>
-<listitem><para>Fix some problems in running pg_autovacuum as a Windows
-service (Dave Page)</para></listitem>
-<listitem><para>Multiple minor bug fixes in
-pg_dump/pg_restore</para></listitem>
-<listitem><para>Fix ecpg segfault with named structs used in
-typedefs (Michael)</para></listitem>
-</itemizedlist>
-
-  </sect2>
- </sect1>
-
- <sect1 id="release-8-0">
-  <title>Release 8.0</title>
-
-  <formalpara>
-   <title>Release date:</title>
-   <para>2005-01-19</para>
-  </formalpara>
-
-  <sect2>
-   <title>Overview</title>
-
-   <para>
-    Major changes in this release:
-   </para>
-
-   <variablelist>
-    <varlistentry>
-     <term>
-      Microsoft Windows Native Server
-     </term>
-
-     <listitem>
-      <para>
-       This is the first <productname>PostgreSQL</productname> release
-       to run natively on <trademark class="registered">Microsoft Windows</trademark> as
-       a server. It can run as a <productname>Windows</productname> service. This
-       release supports NT-based Windows releases like
-       <productname>Windows 2000 SP4</productname>, <productname>Windows XP</productname>, and
-       <productname>Windows 2003</productname>. Older releases like
-       <productname>Windows 95</productname>, <productname>Windows 98</productname>, and
-       <productname>Windows ME</productname> are not supported because these operating
-       systems do not have the infrastructure to support
-       <productname>PostgreSQL</productname>. A separate installer
-       project has been created to ease installation on
-       <productname>Windows</productname> &mdash; see <ulink
-       url="http://www.postgresql.org/ftp/win32/"></ulink>.
-      </para>
-
-      <para>
-       Although tested throughout our release cycle, the Windows port
-       does not have the benefit of years of use in production
-       environments that <productname>PostgreSQL</productname> has on
-       Unix platforms.  Therefore it should be treated with the same
-       level of caution as you would a new product.
-      </para>
-
-      <para>
-       Previous releases required the Unix emulation toolkit
-       <productname>Cygwin</productname> in order to run the server on Windows
-       operating systems.  <productname>PostgreSQL</productname> has
-       supported native clients on Windows for many years.
-      </para>
-     </listitem>
-    </varlistentry>
-
-    <varlistentry>
-     <term>
-      Savepoints
-     </term>
-
-     <listitem>
-      <para>
-       Savepoints allow specific parts of a transaction to be aborted
-       without affecting the remainder of the transaction. Prior
-       releases had no such capability; there was no way to recover
-       from a statement failure within a transaction except by
-       aborting the whole transaction. This feature is valuable for
-       application writers who require error recovery within a
-       complex transaction.
-      </para>
-     </listitem>
-    </varlistentry>
-
-    <varlistentry>
-     <term>
-      Point-In-Time Recovery
-     </term>
-
-     <listitem>
-      <para>
-       In previous releases there was no way to recover from disk
-       drive failure except to restore from a previous backup or use
-       a standby replication server.  Point-in-time recovery allows
-       continuous backup of the server.  You can recover either to
-       the point of failure or to some transaction in the past.
-      </para>
-     </listitem>
-    </varlistentry>
-
-    <varlistentry>
-     <term>
-      Tablespaces
-     </term>
-
-     <listitem>
-      <para>
-       Tablespaces allow administrators to select different file systems
-       for storage of individual tables, indexes, and databases.
-       This improves performance and control over disk space
-       usage. Prior releases used <application>initlocation</application> and
-       manual symlink management for such tasks.
-      </para>
-     </listitem>
-    </varlistentry>
-
-    <varlistentry>
-     <term>
-      Improved Buffer Management, <command>CHECKPOINT</command>,
-      <command>VACUUM</command>
-     </term>
-
-     <listitem>
-      <para>
-       This release has a more intelligent buffer replacement strategy,
-       which will make better use of available shared buffers and
-       improve performance. The performance impact of vacuum and
-       checkpoints is also lessened.
-      </para>
-     </listitem>
-    </varlistentry>
-
-    <varlistentry>
-     <term>
-      Change Column Types
-     </term>
-
-     <listitem>
-      <para>
-       A column's data type can now be changed with <command>ALTER
-       TABLE</command>.
-      </para>
-     </listitem>
-    </varlistentry>
-
-    <varlistentry>
-     <term>
-      New Perl Server-Side Language
-     </term>
-
-     <listitem>
-      <para>
-       A new version of the <application>plperl</application> server-side language now
-       supports a persistent shared storage area, triggers, returning records
-       and arrays of records, and SPI calls to access the database.
-      </para>
-     </listitem>
-    </varlistentry>
-
-    <varlistentry>
-     <term>
-       Comma-separated-value (CSV) support in <command>COPY</command>
-     </term>
-
-     <listitem>
-      <para>
-       <command>COPY</command> can now read and write
-       comma-separated-value files. It has the flexibility to
-       interpret nonstandard quoting and separation characters too.
-      </para>
-     </listitem>
-    </varlistentry>
-
-   </variablelist>
-  </sect2>
-
-  <sect2>
-   <title>Migration to Version 8.0</title>
-
-   <para>
-    A dump/restore using <application>pg_dump</application> is
-    required for those wishing to migrate data from any previous
-    release.
-   </para>
-
-   <para>
-    Observe the following incompatibilities:
-   </para>
-
-   <itemizedlist>
-
-    <listitem>
-     <para>
-      In <option>READ COMMITTED</option> serialization mode, volatile functions
-      now see the results of concurrent transactions committed up to the
-      beginning of each statement within the function, rather than up to the
-      beginning of the interactive command that called the function.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Functions declared <option>STABLE</option> or <option>IMMUTABLE</option> always
-      use the snapshot of the calling query, and therefore do not see the
-      effects of actions taken after the calling query starts, whether in
-      their own transaction or other transactions.  Such a function must be
-      read-only, too, meaning that it cannot use any SQL commands other than
-      <command>SELECT</command>.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Nondeferred <option>AFTER</option> triggers are now fired immediately
-      after completion of the triggering query, rather than upon
-      finishing the current interactive command. This makes a
-      difference when the triggering query occurred within a function:
-      the trigger is invoked before the function proceeds to its next
-      operation.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Server configuration parameters <varname>virtual_host</varname> and
-      <varname>tcpip_socket</varname> have been replaced with a more general
-      parameter <varname>listen_addresses</varname>. Also, the server now listens on
-      <literal>localhost</literal> by default, which eliminates the need for the
-      <literal>-i</literal> postmaster switch in many scenarios.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Server configuration parameters <varname>SortMem</varname> and
-      <varname>VacuumMem</varname> have been renamed to <varname>work_mem</varname>
-      and <varname>maintenance_work_mem</varname> to better reflect their
-      use. The original names are still supported in
-      <command>SET</command> and <command>SHOW</command>.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Server configuration parameters <varname>log_pid</varname>,
-      <varname>log_timestamp</varname>, and <varname>log_source_port</varname> have been
-      replaced with a more general parameter <varname>log_line_prefix</varname>.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Server configuration parameter <varname>syslog</varname> has been
-      replaced with a more logical <varname>log_destination</varname> variable to
-      control the log output destination.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Server configuration parameter <varname>log_statement</varname> has been
-      changed so it can selectively log just database modification or
-      data definition statements.  Server configuration parameter
-      <varname>log_duration</varname> now prints only when <varname>log_statement</varname>
-      prints the query.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Server configuration parameter <varname>max_expr_depth</varname> parameter has
-      been replaced with <varname>max_stack_depth</varname> which measures the
-      physical stack size rather than the expression nesting depth. This
-      helps prevent session termination due to stack overflow caused by
-      recursive functions.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      The <function>length()</function> function no longer counts trailing spaces in
-      <type>CHAR(n)</type> values.
-     </para>
-    </listitem>
-
-   <listitem>
-    <para>
-     Casting an integer to <type>BIT(N)</type> selects the rightmost N bits of the
-     integer, not the leftmost N bits as before.
-    </para>
-   </listitem>
-
-   <listitem>
-    <para>
-     Updating an element or slice of a NULL array value now produces
-     a nonnull array result, namely an array containing
-     just the assigned-to positions.
-    </para>
-   </listitem>
-
-    <listitem>
-     <para>
-      Syntax checking of array input values has been tightened up
-      considerably. Junk that was previously allowed in odd places with
-      odd results now causes an error. Empty-string element values
-      must now be written as <literal>""</literal>, rather than writing nothing.
-      Also changed behavior with respect to whitespace surrounding
-      array elements: trailing whitespace is now ignored, for symmetry
-      with leading whitespace (which has always been ignored).
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Overflow in integer arithmetic operations is now detected and
-      reported as an error.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      The arithmetic operators associated with the single-byte
-      <type>"char"</type> data type have been removed.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      The <function>extract()</function> function (also called
-      <function>date_part</function>) now returns the proper year for BC dates.
-      It previously returned one less than the correct year. The
-      function now also returns the proper values for millennium and
-      century.
-     </para>
-    </listitem>
-
-   <listitem>
-    <para>
-     <type>CIDR</type> values now must have their nonmasked bits be zero.
-     For example, we no longer allow
-     <literal>204.248.199.1/31</literal> as a <type>CIDR</type> value. Such
-     values should never have been accepted by
-     <productname>PostgreSQL</productname> and will now be rejected.
-    </para>
-   </listitem>
-
-    <listitem>
-     <para>
-      <command>EXECUTE</command> now returns a completion tag that
-      matches the executed statement.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      <application>psql</application>'s <command>\copy</command> command now reads or
-      writes to the query's <literal>stdin/stdout</literal>, rather than
-      <application>psql</application>'s <literal>stdin/stdout</literal>. The previous
-      behavior can be accessed via new
-      <option>pstdin</option>/<option>pstdout</option> parameters.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-     The JDBC client interface has been removed from the core
-     distribution, and is now hosted at <ulink url=
-     "http://jdbc.postgresql.org"></ulink>.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-     The Tcl client interface has also been removed. There are several
-     Tcl interfaces now hosted at <ulink url=
-     "http://gborg.postgresql.org"></ulink>.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      The server now uses its own time zone database, rather than the
-      one supplied by the operating system. This will provide consistent
-      behavior across all platforms.  In most cases, there should be
-      little noticeable difference in time zone behavior, except that
-      the time zone names used by <command>SET</command>/<command>SHOW</command>
-      <varname>TimeZone</varname> might be different from what your platform provides.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      <application>Configure</application>'s threading option no longer requires
-      users to run tests or edit configuration files; threading options
-      are now detected automatically.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      Now that tablespaces have been implemented,
-      <application>initlocation</application> has been removed.
-     </para>
-    </listitem>
-
-    <listitem>
-     <para>
-      The API for user-defined GiST indexes has been changed. The
-      Union and PickSplit methods are now passed a pointer to a
-      special <structname>GistEntryVector</structname> structure,
-      rather than a <type>bytea</type>.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-  </sect2>
-
- <sect2>
-  <title>Deprecated Features</title>
-
-  <para>
-    Some aspects of <productname>PostgreSQL</productname>'s behavior
-    have been determined to be suboptimal. For the sake of backward
-    compatibility these have not been removed in 8.0, but they are
-    considered deprecated and will be removed in the next major
-    release.
-    </para>
-
-   <itemizedlist>
-    <listitem>
-     <para>
-      The 8.1 release will remove the <function>to_char()</function> function
-      for intervals.
-     </para>
-    </listitem>
-
-     <listitem>
-      <para>
-       The server now warns of empty strings passed to
-       <type>oid</type>/<type>float4</type>/<type>float8</type> data
-       types, but continues to interpret them as zeroes as before.
-       In the next major release, empty strings will be con