]> granicus.if.org Git - postgresql/commitdiff
Release notes for 9.3.3, 9.2.7, 9.1.12, 9.0.16, 8.4.20.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 17 Feb 2014 03:08:28 +0000 (22:08 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 17 Feb 2014 03:08:28 +0000 (22:08 -0500)
doc/src/sgml/release-8.4.sgml
doc/src/sgml/release-9.0.sgml
doc/src/sgml/release-9.1.sgml
doc/src/sgml/release-9.2.sgml

index 57fd7670c4fd22f7ecb66113209e0adf10768e35..f6accba6cd7098f3037f5a08fe2fe4b203af5580 100644 (file)
@@ -1,6 +1,326 @@
 <!-- doc/src/sgml/release-8.4.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-8-4-20">
+  <title>Release 8.4.20</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2014-02-20</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 8.4.19.
+   For information about new features in the 8.4 major release, see
+   <xref linkend="release-8-4">.
+  </para>
+
+  <para>
+   The <productname>PostgreSQL</> community will stop releasing updates
+   for the 8.4.X release series in July 2014.
+   Users are encouraged to update to a newer release branch soon.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 8.4.20</title>
+
+   <para>
+    A dump/restore is not required for those running 8.4.X.
+   </para>
+
+   <para>
+    However, if you are upgrading from a version earlier than 8.4.19,
+    see <xref linkend="release-8-4-19">.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix possible mis-replay of WAL records when some segments of a
+      relation aren't full size (Greg Stark, Tom Lane)
+     </para>
+
+     <para>
+      The WAL update could be applied to the wrong page, potentially many
+      pages past where it should have been.  Aside from corrupting data,
+      this error has been observed to result in significant <quote>bloat</>
+      of standby servers compared to their masters, due to updates being
+      applied far beyond where the end-of-file should have been.  This
+      failure mode does not appear to be a significant risk during crash
+      recovery, only when initially synchronizing a standby created from a
+      base backup taken from a quickly-changing master.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that insertions into non-leaf GIN index pages write a full-page
+      WAL record when appropriate (Heikki Linnakangas)
+     </para>
+
+     <para>
+      The previous coding risked index corruption in the event of a
+      partial-page write during a system crash.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix race conditions during server process exit (Robert Haas)
+     </para>
+
+     <para>
+      Ensure that signal handlers don't attempt to use the
+      process's <varname>MyProc</> pointer after it's no longer valid.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix unsafe references to <varname>errno</> within error reporting
+      logic (Christian Kruse)
+     </para>
+
+     <para>
+      This would typically lead to odd behaviors such as missing or
+      inappropriate <literal>HINT</> fields.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible crashes from using <function>ereport()</> too early
+      during server startup (Tom Lane)
+     </para>
+
+     <para>
+      The principal case we've seen in the field is a crash if the server
+      is started in a directory it doesn't have permission to read.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Clear retry flags properly in OpenSSL socket write
+      function (Alexander Kukushkin)
+     </para>
+
+     <para>
+      This omission could result in a server lockup after unexpected loss
+      of an SSL-encrypted connection.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix length checking for Unicode identifiers (<literal>U&amp;"..."</>
+      syntax) containing escapes (Tom Lane)
+     </para>
+
+     <para>
+      A spurious truncation warning would be printed for such identifiers
+      if the escaped form of the identifier was too long, but the
+      identifier actually didn't need truncation after de-escaping.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible crash due to invalid plan for nested sub-selects, such
+      as <literal>WHERE (... x IN (SELECT ...) ...) IN (SELECT ...)</>
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that <command>ANALYZE</> creates statistics for a table column
+      even when all the values in it are <quote>too wide</> (Tom Lane)
+     </para>
+
+     <para>
+      <command>ANALYZE</> intentionally omits very wide values from its
+      histogram and most-common-values calculations, but it neglected to do
+      something sane in the case that all the sampled entries are too wide.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <literal>ALTER TABLE ... SET TABLESPACE</>, allow the database's
+      default tablespace to be used without a permissions check
+      (Stephen Frost)
+     </para>
+
+     <para>
+      <literal>CREATE TABLE</> has always allowed such usage,
+      but <literal>ALTER TABLE</> didn't get the memo.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <quote>cannot accept a set</> error when some arms of
+      a <literal>CASE</> return a set and others don't (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix checks for all-zero client addresses in pgstat functions (Kevin
+      Grittner)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible misclassification of multibyte characters by the text
+      search parser (Tom Lane)
+     </para>
+
+     <para>
+      Non-ASCII characters could be misclassified when using C locale with
+      a multibyte encoding.  On Cygwin, non-C locales could fail as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible misbehavior in <function>plainto_tsquery()</>
+      (Heikki Linnakangas)
+     </para>
+
+     <para>
+      Use <function>memmove()</> not <function>memcpy()</> for copying
+      overlapping memory regions.  There have been no field reports of
+      this actually causing trouble, but it's certainly risky.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Accept <literal>SHIFT_JIS</> as an encoding name for locale checking
+      purposes (Tatsuo Ishii)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misbehavior of <function>PQhost()</> on Windows (Fujii Masao)
+     </para>
+
+     <para>
+      It should return <literal>localhost</> if no host has been specified.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve error handling in <application>libpq</> and <application>psql</>
+      for failures during <literal>COPY TO STDOUT/FROM STDIN</> (Tom Lane)
+     </para>
+
+     <para>
+      In particular this fixes an infinite loop that could occur in 9.2 and
+      up if the server connection was lost during <literal>COPY FROM
+      STDIN</>.  Variants of that scenario might be possible in older
+      versions, or with other client applications.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misaligned descriptors in <application>ecpg</> (MauMau)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>ecpg</>, handle lack of a hostname in the connection
+      parameters properly (Michael Meskes)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix performance regression in <filename>contrib/dblink</> connection
+      startup (Joe Conway)
+     </para>
+
+     <para>
+      Avoid an unnecessary round trip when client and server encodings match.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <filename>contrib/isn</>, fix incorrect calculation of the check
+      digit for ISMN values (Fabien Coelho)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure client-code-only installation procedure works as documented
+      (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In Mingw and Cygwin builds, install the <application>libpq</> DLL
+      in the <filename>bin</> directory (Andrew Dunstan)
+     </para>
+
+     <para>
+      This duplicates what the MSVC build has long done.  It should fix
+      problems with programs like <application>psql</> failing to start
+      because they can't find the DLL.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't generate plain-text <filename>HISTORY</>
+      and <filename>src/test/regress/README</> files anymore (Tom Lane)
+     </para>
+
+     <para>
+      These text files duplicated the main HTML and PDF documentation
+      formats.  The trouble involved in maintaining them greatly outweighs
+      the likely audience for plain-text format.  Distribution tarballs
+      will still contain files by these names, but they'll just be stubs
+      directing the reader to consult the main documentation.
+      The plain-text <filename>INSTALL</> file will still be maintained, as
+      there is arguably a use-case for that.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2013i
+      for DST law changes in Jordan and historical changes in Cuba.
+     </para>
+
+     <para>
+      In addition, the zones <literal>Asia/Riyadh87</>,
+      <literal>Asia/Riyadh88</>, and <literal>Asia/Riyadh89</> have been
+      removed, as they are no longer maintained by IANA, and never
+      represented actual civil timekeeping practice.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-8-4-19">
   <title>Release 8.4.19</title>
 
index aab82fc44e0ea40175ea17bb1cf15193f5139254..8d75f8b16a8a8476c77cdce1c618da408619cefb 100644 (file)
@@ -1,6 +1,368 @@
 <!-- doc/src/sgml/release-9.0.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-0-16">
+  <title>Release 9.0.16</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2014-02-20</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 9.0.15.
+   For information about new features in the 9.0 major release, see
+   <xref linkend="release-9-0">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 9.0.16</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.15,
+    see <xref linkend="release-9-0-15">.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix possible mis-replay of WAL records when some segments of a
+      relation aren't full size (Greg Stark, Tom Lane)
+     </para>
+
+     <para>
+      The WAL update could be applied to the wrong page, potentially many
+      pages past where it should have been.  Aside from corrupting data,
+      this error has been observed to result in significant <quote>bloat</>
+      of standby servers compared to their masters, due to updates being
+      applied far beyond where the end-of-file should have been.  This
+      failure mode does not appear to be a significant risk during crash
+      recovery, only when initially synchronizing a standby created from a
+      base backup taken from a quickly-changing master.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix bug in determining when recovery has reached consistency
+      (Tomonari Katsumata, Heikki Linnakangas)
+     </para>
+
+     <para>
+      In some cases WAL replay would mistakenly conclude that the database
+      was already consistent at the start of replay, thus possibly allowing
+      hot-standby queries before the database was really consistent.  Other
+      symptoms such as <quote>PANIC: WAL contains references to invalid
+      pages</> were also possible.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix improper locking of btree index pages while replaying
+      a <literal>VACUUM</> operation in hot-standby mode (Andres Freund,
+      Heikki Linnakangas, Tom Lane)
+     </para>
+
+     <para>
+      This error could result in <quote>PANIC: WAL contains references to
+      invalid pages</> failures.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that insertions into non-leaf GIN index pages write a full-page
+      WAL record when appropriate (Heikki Linnakangas)
+     </para>
+
+     <para>
+      The previous coding risked index corruption in the event of a
+      partial-page write during a system crash.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix race conditions during server process exit (Robert Haas)
+     </para>
+
+     <para>
+      Ensure that signal handlers don't attempt to use the
+      process's <varname>MyProc</> pointer after it's no longer valid.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix unsafe references to <varname>errno</> within error reporting
+      logic (Christian Kruse)
+     </para>
+
+     <para>
+      This would typically lead to odd behaviors such as missing or
+      inappropriate <literal>HINT</> fields.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible crashes from using <function>ereport()</> too early
+      during server startup (Tom Lane)
+     </para>
+
+     <para>
+      The principal case we've seen in the field is a crash if the server
+      is started in a directory it doesn't have permission to read.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Clear retry flags properly in OpenSSL socket write
+      function (Alexander Kukushkin)
+     </para>
+
+     <para>
+      This omission could result in a server lockup after unexpected loss
+      of an SSL-encrypted connection.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix length checking for Unicode identifiers (<literal>U&amp;"..."</>
+      syntax) containing escapes (Tom Lane)
+     </para>
+
+     <para>
+      A spurious truncation warning would be printed for such identifiers
+      if the escaped form of the identifier was too long, but the
+      identifier actually didn't need truncation after de-escaping.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow keywords that are type names to be used in lists of roles
+      (Stephen Frost)
+     </para>
+
+     <para>
+      A previous patch allowed such keywords to be used without quoting
+      in places such as role identifiers; but it missed cases where a
+      list of role identifiers was permitted, such as <literal>DROP ROLE</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible crash due to invalid plan for nested sub-selects, such
+      as <literal>WHERE (... x IN (SELECT ...) ...) IN (SELECT ...)</>
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that <command>ANALYZE</> creates statistics for a table column
+      even when all the values in it are <quote>too wide</> (Tom Lane)
+     </para>
+
+     <para>
+      <command>ANALYZE</> intentionally omits very wide values from its
+      histogram and most-common-values calculations, but it neglected to do
+      something sane in the case that all the sampled entries are too wide.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <literal>ALTER TABLE ... SET TABLESPACE</>, allow the database's
+      default tablespace to be used without a permissions check
+      (Stephen Frost)
+     </para>
+
+     <para>
+      <literal>CREATE TABLE</> has always allowed such usage,
+      but <literal>ALTER TABLE</> didn't get the memo.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <quote>cannot accept a set</> error when some arms of
+      a <literal>CASE</> return a set and others don't (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix checks for all-zero client addresses in pgstat functions (Kevin
+      Grittner)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible misclassification of multibyte characters by the text
+      search parser (Tom Lane)
+     </para>
+
+     <para>
+      Non-ASCII characters could be misclassified when using C locale with
+      a multibyte encoding.  On Cygwin, non-C locales could fail as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible misbehavior in <function>plainto_tsquery()</>
+      (Heikki Linnakangas)
+     </para>
+
+     <para>
+      Use <function>memmove()</> not <function>memcpy()</> for copying
+      overlapping memory regions.  There have been no field reports of
+      this actually causing trouble, but it's certainly risky.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Accept <literal>SHIFT_JIS</> as an encoding name for locale checking
+      purposes (Tatsuo Ishii)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misbehavior of <function>PQhost()</> on Windows (Fujii Masao)
+     </para>
+
+     <para>
+      It should return <literal>localhost</> if no host has been specified.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve error handling in <application>libpq</> and <application>psql</>
+      for failures during <literal>COPY TO STDOUT/FROM STDIN</> (Tom Lane)
+     </para>
+
+     <para>
+      In particular this fixes an infinite loop that could occur in 9.2 and
+      up if the server connection was lost during <literal>COPY FROM
+      STDIN</>.  Variants of that scenario might be possible in older
+      versions, or with other client applications.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misaligned descriptors in <application>ecpg</> (MauMau)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>ecpg</>, handle lack of a hostname in the connection
+      parameters properly (Michael Meskes)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix performance regression in <filename>contrib/dblink</> connection
+      startup (Joe Conway)
+     </para>
+
+     <para>
+      Avoid an unnecessary round trip when client and server encodings match.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <filename>contrib/isn</>, fix incorrect calculation of the check
+      digit for ISMN values (Fabien Coelho)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure client-code-only installation procedure works as documented
+      (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In Mingw and Cygwin builds, install the <application>libpq</> DLL
+      in the <filename>bin</> directory (Andrew Dunstan)
+     </para>
+
+     <para>
+      This duplicates what the MSVC build has long done.  It should fix
+      problems with programs like <application>psql</> failing to start
+      because they can't find the DLL.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid using the deprecated <literal>dllwrap</> tool in Cygwin builds
+      (Marco Atzeri)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't generate plain-text <filename>HISTORY</>
+      and <filename>src/test/regress/README</> files anymore (Tom Lane)
+     </para>
+
+     <para>
+      These text files duplicated the main HTML and PDF documentation
+      formats.  The trouble involved in maintaining them greatly outweighs
+      the likely audience for plain-text format.  Distribution tarballs
+      will still contain files by these names, but they'll just be stubs
+      directing the reader to consult the main documentation.
+      The plain-text <filename>INSTALL</> file will still be maintained, as
+      there is arguably a use-case for that.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2013i
+      for DST law changes in Jordan and historical changes in Cuba.
+     </para>
+
+     <para>
+      In addition, the zones <literal>Asia/Riyadh87</>,
+      <literal>Asia/Riyadh88</>, and <literal>Asia/Riyadh89</> have been
+      removed, as they are no longer maintained by IANA, and never
+      represented actual civil timekeeping practice.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-0-15">
   <title>Release 9.0.15</title>
 
index b94486fd08fe79956e7c02cbe5331b53bce9c081..310e7e28589902c8e894eff8933c54877030dd70 100644 (file)
@@ -1,6 +1,417 @@
 <!-- doc/src/sgml/release-9.1.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-1-12">
+  <title>Release 9.1.12</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2014-02-20</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 9.1.11.
+   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.12</title>
+
+   <para>
+    A dump/restore is not required for those running 9.1.X.
+   </para>
+
+   <para>
+    However, if you are upgrading from a version earlier than 9.1.11,
+    see <xref linkend="release-9-1-11">.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix possible mis-replay of WAL records when some segments of a
+      relation aren't full size (Greg Stark, Tom Lane)
+     </para>
+
+     <para>
+      The WAL update could be applied to the wrong page, potentially many
+      pages past where it should have been.  Aside from corrupting data,
+      this error has been observed to result in significant <quote>bloat</>
+      of standby servers compared to their masters, due to updates being
+      applied far beyond where the end-of-file should have been.  This
+      failure mode does not appear to be a significant risk during crash
+      recovery, only when initially synchronizing a standby created from a
+      base backup taken from a quickly-changing master.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix bug in determining when recovery has reached consistency
+      (Tomonari Katsumata, Heikki Linnakangas)
+     </para>
+
+     <para>
+      In some cases WAL replay would mistakenly conclude that the database
+      was already consistent at the start of replay, thus possibly allowing
+      hot-standby queries before the database was really consistent.  Other
+      symptoms such as <quote>PANIC: WAL contains references to invalid
+      pages</> were also possible.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix improper locking of btree index pages while replaying
+      a <literal>VACUUM</> operation in hot-standby mode (Andres Freund,
+      Heikki Linnakangas, Tom Lane)
+     </para>
+
+     <para>
+      This error could result in <quote>PANIC: WAL contains references to
+      invalid pages</> failures.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that insertions into non-leaf GIN index pages write a full-page
+      WAL record when appropriate (Heikki Linnakangas)
+     </para>
+
+     <para>
+      The previous coding risked index corruption in the event of a
+      partial-page write during a system crash.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      When <literal>pause_at_recovery_target</>
+      and <literal>recovery_target_inclusive</> are both set, ensure the
+      target record is applied before pausing, not after (Heikki
+      Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix race conditions during server process exit (Robert Haas)
+     </para>
+
+     <para>
+      Ensure that signal handlers don't attempt to use the
+      process's <varname>MyProc</> pointer after it's no longer valid.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix race conditions in walsender shutdown logic and walreceiver
+      SIGHUP signal handler (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix unsafe references to <varname>errno</> within error reporting
+      logic (Christian Kruse)
+     </para>
+
+     <para>
+      This would typically lead to odd behaviors such as missing or
+      inappropriate <literal>HINT</> fields.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible crashes from using <function>ereport()</> too early
+      during server startup (Tom Lane)
+     </para>
+
+     <para>
+      The principal case we've seen in the field is a crash if the server
+      is started in a directory it doesn't have permission to read.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Clear retry flags properly in OpenSSL socket write
+      function (Alexander Kukushkin)
+     </para>
+
+     <para>
+      This omission could result in a server lockup after unexpected loss
+      of an SSL-encrypted connection.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix length checking for Unicode identifiers (<literal>U&amp;"..."</>
+      syntax) containing escapes (Tom Lane)
+     </para>
+
+     <para>
+      A spurious truncation warning would be printed for such identifiers
+      if the escaped form of the identifier was too long, but the
+      identifier actually didn't need truncation after de-escaping.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow keywords that are type names to be used in lists of roles
+      (Stephen Frost)
+     </para>
+
+     <para>
+      A previous patch allowed such keywords to be used without quoting
+      in places such as role identifiers; but it missed cases where a
+      list of role identifiers was permitted, such as <literal>DROP ROLE</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix parser crash for <literal>EXISTS(SELECT * FROM
+      zero_column_table)</literal> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible crash due to invalid plan for nested sub-selects, such
+      as <literal>WHERE (... x IN (SELECT ...) ...) IN (SELECT ...)</>
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that <command>ANALYZE</> creates statistics for a table column
+      even when all the values in it are <quote>too wide</> (Tom Lane)
+     </para>
+
+     <para>
+      <command>ANALYZE</> intentionally omits very wide values from its
+      histogram and most-common-values calculations, but it neglected to do
+      something sane in the case that all the sampled entries are too wide.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <literal>ALTER TABLE ... SET TABLESPACE</>, allow the database's
+      default tablespace to be used without a permissions check
+      (Stephen Frost)
+     </para>
+
+     <para>
+      <literal>CREATE TABLE</> has always allowed such usage,
+      but <literal>ALTER TABLE</> didn't get the memo.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <quote>cannot accept a set</> error when some arms of
+      a <literal>CASE</> return a set and others don't (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix checks for all-zero client addresses in pgstat functions (Kevin
+      Grittner)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible misclassification of multibyte characters by the text
+      search parser (Tom Lane)
+     </para>
+
+     <para>
+      Non-ASCII characters could be misclassified when using C locale with
+      a multibyte encoding.  On Cygwin, non-C locales could fail as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible misbehavior in <function>plainto_tsquery()</>
+      (Heikki Linnakangas)
+     </para>
+
+     <para>
+      Use <function>memmove()</> not <function>memcpy()</> for copying
+      overlapping memory regions.  There have been no field reports of
+      this actually causing trouble, but it's certainly risky.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix placement of permissions checks in <function>pg_start_backup()</>
+      and <function>pg_stop_backup()</> (Andres Freund, Magnus Hagander)
+     </para>
+
+     <para>
+      The previous coding might attempt to do catalog access when it
+      shouldn't.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Accept <literal>SHIFT_JIS</> as an encoding name for locale checking
+      purposes (Tatsuo Ishii)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misbehavior of <function>PQhost()</> on Windows (Fujii Masao)
+     </para>
+
+     <para>
+      It should return <literal>localhost</> if no host has been specified.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve error handling in <application>libpq</> and <application>psql</>
+      for failures during <literal>COPY TO STDOUT/FROM STDIN</> (Tom Lane)
+     </para>
+
+     <para>
+      In particular this fixes an infinite loop that could occur in 9.2 and
+      up if the server connection was lost during <literal>COPY FROM
+      STDIN</>.  Variants of that scenario might be possible in older
+      versions, or with other client applications.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible incorrect printing of filenames
+      in <application>pg_basebackup</>'s verbose mode (Magnus Hagander)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid including tablespaces inside PGDATA twice in base backups
+      (Dimitri Fontaine, Magnus Hagander)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misaligned descriptors in <application>ecpg</> (MauMau)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>ecpg</>, handle lack of a hostname in the connection
+      parameters properly (Michael Meskes)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix performance regression in <filename>contrib/dblink</> connection
+      startup (Joe Conway)
+     </para>
+
+     <para>
+      Avoid an unnecessary round trip when client and server encodings match.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <filename>contrib/isn</>, fix incorrect calculation of the check
+      digit for ISMN values (Fabien Coelho)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure client-code-only installation procedure works as documented
+      (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In Mingw and Cygwin builds, install the <application>libpq</> DLL
+      in the <filename>bin</> directory (Andrew Dunstan)
+     </para>
+
+     <para>
+      This duplicates what the MSVC build has long done.  It should fix
+      problems with programs like <application>psql</> failing to start
+      because they can't find the DLL.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid using the deprecated <literal>dllwrap</> tool in Cygwin builds
+      (Marco Atzeri)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't generate plain-text <filename>HISTORY</>
+      and <filename>src/test/regress/README</> files anymore (Tom Lane)
+     </para>
+
+     <para>
+      These text files duplicated the main HTML and PDF documentation
+      formats.  The trouble involved in maintaining them greatly outweighs
+      the likely audience for plain-text format.  Distribution tarballs
+      will still contain files by these names, but they'll just be stubs
+      directing the reader to consult the main documentation.
+      The plain-text <filename>INSTALL</> file will still be maintained, as
+      there is arguably a use-case for that.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2013i
+      for DST law changes in Jordan and historical changes in Cuba.
+     </para>
+
+     <para>
+      In addition, the zones <literal>Asia/Riyadh87</>,
+      <literal>Asia/Riyadh88</>, and <literal>Asia/Riyadh89</> have been
+      removed, as they are no longer maintained by IANA, and never
+      represented actual civil timekeeping practice.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-1-11">
   <title>Release 9.1.11</title>
 
index 68fcc585bc202eeba9a1fe18b1fd050f864cd9b0..33e2a4e81058d24931ec2c192d615f01d7def51b 100644 (file)
@@ -1,6 +1,477 @@
 <!-- doc/src/sgml/release-9.2.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-2-7">
+  <title>Release 9.2.7</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2014-02-20</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 9.2.6.
+   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.7</title>
+
+   <para>
+    A dump/restore is not required for those running 9.2.X.
+   </para>
+
+   <para>
+    However, if you are upgrading from a version earlier than 9.2.6,
+    see <xref linkend="release-9-2-6">.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix possible mis-replay of WAL records when some segments of a
+      relation aren't full size (Greg Stark, Tom Lane)
+     </para>
+
+     <para>
+      The WAL update could be applied to the wrong page, potentially many
+      pages past where it should have been.  Aside from corrupting data,
+      this error has been observed to result in significant <quote>bloat</>
+      of standby servers compared to their masters, due to updates being
+      applied far beyond where the end-of-file should have been.  This
+      failure mode does not appear to be a significant risk during crash
+      recovery, only when initially synchronizing a standby created from a
+      base backup taken from a quickly-changing master.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix bug in determining when recovery has reached consistency
+      (Tomonari Katsumata, Heikki Linnakangas)
+     </para>
+
+     <para>
+      In some cases WAL replay would mistakenly conclude that the database
+      was already consistent at the start of replay, thus possibly allowing
+      hot-standby queries before the database was really consistent.  Other
+      symptoms such as <quote>PANIC: WAL contains references to invalid
+      pages</> were also possible.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix improper locking of btree index pages while replaying
+      a <literal>VACUUM</> operation in hot-standby mode (Andres Freund,
+      Heikki Linnakangas, Tom Lane)
+     </para>
+
+     <para>
+      This error could result in <quote>PANIC: WAL contains references to
+      invalid pages</> failures.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that insertions into non-leaf GIN index pages write a full-page
+      WAL record when appropriate (Heikki Linnakangas)
+     </para>
+
+     <para>
+      The previous coding risked index corruption in the event of a
+      partial-page write during a system crash.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      When <literal>pause_at_recovery_target</>
+      and <literal>recovery_target_inclusive</> are both set, ensure the
+      target record is applied before pausing, not after (Heikki
+      Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix race conditions during server process exit (Robert Haas)
+     </para>
+
+     <para>
+      Ensure that signal handlers don't attempt to use the
+      process's <varname>MyProc</> pointer after it's no longer valid.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix race conditions in walsender shutdown logic and walreceiver
+      SIGHUP signal handler (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix unsafe references to <varname>errno</> within error reporting
+      logic (Christian Kruse)
+     </para>
+
+     <para>
+      This would typically lead to odd behaviors such as missing or
+      inappropriate <literal>HINT</> fields.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible crashes from using <function>ereport()</> too early
+      during server startup (Tom Lane)
+     </para>
+
+     <para>
+      The principal case we've seen in the field is a crash if the server
+      is started in a directory it doesn't have permission to read.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Clear retry flags properly in OpenSSL socket write
+      function (Alexander Kukushkin)
+     </para>
+
+     <para>
+      This omission could result in a server lockup after unexpected loss
+      of an SSL-encrypted connection.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix length checking for Unicode identifiers (<literal>U&amp;"..."</>
+      syntax) containing escapes (Tom Lane)
+     </para>
+
+     <para>
+      A spurious truncation warning would be printed for such identifiers
+      if the escaped form of the identifier was too long, but the
+      identifier actually didn't need truncation after de-escaping.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow keywords that are type names to be used in lists of roles
+      (Stephen Frost)
+     </para>
+
+     <para>
+      A previous patch allowed such keywords to be used without quoting
+      in places such as role identifiers; but it missed cases where a
+      list of role identifiers was permitted, such as <literal>DROP ROLE</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix parser crash for <literal>EXISTS(SELECT * FROM
+      zero_column_table)</literal> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible crash due to invalid plan for nested sub-selects, such
+      as <literal>WHERE (... x IN (SELECT ...) ...) IN (SELECT ...)</>
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <literal>UPDATE/DELETE</> of an inherited target table
+      that has <literal>UNION ALL</> subqueries (Tom Lane)
+     </para>
+
+     <para>
+      Without this fix, <literal>UNION ALL</> subqueries aren't correctly
+      inserted into the update plans for inheritance child tables after the
+      first one, typically resulting in no update happening for those child
+      table(s).
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that <command>ANALYZE</> creates statistics for a table column
+      even when all the values in it are <quote>too wide</> (Tom Lane)
+     </para>
+
+     <para>
+      <command>ANALYZE</> intentionally omits very wide values from its
+      histogram and most-common-values calculations, but it neglected to do
+      something sane in the case that all the sampled entries are too wide.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <literal>ALTER TABLE ... SET TABLESPACE</>, allow the database's
+      default tablespace to be used without a permissions check
+      (Stephen Frost)
+     </para>
+
+     <para>
+      <literal>CREATE TABLE</> has always allowed such usage,
+      but <literal>ALTER TABLE</> didn't get the memo.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <quote>cannot accept a set</> error when some arms of
+      a <literal>CASE</> return a set and others don't (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Properly distinguish numbers from non-numbers when generating JSON
+      output (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix checks for all-zero client addresses in pgstat functions (Kevin
+      Grittner)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible misclassification of multibyte characters by the text
+      search parser (Tom Lane)
+     </para>
+
+     <para>
+      Non-ASCII characters could be misclassified when using C locale with
+      a multibyte encoding.  On Cygwin, non-C locales could fail as well.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible misbehavior in <function>plainto_tsquery()</>
+      (Heikki Linnakangas)
+     </para>
+
+     <para>
+      Use <function>memmove()</> not <function>memcpy()</> for copying
+      overlapping memory regions.  There have been no field reports of
+      this actually causing trouble, but it's certainly risky.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix placement of permissions checks in <function>pg_start_backup()</>
+      and <function>pg_stop_backup()</> (Andres Freund, Magnus Hagander)
+     </para>
+
+     <para>
+      The previous coding might attempt to do catalog access when it
+      shouldn't.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Accept <literal>SHIFT_JIS</> as an encoding name for locale checking
+      purposes (Tatsuo Ishii)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <literal>*</>-qualification of named parameters in SQL-language
+      functions (Tom Lane)
+     </para>
+
+     <para>
+      Given a composite-type parameter
+      named <literal>foo</>, <literal>$1.*</> worked fine,
+      but <literal>foo.*</> not so much.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misbehavior of <function>PQhost()</> on Windows (Fujii Masao)
+     </para>
+
+     <para>
+      It should return <literal>localhost</> if no host has been specified.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve error handling in <application>libpq</> and <application>psql</>
+      for failures during <literal>COPY TO STDOUT/FROM STDIN</> (Tom Lane)
+     </para>
+
+     <para>
+      In particular this fixes an infinite loop that could occur in 9.2 and
+      up if the server connection was lost during <literal>COPY FROM
+      STDIN</>.  Variants of that scenario might be possible in older
+      versions, or with other client applications.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect translation handling in
+      some <application>psql</> <literal>\d</> commands
+      (Peter Eisentraut, Tom Lane)
+     </para>
+
+     <para>
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure <application>pg_basebackup</>'s background process is killed
+      when exiting its foreground process (Magnus Hagander)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible incorrect printing of filenames
+      in <application>pg_basebackup</>'s verbose mode (Magnus Hagander)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid including tablespaces inside PGDATA twice in base backups
+      (Dimitri Fontaine, Magnus Hagander)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix misaligned descriptors in <application>ecpg</> (MauMau)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>ecpg</>, handle lack of a hostname in the connection
+      parameters properly (Michael Meskes)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix performance regression in <filename>contrib/dblink</> connection
+      startup (Joe Conway)
+     </para>
+
+     <para>
+      Avoid an unnecessary round trip when client and server encodings match.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <filename>contrib/isn</>, fix incorrect calculation of the check
+      digit for ISMN values (Fabien Coelho)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <filename>contrib/pg_stat_statement</>'s handling
+      of <literal>CURRENT_DATE</> and related constructs (Kyotaro
+      Horiguchi)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure client-code-only installation procedure works as documented
+      (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In Mingw and Cygwin builds, install the <application>libpq</> DLL
+      in the <filename>bin</> directory (Andrew Dunstan)
+     </para>
+
+     <para>
+      This duplicates what the MSVC build has long done.  It should fix
+      problems with programs like <application>psql</> failing to start
+      because they can't find the DLL.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid using the deprecated <literal>dllwrap</> tool in Cygwin builds
+      (Marco Atzeri)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't generate plain-text <filename>HISTORY</>
+      and <filename>src/test/regress/README</> files anymore (Tom Lane)
+     </para>
+
+     <para>
+      These text files duplicated the main HTML and PDF documentation
+      formats.  The trouble involved in maintaining them greatly outweighs
+      the likely audience for plain-text format.  Distribution tarballs
+      will still contain files by these names, but they'll just be stubs
+      directing the reader to consult the main documentation.
+      The plain-text <filename>INSTALL</> file will still be maintained, as
+      there is arguably a use-case for that.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2013i
+      for DST law changes in Jordan and historical changes in Cuba.
+     </para>
+
+     <para>
+      In addition, the zones <literal>Asia/Riyadh87</>,
+      <literal>Asia/Riyadh88</>, and <literal>Asia/Riyadh89</> have been
+      removed, as they are no longer maintained by IANA, and never
+      represented actual civil timekeeping practice.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-2-6">
   <title>Release 9.2.6</title>