<!-- 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&"..."</>
+ 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>
<!-- 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&"..."</>
+ 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>
<!-- 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&"..."</>
+ 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>
<!-- 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&"..."</>
+ 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>
<!-- doc/src/sgml/release-9.3.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-9-3-3">
+ <title>Release 9.3.3</title>
+
+ <note>
+ <title>Release Date</title>
+ <simpara>2014-02-20</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 9.3.2.
+ 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.3</title>
+
+ <para>
+ A dump/restore is not required for those running 9.3.X.
+ </para>
+
+ <para>
+ However, several of the issues corrected in this release could have
+ resulted in corruption of foreign-key constraints; that is, there
+ might now be referencing rows for which there is no matching row in
+ the referenced table. It may be worthwhile to recheck such
+ constraints after installing this update. The simplest way to do that
+ is to drop and recreate each suspect constraint; however, that will
+ require taking an exclusive lock on both tables, so it is unlikely to
+ be acceptable in production databases. Alternatively, you can do a
+ manual join query between the two tables to look for unmatched rows.
+ </para>
+
+ <para>
+ Note also the requirement for replication standby servers to be
+ upgraded before their master server is upgraded.
+ </para>
+
+ <para>
+ Also, if you are upgrading from a version earlier than 9.3.2,
+ see <xref linkend="release-9-3-2">.
+ </para>
+
+ </sect2>
+
+ <sect2>
+ <title>Changes</title>
+
+ <itemizedlist>
+
+<!--
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+Branch: master [3b97e6823] 2013-12-16 11:29:50 -0300
+Branch: REL9_3_STABLE [8e9a16ab8] 2013-12-16 11:29:51 -0300
+-->
+
+ <listitem>
+ <para>
+ Rework tuple freezing protocol
+ (Álvaro Herrera, Andres Freund)
+ </para>
+
+ <para>
+ The method for tuple freezing was unable to handle some cases
+ involving freezing of <quote>multixact</> IDs, with the practical
+ effect that shared row-level locks might be forgotten once old enough.
+ </para>
+
+ <para>
+ Fixing this required changing the WAL record format for tuple
+ freezing. While this is no issue for standalone servers, when using
+ replication it means that <emphasis>standby servers must be upgraded
+ to 9.3.3 or later before their masters are</>. An older standby will
+ be unable to interpret freeze records generated by a newer master, and
+ will fail with a PANIC message. (In such a case, upgrading the
+ standby should be sufficient to let it resume execution.)
+ </para>
+ </listitem>
+
+<!--
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+Branch: master [801c2dc72] 2014-02-13 19:36:31 -0300
+Branch: REL9_3_STABLE [fb47de2be] 2014-02-13 19:30:30 -0300
+-->
+
+ <listitem>
+ <para>
+ Create separate GUC parameters to control multixact freezing
+ (Álvaro Herrera)
+ </para>
+
+ <para>
+ 9.3 requires multixact tuple labels to be frozen before
+ they grow too old, in the same fashion as plain transaction ID labels
+ have been frozen for some time. Previously, the transaction ID
+ freezing parameters were used for multixact IDs too; but since
+ the consumption rates of transaction IDs and multixact IDs can be
+ quite different, this did not work very well. Introduce new settings
+ <xref linkend="guc-vacuum-multixact-freeze-min-age">,
+ <xref linkend="guc-vacuum-multixact-freeze-table-age">, and
+ <xref linkend="guc-autovacuum-multixact-freeze-max-age">
+ to control when to freeze multixacts.
+ </para>
+ </listitem>
+
+<!--
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+Branch: master [11ac4c73c] 2013-12-18 13:45:51 -0300
+Branch: REL9_3_STABLE [db1014bc4] 2013-12-18 13:31:27 -0300
+-->
+
+ <listitem>
+ <para>
+ Account for remote row locks propagated by local updates
+ (Álvaro Herrera)
+ </para>
+
+ <para>
+ If a row was locked by transaction A, and transaction B updated it,
+ the new version of the row created by B would be locked by A, yet
+ visible only to B. If transaction B then again updated the row, A's
+ lock wouldn't get checked, thus possibly allowing B to complete when
+ it shouldn't. This case is new in 9.3 since prior versions did not
+ have any types of row locking that would permit another transaction
+ to update the row at all.
+ </para>
+
+ <para>
+ This oversight could allow referential integrity checks to give false
+ positives (for instance, allow deletes that should have been rejected).
+ Applications using the new commands <literal>SELECT FOR KEY SHARE</>
+ and <literal>SELECT FOR NO KEY UPDATE</> might also have suffered
+ locking failures of this kind.
+ </para>
+ </listitem>
+
+<!--
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+Branch: master [07aeb1fec] 2013-12-05 12:21:55 -0300
+Branch: REL9_3_STABLE [c6cd27e36] 2013-12-05 12:21:55 -0300
+-->
+
+ <listitem>
+ <para>
+ Prevent <quote>forgetting</> valid row locks when one of several
+ holders of a row lock aborts (Álvaro Herrera)
+ </para>
+
+ <para>
+ This was yet another mechanism by which a shared row lock could be
+ lost, thus possibly allowing updates that should have been prevented
+ by foreign-key constraints.
+ </para>
+ </listitem>
+
+<!--
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+Branch: master [312bde3d4] 2013-12-05 17:47:51 -0300
+Branch: REL9_3_STABLE [2dcc48c35] 2013-12-05 17:47:51 -0300
+-->
+
+ <listitem>
+ <para>
+ Fix incorrect logic during update chain locking
+ (Álvaro Herrera)
+ </para>
+
+ <para>
+ This mistake could result in spurious <quote>could not serialize access
+ due to concurrent update</> errors in <literal>REPEATABLE READ</>
+ and <literal>SERIALIZABLE</> transaction isolation modes.
+ </para>
+ </listitem>
+
+<!--
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+Branch: master [a50d97625] 2014-01-02 18:17:07 -0300
+Branch: REL9_3_STABLE [03db79459] 2014-01-02 18:17:07 -0300
+-->
+
+ <listitem>
+ <para>
+ Handle wraparound correctly during extension or truncation
+ of <filename>pg_multixact/members</>
+ (Andres Freund, Álvaro Herrera)
+ </para>
+ </listitem>
+
+<!--
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+Branch: master [638cf09e7] 2014-01-02 18:17:29 -0300
+Branch: REL9_3_STABLE [948a3dfbb] 2014-01-02 18:17:29 -0300
+-->
+
+ <listitem>
+ <para>
+ Fix handling of 5-digit filenames in <filename>pg_multixact/members</>
+ (Álvaro Herrera)
+ </para>
+
+ <para>
+ As of 9.3, these names can be more than 4 digits, but the directory
+ cleanup code ignored such files.
+ </para>
+ </listitem>
+
+<!--
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+Branch: master [d881dd623] 2013-12-13 17:16:25 -0300
+Branch: REL9_3_STABLE [0bc00363b] 2013-12-13 17:16:25 -0300
+-->
+
+ <listitem>
+ <para>
+ Improve performance of multixact cache code
+ (Álvaro Herrera)
+ </para>
+ </listitem>
+
+<!--
+Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
+Branch: master [13aa62443] 2013-12-19 16:53:49 -0300
+Branch: REL9_3_STABLE [85d3b3c3a] 2013-12-19 16:39:59 -0300
+-->
+
+ <listitem>
+ <para>
+ Optimize updating a row that's already locked by the same transaction
+ (Andres Freund, Álvaro Herrera)
+ </para>
+
+ <para>
+ This fixes a performance regression from pre-9.3 versions when doing
+ <literal>SELECT FOR UPDATE</> followed by <literal>UPDATE/DELETE</>.
+ </para>
+ </listitem>
+
+<!--
+Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
+Branch: master [4d894b41c] 2014-02-14 15:15:09 +0200
+Branch: REL9_3_STABLE [762bd379a] 2014-02-14 15:18:34 +0200
+-->
+
+ <listitem>
+ <para>
+ During archive recovery, prefer highest timeline number when WAL
+ segments with the same ID are present in both the archive
+ and <filename>pg_xlog/</> (Kyotaro Horiguchi)
+ </para>
+
+ <para>
+ Previously, not-yet-archived segments could get ignored during
+ recovery. This reverts an undesirable behavioral change in 9.3.0
+ back to the way things worked pre-9.3.
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [6f2aead1f] 2014-02-12 14:52:16 -0500
+Branch: REL9_3_STABLE [7190f7a34] 2014-02-12 14:52:20 -0500
+Branch: REL9_2_STABLE [bc7ab301a] 2014-02-12 14:52:23 -0500
+Branch: REL9_1_STABLE [a69cc9b2c] 2014-02-12 14:52:26 -0500
+Branch: REL9_0_STABLE [7fedd79b7] 2014-02-12 14:52:29 -0500
+Branch: REL8_4_STABLE [9620fede9] 2014-02-12 14:52:32 -0500
+-->
+
+ <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>
+
+<!--
+Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
+Branch: master [d59ff6c11] 2014-01-08 15:03:09 +0200
+Branch: REL9_3_STABLE [425bef6ee] 2014-01-08 14:32:22 +0200
+Branch: REL9_2_STABLE [82c75f9dd] 2014-01-08 14:28:55 +0200
+Branch: REL9_1_STABLE [e56430c62] 2014-01-08 14:33:58 +0200
+Branch: REL9_0_STABLE [5301c8395] 2014-01-08 14:34:21 +0200
+-->
+
+ <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>
+
+<!--
+Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
+Branch: master [a49633d8d] 2013-12-13 14:15:04 +0200
+Branch: REL9_3_STABLE [615299cf6] 2013-12-13 14:23:02 +0200
+-->
+
+ <listitem>
+ <para>
+ Fix WAL logging of visibility map changes (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [061b079f8] 2014-01-14 17:35:21 -0500
+Branch: REL9_3_STABLE [ebde6c401] 2014-01-14 17:34:51 -0500
+Branch: REL9_2_STABLE [ad2e041a3] 2014-01-14 17:34:54 -0500
+Branch: REL9_1_STABLE [ab4bb5c47] 2014-01-14 17:34:57 -0500
+Branch: REL9_0_STABLE [5d742b9ce] 2014-01-14 17:35:00 -0500
+-->
+
+ <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>
+
+<!--
+Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
+Branch: master [22122c83f] 2013-12-03 23:16:01 +0200
+Branch: REL9_3_STABLE [8fd04cb32] 2013-12-03 22:13:16 +0200
+Branch: REL9_2_STABLE [06df57ac6] 2013-12-03 22:34:31 +0200
+Branch: REL9_1_STABLE [e6acb956a] 2013-12-03 22:34:43 +0200
+Branch: REL9_0_STABLE [760606dc5] 2013-12-03 23:01:31 +0200
+Branch: REL8_4_STABLE [67fc33d3a] 2013-12-03 22:53:26 +0200
+-->
+
+ <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>
+
+<!--
+Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
+Branch: master [3739e5ab9] 2014-01-08 23:28:52 +0200
+Branch: REL9_3_STABLE [3aefff422] 2014-01-08 23:30:46 +0200
+Branch: REL9_2_STABLE [3bd8987ef] 2014-01-08 23:30:55 +0200
+Branch: REL9_1_STABLE [0402f2441] 2014-01-08 23:31:01 +0200
+-->
+
+ <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>
+
+<!--
+Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
+Branch: master [a472ae1e4] 2014-01-16 23:15:41 +0200
+Branch: REL9_3_STABLE [e34acac62] 2014-01-16 23:14:57 +0200
+-->
+
+ <listitem>
+ <para>
+ Ensure walreceiver sends hot-standby feedback messages on time even
+ when there is a continuous stream of data (Andres Freund, Amit
+ Kapila)
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [e8312b4f0] 2013-12-13 11:50:15 -0500
+Branch: REL9_3_STABLE [478af9b79] 2013-12-13 11:50:25 -0500
+-->
+
+ <listitem>
+ <para>
+ Prevent timeout interrupts from taking control away from mainline
+ code unless <varname>ImmediateInterruptOK</> is set
+ (Andres Freund, Tom Lane)
+ </para>
+
+ <para>
+ This is a serious issue for any application making use of statement
+ timeouts, as it could cause all manner of strange failures after a
+ timeout occurred. We have seen reports of <quote>stuck</> spinlocks,
+ ERRORs being unexpectedly promoted to PANICs, unkillable backends,
+ and other misbehaviors.
+ </para>
+ </listitem>
+
+<!--
+Author: Robert Haas <rhaas@postgresql.org>
+Branch: master [d1981719a] 2014-01-31 21:31:08 -0500
+Branch: REL9_3_STABLE [5d807a74b] 2014-01-31 21:34:44 -0500
+Branch: REL9_2_STABLE [ebe334463] 2014-01-31 21:35:32 -0500
+Branch: REL9_1_STABLE [8e6bfc9eb] 2014-01-31 21:36:23 -0500
+Branch: REL9_0_STABLE [798243a81] 2014-01-31 21:40:20 -0500
+Branch: REL8_4_STABLE [458b20f2d] 2014-01-31 21:41:09 -0500
+-->
+
+ <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>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [214c7a4f0] 2014-02-01 16:21:23 -0500
+Branch: REL9_3_STABLE [6f1a40773] 2014-02-01 16:21:30 -0500
+Branch: REL9_2_STABLE [81b116d98] 2014-02-01 16:21:33 -0500
+Branch: REL9_1_STABLE [03f06ff38] 2014-02-01 16:21:38 -0500
+-->
+
+ <listitem>
+ <para>
+ Fix race conditions in walsender shutdown logic and walreceiver
+ SIGHUP signal handler (Tom Lane)
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [571addd72] 2014-01-29 20:04:43 -0500
+Branch: REL9_3_STABLE [bf8ee6f15] 2014-01-29 20:04:01 -0500
+Branch: REL9_2_STABLE [3e71ce1e9] 2014-01-29 20:04:05 -0500
+Branch: REL9_1_STABLE [af259c691] 2014-01-29 20:04:08 -0500
+Branch: REL9_0_STABLE [d17a667e8] 2014-01-29 20:04:11 -0500
+Branch: REL8_4_STABLE [01b882fd8] 2014-01-29 20:04:14 -0500
+-->
+
+ <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>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [910bac595] 2014-01-11 16:36:07 -0500
+Branch: REL9_3_STABLE [5bfcc9ec5] 2014-01-11 16:35:30 -0500
+Branch: REL9_2_STABLE [2de905186] 2014-01-11 16:35:34 -0500
+Branch: REL9_1_STABLE [3f721588a] 2014-01-11 16:35:37 -0500
+Branch: REL9_0_STABLE [d9c4442b8] 2014-01-11 16:35:41 -0500
+Branch: REL8_4_STABLE [d0070ac81] 2014-01-11 16:35:44 -0500
+-->
+
+ <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>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [74242c23c] 2013-12-05 12:48:28 -0500
+Branch: REL9_3_STABLE [2a6e1a554] 2013-12-05 12:48:31 -0500
+Branch: REL9_2_STABLE [41042970b] 2013-12-05 12:48:35 -0500
+Branch: REL9_1_STABLE [ad910ccdc] 2013-12-05 12:48:37 -0500
+Branch: REL9_0_STABLE [36352ceb4] 2013-12-05 12:48:41 -0500
+Branch: REL8_4_STABLE [7635dae55] 2013-12-05 12:48:44 -0500
+-->
+
+ <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>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [44c216330] 2014-02-13 14:24:42 -0500
+Branch: REL9_3_STABLE [ca1c17181] 2014-02-13 14:24:45 -0500
+Branch: REL9_2_STABLE [8439ee415] 2014-02-13 14:24:49 -0500
+Branch: REL9_1_STABLE [170590261] 2014-02-13 14:24:52 -0500
+Branch: REL9_0_STABLE [148052d25] 2014-02-13 14:24:55 -0500
+Branch: REL8_4_STABLE [a8a46d846] 2014-02-13 14:24:58 -0500
+-->
+
+ <listitem>
+ <para>
+ Fix length checking for Unicode identifiers (<literal>U&"..."</>
+ 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>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [0c2338abb] 2014-02-03 19:47:57 -0500
+Branch: REL9_3_STABLE [4c70cb1d3] 2014-02-03 19:48:00 -0500
+-->
+
+ <listitem>
+ <para>
+ Fix parsing of Unicode literals and identifiers just before the end
+ of a command string or function body (Tom Lane)
+ </para>
+ </listitem>
+
+<!--
+Author: Stephen Frost <sfrost@snowman.net>
+Branch: master [6c36f383d] 2014-01-21 22:49:22 -0500
+Branch: REL9_3_STABLE [d1e3070f0] 2014-01-21 22:56:30 -0500
+Branch: REL9_2_STABLE [c0e6169e1] 2014-01-21 22:56:34 -0500
+Branch: REL9_1_STABLE [cbd850bf6] 2014-01-21 23:00:58 -0500
+Branch: REL9_0_STABLE [f2eede9b5] 2014-01-21 23:01:40 -0500
+-->
+
+ <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>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [7ab321404] 2013-12-02 20:28:45 -0500
+Branch: REL9_3_STABLE [b44ae4893] 2013-12-02 20:28:49 -0500
+Branch: REL9_2_STABLE [6698782f1] 2013-12-02 20:28:53 -0500
+Branch: REL9_1_STABLE [f67b8aeab] 2013-12-02 20:28:56 -0500
+-->
+
+ <listitem>
+ <para>
+ Fix parser crash for <literal>EXISTS(SELECT * FROM
+ zero_column_table)</literal> (Tom Lane)
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [9ec6199d1] 2013-12-10 16:10:17 -0500
+Branch: REL9_3_STABLE [9d2e07fec] 2013-12-10 16:10:20 -0500
+Branch: REL9_2_STABLE [f5d9fdcc7] 2013-12-10 16:10:24 -0500
+Branch: REL9_1_STABLE [48e5cfde8] 2013-12-10 16:10:28 -0500
+Branch: REL9_0_STABLE [41e9990cd] 2013-12-10 16:10:31 -0500
+Branch: REL8_4_STABLE [884c6384a] 2013-12-10 16:10:36 -0500
+-->
+
+ <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>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [043f6ff05] 2014-01-30 14:51:16 -0500
+Branch: REL9_3_STABLE [a4aa854ca] 2014-01-30 14:51:19 -0500
+-->
+
+ <listitem>
+ <para>
+ Fix mishandling of <literal>WHERE</> conditions pulled up from
+ a <literal>LATERAL</> subquery (Tom Lane)
+ </para>
+
+ <para>
+ The typical symptom of this bug was a <quote>JOIN qualification
+ cannot refer to other relations</> error, though subtle logic
+ errors in created plans seem possible as well.
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [158b7fa6a] 2014-01-11 19:03:12 -0500
+Branch: REL9_3_STABLE [27ff4cfe7] 2014-01-11 19:03:15 -0500
+-->
+
+ <listitem>
+ <para>
+ Disallow <literal>LATERAL</> references to the target table of
+ an <literal>UPDATE/DELETE</> (Tom Lane)
+ </para>
+
+ <para>
+ While this might be allowed in some future release, it was
+ unintentional in 9.3, and didn't work quite right anyway.
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [c03ad5602] 2013-12-14 17:33:53 -0500
+Branch: REL9_3_STABLE [324577f39] 2013-12-14 17:33:56 -0500
+Branch: REL9_2_STABLE [5d545b7ed] 2013-12-14 17:34:00 -0500
+-->
+
+ <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>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [4eeda92d8] 2013-12-23 22:18:48 -0500
+Branch: REL9_3_STABLE [663f8419b] 2013-12-23 22:18:23 -0500
+-->
+
+ <listitem>
+ <para>
+ Fix <command>ANALYZE</> to not fail on a column that's a domain over
+ a range type (Tom Lane)
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [628652620] 2014-01-11 13:42:42 -0500
+Branch: REL9_3_STABLE [36785a21b] 2014-01-11 13:41:51 -0500
+Branch: REL9_2_STABLE [f0381680f] 2014-01-11 13:41:56 -0500
+Branch: REL9_1_STABLE [9387f4e1b] 2014-01-11 13:42:00 -0500
+Branch: REL9_0_STABLE [2d76d75d9] 2014-01-11 13:42:05 -0500
+Branch: REL8_4_STABLE [00b77771a] 2014-01-11 13:42:11 -0500
+-->
+
+ <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>
+
+<!--
+Author: Stephen Frost <sfrost@snowman.net>
+Branch: master [6f25c62d7] 2014-01-18 18:41:52 -0500
+Branch: REL9_3_STABLE [86e58ae02] 2014-01-18 18:49:08 -0500
+Branch: REL9_2_STABLE [1fe06595a] 2014-01-18 18:49:41 -0500
+Branch: REL9_1_STABLE [d2636486b] 2014-01-18 18:50:09 -0500
+Branch: REL9_0_STABLE [e70c42821] 2014-01-18 18:50:29 -0500
+Branch: REL8_4_STABLE [0fb4e3ceb] 2014-01-18 18:50:47 -0500
+-->
+
+ <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>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [c01bc51f8] 2013-12-30 14:00:02 -0500
+Branch: REL9_3_STABLE [9a6e2b150] 2013-12-30 14:00:05 -0500
+-->
+
+ <listitem>
+ <para>
+ Fix support for extensions containing event triggers (Tom Lane)
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [080b7db72] 2014-01-08 20:18:58 -0500
+Branch: REL9_3_STABLE [47ac4473a] 2014-01-08 20:18:10 -0500
+Branch: REL9_2_STABLE [97a39f295] 2014-01-08 20:18:13 -0500
+Branch: REL9_1_STABLE [6c6c53d0b] 2014-01-08 20:18:17 -0500
+Branch: REL9_0_STABLE [6ca712fb9] 2014-01-08 20:18:20 -0500
+Branch: REL8_4_STABLE [57ac7d8a7] 2014-01-08 20:18:24 -0500
+-->
+
+ <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>
+
+<!--
+Author: Andrew Dunstan <andrew@dunslane.net>
+Branch: master [d3ee45152] 2014-02-03 10:40:12 -0500
+Branch: REL9_3_STABLE [cdfbb78f0] 2014-02-03 10:39:13 -0500
+-->
+
+ <listitem>
+ <para>
+ Fix memory leakage in JSON functions (Craig Ringer)
+ </para>
+ </listitem>
+
+<!--
+Author: Andrew Dunstan <andrew@dunslane.net>
+Branch: master [29dcf7ded] 2013-12-27 17:04:00 -0500
+Branch: REL9_3_STABLE [7dfd9f6f5] 2013-12-27 17:21:04 -0500
+Branch: REL9_2_STABLE [4825a9e95] 2013-12-27 17:21:27 -0500
+-->
+
+ <listitem>
+ <para>
+ Properly distinguish numbers from non-numbers when generating JSON
+ output (Andrew Dunstan)
+ </para>
+ </listitem>
+
+<!--
+Author: Kevin Grittner <kgrittn@postgresql.org>
+Branch: master [a133bf703] 2013-12-27 15:26:24 -0600
+Branch: REL9_3_STABLE [28b60aa23] 2013-12-27 15:40:51 -0600
+Branch: REL9_2_STABLE [150a30e19] 2013-12-27 15:41:02 -0600
+Branch: REL9_1_STABLE [1f069d21d] 2013-12-27 15:41:18 -0600
+Branch: REL9_0_STABLE [918d74a07] 2013-12-27 15:41:32 -0600
+Branch: REL8_4_STABLE [b2d80147d] 2013-12-27 15:41:46 -0600
+-->
+
+ <listitem>
+ <para>
+ Fix checks for all-zero client addresses in pgstat functions (Kevin
+ Grittner)
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [082c0dfa1] 2014-02-01 18:27:34 -0500
+Branch: REL9_3_STABLE [9beffdcc3] 2014-02-01 18:27:40 -0500
+Branch: REL9_2_STABLE [8be095cea] 2014-02-01 18:27:44 -0500
+Branch: REL9_1_STABLE [399d23e19] 2014-02-01 18:27:48 -0500
+Branch: REL9_0_STABLE [3c7b4ef70] 2014-02-01 18:27:54 -0500
+Branch: REL8_4_STABLE [56f5d3424] 2014-02-01 18:27:12 -0500
+-->
+
+ <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>
+
+<!--
+Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
+Branch: master [6c2744f1d] 2014-02-10 09:57:59 +0200
+Branch: REL9_3_STABLE [928aec71c] 2014-02-10 09:59:49 +0200
+Branch: REL9_2_STABLE [f3807106b] 2014-02-10 10:00:04 +0200
+Branch: REL9_1_STABLE [5f778e644] 2014-02-10 10:00:23 +0200
+Branch: REL9_0_STABLE [fe8a6f53e] 2014-02-10 10:00:36 +0200
+Branch: REL8_4_STABLE [6141983fb] 2014-02-10 10:00:50 +0200
+-->
+
+ <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>
+
+<!--
+Author: Magnus Hagander <magnus@hagander.net>
+Branch: master [9544cc0d6] 2014-01-07 17:50:56 +0100
+Branch: REL9_3_STABLE [91c2755fc] 2014-01-07 17:51:02 +0100
+Branch: REL9_2_STABLE [61d4d14ee] 2014-01-07 17:53:00 +0100
+Branch: REL9_1_STABLE [026a91f86] 2014-01-07 18:00:36 +0100
+-->
+
+ <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>
+
+<!--
+Author: Tatsuo Ishii <ishii@postgresql.org>
+Branch: master [1f0626ee4] 2013-12-15 11:09:05 +0900
+Branch: REL9_3_STABLE [8122e6f85] 2013-12-15 11:10:41 +0900
+Branch: REL9_2_STABLE [0c07ef1ad] 2013-12-15 11:10:49 +0900
+Branch: REL9_1_STABLE [035226c61] 2013-12-15 11:10:56 +0900
+Branch: REL9_0_STABLE [7016d970d] 2013-12-15 11:11:02 +0900
+Branch: REL8_4_STABLE [69f77d756] 2013-12-15 11:11:11 +0900
+-->
+
+ <listitem>
+ <para>
+ Accept <literal>SHIFT_JIS</> as an encoding name for locale checking
+ purposes (Tatsuo Ishii)
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [0def2573c] 2014-02-03 14:47:17 -0500
+Branch: REL9_3_STABLE [641c08041] 2014-02-03 14:46:54 -0500
+Branch: REL9_2_STABLE [888b56570] 2014-02-03 14:46:57 -0500
+-->
+
+ <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>
+
+<!--
+Author: Fujii Masao <fujii@postgresql.org>
+Branch: master [77035fa8a] 2014-01-23 22:58:58 +0900
+Branch: REL9_3_STABLE [be5d49974] 2014-01-23 23:00:30 +0900
+Branch: REL9_2_STABLE [ea311bfdf] 2014-01-23 23:01:06 +0900
+Branch: REL9_1_STABLE [1b384aff1] 2014-01-23 23:01:34 +0900
+Branch: REL9_0_STABLE [996b21cbf] 2014-01-23 23:02:03 +0900
+Branch: REL8_4_STABLE [5525529db] 2014-01-23 23:02:30 +0900
+-->
+
+ <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>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [b8f00a46b] 2014-02-13 18:45:58 -0500
+Branch: REL9_3_STABLE [f208fb436] 2014-02-13 18:46:03 -0500
+Branch: REL9_2_STABLE [2573f08a1] 2014-02-13 18:45:20 -0500
+Branch: REL9_1_STABLE [7182bd239] 2014-02-13 18:45:23 -0500
+Branch: REL9_0_STABLE [218dd205b] 2014-02-13 18:45:27 -0500
+Branch: REL8_4_STABLE [7644a7bd8] 2014-02-13 18:45:32 -0500
+-->
+
+ <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>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [92459e7a7] 2014-01-04 16:05:16 -0500
+Branch: REL9_3_STABLE [341f0bc49] 2014-01-04 16:05:20 -0500
+Branch: REL9_2_STABLE [fa28f9cba] 2014-01-04 16:05:23 -0500
+-->
+
+ <listitem>
+ <para>
+ Fix incorrect translation handling in
+ some <application>psql</> <literal>\d</> commands
+ (Peter Eisentraut, Tom Lane)
+ </para>
+
+ <para>
+ </para>
+ </listitem>
+
+<!--
+Author: Magnus Hagander <magnus@hagander.net>
+Branch: master [63ab2befe] 2014-02-12 18:45:18 +0100
+Branch: REL9_3_STABLE [c90204c60] 2014-02-12 18:46:04 +0100
+Branch: REL9_2_STABLE [0ae288d2d] 2014-02-12 14:51:00 +0100
+-->
+
+ <listitem>
+ <para>
+ Ensure <application>pg_basebackup</>'s background process is killed
+ when exiting its foreground process (Magnus Hagander)
+ </para>
+ </listitem>
+
+<!--
+Author: Magnus Hagander <magnus@hagander.net>
+Branch: master [01025d80a] 2014-02-09 12:05:14 +0100
+Branch: REL9_3_STABLE [680baa8d2] 2014-02-09 12:09:18 +0100
+Branch: REL9_2_STABLE [165aa1da5] 2014-02-09 12:09:39 +0100
+Branch: REL9_1_STABLE [c6e5c4dd1] 2014-02-09 12:09:55 +0100
+-->
+
+ <listitem>
+ <para>
+ Fix possible incorrect printing of filenames
+ in <application>pg_basebackup</>'s verbose mode (Magnus Hagander)
+ </para>
+ </listitem>
+
+<!--
+Author: Magnus Hagander <magnus@hagander.net>
+Branch: master [b168c5ef2] 2014-01-07 17:11:32 +0100
+Branch: REL9_3_STABLE [0463b9419] 2014-01-07 17:11:51 +0100
+Branch: REL9_2_STABLE [2edf3e82c] 2014-01-07 17:22:36 +0100
+Branch: REL9_1_STABLE [773e4d5e4] 2014-01-07 17:18:02 +0100
+-->
+
+ <listitem>
+ <para>
+ Avoid including tablespaces inside PGDATA twice in base backups
+ (Dimitri Fontaine, Magnus Hagander)
+ </para>
+ </listitem>
+
+<!--
+Author: Michael Meskes <meskes@postgresql.org>
+Branch: master [d685e2424] 2014-01-09 16:20:19 +0100
+Branch: REL9_3_STABLE [28fff0ef8] 2014-01-09 15:41:51 +0100
+Branch: REL9_2_STABLE [799728b0b] 2014-01-09 15:50:51 +0100
+Branch: REL9_1_STABLE [9f5b3a1a1] 2014-01-09 15:51:11 +0100
+Branch: REL9_0_STABLE [a29b6c342] 2014-01-09 15:51:23 +0100
+Branch: REL8_4_STABLE [d68a65b01] 2014-01-09 15:58:37 +0100
+-->
+
+ <listitem>
+ <para>
+ Fix misaligned descriptors in <application>ecpg</> (MauMau)
+ </para>
+ </listitem>
+
+<!--
+Author: Michael Meskes <meskes@postgresql.org>
+Branch: master [7c957ec83] 2014-01-01 12:39:31 +0100
+Branch: REL9_3_STABLE [8404037d8] 2014-01-01 12:40:28 +0100
+Branch: REL9_2_STABLE [119a59879] 2014-01-01 12:40:42 +0100
+Branch: REL9_1_STABLE [948498274] 2014-01-01 12:44:15 +0100
+Branch: REL9_0_STABLE [17bcdd01f] 2014-01-01 12:44:44 +0100
+Branch: REL8_4_STABLE [96de4939c] 2014-01-01 12:44:58 +0100
+-->
+
+ <listitem>
+ <para>
+ In <application>ecpg</>, handle lack of a hostname in the connection
+ parameters properly (Michael Meskes)
+ </para>
+ </listitem>
+
+<!--
+Author: Joe Conway <mail@joeconway.com>
+Branch: master [d6ca510d9] 2013-12-07 17:00:26 -0800
+Branch: REL9_3_STABLE [0ec530625] 2013-12-07 17:00:10 -0800
+Branch: REL9_2_STABLE [7f4ef622f] 2013-12-07 16:59:35 -0800
+Branch: REL9_1_STABLE [70165f25b] 2013-12-07 16:59:16 -0800
+Branch: REL9_0_STABLE [9057adc23] 2013-12-07 16:58:41 -0800
+Branch: REL8_4_STABLE [6c8b16e30] 2013-12-07 16:56:34 -0800
+-->
+
+ <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>
+
+<!--
+Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
+Branch: master [866a1f092] 2014-01-13 15:43:29 +0200
+Branch: REL9_3_STABLE [50c5770ec] 2014-01-13 15:43:59 +0200
+Branch: REL9_2_STABLE [f6d6b42f2] 2014-01-13 15:44:02 +0200
+Branch: REL9_1_STABLE [5143dfd57] 2014-01-13 15:44:04 +0200
+Branch: REL9_0_STABLE [6c3f040be] 2014-01-13 15:44:12 +0200
+Branch: REL8_4_STABLE [492b68541] 2014-01-13 15:44:14 +0200
+-->
+
+ <listitem>
+ <para>
+ In <filename>contrib/isn</>, fix incorrect calculation of the check
+ digit for ISMN values (Fabien Coelho)
+ </para>
+ </listitem>
+
+<!--
+Author: Tatsuo Ishii <ishii@postgresql.org>
+Branch: master [841a65482] 2013-12-12 19:10:35 +0900
+Branch: REL9_3_STABLE [27902bc91] 2013-12-12 19:07:53 +0900
+-->
+
+ <listitem>
+ <para>
+ Fix <filename>contrib/pgbench</>'s progress logging to avoid overflow
+ when the scale factor is large (Tatsuo Ishii)
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [69c7a9838] 2014-01-21 16:34:28 -0500
+Branch: REL9_3_STABLE [0950d67ee] 2014-01-21 16:34:31 -0500
+Branch: REL9_2_STABLE [27ab1eb7e] 2014-01-21 16:34:35 -0500
+-->
+
+ <listitem>
+ <para>
+ Fix <filename>contrib/pg_stat_statement</>'s handling
+ of <literal>CURRENT_DATE</> and related constructs (Kyotaro
+ Horiguchi)
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [00d4f2af8] 2014-02-03 21:30:20 -0500
+Branch: REL9_3_STABLE [eb3d350db] 2014-02-03 21:30:28 -0500
+-->
+
+ <listitem>
+ <para>
+ Improve lost-connection error handling
+ in <filename>contrib/postgres_fdw</> (Tom Lane)
+ </para>
+ </listitem>
+
+<!--
+Author: Peter Eisentraut <peter_e@gmx.net>
+Branch: master [ad6bf0291] 2014-01-17 23:08:22 -0500
+Branch: REL9_3_STABLE [586bea612] 2014-01-17 23:11:02 -0500
+Branch: REL9_2_STABLE [526e38751] 2014-01-17 23:12:50 -0500
+Branch: REL9_1_STABLE [6d969b000] 2014-01-17 23:14:21 -0500
+Branch: REL9_0_STABLE [2346c383a] 2014-01-17 23:15:00 -0500
+Branch: REL8_4_STABLE [15699d9bf] 2014-01-17 23:17:59 -0500
+-->
+
+ <listitem>
+ <para>
+ Ensure client-code-only installation procedure works as documented
+ (Peter Eisentraut)
+ </para>
+ </listitem>
+
+<!--
+Author: Andrew Dunstan <andrew@dunslane.net>
+Branch: master [d587298b8] 2014-02-01 15:11:13 -0500
+Branch: REL9_3_STABLE [1e9876c3b] 2014-02-01 15:16:06 -0500
+Branch: REL9_2_STABLE [6e96d4db8] 2014-02-01 15:16:18 -0500
+Branch: REL9_1_STABLE [dfb4a1a21] 2014-02-01 15:16:29 -0500
+Branch: REL9_0_STABLE [59d64e7f3] 2014-02-01 15:16:40 -0500
+Branch: REL8_4_STABLE [ae3c98b9b] 2014-02-01 15:16:52 -0500
+-->
+
+ <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>
+
+<!--
+Author: Andrew Dunstan <andrew@dunslane.net>
+Branch: master [7e1531a45] 2014-02-01 16:08:33 -0500
+Branch: REL9_3_STABLE [27942baf4] 2014-02-01 16:13:32 -0500
+Branch: REL9_2_STABLE [fad443753] 2014-02-01 16:13:46 -0500
+Branch: REL9_1_STABLE [e5c22c15d] 2014-02-01 16:14:01 -0500
+Branch: REL9_0_STABLE [1c0bf372f] 2014-02-01 16:14:15 -0500
+-->
+
+ <listitem>
+ <para>
+ Avoid using the deprecated <literal>dllwrap</> tool in Cygwin builds
+ (Marco Atzeri)
+ </para>
+ </listitem>
+
+<!--
+Author: Andrew Dunstan <andrew@dunslane.net>
+Branch: master [cec8394b5] 2014-01-26 09:49:10 -0500
+Branch: REL9_3_STABLE [56c08df55] 2014-01-26 09:45:43 -0500
+-->
+
+ <listitem>
+ <para>
+ Enable building with Visual Studio 2013 (Brar Piening)
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [289541520] 2014-02-10 20:48:04 -0500
+Branch: REL9_3_STABLE [f1e522696] 2014-02-10 20:48:12 -0500
+Branch: REL9_2_STABLE [dd5605104] 2014-02-10 20:48:20 -0500
+Branch: REL9_1_STABLE [3bf5c16f1] 2014-02-10 20:48:23 -0500
+Branch: REL9_0_STABLE [e1e7642bd] 2014-02-10 20:48:27 -0500
+Branch: REL8_4_STABLE [432735cbf] 2014-02-10 20:48:30 -0500
+-->
+
+ <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>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: master [e04641f4b] 2014-02-14 21:59:13 -0500
+Branch: REL9_3_STABLE [46cbcd50e] 2014-02-14 21:59:37 -0500
+Branch: REL9_2_STABLE [4f975b68b] 2014-02-14 21:59:42 -0500
+Branch: REL9_1_STABLE [3212ba534] 2014-02-14 21:59:46 -0500
+Branch: REL9_0_STABLE [cb84fddd9] 2014-02-14 21:59:50 -0500
+Branch: REL8_4_STABLE [c0c2d62ac] 2014-02-14 21:59:56 -0500
+-->
+
+ <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-3-2">
<title>Release 9.3.2</title>