]> granicus.if.org Git - postgresql/commitdiff
Release notes for 9.4.2, 9.3.7, 9.2.11, 9.1.16, 9.0.20.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 17 May 2015 19:54:20 +0000 (15:54 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 17 May 2015 19:54:20 +0000 (15:54 -0400)
doc/src/sgml/release-9.0.sgml
doc/src/sgml/release-9.1.sgml
doc/src/sgml/release-9.2.sgml
doc/src/sgml/release-9.3.sgml
doc/src/sgml/release-9.4.sgml

index 90339a5eaed097488a4d7d3d729e357cf54463c1..c3fcbf7b6be5e0262653af5133acccac0e51ab5d 100644 (file)
@@ -1,6 +1,386 @@
 <!-- doc/src/sgml/release-9.0.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-0-20">
+  <title>Release 9.0.20</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2015-05-21</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 9.0.19.
+   For information about new features in the 9.0 major release, see
+   <xref linkend="release-9-0">.
+  </para>
+
+  <para>
+   The <productname>PostgreSQL</> community will stop releasing updates
+   for the 9.0.X release series in September 2015.
+   Users are encouraged to update to a newer release branch soon.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 9.0.20</title>
+
+   <para>
+    A dump/restore is not required for those running 9.0.X.
+   </para>
+
+   <para>
+    However, if you are upgrading from a version earlier than 9.0.18,
+    see <xref linkend="release-9-0-18">.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix incorrect checking of deferred exclusion constraints after a HOT
+      update (Tom Lane)
+     </para>
+
+     <para>
+      If a new row that potentially violates a deferred exclusion constraint
+      is HOT-updated (that is, no indexed columns change and the row can be
+      stored back onto the same table page) later in the same transaction,
+      the exclusion constraint would be reported as violated when the check
+      finally occurred, even if the row(s) the new row originally conflicted
+      with had been deleted.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent improper reordering of antijoins (NOT EXISTS joins) versus
+      other outer joins (Tom Lane)
+     </para>
+
+     <para>
+      This oversight in the planner has been observed to cause <quote>could
+      not find RelOptInfo for given relids</> errors, but it seems possible
+      that sometimes an incorrect query plan might get past that consistency
+      check and result in silently-wrong query output.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect matching of subexpressions in outer-join plan nodes
+      (Tom Lane)
+     </para>
+
+     <para>
+      Previously, if textually identical non-strict subexpressions were used
+      both above and below an outer join, the planner might try to re-use
+      the value computed below the join, which would be incorrect because the
+      executor would force the value to NULL in case of an unmatched outer row.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix GEQO planner to cope with failure of its join order heuristic
+      (Tom Lane)
+     </para>
+
+     <para>
+      This oversight has been seen to lead to <quote>failed to join all
+      relations together</> errors in queries involving <literal>LATERAL</>,
+      and that might happen in other cases as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible deadlock at startup
+      when <literal>max_prepared_transactions</> is too small
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't archive useless preallocated WAL files after a timeline switch
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Recursively <function>fsync()</> the data directory after a crash
+      (Abhijit Menon-Sen, Robert Haas)
+     </para>
+
+     <para>
+      This ensures consistency if another crash occurs shortly later.  (The
+      second crash would have to be a system-level crash, not just a database
+      crash, for there to be a problem.)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix autovacuum launcher's possible failure to shut down, if an error
+      occurs after it receives SIGTERM (&Aacute;lvaro Herrera)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Cope with unexpected signals in <function>LockBufferForCleanup()</>
+      (Andres Freund)
+     </para>
+
+     <para>
+      This oversight could result in spurious errors about <quote>multiple
+      backends attempting to wait for pincount 1</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid waiting for WAL flush or synchronous replication during commit of
+      a transaction that was read-only so far as the user is concerned
+      (Andres Freund)
+     </para>
+
+     <para>
+      Previously, a delay could occur at commit in transactions that had
+      written WAL due to HOT page pruning, leading to undesirable effects
+      such as sessions getting stuck at startup if all synchronous replicas
+      are down.  Sessions have also been observed to get stuck in catchup
+      interrupt processing when using synchronous replication; this will fix
+      that problem as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix crash when manipulating hash indexes on temporary tables
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible failure during hash index bucket split, if other processes
+      are modifying the index concurrently (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Check for interrupts while analyzing index expressions (Jeff Janes)
+     </para>
+
+     <para>
+      <command>ANALYZE</> executes index expressions many times; if there are
+      slow functions in such an expression, it's desirable to be able to
+      cancel the <command>ANALYZE</> before that loop finishes.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Add the name of the target server to object description strings for
+      foreign-server user mappings (&Aacute;lvaro Herrera)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Recommend setting <literal>include_realm</> to 1 when using
+      Kerberos/GSSAPI/SSPI authentication (Stephen Frost)
+     </para>
+
+     <para>
+      Without this, identically-named users from different realms cannot be
+      distinguished.  For the moment this is only a documentation change, but
+      it will become the default setting in <productname>PostgreSQL</> 9.5.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Remove code for matching IPv4 <filename>pg_hba.conf</> entries to
+      IPv4-in-IPv6 addresses (Tom Lane)
+     </para>
+
+     <para>
+      This hack was added in 2003 in response to a report that some Linux
+      kernels of the time would report IPv4 connections as having
+      IPv4-in-IPv6 addresses.  However, the logic was accidentally broken in
+      9.0.  The lack of any field complaints since then shows that it's not
+      needed anymore.  Now we have reports that the broken code causes
+      crashes on some systems, so let's just remove it rather than fix it.
+      (Had we chosen to fix it, that would make for a subtle and potentially
+      security-sensitive change in the effective meaning of
+      IPv4 <filename>pg_hba.conf</> entries, which does not seem like a good
+      thing to do in minor releases.)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      While shutting down service on Windows, periodically send status
+      updates to the Service Control Manager to prevent it from killing the
+      service too soon; and ensure that <application>pg_ctl</> will wait for
+      shutdown (Krystian Bigaj)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Reduce risk of network deadlock when using <application>libpq</>'s
+      non-blocking mode (Heikki Linnakangas)
+     </para>
+
+     <para>
+      When sending large volumes of data, it's important to drain the input
+      buffer every so often, in case the server has sent enough response data
+      to cause it to block on output.  (A typical scenario is that the server
+      is sending a stream of NOTICE messages during <literal>COPY FROM
+      STDIN</>.)  This worked properly in the normal blocking mode, but not
+      so much in non-blocking mode.  We've modified <application>libpq</>
+      to opportunistically drain input when it can, but a full defense
+      against this problem requires application cooperation: the application
+      should watch for socket read-ready as well as write-ready conditions,
+      and be sure to call <function>PQconsumeInput()</> upon read-ready.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix array handling in <application>ecpg</> (Michael Meskes)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>psql</> to sanely handle URIs and conninfo strings as
+      the first parameter to <command>\connect</>
+      (David Fetter, Andrew Dunstan, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This syntax has been accepted (but undocumented) for a long time, but
+      previously some parameters might be taken from the old connection
+      instead of the given string, which was agreed to be undesirable.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Suppress incorrect complaints from <application>psql</> on some
+      platforms that it failed to write <filename>~/.psql_history</> at exit
+      (Tom Lane)
+     </para>
+
+     <para>
+      This misbehavior was caused by a workaround for a bug in very old
+      (pre-2006) versions of <application>libedit</>.  We fixed it by
+      removing the workaround, which will cause a similar failure to appear
+      for anyone still using such versions of <application>libedit</>.
+      Recommendation: upgrade that library, or use <application>libreadline</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</>'s rule for deciding which casts are
+      system-provided casts that should not be dumped (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix dumping of views that are just <literal>VALUES(...)</> but have
+      column aliases (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, force timeline 1 in the new cluster
+      (Bruce Momjian)
+     </para>
+
+     <para>
+      This change prevents upgrade failures caused by bogus complaints about
+      missing WAL history files.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, check for improperly non-connectable
+      databases before proceeding
+      (Bruce Momjian)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, quote directory paths
+      properly in the generated <literal>delete_old_cluster</> script
+      (Bruce Momjian)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, preserve database-level freezing info
+      properly
+      (Bruce Momjian)
+     </para>
+
+     <para>
+      This oversight could cause missing-clog-file errors for tables within
+      the <literal>postgres</> and <literal>template1</> databases.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Run <application>pg_upgrade</> and <application>pg_resetxlog</> with
+      restricted privileges on Windows, so that they don't fail when run by
+      an administrator (Muhammad Asif Naeem)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix slow sorting algorithm in <filename>contrib/intarray</> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix compile failure on Sparc V8 machines (Rob Rowan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2015d
+      for DST law changes in Egypt, Mongolia, and Palestine, plus historical
+      changes in Canada and Chile.  Also adopt revised zone abbreviations for
+      the America/Adak zone (HST/HDT not HAST/HADT).
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-0-19">
   <title>Release 9.0.19</title>
 
index f5849ff8faed153544e85616ab8d2be5661d0197..7aecb5e09c09946c07307819505d3a10d470340e 100644 (file)
@@ -1,6 +1,468 @@
 <!-- doc/src/sgml/release-9.1.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-1-16">
+  <title>Release 9.1.16</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2015-05-21</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 9.1.15.
+   For information about new features in the 9.1 major release, see
+   <xref linkend="release-9-1">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 9.1.16</title>
+
+   <para>
+    A dump/restore is not required for those running 9.1.X.
+   </para>
+
+   <para>
+    However, if you use <filename>contrib/citext</>'s
+    <function>regexp_matches()</> functions, see the changelog entry below
+    about that.
+   </para>
+
+   <para>
+    Also, if you are upgrading from a version earlier than 9.1.14,
+    see <xref linkend="release-9-1-14">.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix incorrect declaration of <filename>contrib/citext</>'s
+      <function>regexp_matches()</> functions (Tom Lane)
+     </para>
+
+     <para>
+      These functions should return <type>setof text[]</>, like the core
+      functions they are wrappers for; but they were incorrectly declared as
+      returning just <type>text[]</>.  This mistake had two results: first,
+      if there was no match you got a scalar null result, whereas what you
+      should get is an empty set (zero rows).  Second, the <literal>g</> flag
+      was effectively ignored, since you would get only one result array even
+      if there were multiple matches.
+     </para>
+
+     <para>
+      While the latter behavior is clearly a bug, there might be applications
+      depending on the former behavior; therefore the function declarations
+      will not be changed by default until <productname>PostgreSQL</> 9.5.
+      In pre-9.5 branches, the old behavior exists in version 1.0 of
+      the <literal>citext</> extension, while we have provided corrected
+      declarations in version 1.1 (which is <emphasis>not</> installed by
+      default).  To adopt the fix in pre-9.5 branches, execute
+      <literal>ALTER EXTENSION citext UPDATE TO '1.1'</> in each database in
+      which <literal>citext</> is installed.  (You can also <quote>update</>
+      back to 1.0 if you need to undo that.)  Be aware that either update
+      direction will require dropping and recreating any views or rules that
+      use <filename>citext</>'s <function>regexp_matches()</> functions.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect checking of deferred exclusion constraints after a HOT
+      update (Tom Lane)
+     </para>
+
+     <para>
+      If a new row that potentially violates a deferred exclusion constraint
+      is HOT-updated (that is, no indexed columns change and the row can be
+      stored back onto the same table page) later in the same transaction,
+      the exclusion constraint would be reported as violated when the check
+      finally occurred, even if the row(s) the new row originally conflicted
+      with had been deleted.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent improper reordering of antijoins (NOT EXISTS joins) versus
+      other outer joins (Tom Lane)
+     </para>
+
+     <para>
+      This oversight in the planner has been observed to cause <quote>could
+      not find RelOptInfo for given relids</> errors, but it seems possible
+      that sometimes an incorrect query plan might get past that consistency
+      check and result in silently-wrong query output.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect matching of subexpressions in outer-join plan nodes
+      (Tom Lane)
+     </para>
+
+     <para>
+      Previously, if textually identical non-strict subexpressions were used
+      both above and below an outer join, the planner might try to re-use
+      the value computed below the join, which would be incorrect because the
+      executor would force the value to NULL in case of an unmatched outer row.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix GEQO planner to cope with failure of its join order heuristic
+      (Tom Lane)
+     </para>
+
+     <para>
+      This oversight has been seen to lead to <quote>failed to join all
+      relations together</> errors in queries involving <literal>LATERAL</>,
+      and that might happen in other cases as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible deadlock at startup
+      when <literal>max_prepared_transactions</> is too small
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't archive useless preallocated WAL files after a timeline switch
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Recursively <function>fsync()</> the data directory after a crash
+      (Abhijit Menon-Sen, Robert Haas)
+     </para>
+
+     <para>
+      This ensures consistency if another crash occurs shortly later.  (The
+      second crash would have to be a system-level crash, not just a database
+      crash, for there to be a problem.)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix autovacuum launcher's possible failure to shut down, if an error
+      occurs after it receives SIGTERM (&Aacute;lvaro Herrera)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Cope with unexpected signals in <function>LockBufferForCleanup()</>
+      (Andres Freund)
+     </para>
+
+     <para>
+      This oversight could result in spurious errors about <quote>multiple
+      backends attempting to wait for pincount 1</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid waiting for WAL flush or synchronous replication during commit of
+      a transaction that was read-only so far as the user is concerned
+      (Andres Freund)
+     </para>
+
+     <para>
+      Previously, a delay could occur at commit in transactions that had
+      written WAL due to HOT page pruning, leading to undesirable effects
+      such as sessions getting stuck at startup if all synchronous replicas
+      are down.  Sessions have also been observed to get stuck in catchup
+      interrupt processing when using synchronous replication; this will fix
+      that problem as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix crash when manipulating hash indexes on temporary tables
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible failure during hash index bucket split, if other processes
+      are modifying the index concurrently (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Check for interrupts while analyzing index expressions (Jeff Janes)
+     </para>
+
+     <para>
+      <command>ANALYZE</> executes index expressions many times; if there are
+      slow functions in such an expression, it's desirable to be able to
+      cancel the <command>ANALYZE</> before that loop finishes.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure <structfield>tableoid</> of a foreign table is reported
+      correctly when a <literal>READ COMMITTED</> recheck occurs after
+      locking rows in <command>SELECT FOR UPDATE</>, <command>UPDATE</>,
+      or <command>DELETE</> (Etsuro Fujita)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Add the name of the target server to object description strings for
+      foreign-server user mappings (&Aacute;lvaro Herrera)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Recommend setting <literal>include_realm</> to 1 when using
+      Kerberos/GSSAPI/SSPI authentication (Stephen Frost)
+     </para>
+
+     <para>
+      Without this, identically-named users from different realms cannot be
+      distinguished.  For the moment this is only a documentation change, but
+      it will become the default setting in <productname>PostgreSQL</> 9.5.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Remove code for matching IPv4 <filename>pg_hba.conf</> entries to
+      IPv4-in-IPv6 addresses (Tom Lane)
+     </para>
+
+     <para>
+      This hack was added in 2003 in response to a report that some Linux
+      kernels of the time would report IPv4 connections as having
+      IPv4-in-IPv6 addresses.  However, the logic was accidentally broken in
+      9.0.  The lack of any field complaints since then shows that it's not
+      needed anymore.  Now we have reports that the broken code causes
+      crashes on some systems, so let's just remove it rather than fix it.
+      (Had we chosen to fix it, that would make for a subtle and potentially
+      security-sensitive change in the effective meaning of
+      IPv4 <filename>pg_hba.conf</> entries, which does not seem like a good
+      thing to do in minor releases.)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Report WAL flush, not insert, position in <literal>IDENTIFY_SYSTEM</>
+      replication command (Heikki Linnakangas)
+     </para>
+
+     <para>
+      This avoids a possible startup failure
+      in <application>pg_receivexlog</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      While shutting down service on Windows, periodically send status
+      updates to the Service Control Manager to prevent it from killing the
+      service too soon; and ensure that <application>pg_ctl</> will wait for
+      shutdown (Krystian Bigaj)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Reduce risk of network deadlock when using <application>libpq</>'s
+      non-blocking mode (Heikki Linnakangas)
+     </para>
+
+     <para>
+      When sending large volumes of data, it's important to drain the input
+      buffer every so often, in case the server has sent enough response data
+      to cause it to block on output.  (A typical scenario is that the server
+      is sending a stream of NOTICE messages during <literal>COPY FROM
+      STDIN</>.)  This worked properly in the normal blocking mode, but not
+      so much in non-blocking mode.  We've modified <application>libpq</>
+      to opportunistically drain input when it can, but a full defense
+      against this problem requires application cooperation: the application
+      should watch for socket read-ready as well as write-ready conditions,
+      and be sure to call <function>PQconsumeInput()</> upon read-ready.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix array handling in <application>ecpg</> (Michael Meskes)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>psql</> to sanely handle URIs and conninfo strings as
+      the first parameter to <command>\connect</>
+      (David Fetter, Andrew Dunstan, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This syntax has been accepted (but undocumented) for a long time, but
+      previously some parameters might be taken from the old connection
+      instead of the given string, which was agreed to be undesirable.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Suppress incorrect complaints from <application>psql</> on some
+      platforms that it failed to write <filename>~/.psql_history</> at exit
+      (Tom Lane)
+     </para>
+
+     <para>
+      This misbehavior was caused by a workaround for a bug in very old
+      (pre-2006) versions of <application>libedit</>.  We fixed it by
+      removing the workaround, which will cause a similar failure to appear
+      for anyone still using such versions of <application>libedit</>.
+      Recommendation: upgrade that library, or use <application>libreadline</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</>'s rule for deciding which casts are
+      system-provided casts that should not be dumped (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_dump</>, fix failure to honor <literal>-Z</>
+      compression level option together with <literal>-Fd</>
+      (Michael Paquier)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make <application>pg_dump</> consider foreign key relationships
+      between extension configuration tables while choosing dump order
+      (Gilles Darold, Michael Paquier, Stephen Frost)
+     </para>
+
+     <para>
+      This oversight could result in producing dumps that fail to reload
+      because foreign key constraints are transiently violated.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix dumping of views that are just <literal>VALUES(...)</> but have
+      column aliases (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, force timeline 1 in the new cluster
+      (Bruce Momjian)
+     </para>
+
+     <para>
+      This change prevents upgrade failures caused by bogus complaints about
+      missing WAL history files.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, check for improperly non-connectable
+      databases before proceeding
+      (Bruce Momjian)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, quote directory paths
+      properly in the generated <literal>delete_old_cluster</> script
+      (Bruce Momjian)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, preserve database-level freezing info
+      properly
+      (Bruce Momjian)
+     </para>
+
+     <para>
+      This oversight could cause missing-clog-file errors for tables within
+      the <literal>postgres</> and <literal>template1</> databases.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Run <application>pg_upgrade</> and <application>pg_resetxlog</> with
+      restricted privileges on Windows, so that they don't fail when run by
+      an administrator (Muhammad Asif Naeem)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve handling of <function>readdir()</> failures when scanning
+      directories in <application>initdb</> and <application>pg_basebackup</>
+      (Marco Nenciarini)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix slow sorting algorithm in <filename>contrib/intarray</> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix compile failure on Sparc V8 machines (Rob Rowan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2015d
+      for DST law changes in Egypt, Mongolia, and Palestine, plus historical
+      changes in Canada and Chile.  Also adopt revised zone abbreviations for
+      the America/Adak zone (HST/HDT not HAST/HADT).
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-1-15">
   <title>Release 9.1.15</title>
 
index 7bdbd89ae9e9a2913da37d6105a21440fc7b8bb3..9ebc92d27eddab96c411419bb7d1ebb9f520c1ce 100644 (file)
@@ -1,6 +1,517 @@
 <!-- doc/src/sgml/release-9.2.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-2-11">
+  <title>Release 9.2.11</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2015-05-21</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 9.2.10.
+   For information about new features in the 9.2 major release, see
+   <xref linkend="release-9-2">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 9.2.11</title>
+
+   <para>
+    A dump/restore is not required for those running 9.2.X.
+   </para>
+
+   <para>
+    However, if you use <filename>contrib/citext</>'s
+    <function>regexp_matches()</> functions, see the changelog entry below
+    about that.
+   </para>
+
+   <para>
+    Also, if you are upgrading from a version earlier than 9.2.10,
+    see <xref linkend="release-9-2-10">.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix incorrect declaration of <filename>contrib/citext</>'s
+      <function>regexp_matches()</> functions (Tom Lane)
+     </para>
+
+     <para>
+      These functions should return <type>setof text[]</>, like the core
+      functions they are wrappers for; but they were incorrectly declared as
+      returning just <type>text[]</>.  This mistake had two results: first,
+      if there was no match you got a scalar null result, whereas what you
+      should get is an empty set (zero rows).  Second, the <literal>g</> flag
+      was effectively ignored, since you would get only one result array even
+      if there were multiple matches.
+     </para>
+
+     <para>
+      While the latter behavior is clearly a bug, there might be applications
+      depending on the former behavior; therefore the function declarations
+      will not be changed by default until <productname>PostgreSQL</> 9.5.
+      In pre-9.5 branches, the old behavior exists in version 1.0 of
+      the <literal>citext</> extension, while we have provided corrected
+      declarations in version 1.1 (which is <emphasis>not</> installed by
+      default).  To adopt the fix in pre-9.5 branches, execute
+      <literal>ALTER EXTENSION citext UPDATE TO '1.1'</> in each database in
+      which <literal>citext</> is installed.  (You can also <quote>update</>
+      back to 1.0 if you need to undo that.)  Be aware that either update
+      direction will require dropping and recreating any views or rules that
+      use <filename>citext</>'s <function>regexp_matches()</> functions.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect checking of deferred exclusion constraints after a HOT
+      update (Tom Lane)
+     </para>
+
+     <para>
+      If a new row that potentially violates a deferred exclusion constraint
+      is HOT-updated (that is, no indexed columns change and the row can be
+      stored back onto the same table page) later in the same transaction,
+      the exclusion constraint would be reported as violated when the check
+      finally occurred, even if the row(s) the new row originally conflicted
+      with had been deleted.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix planning of star-schema-style queries (Tom Lane)
+     </para>
+
+     <para>
+      Sometimes, efficient scanning of a large table requires that index
+      parameters be provided from more than one other table (commonly,
+      dimension tables whose keys are needed to index a large fact table).
+      The planner should be able to find such plans, but an overly
+      restrictive search heuristic prevented it.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent improper reordering of antijoins (NOT EXISTS joins) versus
+      other outer joins (Tom Lane)
+     </para>
+
+     <para>
+      This oversight in the planner has been observed to cause <quote>could
+      not find RelOptInfo for given relids</> errors, but it seems possible
+      that sometimes an incorrect query plan might get past that consistency
+      check and result in silently-wrong query output.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect matching of subexpressions in outer-join plan nodes
+      (Tom Lane)
+     </para>
+
+     <para>
+      Previously, if textually identical non-strict subexpressions were used
+      both above and below an outer join, the planner might try to re-use
+      the value computed below the join, which would be incorrect because the
+      executor would force the value to NULL in case of an unmatched outer row.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix GEQO planner to cope with failure of its join order heuristic
+      (Tom Lane)
+     </para>
+
+     <para>
+      This oversight has been seen to lead to <quote>failed to join all
+      relations together</> errors in queries involving <literal>LATERAL</>,
+      and that might happen in other cases as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible deadlock at startup
+      when <literal>max_prepared_transactions</> is too small
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't archive useless preallocated WAL files after a timeline switch
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Recursively <function>fsync()</> the data directory after a crash
+      (Abhijit Menon-Sen, Robert Haas)
+     </para>
+
+     <para>
+      This ensures consistency if another crash occurs shortly later.  (The
+      second crash would have to be a system-level crash, not just a database
+      crash, for there to be a problem.)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix autovacuum launcher's possible failure to shut down, if an error
+      occurs after it receives SIGTERM (&Aacute;lvaro Herrera)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Cope with unexpected signals in <function>LockBufferForCleanup()</>
+      (Andres Freund)
+     </para>
+
+     <para>
+      This oversight could result in spurious errors about <quote>multiple
+      backends attempting to wait for pincount 1</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix crash when doing <literal>COPY IN</> to a table with check
+      constraints that contain whole-row references (Tom Lane)
+     </para>
+
+     <para>
+      The known failure case only crashes in 9.4 and up, but there is very
+      similar code in 9.3 and 9.2, so back-patch those branches as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid waiting for WAL flush or synchronous replication during commit of
+      a transaction that was read-only so far as the user is concerned
+      (Andres Freund)
+     </para>
+
+     <para>
+      Previously, a delay could occur at commit in transactions that had
+      written WAL due to HOT page pruning, leading to undesirable effects
+      such as sessions getting stuck at startup if all synchronous replicas
+      are down.  Sessions have also been observed to get stuck in catchup
+      interrupt processing when using synchronous replication; this will fix
+      that problem as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix crash when manipulating hash indexes on temporary tables
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible failure during hash index bucket split, if other processes
+      are modifying the index concurrently (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Check for interrupts while analyzing index expressions (Jeff Janes)
+     </para>
+
+     <para>
+      <command>ANALYZE</> executes index expressions many times; if there are
+      slow functions in such an expression, it's desirable to be able to
+      cancel the <command>ANALYZE</> before that loop finishes.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure <structfield>tableoid</> of a foreign table is reported
+      correctly when a <literal>READ COMMITTED</> recheck occurs after
+      locking rows in <command>SELECT FOR UPDATE</>, <command>UPDATE</>,
+      or <command>DELETE</> (Etsuro Fujita)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Add the name of the target server to object description strings for
+      foreign-server user mappings (&Aacute;lvaro Herrera)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Recommend setting <literal>include_realm</> to 1 when using
+      Kerberos/GSSAPI/SSPI authentication (Stephen Frost)
+     </para>
+
+     <para>
+      Without this, identically-named users from different realms cannot be
+      distinguished.  For the moment this is only a documentation change, but
+      it will become the default setting in <productname>PostgreSQL</> 9.5.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Remove code for matching IPv4 <filename>pg_hba.conf</> entries to
+      IPv4-in-IPv6 addresses (Tom Lane)
+     </para>
+
+     <para>
+      This hack was added in 2003 in response to a report that some Linux
+      kernels of the time would report IPv4 connections as having
+      IPv4-in-IPv6 addresses.  However, the logic was accidentally broken in
+      9.0.  The lack of any field complaints since then shows that it's not
+      needed anymore.  Now we have reports that the broken code causes
+      crashes on some systems, so let's just remove it rather than fix it.
+      (Had we chosen to fix it, that would make for a subtle and potentially
+      security-sensitive change in the effective meaning of
+      IPv4 <filename>pg_hba.conf</> entries, which does not seem like a good
+      thing to do in minor releases.)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Report WAL flush, not insert, position in <literal>IDENTIFY_SYSTEM</>
+      replication command (Heikki Linnakangas)
+     </para>
+
+     <para>
+      This avoids a possible startup failure
+      in <application>pg_receivexlog</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      While shutting down service on Windows, periodically send status
+      updates to the Service Control Manager to prevent it from killing the
+      service too soon; and ensure that <application>pg_ctl</> will wait for
+      shutdown (Krystian Bigaj)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Reduce risk of network deadlock when using <application>libpq</>'s
+      non-blocking mode (Heikki Linnakangas)
+     </para>
+
+     <para>
+      When sending large volumes of data, it's important to drain the input
+      buffer every so often, in case the server has sent enough response data
+      to cause it to block on output.  (A typical scenario is that the server
+      is sending a stream of NOTICE messages during <literal>COPY FROM
+      STDIN</>.)  This worked properly in the normal blocking mode, but not
+      so much in non-blocking mode.  We've modified <application>libpq</>
+      to opportunistically drain input when it can, but a full defense
+      against this problem requires application cooperation: the application
+      should watch for socket read-ready as well as write-ready conditions,
+      and be sure to call <function>PQconsumeInput()</> upon read-ready.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>libpq</>, fix misparsing of empty values in URI
+      connection strings (Thomas Fanghaenel)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix array handling in <application>ecpg</> (Michael Meskes)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>psql</> to sanely handle URIs and conninfo strings as
+      the first parameter to <command>\connect</>
+      (David Fetter, Andrew Dunstan, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This syntax has been accepted (but undocumented) for a long time, but
+      previously some parameters might be taken from the old connection
+      instead of the given string, which was agreed to be undesirable.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Suppress incorrect complaints from <application>psql</> on some
+      platforms that it failed to write <filename>~/.psql_history</> at exit
+      (Tom Lane)
+     </para>
+
+     <para>
+      This misbehavior was caused by a workaround for a bug in very old
+      (pre-2006) versions of <application>libedit</>.  We fixed it by
+      removing the workaround, which will cause a similar failure to appear
+      for anyone still using such versions of <application>libedit</>.
+      Recommendation: upgrade that library, or use <application>libreadline</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</>'s rule for deciding which casts are
+      system-provided casts that should not be dumped (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_dump</>, fix failure to honor <literal>-Z</>
+      compression level option together with <literal>-Fd</>
+      (Michael Paquier)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make <application>pg_dump</> consider foreign key relationships
+      between extension configuration tables while choosing dump order
+      (Gilles Darold, Michael Paquier, Stephen Frost)
+     </para>
+
+     <para>
+      This oversight could result in producing dumps that fail to reload
+      because foreign key constraints are transiently violated.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix dumping of views that are just <literal>VALUES(...)</> but have
+      column aliases (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, force timeline 1 in the new cluster
+      (Bruce Momjian)
+     </para>
+
+     <para>
+      This change prevents upgrade failures caused by bogus complaints about
+      missing WAL history files.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, check for improperly non-connectable
+      databases before proceeding
+      (Bruce Momjian)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, quote directory paths
+      properly in the generated <literal>delete_old_cluster</> script
+      (Bruce Momjian)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, preserve database-level freezing info
+      properly
+      (Bruce Momjian)
+     </para>
+
+     <para>
+      This oversight could cause missing-clog-file errors for tables within
+      the <literal>postgres</> and <literal>template1</> databases.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Run <application>pg_upgrade</> and <application>pg_resetxlog</> with
+      restricted privileges on Windows, so that they don't fail when run by
+      an administrator (Muhammad Asif Naeem)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve handling of <function>readdir()</> failures when scanning
+      directories in <application>initdb</> and <application>pg_basebackup</>
+      (Marco Nenciarini)
+     </para>
+    </listitem>
+
+<!--
+Author: Andres Freund <andres@anarazel.de>
+Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100
+-->
+
+    <listitem>
+     <para>
+      Fix failure in <application>pg_receivexlog</> (Andres Freund)
+     </para>
+
+     <para>
+      A patch merge mistake in 9.2.10 led to <quote>could not create archive
+      status file</> errors.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix slow sorting algorithm in <filename>contrib/intarray</> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix compile failure on Sparc V8 machines (Rob Rowan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2015d
+      for DST law changes in Egypt, Mongolia, and Palestine, plus historical
+      changes in Canada and Chile.  Also adopt revised zone abbreviations for
+      the America/Adak zone (HST/HDT not HAST/HADT).
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-2-10">
   <title>Release 9.2.10</title>
 
index b4fa3845d3463c3791a20a70f36292440f1ca0c0..dca9275f7b5ce0a5790f37c1d0bc84e62aa45547 100644 (file)
@@ -1,6 +1,539 @@
 <!-- doc/src/sgml/release-9.3.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-3-7">
+  <title>Release 9.3.7</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2015-05-21</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 9.3.6.
+   For information about new features in the 9.3 major release, see
+   <xref linkend="release-9-3">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 9.3.7</title>
+
+   <para>
+    A dump/restore is not required for those running 9.3.X.
+   </para>
+
+   <para>
+    However, if you use <filename>contrib/citext</>'s
+    <function>regexp_matches()</> functions, see the changelog entry below
+    about that.
+   </para>
+
+   <para>
+    Also, if you are upgrading from a version earlier than 9.3.6,
+    see <xref linkend="release-9-3-6">.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Protect against wraparound of multixact member IDs
+      (&Aacute;lvaro Herrera, Robert Haas, Thomas Munro)
+     </para>
+
+     <para>
+      Under certain usage patterns, the existing defenses against this might
+      be insufficient, allowing <filename>pg_multixact/members</> files to be
+      removed too early, resulting in data loss.
+      The fix for this includes modifying the server to fail transactions
+      that would result in overwriting old multixact member ID data, and
+      improving autovacuum to ensure it will act proactively to prevent
+      multixact member ID wraparound, as it does for transaction ID
+      wraparound.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect declaration of <filename>contrib/citext</>'s
+      <function>regexp_matches()</> functions (Tom Lane)
+     </para>
+
+     <para>
+      These functions should return <type>setof text[]</>, like the core
+      functions they are wrappers for; but they were incorrectly declared as
+      returning just <type>text[]</>.  This mistake had two results: first,
+      if there was no match you got a scalar null result, whereas what you
+      should get is an empty set (zero rows).  Second, the <literal>g</> flag
+      was effectively ignored, since you would get only one result array even
+      if there were multiple matches.
+     </para>
+
+     <para>
+      While the latter behavior is clearly a bug, there might be applications
+      depending on the former behavior; therefore the function declarations
+      will not be changed by default until <productname>PostgreSQL</> 9.5.
+      In pre-9.5 branches, the old behavior exists in version 1.0 of
+      the <literal>citext</> extension, while we have provided corrected
+      declarations in version 1.1 (which is <emphasis>not</> installed by
+      default).  To adopt the fix in pre-9.5 branches, execute
+      <literal>ALTER EXTENSION citext UPDATE TO '1.1'</> in each database in
+      which <literal>citext</> is installed.  (You can also <quote>update</>
+      back to 1.0 if you need to undo that.)  Be aware that either update
+      direction will require dropping and recreating any views or rules that
+      use <filename>citext</>'s <function>regexp_matches()</> functions.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect checking of deferred exclusion constraints after a HOT
+      update (Tom Lane)
+     </para>
+
+     <para>
+      If a new row that potentially violates a deferred exclusion constraint
+      is HOT-updated (that is, no indexed columns change and the row can be
+      stored back onto the same table page) later in the same transaction,
+      the exclusion constraint would be reported as violated when the check
+      finally occurred, even if the row(s) the new row originally conflicted
+      with had been deleted.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix planning of star-schema-style queries (Tom Lane)
+     </para>
+
+     <para>
+      Sometimes, efficient scanning of a large table requires that index
+      parameters be provided from more than one other table (commonly,
+      dimension tables whose keys are needed to index a large fact table).
+      The planner should be able to find such plans, but an overly
+      restrictive search heuristic prevented it.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent improper reordering of antijoins (NOT EXISTS joins) versus
+      other outer joins (Tom Lane)
+     </para>
+
+     <para>
+      This oversight in the planner has been observed to cause <quote>could
+      not find RelOptInfo for given relids</> errors, but it seems possible
+      that sometimes an incorrect query plan might get past that consistency
+      check and result in silently-wrong query output.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect matching of subexpressions in outer-join plan nodes
+      (Tom Lane)
+     </para>
+
+     <para>
+      Previously, if textually identical non-strict subexpressions were used
+      both above and below an outer join, the planner might try to re-use
+      the value computed below the join, which would be incorrect because the
+      executor would force the value to NULL in case of an unmatched outer row.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix GEQO planner to cope with failure of its join order heuristic
+      (Tom Lane)
+     </para>
+
+     <para>
+      This oversight has been seen to lead to <quote>failed to join all
+      relations together</> errors in queries involving <literal>LATERAL</>,
+      and that might happen in other cases as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible deadlock at startup
+      when <literal>max_prepared_transactions</> is too small
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't archive useless preallocated WAL files after a timeline switch
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Recursively <function>fsync()</> the data directory after a crash
+      (Abhijit Menon-Sen, Robert Haas)
+     </para>
+
+     <para>
+      This ensures consistency if another crash occurs shortly later.  (The
+      second crash would have to be a system-level crash, not just a database
+      crash, for there to be a problem.)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix autovacuum launcher's possible failure to shut down, if an error
+      occurs after it receives SIGTERM (&Aacute;lvaro Herrera)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Cope with unexpected signals in <function>LockBufferForCleanup()</>
+      (Andres Freund)
+     </para>
+
+     <para>
+      This oversight could result in spurious errors about <quote>multiple
+      backends attempting to wait for pincount 1</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix crash when doing <literal>COPY IN</> to a table with check
+      constraints that contain whole-row references (Tom Lane)
+     </para>
+
+     <para>
+      The known failure case only crashes in 9.4 and up, but there is very
+      similar code in 9.3 and 9.2, so back-patch those branches as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid waiting for WAL flush or synchronous replication during commit of
+      a transaction that was read-only so far as the user is concerned
+      (Andres Freund)
+     </para>
+
+     <para>
+      Previously, a delay could occur at commit in transactions that had
+      written WAL due to HOT page pruning, leading to undesirable effects
+      such as sessions getting stuck at startup if all synchronous replicas
+      are down.  Sessions have also been observed to get stuck in catchup
+      interrupt processing when using synchronous replication; this will fix
+      that problem as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix crash when manipulating hash indexes on temporary tables
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible failure during hash index bucket split, if other processes
+      are modifying the index concurrently (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Check for interrupts while analyzing index expressions (Jeff Janes)
+     </para>
+
+     <para>
+      <command>ANALYZE</> executes index expressions many times; if there are
+      slow functions in such an expression, it's desirable to be able to
+      cancel the <command>ANALYZE</> before that loop finishes.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure <structfield>tableoid</> of a foreign table is reported
+      correctly when a <literal>READ COMMITTED</> recheck occurs after
+      locking rows in <command>SELECT FOR UPDATE</>, <command>UPDATE</>,
+      or <command>DELETE</> (Etsuro Fujita)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Add the name of the target server to object description strings for
+      foreign-server user mappings (&Aacute;lvaro Herrera)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Include the schema name in object identity strings for conversions
+      (&Aacute;lvaro Herrera)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Recommend setting <literal>include_realm</> to 1 when using
+      Kerberos/GSSAPI/SSPI authentication (Stephen Frost)
+     </para>
+
+     <para>
+      Without this, identically-named users from different realms cannot be
+      distinguished.  For the moment this is only a documentation change, but
+      it will become the default setting in <productname>PostgreSQL</> 9.5.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Remove code for matching IPv4 <filename>pg_hba.conf</> entries to
+      IPv4-in-IPv6 addresses (Tom Lane)
+     </para>
+
+     <para>
+      This hack was added in 2003 in response to a report that some Linux
+      kernels of the time would report IPv4 connections as having
+      IPv4-in-IPv6 addresses.  However, the logic was accidentally broken in
+      9.0.  The lack of any field complaints since then shows that it's not
+      needed anymore.  Now we have reports that the broken code causes
+      crashes on some systems, so let's just remove it rather than fix it.
+      (Had we chosen to fix it, that would make for a subtle and potentially
+      security-sensitive change in the effective meaning of
+      IPv4 <filename>pg_hba.conf</> entries, which does not seem like a good
+      thing to do in minor releases.)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Report WAL flush, not insert, position in <literal>IDENTIFY_SYSTEM</>
+      replication command (Heikki Linnakangas)
+     </para>
+
+     <para>
+      This avoids a possible startup failure
+      in <application>pg_receivexlog</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      While shutting down service on Windows, periodically send status
+      updates to the Service Control Manager to prevent it from killing the
+      service too soon; and ensure that <application>pg_ctl</> will wait for
+      shutdown (Krystian Bigaj)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Reduce risk of network deadlock when using <application>libpq</>'s
+      non-blocking mode (Heikki Linnakangas)
+     </para>
+
+     <para>
+      When sending large volumes of data, it's important to drain the input
+      buffer every so often, in case the server has sent enough response data
+      to cause it to block on output.  (A typical scenario is that the server
+      is sending a stream of NOTICE messages during <literal>COPY FROM
+      STDIN</>.)  This worked properly in the normal blocking mode, but not
+      so much in non-blocking mode.  We've modified <application>libpq</>
+      to opportunistically drain input when it can, but a full defense
+      against this problem requires application cooperation: the application
+      should watch for socket read-ready as well as write-ready conditions,
+      and be sure to call <function>PQconsumeInput()</> upon read-ready.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>libpq</>, fix misparsing of empty values in URI
+      connection strings (Thomas Fanghaenel)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix array handling in <application>ecpg</> (Michael Meskes)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>psql</> to sanely handle URIs and conninfo strings as
+      the first parameter to <command>\connect</>
+      (David Fetter, Andrew Dunstan, &Aacute;lvaro Herrera)
+     </para>
+
+     <para>
+      This syntax has been accepted (but undocumented) for a long time, but
+      previously some parameters might be taken from the old connection
+      instead of the given string, which was agreed to be undesirable.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Suppress incorrect complaints from <application>psql</> on some
+      platforms that it failed to write <filename>~/.psql_history</> at exit
+      (Tom Lane)
+     </para>
+
+     <para>
+      This misbehavior was caused by a workaround for a bug in very old
+      (pre-2006) versions of <application>libedit</>.  We fixed it by
+      removing the workaround, which will cause a similar failure to appear
+      for anyone still using such versions of <application>libedit</>.
+      Recommendation: upgrade that library, or use <application>libreadline</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</>'s rule for deciding which casts are
+      system-provided casts that should not be dumped (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_dump</>, fix failure to honor <literal>-Z</>
+      compression level option together with <literal>-Fd</>
+      (Michael Paquier)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make <application>pg_dump</> consider foreign key relationships
+      between extension configuration tables while choosing dump order
+      (Gilles Darold, Michael Paquier, Stephen Frost)
+     </para>
+
+     <para>
+      This oversight could result in producing dumps that fail to reload
+      because foreign key constraints are transiently violated.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid possible <application>pg_dump</> failure when concurrent sessions
+      are creating and dropping temporary functions (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix dumping of views that are just <literal>VALUES(...)</> but have
+      column aliases (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, force timeline 1 in the new cluster
+      (Bruce Momjian)
+     </para>
+
+     <para>
+      This change prevents upgrade failures caused by bogus complaints about
+      missing WAL history files.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, check for improperly non-connectable
+      databases before proceeding
+      (Bruce Momjian)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, quote directory paths
+      properly in the generated <literal>delete_old_cluster</> script
+      (Bruce Momjian)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>pg_upgrade</>, preserve database-level freezing info
+      properly
+      (Bruce Momjian)
+     </para>
+
+     <para>
+      This oversight could cause missing-clog-file errors for tables within
+      the <literal>postgres</> and <literal>template1</> databases.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Run <application>pg_upgrade</> and <application>pg_resetxlog</> with
+      restricted privileges on Windows, so that they don't fail when run by
+      an administrator (Muhammad Asif Naeem)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve handling of <function>readdir()</> failures when scanning
+      directories in <application>initdb</> and <application>pg_basebackup</>
+      (Marco Nenciarini)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix slow sorting algorithm in <filename>contrib/intarray</> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix compile failure on Sparc V8 machines (Rob Rowan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Silence some build warnings on OS X (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2015d
+      for DST law changes in Egypt, Mongolia, and Palestine, plus historical
+      changes in Canada and Chile.  Also adopt revised zone abbreviations for
+      the America/Adak zone (HST/HDT not HAST/HADT).
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-3-6">
   <title>Release 9.3.6</title>
 
index c3d5ae7e87c603c9845f71c0c4f11accbdd812e0..274791ba5c09137f6c715bf17379a81279f08396 100644 (file)
@@ -127,7 +127,7 @@ Branch: REL9_1_STABLE [801e250a8] 2015-05-05 15:50:53 -0400
       default).  To adopt the fix in pre-9.5 branches, execute
       <literal>ALTER EXTENSION citext UPDATE TO '1.1'</> in each database in
       which <literal>citext</> is installed.  (You can also <quote>update</>
-      back to 1.0 if you need to undo that.)  Beware that either update
+      back to 1.0 if you need to undo that.)  Be aware that either update
       direction will require dropping and recreating any views or rules that
       use <filename>citext</>'s <function>regexp_matches()</> functions.
      </para>
@@ -539,11 +539,6 @@ Branch: REL9_0_STABLE [bd1cfde70] 2015-05-13 10:06:38 +0300
       Fix crash when manipulating hash indexes on temporary tables
       (Heikki Linnakangas)
      </para>
-
-     <para>
-      This fault was introduced in the previous set of minor releases
-      as a byproduct of a race-condition fix.
-     </para>
     </listitem>
 
 <!--
@@ -627,12 +622,8 @@ Branch: REL9_0_STABLE [71b8e8e6c] 2015-03-05 18:03:16 -0300
 
     <listitem>
      <para>
-      Improve object description strings for foreign-server user mappings
-      (&Aacute;lvaro Herrera)
-     </para>
-
-     <para>
-      Add the name of the target server, since otherwise it's ambiguous.
+      Add the name of the target server to object description strings for
+      foreign-server user mappings (&Aacute;lvaro Herrera)
      </para>
     </listitem>
 
@@ -787,7 +778,7 @@ Branch: REL9_0_STABLE [8878eaaa8] 2015-02-23 13:32:53 +0200
 
     <listitem>
      <para>
-      Guard against network deadlock when using <application>libpq</>'s
+      Reduce risk of network deadlock when using <application>libpq</>'s
       non-blocking mode (Heikki Linnakangas)
      </para>
 
@@ -1011,9 +1002,8 @@ Branch: REL9_3_STABLE [4e9935979] 2015-05-16 15:16:28 -0400
      </para>
 
      <para>
-      This avoids a scenario in which a server previously promoted from
-      standby status couldn't be upgraded because of a missing WAL history
-      file.
+      This change prevents upgrade failures caused by bogus complaints about
+      missing WAL history files.
      </para>
     </listitem>
 
@@ -1112,22 +1102,6 @@ Branch: REL9_1_STABLE [d7d294f59] 2015-02-17 11:08:40 -0500
      </para>
     </listitem>
 
-<!--
-Author: Andres Freund <andres@anarazel.de>
-Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100
--->
-
-    <listitem>
-     <para>
-      Fix failure in <application>pg_receivexlog</> (Andres Freund)
-     </para>
-
-     <para>
-      A patch merge mistake in 9.2.10 led to <quote>could not create archive
-      status file</> errors.
-     </para>
-    </listitem>
-
 <!--
 Author: Tom Lane <tgl@sss.pgh.pa.us>
 Branch: master [8d1f23900] 2015-03-15 23:22:03 -0400