From a0891d2d0136ea06cde957635338c0c238df87de Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Sun, 17 May 2015 15:54:20 -0400 Subject: [PATCH] Release notes for 9.4.2, 9.3.7, 9.2.11, 9.1.16, 9.0.20. --- doc/src/sgml/release-9.0.sgml | 380 ++++++++++++++++++++++++ doc/src/sgml/release-9.1.sgml | 462 +++++++++++++++++++++++++++++ doc/src/sgml/release-9.2.sgml | 511 ++++++++++++++++++++++++++++++++ doc/src/sgml/release-9.3.sgml | 533 ++++++++++++++++++++++++++++++++++ doc/src/sgml/release-9.4.sgml | 38 +-- 5 files changed, 1892 insertions(+), 32 deletions(-) diff --git a/doc/src/sgml/release-9.0.sgml b/doc/src/sgml/release-9.0.sgml index 90339a5eaed..c3fcbf7b6be 100644 --- a/doc/src/sgml/release-9.0.sgml +++ b/doc/src/sgml/release-9.0.sgml @@ -1,6 +1,386 @@ <!-- doc/src/sgml/release-9.0.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-0-20"> + <title>Release 9.0.20</title> + + <note> + <title>Release Date</title> + <simpara>2015-05-21</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.0.19. + For information about new features in the 9.0 major release, see + <xref linkend="release-9-0">. + </para> + + <para> + The <productname>PostgreSQL</> community will stop releasing updates + for the 9.0.X release series in September 2015. + Users are encouraged to update to a newer release branch soon. + </para> + + <sect2> + <title>Migration to Version 9.0.20</title> + + <para> + A dump/restore is not required for those running 9.0.X. + </para> + + <para> + However, if you are upgrading from a version earlier than 9.0.18, + see <xref linkend="release-9-0-18">. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix incorrect checking of deferred exclusion constraints after a HOT + update (Tom Lane) + </para> + + <para> + If a new row that potentially violates a deferred exclusion constraint + is HOT-updated (that is, no indexed columns change and the row can be + stored back onto the same table page) later in the same transaction, + the exclusion constraint would be reported as violated when the check + finally occurred, even if the row(s) the new row originally conflicted + with had been deleted. + </para> + </listitem> + + <listitem> + <para> + Prevent improper reordering of antijoins (NOT EXISTS joins) versus + other outer joins (Tom Lane) + </para> + + <para> + This oversight in the planner has been observed to cause <quote>could + not find RelOptInfo for given relids</> errors, but it seems possible + that sometimes an incorrect query plan might get past that consistency + check and result in silently-wrong query output. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect matching of subexpressions in outer-join plan nodes + (Tom Lane) + </para> + + <para> + Previously, if textually identical non-strict subexpressions were used + both above and below an outer join, the planner might try to re-use + the value computed below the join, which would be incorrect because the + executor would force the value to NULL in case of an unmatched outer row. + </para> + </listitem> + + <listitem> + <para> + Fix GEQO planner to cope with failure of its join order heuristic + (Tom Lane) + </para> + + <para> + This oversight has been seen to lead to <quote>failed to join all + relations together</> errors in queries involving <literal>LATERAL</>, + and that might happen in other cases as well. + </para> + </listitem> + + <listitem> + <para> + Fix possible deadlock at startup + when <literal>max_prepared_transactions</> is too small + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Don't archive useless preallocated WAL files after a timeline switch + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Recursively <function>fsync()</> the data directory after a crash + (Abhijit Menon-Sen, Robert Haas) + </para> + + <para> + This ensures consistency if another crash occurs shortly later. (The + second crash would have to be a system-level crash, not just a database + crash, for there to be a problem.) + </para> + </listitem> + + <listitem> + <para> + Fix autovacuum launcher's possible failure to shut down, if an error + occurs after it receives SIGTERM (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Cope with unexpected signals in <function>LockBufferForCleanup()</> + (Andres Freund) + </para> + + <para> + This oversight could result in spurious errors about <quote>multiple + backends attempting to wait for pincount 1</>. + </para> + </listitem> + + <listitem> + <para> + Avoid waiting for WAL flush or synchronous replication during commit of + a transaction that was read-only so far as the user is concerned + (Andres Freund) + </para> + + <para> + Previously, a delay could occur at commit in transactions that had + written WAL due to HOT page pruning, leading to undesirable effects + such as sessions getting stuck at startup if all synchronous replicas + are down. Sessions have also been observed to get stuck in catchup + interrupt processing when using synchronous replication; this will fix + that problem as well. + </para> + </listitem> + + <listitem> + <para> + Fix crash when manipulating hash indexes on temporary tables + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Fix possible failure during hash index bucket split, if other processes + are modifying the index concurrently (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Check for interrupts while analyzing index expressions (Jeff Janes) + </para> + + <para> + <command>ANALYZE</> executes index expressions many times; if there are + slow functions in such an expression, it's desirable to be able to + cancel the <command>ANALYZE</> before that loop finishes. + </para> + </listitem> + + <listitem> + <para> + Add the name of the target server to object description strings for + foreign-server user mappings (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Recommend setting <literal>include_realm</> to 1 when using + Kerberos/GSSAPI/SSPI authentication (Stephen Frost) + </para> + + <para> + Without this, identically-named users from different realms cannot be + distinguished. For the moment this is only a documentation change, but + it will become the default setting in <productname>PostgreSQL</> 9.5. + </para> + </listitem> + + <listitem> + <para> + Remove code for matching IPv4 <filename>pg_hba.conf</> entries to + IPv4-in-IPv6 addresses (Tom Lane) + </para> + + <para> + This hack was added in 2003 in response to a report that some Linux + kernels of the time would report IPv4 connections as having + IPv4-in-IPv6 addresses. However, the logic was accidentally broken in + 9.0. The lack of any field complaints since then shows that it's not + needed anymore. Now we have reports that the broken code causes + crashes on some systems, so let's just remove it rather than fix it. + (Had we chosen to fix it, that would make for a subtle and potentially + security-sensitive change in the effective meaning of + IPv4 <filename>pg_hba.conf</> entries, which does not seem like a good + thing to do in minor releases.) + </para> + </listitem> + + <listitem> + <para> + While shutting down service on Windows, periodically send status + updates to the Service Control Manager to prevent it from killing the + service too soon; and ensure that <application>pg_ctl</> will wait for + shutdown (Krystian Bigaj) + </para> + </listitem> + + <listitem> + <para> + Reduce risk of network deadlock when using <application>libpq</>'s + non-blocking mode (Heikki Linnakangas) + </para> + + <para> + When sending large volumes of data, it's important to drain the input + buffer every so often, in case the server has sent enough response data + to cause it to block on output. (A typical scenario is that the server + is sending a stream of NOTICE messages during <literal>COPY FROM + STDIN</>.) This worked properly in the normal blocking mode, but not + so much in non-blocking mode. We've modified <application>libpq</> + to opportunistically drain input when it can, but a full defense + against this problem requires application cooperation: the application + should watch for socket read-ready as well as write-ready conditions, + and be sure to call <function>PQconsumeInput()</> upon read-ready. + </para> + </listitem> + + <listitem> + <para> + Fix array handling in <application>ecpg</> (Michael Meskes) + </para> + </listitem> + + <listitem> + <para> + Fix <application>psql</> to sanely handle URIs and conninfo strings as + the first parameter to <command>\connect</> + (David Fetter, Andrew Dunstan, Álvaro Herrera) + </para> + + <para> + This syntax has been accepted (but undocumented) for a long time, but + previously some parameters might be taken from the old connection + instead of the given string, which was agreed to be undesirable. + </para> + </listitem> + + <listitem> + <para> + Suppress incorrect complaints from <application>psql</> on some + platforms that it failed to write <filename>~/.psql_history</> at exit + (Tom Lane) + </para> + + <para> + This misbehavior was caused by a workaround for a bug in very old + (pre-2006) versions of <application>libedit</>. We fixed it by + removing the workaround, which will cause a similar failure to appear + for anyone still using such versions of <application>libedit</>. + Recommendation: upgrade that library, or use <application>libreadline</>. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</>'s rule for deciding which casts are + system-provided casts that should not be dumped (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix dumping of views that are just <literal>VALUES(...)</> but have + column aliases (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, force timeline 1 in the new cluster + (Bruce Momjian) + </para> + + <para> + This change prevents upgrade failures caused by bogus complaints about + missing WAL history files. + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, check for improperly non-connectable + databases before proceeding + (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, quote directory paths + properly in the generated <literal>delete_old_cluster</> script + (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, preserve database-level freezing info + properly + (Bruce Momjian) + </para> + + <para> + This oversight could cause missing-clog-file errors for tables within + the <literal>postgres</> and <literal>template1</> databases. + </para> + </listitem> + + <listitem> + <para> + Run <application>pg_upgrade</> and <application>pg_resetxlog</> with + restricted privileges on Windows, so that they don't fail when run by + an administrator (Muhammad Asif Naeem) + </para> + </listitem> + + <listitem> + <para> + Fix slow sorting algorithm in <filename>contrib/intarray</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix compile failure on Sparc V8 machines (Rob Rowan) + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2015d + for DST law changes in Egypt, Mongolia, and Palestine, plus historical + changes in Canada and Chile. Also adopt revised zone abbreviations for + the America/Adak zone (HST/HDT not HAST/HADT). + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-0-19"> <title>Release 9.0.19</title> diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index f5849ff8fae..7aecb5e09c0 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -1,6 +1,468 @@ <!-- doc/src/sgml/release-9.1.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-1-16"> + <title>Release 9.1.16</title> + + <note> + <title>Release Date</title> + <simpara>2015-05-21</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.1.15. + 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.16</title> + + <para> + A dump/restore is not required for those running 9.1.X. + </para> + + <para> + However, if you use <filename>contrib/citext</>'s + <function>regexp_matches()</> functions, see the changelog entry below + about that. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.1.14, + see <xref linkend="release-9-1-14">. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix incorrect declaration of <filename>contrib/citext</>'s + <function>regexp_matches()</> functions (Tom Lane) + </para> + + <para> + These functions should return <type>setof text[]</>, like the core + functions they are wrappers for; but they were incorrectly declared as + returning just <type>text[]</>. This mistake had two results: first, + if there was no match you got a scalar null result, whereas what you + should get is an empty set (zero rows). Second, the <literal>g</> flag + was effectively ignored, since you would get only one result array even + if there were multiple matches. + </para> + + <para> + While the latter behavior is clearly a bug, there might be applications + depending on the former behavior; therefore the function declarations + will not be changed by default until <productname>PostgreSQL</> 9.5. + In pre-9.5 branches, the old behavior exists in version 1.0 of + the <literal>citext</> extension, while we have provided corrected + declarations in version 1.1 (which is <emphasis>not</> installed by + default). To adopt the fix in pre-9.5 branches, execute + <literal>ALTER EXTENSION citext UPDATE TO '1.1'</> in each database in + which <literal>citext</> is installed. (You can also <quote>update</> + back to 1.0 if you need to undo that.) Be aware that either update + direction will require dropping and recreating any views or rules that + use <filename>citext</>'s <function>regexp_matches()</> functions. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect checking of deferred exclusion constraints after a HOT + update (Tom Lane) + </para> + + <para> + If a new row that potentially violates a deferred exclusion constraint + is HOT-updated (that is, no indexed columns change and the row can be + stored back onto the same table page) later in the same transaction, + the exclusion constraint would be reported as violated when the check + finally occurred, even if the row(s) the new row originally conflicted + with had been deleted. + </para> + </listitem> + + <listitem> + <para> + Prevent improper reordering of antijoins (NOT EXISTS joins) versus + other outer joins (Tom Lane) + </para> + + <para> + This oversight in the planner has been observed to cause <quote>could + not find RelOptInfo for given relids</> errors, but it seems possible + that sometimes an incorrect query plan might get past that consistency + check and result in silently-wrong query output. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect matching of subexpressions in outer-join plan nodes + (Tom Lane) + </para> + + <para> + Previously, if textually identical non-strict subexpressions were used + both above and below an outer join, the planner might try to re-use + the value computed below the join, which would be incorrect because the + executor would force the value to NULL in case of an unmatched outer row. + </para> + </listitem> + + <listitem> + <para> + Fix GEQO planner to cope with failure of its join order heuristic + (Tom Lane) + </para> + + <para> + This oversight has been seen to lead to <quote>failed to join all + relations together</> errors in queries involving <literal>LATERAL</>, + and that might happen in other cases as well. + </para> + </listitem> + + <listitem> + <para> + Fix possible deadlock at startup + when <literal>max_prepared_transactions</> is too small + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Don't archive useless preallocated WAL files after a timeline switch + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Recursively <function>fsync()</> the data directory after a crash + (Abhijit Menon-Sen, Robert Haas) + </para> + + <para> + This ensures consistency if another crash occurs shortly later. (The + second crash would have to be a system-level crash, not just a database + crash, for there to be a problem.) + </para> + </listitem> + + <listitem> + <para> + Fix autovacuum launcher's possible failure to shut down, if an error + occurs after it receives SIGTERM (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Cope with unexpected signals in <function>LockBufferForCleanup()</> + (Andres Freund) + </para> + + <para> + This oversight could result in spurious errors about <quote>multiple + backends attempting to wait for pincount 1</>. + </para> + </listitem> + + <listitem> + <para> + Avoid waiting for WAL flush or synchronous replication during commit of + a transaction that was read-only so far as the user is concerned + (Andres Freund) + </para> + + <para> + Previously, a delay could occur at commit in transactions that had + written WAL due to HOT page pruning, leading to undesirable effects + such as sessions getting stuck at startup if all synchronous replicas + are down. Sessions have also been observed to get stuck in catchup + interrupt processing when using synchronous replication; this will fix + that problem as well. + </para> + </listitem> + + <listitem> + <para> + Fix crash when manipulating hash indexes on temporary tables + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Fix possible failure during hash index bucket split, if other processes + are modifying the index concurrently (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Check for interrupts while analyzing index expressions (Jeff Janes) + </para> + + <para> + <command>ANALYZE</> executes index expressions many times; if there are + slow functions in such an expression, it's desirable to be able to + cancel the <command>ANALYZE</> before that loop finishes. + </para> + </listitem> + + <listitem> + <para> + Ensure <structfield>tableoid</> of a foreign table is reported + correctly when a <literal>READ COMMITTED</> recheck occurs after + locking rows in <command>SELECT FOR UPDATE</>, <command>UPDATE</>, + or <command>DELETE</> (Etsuro Fujita) + </para> + </listitem> + + <listitem> + <para> + Add the name of the target server to object description strings for + foreign-server user mappings (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Recommend setting <literal>include_realm</> to 1 when using + Kerberos/GSSAPI/SSPI authentication (Stephen Frost) + </para> + + <para> + Without this, identically-named users from different realms cannot be + distinguished. For the moment this is only a documentation change, but + it will become the default setting in <productname>PostgreSQL</> 9.5. + </para> + </listitem> + + <listitem> + <para> + Remove code for matching IPv4 <filename>pg_hba.conf</> entries to + IPv4-in-IPv6 addresses (Tom Lane) + </para> + + <para> + This hack was added in 2003 in response to a report that some Linux + kernels of the time would report IPv4 connections as having + IPv4-in-IPv6 addresses. However, the logic was accidentally broken in + 9.0. The lack of any field complaints since then shows that it's not + needed anymore. Now we have reports that the broken code causes + crashes on some systems, so let's just remove it rather than fix it. + (Had we chosen to fix it, that would make for a subtle and potentially + security-sensitive change in the effective meaning of + IPv4 <filename>pg_hba.conf</> entries, which does not seem like a good + thing to do in minor releases.) + </para> + </listitem> + + <listitem> + <para> + Report WAL flush, not insert, position in <literal>IDENTIFY_SYSTEM</> + replication command (Heikki Linnakangas) + </para> + + <para> + This avoids a possible startup failure + in <application>pg_receivexlog</>. + </para> + </listitem> + + <listitem> + <para> + While shutting down service on Windows, periodically send status + updates to the Service Control Manager to prevent it from killing the + service too soon; and ensure that <application>pg_ctl</> will wait for + shutdown (Krystian Bigaj) + </para> + </listitem> + + <listitem> + <para> + Reduce risk of network deadlock when using <application>libpq</>'s + non-blocking mode (Heikki Linnakangas) + </para> + + <para> + When sending large volumes of data, it's important to drain the input + buffer every so often, in case the server has sent enough response data + to cause it to block on output. (A typical scenario is that the server + is sending a stream of NOTICE messages during <literal>COPY FROM + STDIN</>.) This worked properly in the normal blocking mode, but not + so much in non-blocking mode. We've modified <application>libpq</> + to opportunistically drain input when it can, but a full defense + against this problem requires application cooperation: the application + should watch for socket read-ready as well as write-ready conditions, + and be sure to call <function>PQconsumeInput()</> upon read-ready. + </para> + </listitem> + + <listitem> + <para> + Fix array handling in <application>ecpg</> (Michael Meskes) + </para> + </listitem> + + <listitem> + <para> + Fix <application>psql</> to sanely handle URIs and conninfo strings as + the first parameter to <command>\connect</> + (David Fetter, Andrew Dunstan, Álvaro Herrera) + </para> + + <para> + This syntax has been accepted (but undocumented) for a long time, but + previously some parameters might be taken from the old connection + instead of the given string, which was agreed to be undesirable. + </para> + </listitem> + + <listitem> + <para> + Suppress incorrect complaints from <application>psql</> on some + platforms that it failed to write <filename>~/.psql_history</> at exit + (Tom Lane) + </para> + + <para> + This misbehavior was caused by a workaround for a bug in very old + (pre-2006) versions of <application>libedit</>. We fixed it by + removing the workaround, which will cause a similar failure to appear + for anyone still using such versions of <application>libedit</>. + Recommendation: upgrade that library, or use <application>libreadline</>. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</>'s rule for deciding which casts are + system-provided casts that should not be dumped (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_dump</>, fix failure to honor <literal>-Z</> + compression level option together with <literal>-Fd</> + (Michael Paquier) + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_dump</> consider foreign key relationships + between extension configuration tables while choosing dump order + (Gilles Darold, Michael Paquier, Stephen Frost) + </para> + + <para> + This oversight could result in producing dumps that fail to reload + because foreign key constraints are transiently violated. + </para> + </listitem> + + <listitem> + <para> + Fix dumping of views that are just <literal>VALUES(...)</> but have + column aliases (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, force timeline 1 in the new cluster + (Bruce Momjian) + </para> + + <para> + This change prevents upgrade failures caused by bogus complaints about + missing WAL history files. + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, check for improperly non-connectable + databases before proceeding + (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, quote directory paths + properly in the generated <literal>delete_old_cluster</> script + (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, preserve database-level freezing info + properly + (Bruce Momjian) + </para> + + <para> + This oversight could cause missing-clog-file errors for tables within + the <literal>postgres</> and <literal>template1</> databases. + </para> + </listitem> + + <listitem> + <para> + Run <application>pg_upgrade</> and <application>pg_resetxlog</> with + restricted privileges on Windows, so that they don't fail when run by + an administrator (Muhammad Asif Naeem) + </para> + </listitem> + + <listitem> + <para> + Improve handling of <function>readdir()</> failures when scanning + directories in <application>initdb</> and <application>pg_basebackup</> + (Marco Nenciarini) + </para> + </listitem> + + <listitem> + <para> + Fix slow sorting algorithm in <filename>contrib/intarray</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix compile failure on Sparc V8 machines (Rob Rowan) + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2015d + for DST law changes in Egypt, Mongolia, and Palestine, plus historical + changes in Canada and Chile. Also adopt revised zone abbreviations for + the America/Adak zone (HST/HDT not HAST/HADT). + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-1-15"> <title>Release 9.1.15</title> diff --git a/doc/src/sgml/release-9.2.sgml b/doc/src/sgml/release-9.2.sgml index 7bdbd89ae9e..9ebc92d27ed 100644 --- a/doc/src/sgml/release-9.2.sgml +++ b/doc/src/sgml/release-9.2.sgml @@ -1,6 +1,517 @@ <!-- doc/src/sgml/release-9.2.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-2-11"> + <title>Release 9.2.11</title> + + <note> + <title>Release Date</title> + <simpara>2015-05-21</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.2.10. + 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.11</title> + + <para> + A dump/restore is not required for those running 9.2.X. + </para> + + <para> + However, if you use <filename>contrib/citext</>'s + <function>regexp_matches()</> functions, see the changelog entry below + about that. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.2.10, + see <xref linkend="release-9-2-10">. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix incorrect declaration of <filename>contrib/citext</>'s + <function>regexp_matches()</> functions (Tom Lane) + </para> + + <para> + These functions should return <type>setof text[]</>, like the core + functions they are wrappers for; but they were incorrectly declared as + returning just <type>text[]</>. This mistake had two results: first, + if there was no match you got a scalar null result, whereas what you + should get is an empty set (zero rows). Second, the <literal>g</> flag + was effectively ignored, since you would get only one result array even + if there were multiple matches. + </para> + + <para> + While the latter behavior is clearly a bug, there might be applications + depending on the former behavior; therefore the function declarations + will not be changed by default until <productname>PostgreSQL</> 9.5. + In pre-9.5 branches, the old behavior exists in version 1.0 of + the <literal>citext</> extension, while we have provided corrected + declarations in version 1.1 (which is <emphasis>not</> installed by + default). To adopt the fix in pre-9.5 branches, execute + <literal>ALTER EXTENSION citext UPDATE TO '1.1'</> in each database in + which <literal>citext</> is installed. (You can also <quote>update</> + back to 1.0 if you need to undo that.) Be aware that either update + direction will require dropping and recreating any views or rules that + use <filename>citext</>'s <function>regexp_matches()</> functions. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect checking of deferred exclusion constraints after a HOT + update (Tom Lane) + </para> + + <para> + If a new row that potentially violates a deferred exclusion constraint + is HOT-updated (that is, no indexed columns change and the row can be + stored back onto the same table page) later in the same transaction, + the exclusion constraint would be reported as violated when the check + finally occurred, even if the row(s) the new row originally conflicted + with had been deleted. + </para> + </listitem> + + <listitem> + <para> + Fix planning of star-schema-style queries (Tom Lane) + </para> + + <para> + Sometimes, efficient scanning of a large table requires that index + parameters be provided from more than one other table (commonly, + dimension tables whose keys are needed to index a large fact table). + The planner should be able to find such plans, but an overly + restrictive search heuristic prevented it. + </para> + </listitem> + + <listitem> + <para> + Prevent improper reordering of antijoins (NOT EXISTS joins) versus + other outer joins (Tom Lane) + </para> + + <para> + This oversight in the planner has been observed to cause <quote>could + not find RelOptInfo for given relids</> errors, but it seems possible + that sometimes an incorrect query plan might get past that consistency + check and result in silently-wrong query output. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect matching of subexpressions in outer-join plan nodes + (Tom Lane) + </para> + + <para> + Previously, if textually identical non-strict subexpressions were used + both above and below an outer join, the planner might try to re-use + the value computed below the join, which would be incorrect because the + executor would force the value to NULL in case of an unmatched outer row. + </para> + </listitem> + + <listitem> + <para> + Fix GEQO planner to cope with failure of its join order heuristic + (Tom Lane) + </para> + + <para> + This oversight has been seen to lead to <quote>failed to join all + relations together</> errors in queries involving <literal>LATERAL</>, + and that might happen in other cases as well. + </para> + </listitem> + + <listitem> + <para> + Fix possible deadlock at startup + when <literal>max_prepared_transactions</> is too small + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Don't archive useless preallocated WAL files after a timeline switch + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Recursively <function>fsync()</> the data directory after a crash + (Abhijit Menon-Sen, Robert Haas) + </para> + + <para> + This ensures consistency if another crash occurs shortly later. (The + second crash would have to be a system-level crash, not just a database + crash, for there to be a problem.) + </para> + </listitem> + + <listitem> + <para> + Fix autovacuum launcher's possible failure to shut down, if an error + occurs after it receives SIGTERM (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Cope with unexpected signals in <function>LockBufferForCleanup()</> + (Andres Freund) + </para> + + <para> + This oversight could result in spurious errors about <quote>multiple + backends attempting to wait for pincount 1</>. + </para> + </listitem> + + <listitem> + <para> + Fix crash when doing <literal>COPY IN</> to a table with check + constraints that contain whole-row references (Tom Lane) + </para> + + <para> + The known failure case only crashes in 9.4 and up, but there is very + similar code in 9.3 and 9.2, so back-patch those branches as well. + </para> + </listitem> + + <listitem> + <para> + Avoid waiting for WAL flush or synchronous replication during commit of + a transaction that was read-only so far as the user is concerned + (Andres Freund) + </para> + + <para> + Previously, a delay could occur at commit in transactions that had + written WAL due to HOT page pruning, leading to undesirable effects + such as sessions getting stuck at startup if all synchronous replicas + are down. Sessions have also been observed to get stuck in catchup + interrupt processing when using synchronous replication; this will fix + that problem as well. + </para> + </listitem> + + <listitem> + <para> + Fix crash when manipulating hash indexes on temporary tables + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Fix possible failure during hash index bucket split, if other processes + are modifying the index concurrently (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Check for interrupts while analyzing index expressions (Jeff Janes) + </para> + + <para> + <command>ANALYZE</> executes index expressions many times; if there are + slow functions in such an expression, it's desirable to be able to + cancel the <command>ANALYZE</> before that loop finishes. + </para> + </listitem> + + <listitem> + <para> + Ensure <structfield>tableoid</> of a foreign table is reported + correctly when a <literal>READ COMMITTED</> recheck occurs after + locking rows in <command>SELECT FOR UPDATE</>, <command>UPDATE</>, + or <command>DELETE</> (Etsuro Fujita) + </para> + </listitem> + + <listitem> + <para> + Add the name of the target server to object description strings for + foreign-server user mappings (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Recommend setting <literal>include_realm</> to 1 when using + Kerberos/GSSAPI/SSPI authentication (Stephen Frost) + </para> + + <para> + Without this, identically-named users from different realms cannot be + distinguished. For the moment this is only a documentation change, but + it will become the default setting in <productname>PostgreSQL</> 9.5. + </para> + </listitem> + + <listitem> + <para> + Remove code for matching IPv4 <filename>pg_hba.conf</> entries to + IPv4-in-IPv6 addresses (Tom Lane) + </para> + + <para> + This hack was added in 2003 in response to a report that some Linux + kernels of the time would report IPv4 connections as having + IPv4-in-IPv6 addresses. However, the logic was accidentally broken in + 9.0. The lack of any field complaints since then shows that it's not + needed anymore. Now we have reports that the broken code causes + crashes on some systems, so let's just remove it rather than fix it. + (Had we chosen to fix it, that would make for a subtle and potentially + security-sensitive change in the effective meaning of + IPv4 <filename>pg_hba.conf</> entries, which does not seem like a good + thing to do in minor releases.) + </para> + </listitem> + + <listitem> + <para> + Report WAL flush, not insert, position in <literal>IDENTIFY_SYSTEM</> + replication command (Heikki Linnakangas) + </para> + + <para> + This avoids a possible startup failure + in <application>pg_receivexlog</>. + </para> + </listitem> + + <listitem> + <para> + While shutting down service on Windows, periodically send status + updates to the Service Control Manager to prevent it from killing the + service too soon; and ensure that <application>pg_ctl</> will wait for + shutdown (Krystian Bigaj) + </para> + </listitem> + + <listitem> + <para> + Reduce risk of network deadlock when using <application>libpq</>'s + non-blocking mode (Heikki Linnakangas) + </para> + + <para> + When sending large volumes of data, it's important to drain the input + buffer every so often, in case the server has sent enough response data + to cause it to block on output. (A typical scenario is that the server + is sending a stream of NOTICE messages during <literal>COPY FROM + STDIN</>.) This worked properly in the normal blocking mode, but not + so much in non-blocking mode. We've modified <application>libpq</> + to opportunistically drain input when it can, but a full defense + against this problem requires application cooperation: the application + should watch for socket read-ready as well as write-ready conditions, + and be sure to call <function>PQconsumeInput()</> upon read-ready. + </para> + </listitem> + + <listitem> + <para> + In <application>libpq</>, fix misparsing of empty values in URI + connection strings (Thomas Fanghaenel) + </para> + </listitem> + + <listitem> + <para> + Fix array handling in <application>ecpg</> (Michael Meskes) + </para> + </listitem> + + <listitem> + <para> + Fix <application>psql</> to sanely handle URIs and conninfo strings as + the first parameter to <command>\connect</> + (David Fetter, Andrew Dunstan, Álvaro Herrera) + </para> + + <para> + This syntax has been accepted (but undocumented) for a long time, but + previously some parameters might be taken from the old connection + instead of the given string, which was agreed to be undesirable. + </para> + </listitem> + + <listitem> + <para> + Suppress incorrect complaints from <application>psql</> on some + platforms that it failed to write <filename>~/.psql_history</> at exit + (Tom Lane) + </para> + + <para> + This misbehavior was caused by a workaround for a bug in very old + (pre-2006) versions of <application>libedit</>. We fixed it by + removing the workaround, which will cause a similar failure to appear + for anyone still using such versions of <application>libedit</>. + Recommendation: upgrade that library, or use <application>libreadline</>. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</>'s rule for deciding which casts are + system-provided casts that should not be dumped (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_dump</>, fix failure to honor <literal>-Z</> + compression level option together with <literal>-Fd</> + (Michael Paquier) + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_dump</> consider foreign key relationships + between extension configuration tables while choosing dump order + (Gilles Darold, Michael Paquier, Stephen Frost) + </para> + + <para> + This oversight could result in producing dumps that fail to reload + because foreign key constraints are transiently violated. + </para> + </listitem> + + <listitem> + <para> + Fix dumping of views that are just <literal>VALUES(...)</> but have + column aliases (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, force timeline 1 in the new cluster + (Bruce Momjian) + </para> + + <para> + This change prevents upgrade failures caused by bogus complaints about + missing WAL history files. + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, check for improperly non-connectable + databases before proceeding + (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, quote directory paths + properly in the generated <literal>delete_old_cluster</> script + (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, preserve database-level freezing info + properly + (Bruce Momjian) + </para> + + <para> + This oversight could cause missing-clog-file errors for tables within + the <literal>postgres</> and <literal>template1</> databases. + </para> + </listitem> + + <listitem> + <para> + Run <application>pg_upgrade</> and <application>pg_resetxlog</> with + restricted privileges on Windows, so that they don't fail when run by + an administrator (Muhammad Asif Naeem) + </para> + </listitem> + + <listitem> + <para> + Improve handling of <function>readdir()</> failures when scanning + directories in <application>initdb</> and <application>pg_basebackup</> + (Marco Nenciarini) + </para> + </listitem> + +<!-- +Author: Andres Freund <andres@anarazel.de> +Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 +--> + + <listitem> + <para> + Fix failure in <application>pg_receivexlog</> (Andres Freund) + </para> + + <para> + A patch merge mistake in 9.2.10 led to <quote>could not create archive + status file</> errors. + </para> + </listitem> + + <listitem> + <para> + Fix slow sorting algorithm in <filename>contrib/intarray</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix compile failure on Sparc V8 machines (Rob Rowan) + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2015d + for DST law changes in Egypt, Mongolia, and Palestine, plus historical + changes in Canada and Chile. Also adopt revised zone abbreviations for + the America/Adak zone (HST/HDT not HAST/HADT). + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-2-10"> <title>Release 9.2.10</title> diff --git a/doc/src/sgml/release-9.3.sgml b/doc/src/sgml/release-9.3.sgml index b4fa3845d34..dca9275f7b5 100644 --- a/doc/src/sgml/release-9.3.sgml +++ b/doc/src/sgml/release-9.3.sgml @@ -1,6 +1,539 @@ <!-- doc/src/sgml/release-9.3.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-3-7"> + <title>Release 9.3.7</title> + + <note> + <title>Release Date</title> + <simpara>2015-05-21</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.3.6. + 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.7</title> + + <para> + A dump/restore is not required for those running 9.3.X. + </para> + + <para> + However, if you use <filename>contrib/citext</>'s + <function>regexp_matches()</> functions, see the changelog entry below + about that. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.3.6, + see <xref linkend="release-9-3-6">. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Protect against wraparound of multixact member IDs + (Álvaro Herrera, Robert Haas, Thomas Munro) + </para> + + <para> + Under certain usage patterns, the existing defenses against this might + be insufficient, allowing <filename>pg_multixact/members</> files to be + removed too early, resulting in data loss. + The fix for this includes modifying the server to fail transactions + that would result in overwriting old multixact member ID data, and + improving autovacuum to ensure it will act proactively to prevent + multixact member ID wraparound, as it does for transaction ID + wraparound. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect declaration of <filename>contrib/citext</>'s + <function>regexp_matches()</> functions (Tom Lane) + </para> + + <para> + These functions should return <type>setof text[]</>, like the core + functions they are wrappers for; but they were incorrectly declared as + returning just <type>text[]</>. This mistake had two results: first, + if there was no match you got a scalar null result, whereas what you + should get is an empty set (zero rows). Second, the <literal>g</> flag + was effectively ignored, since you would get only one result array even + if there were multiple matches. + </para> + + <para> + While the latter behavior is clearly a bug, there might be applications + depending on the former behavior; therefore the function declarations + will not be changed by default until <productname>PostgreSQL</> 9.5. + In pre-9.5 branches, the old behavior exists in version 1.0 of + the <literal>citext</> extension, while we have provided corrected + declarations in version 1.1 (which is <emphasis>not</> installed by + default). To adopt the fix in pre-9.5 branches, execute + <literal>ALTER EXTENSION citext UPDATE TO '1.1'</> in each database in + which <literal>citext</> is installed. (You can also <quote>update</> + back to 1.0 if you need to undo that.) Be aware that either update + direction will require dropping and recreating any views or rules that + use <filename>citext</>'s <function>regexp_matches()</> functions. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect checking of deferred exclusion constraints after a HOT + update (Tom Lane) + </para> + + <para> + If a new row that potentially violates a deferred exclusion constraint + is HOT-updated (that is, no indexed columns change and the row can be + stored back onto the same table page) later in the same transaction, + the exclusion constraint would be reported as violated when the check + finally occurred, even if the row(s) the new row originally conflicted + with had been deleted. + </para> + </listitem> + + <listitem> + <para> + Fix planning of star-schema-style queries (Tom Lane) + </para> + + <para> + Sometimes, efficient scanning of a large table requires that index + parameters be provided from more than one other table (commonly, + dimension tables whose keys are needed to index a large fact table). + The planner should be able to find such plans, but an overly + restrictive search heuristic prevented it. + </para> + </listitem> + + <listitem> + <para> + Prevent improper reordering of antijoins (NOT EXISTS joins) versus + other outer joins (Tom Lane) + </para> + + <para> + This oversight in the planner has been observed to cause <quote>could + not find RelOptInfo for given relids</> errors, but it seems possible + that sometimes an incorrect query plan might get past that consistency + check and result in silently-wrong query output. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect matching of subexpressions in outer-join plan nodes + (Tom Lane) + </para> + + <para> + Previously, if textually identical non-strict subexpressions were used + both above and below an outer join, the planner might try to re-use + the value computed below the join, which would be incorrect because the + executor would force the value to NULL in case of an unmatched outer row. + </para> + </listitem> + + <listitem> + <para> + Fix GEQO planner to cope with failure of its join order heuristic + (Tom Lane) + </para> + + <para> + This oversight has been seen to lead to <quote>failed to join all + relations together</> errors in queries involving <literal>LATERAL</>, + and that might happen in other cases as well. + </para> + </listitem> + + <listitem> + <para> + Fix possible deadlock at startup + when <literal>max_prepared_transactions</> is too small + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Don't archive useless preallocated WAL files after a timeline switch + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Recursively <function>fsync()</> the data directory after a crash + (Abhijit Menon-Sen, Robert Haas) + </para> + + <para> + This ensures consistency if another crash occurs shortly later. (The + second crash would have to be a system-level crash, not just a database + crash, for there to be a problem.) + </para> + </listitem> + + <listitem> + <para> + Fix autovacuum launcher's possible failure to shut down, if an error + occurs after it receives SIGTERM (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Cope with unexpected signals in <function>LockBufferForCleanup()</> + (Andres Freund) + </para> + + <para> + This oversight could result in spurious errors about <quote>multiple + backends attempting to wait for pincount 1</>. + </para> + </listitem> + + <listitem> + <para> + Fix crash when doing <literal>COPY IN</> to a table with check + constraints that contain whole-row references (Tom Lane) + </para> + + <para> + The known failure case only crashes in 9.4 and up, but there is very + similar code in 9.3 and 9.2, so back-patch those branches as well. + </para> + </listitem> + + <listitem> + <para> + Avoid waiting for WAL flush or synchronous replication during commit of + a transaction that was read-only so far as the user is concerned + (Andres Freund) + </para> + + <para> + Previously, a delay could occur at commit in transactions that had + written WAL due to HOT page pruning, leading to undesirable effects + such as sessions getting stuck at startup if all synchronous replicas + are down. Sessions have also been observed to get stuck in catchup + interrupt processing when using synchronous replication; this will fix + that problem as well. + </para> + </listitem> + + <listitem> + <para> + Fix crash when manipulating hash indexes on temporary tables + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Fix possible failure during hash index bucket split, if other processes + are modifying the index concurrently (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Check for interrupts while analyzing index expressions (Jeff Janes) + </para> + + <para> + <command>ANALYZE</> executes index expressions many times; if there are + slow functions in such an expression, it's desirable to be able to + cancel the <command>ANALYZE</> before that loop finishes. + </para> + </listitem> + + <listitem> + <para> + Ensure <structfield>tableoid</> of a foreign table is reported + correctly when a <literal>READ COMMITTED</> recheck occurs after + locking rows in <command>SELECT FOR UPDATE</>, <command>UPDATE</>, + or <command>DELETE</> (Etsuro Fujita) + </para> + </listitem> + + <listitem> + <para> + Add the name of the target server to object description strings for + foreign-server user mappings (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Include the schema name in object identity strings for conversions + (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Recommend setting <literal>include_realm</> to 1 when using + Kerberos/GSSAPI/SSPI authentication (Stephen Frost) + </para> + + <para> + Without this, identically-named users from different realms cannot be + distinguished. For the moment this is only a documentation change, but + it will become the default setting in <productname>PostgreSQL</> 9.5. + </para> + </listitem> + + <listitem> + <para> + Remove code for matching IPv4 <filename>pg_hba.conf</> entries to + IPv4-in-IPv6 addresses (Tom Lane) + </para> + + <para> + This hack was added in 2003 in response to a report that some Linux + kernels of the time would report IPv4 connections as having + IPv4-in-IPv6 addresses. However, the logic was accidentally broken in + 9.0. The lack of any field complaints since then shows that it's not + needed anymore. Now we have reports that the broken code causes + crashes on some systems, so let's just remove it rather than fix it. + (Had we chosen to fix it, that would make for a subtle and potentially + security-sensitive change in the effective meaning of + IPv4 <filename>pg_hba.conf</> entries, which does not seem like a good + thing to do in minor releases.) + </para> + </listitem> + + <listitem> + <para> + Report WAL flush, not insert, position in <literal>IDENTIFY_SYSTEM</> + replication command (Heikki Linnakangas) + </para> + + <para> + This avoids a possible startup failure + in <application>pg_receivexlog</>. + </para> + </listitem> + + <listitem> + <para> + While shutting down service on Windows, periodically send status + updates to the Service Control Manager to prevent it from killing the + service too soon; and ensure that <application>pg_ctl</> will wait for + shutdown (Krystian Bigaj) + </para> + </listitem> + + <listitem> + <para> + Reduce risk of network deadlock when using <application>libpq</>'s + non-blocking mode (Heikki Linnakangas) + </para> + + <para> + When sending large volumes of data, it's important to drain the input + buffer every so often, in case the server has sent enough response data + to cause it to block on output. (A typical scenario is that the server + is sending a stream of NOTICE messages during <literal>COPY FROM + STDIN</>.) This worked properly in the normal blocking mode, but not + so much in non-blocking mode. We've modified <application>libpq</> + to opportunistically drain input when it can, but a full defense + against this problem requires application cooperation: the application + should watch for socket read-ready as well as write-ready conditions, + and be sure to call <function>PQconsumeInput()</> upon read-ready. + </para> + </listitem> + + <listitem> + <para> + In <application>libpq</>, fix misparsing of empty values in URI + connection strings (Thomas Fanghaenel) + </para> + </listitem> + + <listitem> + <para> + Fix array handling in <application>ecpg</> (Michael Meskes) + </para> + </listitem> + + <listitem> + <para> + Fix <application>psql</> to sanely handle URIs and conninfo strings as + the first parameter to <command>\connect</> + (David Fetter, Andrew Dunstan, Álvaro Herrera) + </para> + + <para> + This syntax has been accepted (but undocumented) for a long time, but + previously some parameters might be taken from the old connection + instead of the given string, which was agreed to be undesirable. + </para> + </listitem> + + <listitem> + <para> + Suppress incorrect complaints from <application>psql</> on some + platforms that it failed to write <filename>~/.psql_history</> at exit + (Tom Lane) + </para> + + <para> + This misbehavior was caused by a workaround for a bug in very old + (pre-2006) versions of <application>libedit</>. We fixed it by + removing the workaround, which will cause a similar failure to appear + for anyone still using such versions of <application>libedit</>. + Recommendation: upgrade that library, or use <application>libreadline</>. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</>'s rule for deciding which casts are + system-provided casts that should not be dumped (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_dump</>, fix failure to honor <literal>-Z</> + compression level option together with <literal>-Fd</> + (Michael Paquier) + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_dump</> consider foreign key relationships + between extension configuration tables while choosing dump order + (Gilles Darold, Michael Paquier, Stephen Frost) + </para> + + <para> + This oversight could result in producing dumps that fail to reload + because foreign key constraints are transiently violated. + </para> + </listitem> + + <listitem> + <para> + Avoid possible <application>pg_dump</> failure when concurrent sessions + are creating and dropping temporary functions (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix dumping of views that are just <literal>VALUES(...)</> but have + column aliases (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, force timeline 1 in the new cluster + (Bruce Momjian) + </para> + + <para> + This change prevents upgrade failures caused by bogus complaints about + missing WAL history files. + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, check for improperly non-connectable + databases before proceeding + (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, quote directory paths + properly in the generated <literal>delete_old_cluster</> script + (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + In <application>pg_upgrade</>, preserve database-level freezing info + properly + (Bruce Momjian) + </para> + + <para> + This oversight could cause missing-clog-file errors for tables within + the <literal>postgres</> and <literal>template1</> databases. + </para> + </listitem> + + <listitem> + <para> + Run <application>pg_upgrade</> and <application>pg_resetxlog</> with + restricted privileges on Windows, so that they don't fail when run by + an administrator (Muhammad Asif Naeem) + </para> + </listitem> + + <listitem> + <para> + Improve handling of <function>readdir()</> failures when scanning + directories in <application>initdb</> and <application>pg_basebackup</> + (Marco Nenciarini) + </para> + </listitem> + + <listitem> + <para> + Fix slow sorting algorithm in <filename>contrib/intarray</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix compile failure on Sparc V8 machines (Rob Rowan) + </para> + </listitem> + + <listitem> + <para> + Silence some build warnings on OS X (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2015d + for DST law changes in Egypt, Mongolia, and Palestine, plus historical + changes in Canada and Chile. Also adopt revised zone abbreviations for + the America/Adak zone (HST/HDT not HAST/HADT). + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-3-6"> <title>Release 9.3.6</title> diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml index c3d5ae7e87c..274791ba5c0 100644 --- a/doc/src/sgml/release-9.4.sgml +++ b/doc/src/sgml/release-9.4.sgml @@ -127,7 +127,7 @@ Branch: REL9_1_STABLE [801e250a8] 2015-05-05 15:50:53 -0400 default). To adopt the fix in pre-9.5 branches, execute <literal>ALTER EXTENSION citext UPDATE TO '1.1'</> in each database in which <literal>citext</> is installed. (You can also <quote>update</> - back to 1.0 if you need to undo that.) Beware that either update + back to 1.0 if you need to undo that.) Be aware that either update direction will require dropping and recreating any views or rules that use <filename>citext</>'s <function>regexp_matches()</> functions. </para> @@ -539,11 +539,6 @@ Branch: REL9_0_STABLE [bd1cfde70] 2015-05-13 10:06:38 +0300 Fix crash when manipulating hash indexes on temporary tables (Heikki Linnakangas) </para> - - <para> - This fault was introduced in the previous set of minor releases - as a byproduct of a race-condition fix. - </para> </listitem> <!-- @@ -627,12 +622,8 @@ Branch: REL9_0_STABLE [71b8e8e6c] 2015-03-05 18:03:16 -0300 <listitem> <para> - Improve object description strings for foreign-server user mappings - (Álvaro Herrera) - </para> - - <para> - Add the name of the target server, since otherwise it's ambiguous. + Add the name of the target server to object description strings for + foreign-server user mappings (Álvaro Herrera) </para> </listitem> @@ -787,7 +778,7 @@ Branch: REL9_0_STABLE [8878eaaa8] 2015-02-23 13:32:53 +0200 <listitem> <para> - Guard against network deadlock when using <application>libpq</>'s + Reduce risk of network deadlock when using <application>libpq</>'s non-blocking mode (Heikki Linnakangas) </para> @@ -1011,9 +1002,8 @@ Branch: REL9_3_STABLE [4e9935979] 2015-05-16 15:16:28 -0400 </para> <para> - This avoids a scenario in which a server previously promoted from - standby status couldn't be upgraded because of a missing WAL history - file. + This change prevents upgrade failures caused by bogus complaints about + missing WAL history files. </para> </listitem> @@ -1112,22 +1102,6 @@ Branch: REL9_1_STABLE [d7d294f59] 2015-02-17 11:08:40 -0500 </para> </listitem> -<!-- -Author: Andres Freund <andres@anarazel.de> -Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100 ---> - - <listitem> - <para> - Fix failure in <application>pg_receivexlog</> (Andres Freund) - </para> - - <para> - A patch merge mistake in 9.2.10 led to <quote>could not create archive - status file</> errors. - </para> - </listitem> - <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> Branch: master [8d1f23900] 2015-03-15 23:22:03 -0400 -- GitLab