diff --git a/doc/src/sgml/release-8.4.sgml b/doc/src/sgml/release-8.4.sgml index 0ed8cebe376b20069c90dd15d468dc6e19a24f1d..0baa7353f263041e557ee213de8338ffa84a1a79 100644 --- a/doc/src/sgml/release-8.4.sgml +++ b/doc/src/sgml/release-8.4.sgml @@ -1,6 +1,325 @@ <!-- doc/src/sgml/release-8.4.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-8-4-22"> + <title>Release 8.4.22</title> + + <note> + <title>Release Date</title> + <simpara>2014-07-24</simpara> + </note> + + <para> + This release contains a variety of fixes from 8.4.21. + For information about new features in the 8.4 major release, see + <xref linkend="release-8-4">. + </para> + + <para> + This is expected to be the last <productname>PostgreSQL</> release + in the 8.4.X series. Users are encouraged to update to a newer + release branch soon. + </para> + + <sect2> + <title>Migration to Version 8.4.22</title> + + <para> + A dump/restore is not required for those running 8.4.X. + </para> + + <para> + However, this release corrects an index corruption problem in some GiST + indexes. See the first changelog entry below to find out whether your + installation has been affected and what steps you should take if so. + </para> + + <para> + Also, 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> + Correctly initialize padding bytes in <filename>contrib/btree_gist</> + indexes on <type>bit</> columns (Heikki Linnakangas) + </para> + + <para> + This error could result in incorrect query results due to values that + should compare equal not being seen as equal. + Users with GiST indexes on <type>bit</> or <type>bit varying</> + columns should <command>REINDEX</> those indexes after installing this + update. + </para> + </listitem> + + <listitem> + <para> + Protect against torn pages when deleting GIN list pages (Heikki + Linnakangas) + </para> + + <para> + This fix prevents possible index corruption if a system crash occurs + while the page update is being written to disk. + </para> + </listitem> + + <listitem> + <para> + Fix possibly-incorrect cache invalidation during nested calls + to <function>ReceiveSharedInvalidMessages</> (Andres Freund) + </para> + </listitem> + + <listitem> + <para> + Don't assume a subquery's output is unique if there's a set-returning + function in its targetlist (David Rowley) + </para> + + <para> + This oversight could lead to misoptimization of constructs + like <literal>WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP + BY y)</literal>. + </para> + </listitem> + + <listitem> + <para> + Fix failure to detoast fields in composite elements of structured + types (Tom Lane) + </para> + + <para> + This corrects cases where TOAST pointers could be copied into other + tables without being dereferenced. If the original data is later + deleted, it would lead to errors like <quote>missing chunk number 0 + for toast value ...</> when the now-dangling pointer is used. + </para> + </listitem> + + <listitem> + <para> + Fix <quote>record type has not been registered</> failures with + whole-row references to the output of Append plan nodes (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible crash when invoking a user-defined function while + rewinding a cursor (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix query-lifespan memory leak while evaluating the arguments for a + function in <literal>FROM</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix session-lifespan memory leaks in regular-expression processing + (Tom Lane, Arthur O'Dwyer, Greg Stark) + </para> + </listitem> + + <listitem> + <para> + Fix data encoding error in <filename>hungarian.stop</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix liveness checks for rows that were inserted in the current + transaction and then deleted by a now-rolled-back subtransaction + (Andres Freund) + </para> + + <para> + This could cause problems (at least spurious warnings, and at worst an + infinite loop) if <command>CREATE INDEX</> or <command>CLUSTER</> were + done later in the same transaction. + </para> + </listitem> + + <listitem> + <para> + Clear <structname>pg_stat_activity</>.<structfield>xact_start</> + during <command>PREPARE TRANSACTION</> (Andres Freund) + </para> + + <para> + After the <command>PREPARE</>, the originating session is no longer in + a transaction, so it should not continue to display a transaction + start time. + </para> + </listitem> + + <listitem> + <para> + Fix <command>REASSIGN OWNED</> to not fail for text search objects + (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Block signals during postmaster startup (Tom Lane) + </para> + + <para> + This ensures that the postmaster will properly clean up after itself + if, for example, it receives <systemitem>SIGINT</> while still + starting up. + </para> + </listitem> + + <listitem> + <para> + Secure Unix-domain sockets of temporary postmasters started during + <literal>make check</> (Noah Misch) + </para> + + <para> + Any local user able to access the socket file could connect as the + server's bootstrap superuser, then proceed to execute arbitrary code as + the operating-system user running the test, as we previously noted in + CVE-2014-0067. This change defends against that risk by placing the + server's socket in a temporary, mode 0700 subdirectory + of <filename>/tmp</>. The hazard remains however on platforms where + Unix sockets are not supported, notably Windows, because then the + temporary postmaster must accept local TCP connections. + </para> + + <para> + A useful side effect of this change is to simplify + <literal>make check</> testing in builds that + override <literal>DEFAULT_PGSOCKET_DIR</>. Popular non-default values + like <filename>/var/run/postgresql</> are often not writable by the + build user, requiring workarounds that will no longer be necessary. + </para> + </listitem> + + <listitem> + <para> + On Windows, allow new sessions to absorb values of PGC_BACKEND + parameters (such as <xref linkend="guc-log-connections">) from the + configuration file (Amit Kapila) + </para> + + <para> + Previously, if such a parameter were changed in the file post-startup, + the change would have no effect. + </para> + </listitem> + + <listitem> + <para> + Properly quote executable path names on Windows (Nikhil Deshpande) + </para> + + <para> + This oversight could cause <application>initdb</> + and <application>pg_upgrade</> to fail on Windows, if the installation + path contained both spaces and <literal>@</> signs. + </para> + </listitem> + + <listitem> + <para> + Fix linking of <application>libpython</> on OS X (Tom Lane) + </para> + + <para> + The method we previously used can fail with the Python library + supplied by Xcode 5.0 and later. + </para> + </listitem> + + <listitem> + <para> + Avoid buffer bloat in <application>libpq</> when the server + consistently sends data faster than the client can absorb it + (Shin-ichi Morita, Tom Lane) + </para> + + <para> + <application>libpq</> could be coerced into enlarging its input buffer + until it runs out of memory (which would be reported misleadingly + as <quote>lost synchronization with server</>). Under ordinary + circumstances it's quite far-fetched that data could be continuously + transmitted more quickly than the <function>recv()</> loop can + absorb it, but this has been observed when the client is artificially + slowed by scheduler constraints. + </para> + </listitem> + + <listitem> + <para> + Ensure that LDAP lookup attempts in <application>libpq</> time out as + intended (Laurenz Albe) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_restore</>'s processing of old-style large object + comments (Tom Lane) + </para> + + <para> + A direct-to-database restore from an archive file generated by a + pre-9.0 version of <application>pg_dump</> would usually fail if the + archive contained more than a few comments for large objects. + </para> + </listitem> + + <listitem> + <para> + In <filename>contrib/pgcrypto</> functions, ensure sensitive + information is cleared from stack variables before returning + (Marko Kreen) + </para> + </listitem> + + <listitem> + <para> + In <filename>contrib/uuid-ossp</>, cache the state of the OSSP UUID + library across calls (Tom Lane) + </para> + + <para> + This improves the efficiency of UUID generation and reduces the amount + of entropy drawn from <filename>/dev/urandom</>, on platforms that + have that. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2014e + for DST law changes in Crimea, Egypt, and Morocco. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-8-4-21"> <title>Release 8.4.21</title> @@ -113,9 +432,6 @@ for DST law changes in Fiji and Turkey, plus historical changes in Israel and Ukraine. </para> - - <para> - </para> </listitem> </itemizedlist> @@ -3702,9 +4018,6 @@ Prevent crash triggered by constant-false WHERE conditions during GEQO optimization (Tom Lane) </para> - - <para> - </para> </listitem> <listitem> diff --git a/doc/src/sgml/release-9.0.sgml b/doc/src/sgml/release-9.0.sgml index 377e9704297cd89ffd894cd08480495d4a960b0a..0c77d248d2c75a99bbd50561c16aa700a4d95f5c 100644 --- a/doc/src/sgml/release-9.0.sgml +++ b/doc/src/sgml/release-9.0.sgml @@ -1,6 +1,352 @@ <!-- doc/src/sgml/release-9.0.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-0-18"> + <title>Release 9.0.18</title> + + <note> + <title>Release Date</title> + <simpara>2014-07-24</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.0.17. + 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.18</title> + + <para> + A dump/restore is not required for those running 9.0.X. + </para> + + <para> + However, this release corrects an index corruption problem in some GiST + indexes. See the first changelog entry below to find out whether your + installation has been affected and what steps you should take if so. + </para> + + <para> + Also, 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> + Correctly initialize padding bytes in <filename>contrib/btree_gist</> + indexes on <type>bit</> columns (Heikki Linnakangas) + </para> + + <para> + This error could result in incorrect query results due to values that + should compare equal not being seen as equal. + Users with GiST indexes on <type>bit</> or <type>bit varying</> + columns should <command>REINDEX</> those indexes after installing this + update. + </para> + </listitem> + + <listitem> + <para> + Protect against torn pages when deleting GIN list pages (Heikki + Linnakangas) + </para> + + <para> + This fix prevents possible index corruption if a system crash occurs + while the page update is being written to disk. + </para> + </listitem> + + <listitem> + <para> + Don't clear the right-link of a GiST index page while replaying + updates from WAL (Heikki Linnakangas) + </para> + + <para> + This error could lead to transiently wrong answers from GiST index + scans performed in Hot Standby. + </para> + </listitem> + + <listitem> + <para> + Fix possibly-incorrect cache invalidation during nested calls + to <function>ReceiveSharedInvalidMessages</> (Andres Freund) + </para> + </listitem> + + <listitem> + <para> + Don't assume a subquery's output is unique if there's a set-returning + function in its targetlist (David Rowley) + </para> + + <para> + This oversight could lead to misoptimization of constructs + like <literal>WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP + BY y)</literal>. + </para> + </listitem> + + <listitem> + <para> + Fix failure to detoast fields in composite elements of structured + types (Tom Lane) + </para> + + <para> + This corrects cases where TOAST pointers could be copied into other + tables without being dereferenced. If the original data is later + deleted, it would lead to errors like <quote>missing chunk number 0 + for toast value ...</> when the now-dangling pointer is used. + </para> + </listitem> + + <listitem> + <para> + Fix <quote>record type has not been registered</> failures with + whole-row references to the output of Append plan nodes (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible crash when invoking a user-defined function while + rewinding a cursor (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix query-lifespan memory leak while evaluating the arguments for a + function in <literal>FROM</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix session-lifespan memory leaks in regular-expression processing + (Tom Lane, Arthur O'Dwyer, Greg Stark) + </para> + </listitem> + + <listitem> + <para> + Fix data encoding error in <filename>hungarian.stop</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix liveness checks for rows that were inserted in the current + transaction and then deleted by a now-rolled-back subtransaction + (Andres Freund) + </para> + + <para> + This could cause problems (at least spurious warnings, and at worst an + infinite loop) if <command>CREATE INDEX</> or <command>CLUSTER</> were + done later in the same transaction. + </para> + </listitem> + + <listitem> + <para> + Clear <structname>pg_stat_activity</>.<structfield>xact_start</> + during <command>PREPARE TRANSACTION</> (Andres Freund) + </para> + + <para> + After the <command>PREPARE</>, the originating session is no longer in + a transaction, so it should not continue to display a transaction + start time. + </para> + </listitem> + + <listitem> + <para> + Fix <command>REASSIGN OWNED</> to not fail for text search objects + (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Block signals during postmaster startup (Tom Lane) + </para> + + <para> + This ensures that the postmaster will properly clean up after itself + if, for example, it receives <systemitem>SIGINT</> while still + starting up. + </para> + </listitem> + + <listitem> + <para> + Secure Unix-domain sockets of temporary postmasters started during + <literal>make check</> (Noah Misch) + </para> + + <para> + Any local user able to access the socket file could connect as the + server's bootstrap superuser, then proceed to execute arbitrary code as + the operating-system user running the test, as we previously noted in + CVE-2014-0067. This change defends against that risk by placing the + server's socket in a temporary, mode 0700 subdirectory + of <filename>/tmp</>. The hazard remains however on platforms where + Unix sockets are not supported, notably Windows, because then the + temporary postmaster must accept local TCP connections. + </para> + + <para> + A useful side effect of this change is to simplify + <literal>make check</> testing in builds that + override <literal>DEFAULT_PGSOCKET_DIR</>. Popular non-default values + like <filename>/var/run/postgresql</> are often not writable by the + build user, requiring workarounds that will no longer be necessary. + </para> + </listitem> + + <listitem> + <para> + Fix tablespace creation WAL replay to work on Windows (MauMau) + </para> + </listitem> + + <listitem> + <para> + Fix detection of socket creation failures on Windows (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + On Windows, allow new sessions to absorb values of PGC_BACKEND + parameters (such as <xref linkend="guc-log-connections">) from the + configuration file (Amit Kapila) + </para> + + <para> + Previously, if such a parameter were changed in the file post-startup, + the change would have no effect. + </para> + </listitem> + + <listitem> + <para> + Properly quote executable path names on Windows (Nikhil Deshpande) + </para> + + <para> + This oversight could cause <application>initdb</> + and <application>pg_upgrade</> to fail on Windows, if the installation + path contained both spaces and <literal>@</> signs. + </para> + </listitem> + + <listitem> + <para> + Fix linking of <application>libpython</> on OS X (Tom Lane) + </para> + + <para> + The method we previously used can fail with the Python library + supplied by Xcode 5.0 and later. + </para> + </listitem> + + <listitem> + <para> + Avoid buffer bloat in <application>libpq</> when the server + consistently sends data faster than the client can absorb it + (Shin-ichi Morita, Tom Lane) + </para> + + <para> + <application>libpq</> could be coerced into enlarging its input buffer + until it runs out of memory (which would be reported misleadingly + as <quote>lost synchronization with server</>). Under ordinary + circumstances it's quite far-fetched that data could be continuously + transmitted more quickly than the <function>recv()</> loop can + absorb it, but this has been observed when the client is artificially + slowed by scheduler constraints. + </para> + </listitem> + + <listitem> + <para> + Ensure that LDAP lookup attempts in <application>libpq</> time out as + intended (Laurenz Albe) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</> to do the right thing when an array + of <type>char *</> is the target for a FETCH statement returning more + than one row, as well as some other array-handling fixes + (Ashutosh Bapat) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_restore</>'s processing of old-style large object + comments (Tom Lane) + </para> + + <para> + A direct-to-database restore from an archive file generated by a + pre-9.0 version of <application>pg_dump</> would usually fail if the + archive contained more than a few comments for large objects. + </para> + </listitem> + + <listitem> + <para> + In <filename>contrib/pgcrypto</> functions, ensure sensitive + information is cleared from stack variables before returning + (Marko Kreen) + </para> + </listitem> + + <listitem> + <para> + In <filename>contrib/uuid-ossp</>, cache the state of the OSSP UUID + library across calls (Tom Lane) + </para> + + <para> + This improves the efficiency of UUID generation and reduces the amount + of entropy drawn from <filename>/dev/urandom</>, on platforms that + have that. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2014e + for DST law changes in Crimea, Egypt, and Morocco. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-0-17"> <title>Release 9.0.17</title> @@ -147,9 +493,6 @@ for DST law changes in Fiji and Turkey, plus historical changes in Israel and Ukraine. </para> - - <para> - </para> </listitem> </itemizedlist> @@ -4592,9 +4935,6 @@ Prevent crash triggered by constant-false WHERE conditions during GEQO optimization (Tom Lane) </para> - - <para> - </para> </listitem> <listitem> diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index 373503d91f90dcf8657fcae10d736150b8e5f874..4f86b64e8463b1c1b88221a43b2c4e45acc0349c 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -1,6 +1,389 @@ <!-- doc/src/sgml/release-9.1.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-1-14"> + <title>Release 9.1.14</title> + + <note> + <title>Release Date</title> + <simpara>2014-07-24</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.1.13. + 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.14</title> + + <para> + A dump/restore is not required for those running 9.1.X. + </para> + + <para> + However, this release corrects an index corruption problem in some GiST + indexes. See the first changelog entry below to find out whether your + installation has been affected and what steps you should take if so. + </para> + + <para> + Also, 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> + Correctly initialize padding bytes in <filename>contrib/btree_gist</> + indexes on <type>bit</> columns (Heikki Linnakangas) + </para> + + <para> + This error could result in incorrect query results due to values that + should compare equal not being seen as equal. + Users with GiST indexes on <type>bit</> or <type>bit varying</> + columns should <command>REINDEX</> those indexes after installing this + update. + </para> + </listitem> + + <listitem> + <para> + Protect against torn pages when deleting GIN list pages (Heikki + Linnakangas) + </para> + + <para> + This fix prevents possible index corruption if a system crash occurs + while the page update is being written to disk. + </para> + </listitem> + + <listitem> + <para> + Don't clear the right-link of a GiST index page while replaying + updates from WAL (Heikki Linnakangas) + </para> + + <para> + This error could lead to transiently wrong answers from GiST index + scans performed in Hot Standby. + </para> + </listitem> + + <listitem> + <para> + Fix feedback status when <xref linkend="guc-hot-standby-feedback"> is + turned off on-the-fly (Simon Riggs) + </para> + </listitem> + + <listitem> + <para> + Fix possibly-incorrect cache invalidation during nested calls + to <function>ReceiveSharedInvalidMessages</> (Andres Freund) + </para> + </listitem> + + <listitem> + <para> + Fix <quote>could not find pathkey item to sort</> planner failures + with <literal>UNION ALL</> over subqueries reading from tables with + inheritance children (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Don't assume a subquery's output is unique if there's a set-returning + function in its targetlist (David Rowley) + </para> + + <para> + This oversight could lead to misoptimization of constructs + like <literal>WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP + BY y)</literal>. + </para> + </listitem> + + <listitem> + <para> + Fix failure to detoast fields in composite elements of structured + types (Tom Lane) + </para> + + <para> + This corrects cases where TOAST pointers could be copied into other + tables without being dereferenced. If the original data is later + deleted, it would lead to errors like <quote>missing chunk number 0 + for toast value ...</> when the now-dangling pointer is used. + </para> + </listitem> + + <listitem> + <para> + Fix <quote>record type has not been registered</> failures with + whole-row references to the output of Append plan nodes (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible crash when invoking a user-defined function while + rewinding a cursor (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix query-lifespan memory leak while evaluating the arguments for a + function in <literal>FROM</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix session-lifespan memory leaks in regular-expression processing + (Tom Lane, Arthur O'Dwyer, Greg Stark) + </para> + </listitem> + + <listitem> + <para> + Fix data encoding error in <filename>hungarian.stop</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Prevent foreign tables from being created with OIDS + when <xref linkend="guc-default-with-oids"> is true + (Etsuro Fujita) + </para> + </listitem> + + <listitem> + <para> + Fix liveness checks for rows that were inserted in the current + transaction and then deleted by a now-rolled-back subtransaction + (Andres Freund) + </para> + + <para> + This could cause problems (at least spurious warnings, and at worst an + infinite loop) if <command>CREATE INDEX</> or <command>CLUSTER</> were + done later in the same transaction. + </para> + </listitem> + + <listitem> + <para> + Clear <structname>pg_stat_activity</>.<structfield>xact_start</> + during <command>PREPARE TRANSACTION</> (Andres Freund) + </para> + + <para> + After the <command>PREPARE</>, the originating session is no longer in + a transaction, so it should not continue to display a transaction + start time. + </para> + </listitem> + + <listitem> + <para> + Fix <command>REASSIGN OWNED</> to not fail for text search objects + (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Block signals during postmaster startup (Tom Lane) + </para> + + <para> + This ensures that the postmaster will properly clean up after itself + if, for example, it receives <systemitem>SIGINT</> while still + starting up. + </para> + </listitem> + + <listitem> + <para> + Fix client host name lookup when processing <filename>pg_hba.conf</> + entries that specify host names instead of IP addresses (Tom Lane) + </para> + + <para> + Ensure that reverse-DNS lookup failures are reported, instead of just + silently not matching such entries. Also ensure that we make only + one reverse-DNS lookup attempt per connection, not one per host name + entry, which is what previously happened if the lookup attempts failed. + </para> + </listitem> + + <listitem> + <para> + Secure Unix-domain sockets of temporary postmasters started during + <literal>make check</> (Noah Misch) + </para> + + <para> + Any local user able to access the socket file could connect as the + server's bootstrap superuser, then proceed to execute arbitrary code as + the operating-system user running the test, as we previously noted in + CVE-2014-0067. This change defends against that risk by placing the + server's socket in a temporary, mode 0700 subdirectory + of <filename>/tmp</>. The hazard remains however on platforms where + Unix sockets are not supported, notably Windows, because then the + temporary postmaster must accept local TCP connections. + </para> + + <para> + A useful side effect of this change is to simplify + <literal>make check</> testing in builds that + override <literal>DEFAULT_PGSOCKET_DIR</>. Popular non-default values + like <filename>/var/run/postgresql</> are often not writable by the + build user, requiring workarounds that will no longer be necessary. + </para> + </listitem> + + <listitem> + <para> + Fix tablespace creation WAL replay to work on Windows (MauMau) + </para> + </listitem> + + <listitem> + <para> + Fix detection of socket creation failures on Windows (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + On Windows, allow new sessions to absorb values of PGC_BACKEND + parameters (such as <xref linkend="guc-log-connections">) from the + configuration file (Amit Kapila) + </para> + + <para> + Previously, if such a parameter were changed in the file post-startup, + the change would have no effect. + </para> + </listitem> + + <listitem> + <para> + Properly quote executable path names on Windows (Nikhil Deshpande) + </para> + + <para> + This oversight could cause <application>initdb</> + and <application>pg_upgrade</> to fail on Windows, if the installation + path contained both spaces and <literal>@</> signs. + </para> + </listitem> + + <listitem> + <para> + Fix linking of <application>libpython</> on OS X (Tom Lane) + </para> + + <para> + The method we previously used can fail with the Python library + supplied by Xcode 5.0 and later. + </para> + </listitem> + + <listitem> + <para> + Avoid buffer bloat in <application>libpq</> when the server + consistently sends data faster than the client can absorb it + (Shin-ichi Morita, Tom Lane) + </para> + + <para> + <application>libpq</> could be coerced into enlarging its input buffer + until it runs out of memory (which would be reported misleadingly + as <quote>lost synchronization with server</>). Under ordinary + circumstances it's quite far-fetched that data could be continuously + transmitted more quickly than the <function>recv()</> loop can + absorb it, but this has been observed when the client is artificially + slowed by scheduler constraints. + </para> + </listitem> + + <listitem> + <para> + Ensure that LDAP lookup attempts in <application>libpq</> time out as + intended (Laurenz Albe) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</> to do the right thing when an array + of <type>char *</> is the target for a FETCH statement returning more + than one row, as well as some other array-handling fixes + (Ashutosh Bapat) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_restore</>'s processing of old-style large object + comments (Tom Lane) + </para> + + <para> + A direct-to-database restore from an archive file generated by a + pre-9.0 version of <application>pg_dump</> would usually fail if the + archive contained more than a few comments for large objects. + </para> + </listitem> + + <listitem> + <para> + In <filename>contrib/pgcrypto</> functions, ensure sensitive + information is cleared from stack variables before returning + (Marko Kreen) + </para> + </listitem> + + <listitem> + <para> + In <filename>contrib/uuid-ossp</>, cache the state of the OSSP UUID + library across calls (Tom Lane) + </para> + + <para> + This improves the efficiency of UUID generation and reduces the amount + of entropy drawn from <filename>/dev/urandom</>, on platforms that + have that. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2014e + for DST law changes in Crimea, Egypt, and Morocco. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-1-13"> <title>Release 9.1.13</title> @@ -161,9 +544,6 @@ for DST law changes in Fiji and Turkey, plus historical changes in Israel and Ukraine. </para> - - <para> - </para> </listitem> </itemizedlist> @@ -2542,9 +2922,6 @@ Improve selectivity estimation for text search queries involving prefixes, i.e. <replaceable>word</><literal>:*</> patterns (Tom Lane) </para> - - <para> - </para> </listitem> <listitem> diff --git a/doc/src/sgml/release-9.2.sgml b/doc/src/sgml/release-9.2.sgml index dd13cc1b6090044c1e533e106e72ba5ce145c3e6..911f52aa3ef0073d12be7806e28d5f1ddc701fa5 100644 --- a/doc/src/sgml/release-9.2.sgml +++ b/doc/src/sgml/release-9.2.sgml @@ -1,6 +1,487 @@ <!-- doc/src/sgml/release-9.2.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-2-9"> + <title>Release 9.2.9</title> + + <note> + <title>Release Date</title> + <simpara>2014-07-24</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.2.8. + 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.9</title> + + <para> + A dump/restore is not required for those running 9.2.X. + </para> + + <para> + However, this release corrects an index corruption problem in some GiST + indexes. See the first changelog entry below to find out whether your + installation has been affected and what steps you should take if so. + </para> + + <para> + Also, 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> + Correctly initialize padding bytes in <filename>contrib/btree_gist</> + indexes on <type>bit</> columns (Heikki Linnakangas) + </para> + + <para> + This error could result in incorrect query results due to values that + should compare equal not being seen as equal. + Users with GiST indexes on <type>bit</> or <type>bit varying</> + columns should <command>REINDEX</> those indexes after installing this + update. + </para> + </listitem> + + <listitem> + <para> + Protect against torn pages when deleting GIN list pages (Heikki + Linnakangas) + </para> + + <para> + This fix prevents possible index corruption if a system crash occurs + while the page update is being written to disk. + </para> + </listitem> + + <listitem> + <para> + Don't clear the right-link of a GiST index page while replaying + updates from WAL (Heikki Linnakangas) + </para> + + <para> + This error could lead to transiently wrong answers from GiST index + scans performed in Hot Standby. + </para> + </listitem> + + <listitem> + <para> + Fix corner-case infinite loop during insertion into an SP-GiST text + index (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix feedback status when <xref linkend="guc-hot-standby-feedback"> is + turned off on-the-fly (Simon Riggs) + </para> + </listitem> + + <listitem> + <para> + Fix possibly-incorrect cache invalidation during nested calls + to <function>ReceiveSharedInvalidMessages</> (Andres Freund) + </para> + </listitem> + + <listitem> + <para> + Fix planner's mishandling of nested PlaceHolderVars generated in + nested-nestloop plans (Tom Lane) + </para> + + <para> + This oversight could result in <quote>variable not found in subplan + target lists</> errors, or in silently wrong query results. + </para> + </listitem> + + <listitem> + <para> + Fix <quote>could not find pathkey item to sort</> planner failures + with <literal>UNION ALL</> over subqueries reading from tables with + inheritance children (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Don't assume a subquery's output is unique if there's a set-returning + function in its targetlist (David Rowley) + </para> + + <para> + This oversight could lead to misoptimization of constructs + like <literal>WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP + BY y)</literal>. + </para> + </listitem> + + <listitem> + <para> + Improve planner to drop constant-NULL inputs + of <literal>AND</>/<literal>OR</> when possible (Tom Lane) + </para> + + <para> + This change fixes some cases where the more aggressive parameter + substitution done by 9.2 and later can lead to a worse plan than + older versions produced. + </para> + </listitem> + + <listitem> + <para> + Fix identification of input type category in <function>to_json()</> + and friends (Tom Lane) + </para> + + <para> + This is known to have led to inadequate quoting of <type>money</> + fields in the <type>JSON</> result, and there may have been wrong + results for other data types as well. + </para> + </listitem> + + <listitem> + <para> + Fix failure to detoast fields in composite elements of structured + types (Tom Lane) + </para> + + <para> + This corrects cases where TOAST pointers could be copied into other + tables without being dereferenced. If the original data is later + deleted, it would lead to errors like <quote>missing chunk number 0 + for toast value ...</> when the now-dangling pointer is used. + </para> + </listitem> + + <listitem> + <para> + Fix <quote>record type has not been registered</> failures with + whole-row references to the output of Append plan nodes (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible crash when invoking a user-defined function while + rewinding a cursor (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix query-lifespan memory leak while evaluating the arguments for a + function in <literal>FROM</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix session-lifespan memory leaks in regular-expression processing + (Tom Lane, Arthur O'Dwyer, Greg Stark) + </para> + </listitem> + + <listitem> + <para> + Fix data encoding error in <filename>hungarian.stop</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Prevent foreign tables from being created with OIDS + when <xref linkend="guc-default-with-oids"> is true + (Etsuro Fujita) + </para> + </listitem> + + <listitem> + <para> + Fix liveness checks for rows that were inserted in the current + transaction and then deleted by a now-rolled-back subtransaction + (Andres Freund) + </para> + + <para> + This could cause problems (at least spurious warnings, and at worst an + infinite loop) if <command>CREATE INDEX</> or <command>CLUSTER</> were + done later in the same transaction. + </para> + </listitem> + + <listitem> + <para> + Clear <structname>pg_stat_activity</>.<structfield>xact_start</> + during <command>PREPARE TRANSACTION</> (Andres Freund) + </para> + + <para> + After the <command>PREPARE</>, the originating session is no longer in + a transaction, so it should not continue to display a transaction + start time. + </para> + </listitem> + + <listitem> + <para> + Fix <command>REASSIGN OWNED</> to not fail for text search objects + (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Block signals during postmaster startup (Tom Lane) + </para> + + <para> + This ensures that the postmaster will properly clean up after itself + if, for example, it receives <systemitem>SIGINT</> while still + starting up. + </para> + </listitem> + + <listitem> + <para> + Fix client host name lookup when processing <filename>pg_hba.conf</> + entries that specify host names instead of IP addresses (Tom Lane) + </para> + + <para> + Ensure that reverse-DNS lookup failures are reported, instead of just + silently not matching such entries. Also ensure that we make only + one reverse-DNS lookup attempt per connection, not one per host name + entry, which is what previously happened if the lookup attempts failed. + </para> + </listitem> + + <listitem> + <para> + Allow the root user to use <literal>postgres -C variable</> and + <literal>postgres --describe-config</> (MauMau) + </para> + + <para> + The prohibition on starting the server as root does not need to extend + to these operations, and relaxing it prevents failure + of <application>pg_ctl</> in some scenarios. + </para> + </listitem> + + <listitem> + <para> + Secure Unix-domain sockets of temporary postmasters started during + <literal>make check</> (Noah Misch) + </para> + + <para> + Any local user able to access the socket file could connect as the + server's bootstrap superuser, then proceed to execute arbitrary code as + the operating-system user running the test, as we previously noted in + CVE-2014-0067. This change defends against that risk by placing the + server's socket in a temporary, mode 0700 subdirectory + of <filename>/tmp</>. The hazard remains however on platforms where + Unix sockets are not supported, notably Windows, because then the + temporary postmaster must accept local TCP connections. + </para> + + <para> + A useful side effect of this change is to simplify + <literal>make check</> testing in builds that + override <literal>DEFAULT_PGSOCKET_DIR</>. Popular non-default values + like <filename>/var/run/postgresql</> are often not writable by the + build user, requiring workarounds that will no longer be necessary. + </para> + </listitem> + + <listitem> + <para> + Fix tablespace creation WAL replay to work on Windows (MauMau) + </para> + </listitem> + + <listitem> + <para> + Fix detection of socket creation failures on Windows (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + On Windows, allow new sessions to absorb values of PGC_BACKEND + parameters (such as <xref linkend="guc-log-connections">) from the + configuration file (Amit Kapila) + </para> + + <para> + Previously, if such a parameter were changed in the file post-startup, + the change would have no effect. + </para> + </listitem> + + <listitem> + <para> + Properly quote executable path names on Windows (Nikhil Deshpande) + </para> + + <para> + This oversight could cause <application>initdb</> + and <application>pg_upgrade</> to fail on Windows, if the installation + path contained both spaces and <literal>@</> signs. + </para> + </listitem> + + <listitem> + <para> + Fix linking of <application>libpython</> on OS X (Tom Lane) + </para> + + <para> + The method we previously used can fail with the Python library + supplied by Xcode 5.0 and later. + </para> + </listitem> + + <listitem> + <para> + Avoid buffer bloat in <application>libpq</> when the server + consistently sends data faster than the client can absorb it + (Shin-ichi Morita, Tom Lane) + </para> + + <para> + <application>libpq</> could be coerced into enlarging its input buffer + until it runs out of memory (which would be reported misleadingly + as <quote>lost synchronization with server</>). Under ordinary + circumstances it's quite far-fetched that data could be continuously + transmitted more quickly than the <function>recv()</> loop can + absorb it, but this has been observed when the client is artificially + slowed by scheduler constraints. + </para> + </listitem> + + <listitem> + <para> + Ensure that LDAP lookup attempts in <application>libpq</> time out as + intended (Laurenz Albe) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</> to do the right thing when an array + of <type>char *</> is the target for a FETCH statement returning more + than one row, as well as some other array-handling fixes + (Ashutosh Bapat) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_restore</>'s processing of old-style large object + comments (Tom Lane) + </para> + + <para> + A direct-to-database restore from an archive file generated by a + pre-9.0 version of <application>pg_dump</> would usually fail if the + archive contained more than a few comments for large objects. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_upgrade</> for cases where the new server creates + a TOAST table but the old version did not (Bruce Momjian) + </para> + + <para> + This rare situation would manifest as <quote>relation OID mismatch</> + errors. + </para> + </listitem> + + <listitem> + <para> + Prevent <filename>contrib/auto_explain</> from changing the output of + a user's <command>EXPLAIN</> (Tom Lane) + </para> + + <para> + If <filename>auto_explain</> is active, it could cause + an <literal>EXPLAIN (ANALYZE, TIMING OFF)</> command to nonetheless + print timing information. + </para> + </listitem> + + <listitem> + <para> + Fix query-lifespan memory leak in <filename>contrib/dblink</> + (MauMau, Joe Conway) + </para> + </listitem> + + <listitem> + <para> + In <filename>contrib/pgcrypto</> functions, ensure sensitive + information is cleared from stack variables before returning + (Marko Kreen) + </para> + </listitem> + + <listitem> + <para> + Prevent use of already-freed memory in + <filename>contrib/pgstattuple</>'s <function>pgstat_heap()</> + (Noah Misch) + </para> + </listitem> + + <listitem> + <para> + In <filename>contrib/uuid-ossp</>, cache the state of the OSSP UUID + library across calls (Tom Lane) + </para> + + <para> + This improves the efficiency of UUID generation and reduces the amount + of entropy drawn from <filename>/dev/urandom</>, on platforms that + have that. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2014e + for DST law changes in Crimea, Egypt, and Morocco. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-2-8"> <title>Release 9.2.8</title> @@ -183,9 +664,6 @@ for DST law changes in Fiji and Turkey, plus historical changes in Israel and Ukraine. </para> - - <para> - </para> </listitem> </itemizedlist> @@ -675,9 +1153,6 @@ some <application>psql</> <literal>\d</> commands (Peter Eisentraut, Tom Lane) </para> - - <para> - </para> </listitem> <listitem> @@ -3249,9 +3724,6 @@ Improve selectivity estimation for text search queries involving prefixes, i.e. <replaceable>word</><literal>:*</> patterns (Tom Lane) </para> - - <para> - </para> </listitem> <listitem> diff --git a/doc/src/sgml/release-9.3.sgml b/doc/src/sgml/release-9.3.sgml index 90952306912438aa59ecd463cef6842f5c1cc1b7..8788b80f024f9a511c3f59487719d3e2fa7b8f6e 100644 --- a/doc/src/sgml/release-9.3.sgml +++ b/doc/src/sgml/release-9.3.sgml @@ -141,10 +141,8 @@ Branch: REL9_0_STABLE [d034e9b3b] 2014-04-08 14:52:07 +0300 </para> <para> - This is unnecessary, and what's worse is it could lead to wrong - answers from concurrent scans of the index. That was not an issue - when the code was written, but in Hot Standby operation it's important - to leave the link in place. + This error could lead to transiently wrong answers from GiST index + scans performed in Hot Standby. </para> </listitem> @@ -222,19 +220,6 @@ Branch: REL9_3_STABLE [95aa823eb] 2014-04-17 17:47:58 +0300 </para> </listitem> -<!-- -Author: Simon Riggs <simon@2ndQuadrant.com> -Branch: REL9_2_STABLE [2dde11a63] 2014-07-15 14:40:23 +0100 -Branch: REL9_1_STABLE [8ebf5f720] 2014-07-15 14:45:44 +0100 ---> - - <listitem> - <para> - Fix feedback status when <xref linkend="guc-hot-standby-feedback"> is - turned off on-the-fly (Simon Riggs) - </para> - </listitem> - <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> Branch: master Release: REL9_4_BR [0f928a85e] 2014-05-05 14:43:39 -0400 @@ -265,23 +250,6 @@ Branch: REL9_3_STABLE [c0bd128c8] 2014-04-24 15:41:55 -0300 </para> </listitem> -<!-- -Author: Tom Lane <tgl@sss.pgh.pa.us> -Branch: REL9_2_STABLE [187ae1730] 2014-06-09 21:28:56 -0400 ---> - - <listitem> - <para> - Fix planner's mishandling of nested PlaceHolderVars generated in - nested-nestloop plans (Tom Lane) - </para> - - <para> - This oversight could result in <quote>variable not found in subplan - target lists</> errors, or in silently wrong query results. - </para> - </listitem> - <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> Branch: REL9_3_STABLE [a2db7b7d0] 2014-06-26 10:41:59 -0700 @@ -913,6 +881,13 @@ Branch: REL9_3_STABLE [b4eeb9d58] 2014-05-06 13:04:30 +0200 Branch: REL9_2_STABLE [3a024c110] 2014-05-06 13:14:01 +0200 Branch: REL9_1_STABLE [fb66e88cf] 2014-05-06 13:20:22 +0200 Branch: REL9_0_STABLE [91c8c106f] 2014-05-06 13:24:13 +0200 + +Author: Michael Meskes <meskes@postgresql.org> +Branch: master Release: REL9_4_BR [f91796853] 2014-04-09 11:23:38 +0200 +Branch: REL9_3_STABLE [3b8fda676] 2014-04-09 11:38:40 +0200 +Branch: REL9_2_STABLE [2b3136de9] 2014-04-09 11:43:13 +0200 +Branch: REL9_1_STABLE [0de106836] 2014-04-09 12:04:33 +0200 +Branch: REL9_0_STABLE [0c2eb989e] 2014-04-09 12:12:32 +0200 --> <listitem> @@ -1006,6 +981,11 @@ Author: Bruce Momjian <bruce@momjian.us> Branch: master [a61daa14d] 2014-07-02 15:29:38 -0400 Branch: REL9_4_STABLE [b446a384b] 2014-07-02 15:29:38 -0400 Branch: REL9_3_STABLE [3d2e18510] 2014-07-02 15:29:38 -0400 + +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [78db307bb] 2014-07-21 11:41:53 -0400 +Branch: REL9_4_STABLE [d122387d7] 2014-07-21 11:42:00 -0400 +Branch: REL9_3_STABLE [e7984cca0] 2014-07-21 11:42:05 -0400 --> <listitem> @@ -1013,13 +993,16 @@ Branch: REL9_3_STABLE [3d2e18510] 2014-07-02 15:29:38 -0400 In <application>pg_upgrade</>, preserve <structname>pg_database</>.<structfield>datminmxid</> and <structname>pg_class</>.<structfield>relminmxid</> values from the - old cluster, or insert reasonable values when upgrading from pre-9.3 - (Bruce Momjian, Álvaro Herrera) + old cluster, or insert reasonable values when upgrading from pre-9.3; + also defend against unreasonable values in the core server + (Bruce Momjian, Álvaro Herrera, Tom Lane) </para> <para> - This avoids a scenario in which autovacuum might insist on scanning the - entire cluster's contents immediately upon starting the new cluster. + These changes prevent scenarios in which autovacuum might insist on + scanning the entire cluster's contents immediately upon starting the + new cluster, or in which tracking of unfrozen MXID values might be + disabled completely. </para> </listitem>