diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2014-07-21 14:59:29 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2014-07-21 14:59:29 -0400 |
commit | 0cb0c778283fceec58cf1d73ba3204b67a890980 (patch) | |
tree | ddf4c4d24e41b2b65aa4a07723f2f38e867cf3bd | |
parent | 4ee95870de343cd027c7727a175fe1c27c75a389 (diff) | |
download | postgresql-0cb0c778283fceec58cf1d73ba3204b67a890980.tar.gz postgresql-0cb0c778283fceec58cf1d73ba3204b67a890980.zip |
Release notes for 9.3.5, 9.2.9, 9.1.14, 9.0.18, 8.4.22.
-rw-r--r-- | doc/src/sgml/release-8.4.sgml | 325 | ||||
-rw-r--r-- | doc/src/sgml/release-9.0.sgml | 352 | ||||
-rw-r--r-- | doc/src/sgml/release-9.1.sgml | 389 | ||||
-rw-r--r-- | doc/src/sgml/release-9.2.sgml | 490 | ||||
-rw-r--r-- | doc/src/sgml/release-9.3.sgml | 1130 |
5 files changed, 2651 insertions, 35 deletions
diff --git a/doc/src/sgml/release-8.4.sgml b/doc/src/sgml/release-8.4.sgml index 0ed8cebe376..0baa7353f26 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 377e9704297..0c77d248d2c 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 373503d91f9..4f86b64e846 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 dd13cc1b609..911f52aa3ef 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 b4053c62bc8..8788b80f024 100644 --- a/doc/src/sgml/release-9.3.sgml +++ b/doc/src/sgml/release-9.3.sgml @@ -1,6 +1,1126 @@ <!-- doc/src/sgml/release-9.3.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-3-5"> + <title>Release 9.3.5</title> + + <note> + <title>Release Date</title> + <simpara>2014-07-24</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.3.4. + 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.5</title> + + <para> + A dump/restore is not required for those running 9.3.X. + </para> + + <para> + However, this release corrects a logic error + in <application>pg_upgrade</>, as well as an index corruption problem in + some GiST indexes. See the first two changelog entries 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.3.4, + see <xref linkend="release-9-3-4">. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + +<!-- +Author: Bruce Momjian <bruce@momjian.us> +Branch: master [0f7482733] 2014-06-24 16:11:06 -0400 +Branch: REL9_4_STABLE [dd5369047] 2014-06-24 16:11:06 -0400 +Branch: REL9_3_STABLE [cc5841809] 2014-06-24 16:11:06 -0400 +--> + + <listitem> + <para> + In <application>pg_upgrade</>, remove <filename>pg_multixact</> files + left behind by <application>initdb</> (Bruce Momjian) + </para> + + <para> + If you used a pre-9.3.5 version of <application>pg_upgrade</> to + upgrade a database cluster to 9.3, it might have left behind a file + <filename>$PGDATA/pg_multixact/offsets/0000</> that should not be + there and will eventually cause problems in <command>VACUUM</>. + <emphasis>However, in common cases this file is actually valid and + must not be removed.</emphasis> + To determine whether your installation has this problem, run this + query as superuser, in any database of the cluster: +<programlisting> +WITH list(file) AS (SELECT * FROM pg_ls_dir('pg_multixact/offsets')) +SELECT EXISTS (SELECT * FROM list WHERE file = '0000') AND + NOT EXISTS (SELECT * FROM list WHERE file = '0001') AND + NOT EXISTS (SELECT * FROM list WHERE file = 'FFFF') AND + EXISTS (SELECT * FROM list WHERE file != '0000') + AS file_0000_removal_required; +</programlisting> + If this query returns <literal>t</>, manually remove the file + <filename>$PGDATA/pg_multixact/offsets/0000</>. + Do nothing if the query returns <literal>f</>. + </para> + </listitem> + +<!-- +Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> +Branch: master Release: REL9_4_BR [540ac7cea] 2014-05-13 15:15:13 +0300 +Branch: REL9_3_STABLE [d5b912c90] 2014-05-13 15:27:14 +0300 +Branch: REL9_2_STABLE [0d8d0d027] 2014-05-13 15:27:21 +0300 +Branch: REL9_1_STABLE [1913d0f28] 2014-05-13 15:27:28 +0300 +Branch: REL9_0_STABLE [c87c43f08] 2014-05-13 15:27:36 +0300 +Branch: REL8_4_STABLE [e31d77c96] 2014-05-13 15:27:43 +0300 +--> + + <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> + +<!-- +Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> +Branch: master Release: REL9_4_BR [4f7bb4b2a] 2014-05-08 14:50:22 +0300 +Branch: REL9_3_STABLE [34572920c] 2014-05-08 14:43:04 +0300 +Branch: REL9_2_STABLE [31633f992] 2014-05-08 14:43:39 +0300 +Branch: REL9_1_STABLE [686a7194e] 2014-05-08 14:43:58 +0300 +Branch: REL9_0_STABLE [8b4efe1f3] 2014-05-08 14:44:06 +0300 +Branch: REL8_4_STABLE [be7830596] 2014-05-08 14:46:43 +0300 +--> + + <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> + +<!-- +Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> +Branch: master Release: REL9_4_BR [7ca32e255] 2014-04-08 14:51:40 +0300 +Branch: REL9_3_STABLE [601c01e08] 2014-04-08 14:51:49 +0300 +Branch: REL9_2_STABLE [02b9fd73e] 2014-04-08 14:51:56 +0300 +Branch: REL9_1_STABLE [ac0078c1d] 2014-04-08 14:52:01 +0300 +Branch: REL9_0_STABLE [d034e9b3b] 2014-04-08 14:52:07 +0300 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [c170655cc] 2014-06-09 16:31:11 -0400 +Branch: REL9_3_STABLE [717c116f1] 2014-06-09 16:31:16 -0400 +Branch: REL9_2_STABLE [93328b2df] 2014-06-09 16:30:46 -0400 +--> + + <listitem> + <para> + Fix corner-case infinite loop during insertion into an SP-GiST text + index (Tom Lane) + </para> + </listitem> + +<!-- +Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> +Branch: master [1264ef31a] 2014-07-16 09:19:06 +0300 +Branch: REL9_4_STABLE [9b3ef66af] 2014-07-16 09:20:20 +0300 +Branch: REL9_3_STABLE [a4867d041] 2014-07-16 09:20:31 +0300 +--> + + <listitem> + <para> + Fix incorrect answers from SP-GiST index searches + with <literal>-|-</literal> (range adjacency) operator + (Heikki Linnakangas) + </para> + </listitem> + +<!-- +Author: Alvaro Herrera <alvherre@alvh.no-ip.org> +Branch: master Release: REL9_4_BR [b0b263baa] 2014-06-09 15:17:23 -0400 +Branch: REL9_3_STABLE [167a2535f] 2014-06-09 15:17:23 -0400 +--> + + <listitem> + <para> + Fix wraparound handling for <filename>pg_multixact/members</> + (Álvaro Herrera) + </para> + </listitem> + +<!-- +Author: Alvaro Herrera <alvherre@alvh.no-ip.org> +Branch: master [f741300c9] 2014-06-27 14:43:53 -0400 +Branch: REL9_4_STABLE [56f86bb76] 2014-06-27 14:43:52 -0400 +Branch: REL9_3_STABLE [9a28c3752] 2014-06-27 14:43:52 -0400 +--> + + <listitem> + <para> + Truncate <structname>pg_multixact</> during checkpoints, not + during <command>VACUUM</> (Álvaro Herrera) + </para> + + <para> + This change ensures that <structname>pg_multixact</> segments can't be + removed if they'd still be needed during WAL replay after a crash. + </para> + </listitem> + +<!-- +Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> +Branch: master Release: REL9_4_BR [2a8e1ac59] 2014-04-17 17:47:50 +0300 +Branch: REL9_3_STABLE [95aa823eb] 2014-04-17 17:47:58 +0300 +--> + + <listitem> + <para> + Fix possible inconsistency of all-visible flags after WAL recovery + (Heikki Linnakangas) + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [0f928a85e] 2014-05-05 14:43:39 -0400 +Branch: REL9_3_STABLE [4f4ef042f] 2014-05-05 14:43:42 -0400 +Branch: REL9_2_STABLE [c8fbeeb45] 2014-05-05 14:43:46 -0400 +Branch: REL9_1_STABLE [2f4ee3a2f] 2014-05-05 14:43:49 -0400 +Branch: REL9_0_STABLE [7d5b68621] 2014-05-05 14:43:52 -0400 +Branch: REL8_4_STABLE [3ada1fab8] 2014-05-05 14:43:55 -0400 +--> + + <listitem> + <para> + Fix possibly-incorrect cache invalidation during nested calls + to <function>ReceiveSharedInvalidMessages</> (Andres Freund) + </para> + </listitem> + +<!-- +Author: Alvaro Herrera <alvherre@alvh.no-ip.org> +Branch: master Release: REL9_4_BR [1a917ae86] 2014-04-24 15:41:55 -0300 +Branch: REL9_3_STABLE [c0bd128c8] 2014-04-24 15:41:55 -0300 +--> + + <listitem> + <para> + Fix race condition when updating a tuple concurrently locked by + another process (Andres Freund, Álvaro Herrera) + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: REL9_3_STABLE [a2db7b7d0] 2014-06-26 10:41:59 -0700 +Branch: REL9_2_STABLE [0cf16686b] 2014-06-26 10:42:03 -0700 +Branch: REL9_1_STABLE [555d0b200] 2014-06-26 10:42:08 -0700 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [9e2f2d7a0] 2014-07-08 14:03:56 -0400 +Branch: REL9_4_STABLE [ac45aa1dd] 2014-07-08 14:03:45 -0400 +Branch: REL9_3_STABLE [6d36aee5b] 2014-07-08 14:03:19 -0400 +Branch: REL9_2_STABLE [189bd09cb] 2014-07-08 14:03:23 -0400 +Branch: REL9_1_STABLE [fa21a760b] 2014-07-08 14:03:26 -0400 +Branch: REL9_0_STABLE [2865d5952] 2014-07-08 14:03:30 -0400 +Branch: REL8_4_STABLE [2e7469dc8] 2014-07-08 14:03:32 -0400 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [95811032d] 2014-04-29 13:12:46 -0400 +Branch: REL9_3_STABLE [150a44e83] 2014-04-29 13:12:29 -0400 +Branch: REL9_2_STABLE [0901dbab3] 2014-04-29 13:12:33 -0400 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [c7b353959] 2014-04-03 22:02:24 -0400 +Branch: REL9_3_STABLE [d359f71ac] 2014-04-03 22:02:27 -0400 +--> + + <listitem> + <para> + Ensure that the planner sees equivalent <literal>VARIADIC</> and + non-<literal>VARIADIC</> function calls as equivalent (Tom Lane) + </para> + + <para> + This bug could for example result in failure to use expression indexes + involving variadic functions. It might be necessary to re-create such + indexes, and/or re-create views including variadic function calls that + should match the indexes, for the fix to be effective for existing 9.3 + installations. + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [57d8c1270] 2014-06-24 21:22:40 -0700 +Branch: REL9_4_STABLE [a331512de] 2014-06-24 21:22:43 -0700 +Branch: REL9_3_STABLE [a1fc36495] 2014-06-24 21:22:47 -0700 +--> + + <listitem> + <para> + Fix handling of nested <type>JSON</> objects + in <function>json_populate_recordset()</> and friends + (Michael Paquier, Tom Lane) + </para> + + <para> + A nested <type>JSON</> object could result in previous fields of the + parent object not being shown in the output. + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [0ca6bda8e] 2014-05-09 12:55:31 -0400 +Branch: REL9_3_STABLE [13c679995] 2014-05-09 12:55:03 -0400 +Branch: REL9_2_STABLE [25c933c5c] 2014-05-09 12:55:06 -0400 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [3f8c8e3c6] 2014-05-01 15:19:06 -0400 +Branch: REL9_3_STABLE [b72e90bc3] 2014-05-01 15:19:10 -0400 +Branch: REL9_2_STABLE [8c43980a1] 2014-05-01 15:19:14 -0400 +Branch: REL9_1_STABLE [db1fdc945] 2014-05-01 15:19:17 -0400 +Branch: REL9_0_STABLE [7a4f114f3] 2014-05-01 15:19:20 -0400 +Branch: REL8_4_STABLE [70debcf09] 2014-05-01 15:19:23 -0400 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [d68581483] 2014-07-11 19:12:35 -0400 +Branch: REL9_4_STABLE [f280eff94] 2014-07-11 19:12:38 -0400 +Branch: REL9_3_STABLE [b77e6b959] 2014-07-11 19:12:42 -0400 +Branch: REL9_2_STABLE [261f954e7] 2014-07-11 19:12:45 -0400 +Branch: REL9_1_STABLE [c45841f9e] 2014-07-11 19:12:48 -0400 +Branch: REL9_0_STABLE [cd8ba91a0] 2014-07-11 19:12:51 -0400 +Branch: REL8_4_STABLE [a81fbcfb3] 2014-07-11 19:12:56 -0400 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [04e5025be] 2014-05-07 14:25:11 -0400 +Branch: REL9_3_STABLE [fc58c39d4] 2014-05-07 14:25:13 -0400 +Branch: REL9_2_STABLE [022b5f2b2] 2014-05-07 14:25:17 -0400 +Branch: REL9_1_STABLE [229101db4] 2014-05-07 14:25:22 -0400 +Branch: REL9_0_STABLE [7f66ade71] 2014-05-07 14:25:25 -0400 +Branch: REL8_4_STABLE [2a527baa3] 2014-05-07 14:25:28 -0400 +--> + + <listitem> + <para> + Fix possible crash when invoking a user-defined function while + rewinding a cursor (Tom Lane) + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [45b0f3572] 2014-06-19 22:14:26 -0400 +Branch: REL9_4_STABLE [1044e79a0] 2014-06-19 22:13:44 -0400 +Branch: REL9_3_STABLE [c1f8fb9bf] 2014-06-19 22:13:47 -0400 +Branch: REL9_2_STABLE [b568d3836] 2014-06-19 22:13:51 -0400 +Branch: REL9_1_STABLE [06d5eacbc] 2014-06-19 22:13:54 -0400 +Branch: REL9_0_STABLE [83131e634] 2014-06-19 22:13:58 -0400 +Branch: REL8_4_STABLE [d297c91d4] 2014-06-19 22:14:00 -0400 +--> + + <listitem> + <para> + Fix query-lifespan memory leak while evaluating the arguments for a + function in <literal>FROM</> (Tom Lane) + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [1567e659a] 2014-07-18 13:00:27 -0400 +Branch: REL9_4_STABLE [4a66f0f2d] 2014-07-18 13:00:39 -0400 +Branch: REL9_3_STABLE [5ef588b22] 2014-07-18 13:00:43 -0400 +Branch: REL9_2_STABLE [a223b9e36] 2014-07-18 13:00:48 -0400 +Branch: REL9_1_STABLE [8a817785a] 2014-07-18 13:00:52 -0400 +Branch: REL9_0_STABLE [b8c24f7ab] 2014-07-18 13:00:57 -0400 +Branch: REL8_4_STABLE [e0a233744] 2014-07-18 13:01:04 -0400 +--> + + <listitem> + <para> + Fix session-lifespan memory leaks in regular-expression processing + (Tom Lane, Arthur O'Dwyer, Greg Stark) + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [fd90b5d57] 2014-06-10 22:48:16 -0400 +Branch: REL9_4_STABLE [7f9fbb842] 2014-06-10 22:48:31 -0400 +Branch: REL9_3_STABLE [87db9534a] 2014-06-10 22:48:39 -0400 +Branch: REL9_2_STABLE [802323535] 2014-06-10 22:48:45 -0400 +Branch: REL9_1_STABLE [62f134954] 2014-06-10 22:48:52 -0400 +Branch: REL9_0_STABLE [4d5ea4290] 2014-06-10 22:48:59 -0400 +Branch: REL8_4_STABLE [f3f40434b] 2014-06-10 22:49:08 -0400 +--> + + <listitem> + <para> + Fix data encoding error in <filename>hungarian.stop</> (Tom Lane) + </para> + </listitem> + +<!-- +Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> +Branch: master [a87a7dc8b] 2014-06-24 13:27:18 +0300 +Branch: REL9_4_STABLE [1818ae0a7] 2014-06-24 13:31:06 +0300 +Branch: REL9_3_STABLE [2a7512bc7] 2014-06-24 13:31:00 +0300 +Branch: REL9_2_STABLE [1c9f9e888] 2014-06-24 13:30:54 +0300 +Branch: REL9_1_STABLE [dd1a5b09b] 2014-06-24 13:30:41 +0300 +--> + + <listitem> + <para> + Prevent foreign tables from being created with OIDS + when <xref linkend="guc-default-with-oids"> is true + (Etsuro Fujita) + </para> + </listitem> + +<!-- +Author: Andres Freund <andres@anarazel.de> +Branch: master Release: REL9_4_BR [621a99a66] 2014-06-04 21:36:19 +0200 +Branch: REL9_3_STABLE [edde59db1] 2014-06-04 23:26:08 +0200 +Branch: REL9_2_STABLE [315442c01] 2014-06-04 23:25:52 +0200 +Branch: REL9_1_STABLE [6bf6e528a] 2014-06-04 23:26:30 +0200 +Branch: REL9_0_STABLE [037c6fb9f] 2014-06-04 23:27:10 +0200 +Branch: REL8_4_STABLE [80d45ae4e] 2014-06-04 23:27:38 +0200 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [d19bd29f0] 2014-04-24 13:29:48 -0400 +Branch: REL9_3_STABLE [12e41a5d7] 2014-04-24 13:29:56 -0400 +Branch: REL9_2_STABLE [ea9ac7741] 2014-04-24 13:30:00 -0400 +Branch: REL9_1_STABLE [70e7be264] 2014-04-24 13:30:04 -0400 +Branch: REL9_0_STABLE [b7a3e1173] 2014-04-24 13:30:08 -0400 +Branch: REL8_4_STABLE [82fbd88a7] 2014-04-24 13:30:14 -0400 +--> + + <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> + +<!-- +Author: Alvaro Herrera <alvherre@alvh.no-ip.org> +Branch: master [6bdf4b9c7] 2014-07-15 13:24:07 -0400 +Branch: REL9_4_STABLE [e45229bb6] 2014-07-15 13:24:07 -0400 +Branch: REL9_3_STABLE [12c5bbdcb] 2014-07-15 13:24:07 -0400 +Branch: REL9_2_STABLE [b42f09fc8] 2014-07-15 13:24:07 -0400 +Branch: REL9_1_STABLE [a41dc7321] 2014-07-15 13:24:07 -0400 +Branch: REL9_0_STABLE [bf08864b8] 2014-07-15 13:24:07 -0400 +Branch: REL8_4_STABLE [4b767789d] 2014-07-15 13:24:07 -0400 +--> + + <listitem> + <para> + Fix <command>REASSIGN OWNED</> to not fail for text search objects + (Álvaro Herrera) + </para> + </listitem> + +<!-- +Author: Alvaro Herrera <alvherre@alvh.no-ip.org> +Branch: master [b7e51d9c0] 2014-06-27 14:43:46 -0400 +Branch: REL9_4_STABLE [9eecc8a7c] 2014-06-27 14:43:46 -0400 +Branch: REL9_3_STABLE [e86cfc4bb] 2014-06-27 14:43:45 -0400 +--> + + <listitem> + <para> + Prevent <structname>pg_class</>.<structfield>relminmxid</> values from + going backwards during <command>VACUUM FULL</> (Álvaro Herrera) + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [41de93c53] 2014-04-30 13:26:26 -0400 +Branch: REL9_3_STABLE [0652d77fb] 2014-04-30 13:26:29 -0400 +--> + + <listitem> + <para> + Reduce indentation in rule/view dumps to improve readability and avoid + excessive whitespace (Greg Stark, Tom Lane) + </para> + + <para> + This change reduces the amount of indentation applied to nested + constructs, including some cases that the user probably doesn't think + of as nested, such as UNION lists. Previously, deeply nested + constructs were printed with an amount of whitespace growing as + O(N^2), which created a performance problem and even risk of + out-of-memory failures. Now the indentation is reduced modulo 40, + which is initially odd to look at but seems to preserve readability + better than simply limiting the indentation would do. + Redundant parenthesization of UNION lists has been reduced as well. + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [91e16b980] 2014-05-01 20:22:37 -0400 +Branch: REL9_3_STABLE [e31193d49] 2014-05-01 20:22:39 -0400 +--> + + <listitem> + <para> + Fix dumping of rules/views when subsequent addition of a column has + resulted in multiple input columns matching a <literal>USING</> + specification (Tom Lane) + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [9b35ddce9] 2014-07-19 14:28:52 -0400 +Branch: REL9_4_STABLE [f0a497e4c] 2014-07-19 14:29:00 -0400 +Branch: REL9_3_STABLE [b978ab5f6] 2014-07-19 14:29:05 -0400 +--> + + <listitem> + <para> + Repair view printing for some cases involving functions + in <literal>FROM</> that return a composite type containing dropped + columns (Tom Lane) + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [5d8117e1f] 2014-04-05 18:16:08 -0400 +Branch: REL9_3_STABLE [21aa47d01] 2014-04-05 18:16:11 -0400 +Branch: REL9_2_STABLE [53463e247] 2014-04-05 18:16:14 -0400 +Branch: REL9_1_STABLE [093d3da1d] 2014-04-05 18:16:17 -0400 +Branch: REL9_0_STABLE [5c26ab659] 2014-04-05 18:16:20 -0400 +Branch: REL8_4_STABLE [969735cf1] 2014-04-05 18:16:24 -0400 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [fc752505a] 2014-04-02 17:11:24 -0400 +Branch: REL9_3_STABLE [65183fb78] 2014-04-02 17:11:27 -0400 +Branch: REL9_2_STABLE [029decfec] 2014-04-02 17:11:31 -0400 +Branch: REL9_1_STABLE [b7a424371] 2014-04-02 17:11:34 -0400 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [b203c57bb] 2014-04-04 22:03:35 -0400 +Branch: REL9_3_STABLE [7d1a0f585] 2014-04-04 22:03:38 -0400 +Branch: REL9_2_STABLE [6d25eb314] 2014-04-04 22:03:42 -0400 +--> + + <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> + +<!-- +Author: Noah Misch <noah@leadboat.com> +Branch: master [be76a6d39] 2014-06-14 09:41:13 -0400 +Branch: REL9_4_STABLE [6583a75b2] 2014-06-14 09:41:16 -0400 +Branch: REL9_3_STABLE [1442b426e] 2014-06-14 09:41:17 -0400 +Branch: REL9_2_STABLE [453a5d91d] 2014-06-14 09:41:17 -0400 +Branch: REL9_1_STABLE [481831b43] 2014-06-14 09:41:18 -0400 +Branch: REL9_0_STABLE [5f09c583c] 2014-06-14 09:41:18 -0400 +Branch: REL8_4_STABLE [95cefd30e] 2014-06-14 09:41:18 -0400 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [abe075dff] 2014-04-04 23:09:35 -0400 +Branch: REL9_3_STABLE [84520f91c] 2014-04-04 23:09:38 -0400 +Branch: REL9_2_STABLE [1a496a12b] 2014-04-04 23:09:41 -0400 +Branch: REL9_1_STABLE [af7738fe6] 2014-04-04 23:09:45 -0400 +Branch: REL9_0_STABLE [634056567] 2014-04-04 23:09:49 -0400 +--> + + <listitem> + <para> + Fix tablespace creation WAL replay to work on Windows (MauMau) + </para> + </listitem> + +<!-- +Author: Bruce Momjian <bruce@momjian.us> +Branch: master Release: REL9_4_BR [418093465] 2014-04-16 10:45:48 -0400 +Branch: REL9_3_STABLE [f716c3250] 2014-04-16 10:45:48 -0400 +Branch: REL9_2_STABLE [966f015b6] 2014-04-16 10:45:48 -0400 +Branch: REL9_1_STABLE [bed499ed1] 2014-04-16 10:45:48 -0400 +Branch: REL9_0_STABLE [a86b2daff] 2014-04-16 10:45:48 -0400 +--> + + <listitem> + <para> + Fix detection of socket creation failures on Windows (Bruce Momjian) + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [6862ca697] 2014-04-05 12:41:25 -0400 +Branch: REL9_3_STABLE [18db2150c] 2014-04-05 12:41:28 -0400 +Branch: REL9_2_STABLE [bdc3e95c2] 2014-04-05 12:41:31 -0400 +Branch: REL9_1_STABLE [cb11f4d8d] 2014-04-05 12:41:34 -0400 +Branch: REL9_0_STABLE [9500d8f89] 2014-04-05 12:41:38 -0400 +Branch: REL8_4_STABLE [30e434bdf] 2014-04-05 12:41:40 -0400 +--> + + <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> + +<!-- +Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> +Branch: master Release: REL9_4_BR [503de5462] 2014-04-30 10:35:52 +0300 +Branch: REL9_3_STABLE [8a90a39b4] 2014-04-30 10:35:46 +0300 +Branch: REL9_2_STABLE [e2558e016] 2014-04-30 10:36:31 +0300 +Branch: REL9_1_STABLE [94095e341] 2014-04-30 10:36:41 +0300 +Branch: REL9_0_STABLE [c06b7219a] 2014-04-30 10:38:32 +0300 +Branch: REL8_4_STABLE [e3f273ff6] 2014-04-30 10:39:03 +0300 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [20561acf9] 2014-05-30 18:19:06 -0400 +Branch: REL9_3_STABLE [4f5f4da79] 2014-05-30 18:19:14 -0400 +Branch: REL9_2_STABLE [83ed4598b] 2014-05-30 18:18:20 -0400 +Branch: REL9_1_STABLE [a784a39c4] 2014-05-30 18:18:24 -0400 +Branch: REL9_0_STABLE [4f725bbc4] 2014-05-30 18:18:28 -0400 +Branch: REL8_4_STABLE [ae41bb4be] 2014-05-30 18:18:32 -0400 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [2f557167b] 2014-05-07 21:39:13 -0400 +Branch: REL9_3_STABLE [b4f9c93ce] 2014-05-07 21:38:38 -0400 +Branch: REL9_2_STABLE [f7672c8ce] 2014-05-07 21:38:41 -0400 +Branch: REL9_1_STABLE [86888054a] 2014-05-07 21:38:44 -0400 +Branch: REL9_0_STABLE [77e662827] 2014-05-07 21:38:47 -0400 +Branch: REL8_4_STABLE [664ac3de7] 2014-05-07 21:38:50 -0400 +--> + + <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> + +<!-- +Author: Magnus Hagander <magnus@hagander.net> +Branch: master Release: REL9_4_BR [585bca393] 2014-04-16 18:58:10 +0200 +Branch: REL9_3_STABLE [cc269272c] 2014-04-16 18:58:55 +0200 +Branch: REL9_2_STABLE [b764080ee] 2014-04-16 18:59:11 +0200 +Branch: REL9_1_STABLE [c4bf15b9c] 2014-04-16 18:59:28 +0200 +Branch: REL9_0_STABLE [96752b02d] 2014-04-16 18:59:37 +0200 +Branch: REL8_4_STABLE [b4ae2e37d] 2014-04-16 18:59:48 +0200 +--> + + <listitem> + <para> + Ensure that LDAP lookup attempts in <application>libpq</> time out as + intended (Laurenz Albe) + </para> + </listitem> + +<!-- +Author: Michael Meskes <meskes@postgresql.org> +Branch: master Release: REL9_4_BR [8d6a07fa0] 2014-05-06 13:09:51 +0200 +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> + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [62215de29] 2014-03-29 17:34:00 -0400 +Branch: REL9_3_STABLE [3080bbaa9] 2014-03-29 17:34:03 -0400 +--> + + <listitem> + <para> + Fix <application>pg_dump</> to cope with a materialized view that + depends on a table's primary key (Tom Lane) + </para> + + <para> + This occurs if the view's query relies on functional dependency to + abbreviate a <literal>GROUP BY</> list. <application>pg_dump</> got + sufficiently confused that it dumped the materialized view as a + regular view. + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [19f2d6cda] 2014-03-18 10:38:25 -0400 +Branch: REL9_3_STABLE [63817f86b] 2014-03-18 10:38:38 -0400 +--> + + <listitem> + <para> + Fix parsing of <application>pg_dumpall</>'s <option>-i</> switch + (Tom Lane) + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [c81e63d85] 2014-06-12 20:14:32 -0400 +Branch: REL9_4_STABLE [c3c1401ca] 2014-06-12 20:14:36 -0400 +Branch: REL9_3_STABLE [a11577f47] 2014-06-12 20:14:39 -0400 +Branch: REL9_2_STABLE [ce7fc4fbb] 2014-06-12 20:14:46 -0400 +Branch: REL9_1_STABLE [294a48985] 2014-06-12 20:14:49 -0400 +Branch: REL9_0_STABLE [3fec825f9] 2014-06-12 20:14:52 -0400 +Branch: REL8_4_STABLE [6adddac8a] 2014-06-12 20:14:55 -0400 +--> + + <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> + +<!-- +Author: Bruce Momjian <bruce@momjian.us> +Branch: master [3088cc370] 2014-07-07 13:24:08 -0400 +Branch: REL9_4_STABLE [f64fe2cbe] 2014-07-07 13:24:08 -0400 +Branch: REL9_3_STABLE [f1d7ff5bb] 2014-07-07 13:24:08 -0400 +Branch: REL9_2_STABLE [759c9fb63] 2014-07-07 13:24:08 -0400 +--> + + <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> + +<!-- +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> + <para> + 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; + also defend against unreasonable values in the core server + (Bruce Momjian, Álvaro Herrera, Tom Lane) + </para> + + <para> + 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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [e416830a2] 2014-05-20 12:20:47 -0400 +Branch: REL9_3_STABLE [0266a9c78] 2014-05-20 12:20:52 -0400 +Branch: REL9_2_STABLE [31f579f09] 2014-05-20 12:20:57 -0400 +--> + + <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> + +<!-- +Author: Joe Conway <mail@joeconway.com> +Branch: master [1dde5782e] 2014-06-20 12:24:59 -0700 +Branch: REL9_4_STABLE [9d884a34c] 2014-06-20 12:26:26 -0700 +Branch: REL9_3_STABLE [b3a3f3d2f] 2014-06-20 12:26:43 -0700 +Branch: REL9_2_STABLE [3e2cfa42f] 2014-06-20 12:27:04 -0700 +--> + + <listitem> + <para> + Fix query-lifespan memory leak in <filename>contrib/dblink</> + (MauMau, Joe Conway) + </para> + </listitem> + +<!-- +Author: Bruce Momjian <bruce@momjian.us> +Branch: master Release: REL9_4_BR [9fe55259f] 2014-04-17 12:37:53 -0400 +Branch: REL9_3_STABLE [fc72e94a1] 2014-04-17 12:37:53 -0400 +Branch: REL9_2_STABLE [ea8725a8b] 2014-04-17 12:37:53 -0400 +Branch: REL9_1_STABLE [fc02b87e2] 2014-04-17 12:37:53 -0400 +Branch: REL9_0_STABLE [a1b9c4630] 2014-04-17 12:37:53 -0400 +Branch: REL8_4_STABLE [df2e62603] 2014-04-17 12:37:53 -0400 +--> + + <listitem> + <para> + In <filename>contrib/pgcrypto</> functions, ensure sensitive + information is cleared from stack variables before returning + (Marko Kreen) + </para> + </listitem> + +<!-- +Author: Noah Misch <noah@leadboat.com> +Branch: master [9d0826c59] 2014-06-30 16:59:19 -0400 +Branch: REL9_4_STABLE [37a4d3d70] 2014-06-30 16:59:44 -0400 +Branch: REL9_3_STABLE [f14e40852] 2014-06-30 17:00:22 -0400 +Branch: REL9_2_STABLE [f6d6b7b1e] 2014-06-30 17:00:40 -0400 +--> + + <listitem> + <para> + Prevent use of already-freed memory in + <filename>contrib/pgstattuple</>'s <function>pgstat_heap()</> + (Noah Misch) + </para> + </listitem> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master Release: REL9_4_BR [c941aed96] 2014-05-29 13:51:02 -0400 +Branch: REL9_3_STABLE [961dd203a] 2014-05-29 13:51:05 -0400 +Branch: REL9_2_STABLE [2fb9fb661] 2014-05-29 13:51:09 -0400 +Branch: REL9_1_STABLE [3606754da] 2014-05-29 13:51:12 -0400 +Branch: REL9_0_STABLE [b2f6754d2] 2014-05-29 13:51:15 -0400 +Branch: REL8_4_STABLE [fd785441f] 2014-05-29 13:51:18 -0400 +--> + + <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> + +<!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [b1864fabf] 2014-07-19 15:00:50 -0400 +Branch: REL9_4_STABLE [e5ea60e80] 2014-07-19 15:01:05 -0400 +Branch: REL9_3_STABLE [bd5458f52] 2014-07-19 15:01:12 -0400 +Branch: REL9_2_STABLE [7d09e4854] 2014-07-19 15:01:18 -0400 +Branch: REL9_1_STABLE [40ccb6530] 2014-07-19 15:01:28 -0400 +Branch: REL9_0_STABLE [7659b6913] 2014-07-19 15:01:38 -0400 +Branch: REL8_4_STABLE [c51da696b] 2014-07-19 15:01:45 -0400 +--> + + <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-3-4"> <title>Release 9.3.4</title> @@ -456,9 +1576,6 @@ Branch: REL8_4_STABLE [6e6c2c2e1] 2014-03-15 13:36:57 -0400 for DST law changes in Fiji and Turkey, plus historical changes in Israel and Ukraine. </para> - - <para> - </para> </listitem> </itemizedlist> @@ -1646,9 +2763,6 @@ Branch: REL9_2_STABLE [fa28f9cba] 2014-01-04 16:05:23 -0500 some <application>psql</> <literal>\d</> commands (Peter Eisentraut, Tom Lane) </para> - - <para> - </para> </listitem> <!-- @@ -3618,14 +4732,14 @@ ALTER EXTENSION hstore UPDATE; <listitem> <para> Allow <type>JSON</> values to be <link - linkend="functions-json-table">converted into records</link> + linkend="functions-json">converted into records</link> (Andrew Dunstan) </para> </listitem> <listitem> <para> - Add <link linkend="functions-json-table">functions</link> to convert + Add <link linkend="functions-json">functions</link> to convert scalars, records, and <type>hstore</> values to <type>JSON</> (Andrew Dunstan) </para> |