diff --git a/doc/src/sgml/release-8.4.sgml b/doc/src/sgml/release-8.4.sgml index 57fd7670c4fd22f7ecb66113209e0adf10768e35..f6accba6cd7098f3037f5a08fe2fe4b203af5580 100644 --- a/doc/src/sgml/release-8.4.sgml +++ b/doc/src/sgml/release-8.4.sgml @@ -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&"..."</> + 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> diff --git a/doc/src/sgml/release-9.0.sgml b/doc/src/sgml/release-9.0.sgml index aab82fc44e0ea40175ea17bb1cf15193f5139254..8d75f8b16a8a8476c77cdce1c618da408619cefb 100644 --- a/doc/src/sgml/release-9.0.sgml +++ b/doc/src/sgml/release-9.0.sgml @@ -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&"..."</> + 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> diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index b94486fd08fe79956e7c02cbe5331b53bce9c081..310e7e28589902c8e894eff8933c54877030dd70 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -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&"..."</> + 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> diff --git a/doc/src/sgml/release-9.2.sgml b/doc/src/sgml/release-9.2.sgml index 68fcc585bc202eeba9a1fe18b1fd050f864cd9b0..33e2a4e81058d24931ec2c192d615f01d7def51b 100644 --- a/doc/src/sgml/release-9.2.sgml +++ b/doc/src/sgml/release-9.2.sgml @@ -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&"..."</> + 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>