From: Tom Lane Date: Mon, 2 Dec 2013 20:54:05 +0000 (-0500) Subject: Update release notes for 9.3.2, 9.2.6, 9.1.11, 9.0.15, 8.4.19. X-Git-Tag: REL9_1_11~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=45f0620fc7ef1e331d77cf93cd72464ecaa4a523;p=postgresql Update release notes for 9.3.2, 9.2.6, 9.1.11, 9.0.15, 8.4.19. --- diff --git a/doc/src/sgml/release-8.4.sgml b/doc/src/sgml/release-8.4.sgml index 45972c2395..5762e01f62 100644 --- a/doc/src/sgml/release-8.4.sgml +++ b/doc/src/sgml/release-8.4.sgml @@ -1,6 +1,207 @@ + + Release 8.4.19 + + + Release Date + 2013-12-05 + + + + This release contains a variety of fixes from 8.4.18. + For information about new features in the 8.4 major release, see + . + + + + Migration to Version 8.4.19 + + + A dump/restore is not required for those running 8.4.X. + + + + However, this release corrects a potential data corruption + issue. See the first changelog entry below to find out whether + your installation has been affected and what steps you can take if so. + + + + Also, if you are upgrading from a version earlier than 8.4.17, + see the release notes for 8.4.17. + + + + + + Changes + + + + + + Fix VACUUM's tests to see whether it can + update relfrozenxid (Andres Freund) + + + + In some cases VACUUM (either manual or autovacuum) could + incorrectly advance a table's relfrozenxid value, + allowing tuples to escape freezing, causing those rows to become + invisible once 2^31 transactions have elapsed. The probability of + data loss is fairly low since multiple incorrect advancements would + need to happen before actual loss occurs, but it's not zero. Users + upgrading from release 8.4.8 or earlier are not affected, but all later + versions contain the bug. + + + + The issue can be ameliorated by, after upgrading, vacuuming all tables + in all databases while having vacuum_freeze_table_age + set to zero. This will fix any latent corruption but will not be able + to fix all pre-existing data errors. However, an installation can be + presumed safe after performing this vacuuming if it has executed fewer + than 2^31 update transactions in its lifetime (check this with + SELECT txid_current() < 2^31). + + + + + + Fix race condition in GIN index posting tree page deletion (Heikki + Linnakangas) + + + + This could lead to transient wrong answers or query failures. + + + + + + Avoid flattening a subquery whose SELECT list contains a + volatile function wrapped inside a sub-SELECT (Tom Lane) + + + + This avoids unexpected results due to extra evaluations of the + volatile function. + + + + + + Fix planner's processing of non-simple-variable subquery outputs + nested within outer joins (Tom Lane) + + + + This error could lead to incorrect plans for queries involving + multiple levels of subqueries within JOIN syntax. + + + + + + Fix premature deletion of temporary files (Andres Freund) + + + + + + Fix possible read past end of memory in rule printing (Peter Eisentraut) + + + + + + Fix array slicing of int2vector and oidvector values + (Tom Lane) + + + + Expressions of this kind are now implicitly promoted to + regular int2 or oid arrays. + + + + + + Fix incorrect behaviors when using a SQL-standard, simple GMT offset + timezone (Tom Lane) + + + + In some cases, the system would use the simple GMT offset value when + it should have used the regular timezone setting that had prevailed + before the simple offset was selected. This change also causes + the timeofday function to honor the simple GMT offset + zone. + + + + + + Prevent possible misbehavior when logging translations of Windows + error codes (Tom Lane) + + + + + + Properly quote generated command lines in pg_ctl + (Naoya Anzai and Tom Lane) + + + + This fix applies only to Windows. + + + + + + Fix pg_dumpall to work when a source database + sets default_transaction_read_only + via ALTER DATABASE SET (Kevin Grittner) + + + + Previously, the generated script would fail during restore. + + + + + + Fix ecpg's processing of lists of variables + declared varchar (Zoltán Böszörményi) + + + + + + Make contrib/lo defend against incorrect trigger definitions + (Marc Cousin) + + + + + + Update time zone data files to tzdata release 2013h + for DST law changes in Argentina, Brazil, Jordan, Libya, + Liechtenstein, Morocco, and Palestine. Also, new timezone + abbreviations WIB, WIT, WITA for Indonesia. + + + + + + + + Release 8.4.18 @@ -23,8 +224,8 @@ - Also, if you are upgrading from a version earlier than 8.4.10, - see the release notes for 8.4.10. + However, if you are upgrading from a version earlier than 8.4.17, + see the release notes for 8.4.17. @@ -36,12 +237,13 @@ - Prevent downcasing of non-ASCII non-double-quoted identifiers in - multi-byte encodings (Andrew Dunstan) + Prevent corruption of multi-byte characters when attempting to + case-fold identifiers (Andrew Dunstan) - The previous behavior was wrong and confusing. + PostgreSQL case-folds non-ASCII characters only + when using a single-byte server encoding. @@ -61,7 +263,7 @@ - Fix libpq SSL deadlock bug (Stephen Frost) + Fix deadlock bug in libpq when using SSL (Stephen Frost) @@ -85,21 +287,24 @@ - Previously such push downs could generate errors. + Subqueries of a UNION or INTERSECT that + contain set-returning functions or volatile functions in their + SELECT lists could be improperly optimized, leading to + run-time errors or incorrect query results. - Fix rare GROUP BY query error caused by improperly - processed data type modifiers (Tom Lane) + Fix rare case of failed to locate grouping columns + planner failure (Tom Lane) - Allow view dump code to better handle dropped columns on base tables - (Tom Lane) + Improve view dumping code's handling of dropped columns in referenced + tables (Tom Lane) @@ -164,12 +369,16 @@ - Allow various spellings of infinity on all platforms (Tom Lane) + Ensure that floating-point data input accepts standard spellings + of infinity on all platforms (Tom Lane) - Supported infinity values are "inf", "+inf", "-inf", "infinity", - "+infinity", and "-infinity". + The C99 standard says that allowable spellings are inf, + +inf, -inf, infinity, + +infinity, and -infinity. Make sure we + recognize these even if the platform's strtod function + doesn't. @@ -183,9 +392,8 @@ Update time zone data files to tzdata release 2013d - for DST law changes in DST law changes in Israel, Morocco, Palestine, - Paraguay. Also, historical zone data corrections for Macquarie Island - (Tom Lane) + for DST law changes in Israel, Morocco, Palestine, and Paraguay. + Also, historical zone data corrections for Macquarie Island. diff --git a/doc/src/sgml/release-9.0.sgml b/doc/src/sgml/release-9.0.sgml index fdd6baafb5..6dc1f6976d 100644 --- a/doc/src/sgml/release-9.0.sgml +++ b/doc/src/sgml/release-9.0.sgml @@ -1,6 +1,244 @@ + + Release 9.0.15 + + + Release Date + 2013-12-05 + + + + This release contains a variety of fixes from 9.0.14. + For information about new features in the 9.0 major release, see + . + + + + Migration to Version 9.0.15 + + + A dump/restore is not required for those running 9.0.X. + + + + However, this release corrects a number of potential data corruption + issues. See the first two changelog entries below to find out whether + your installation has been affected and what steps you can take if so. + + + + Also, if you are upgrading from a version earlier than 9.0.13, + see the release notes for 9.0.13. + + + + + + Changes + + + + + + Fix VACUUM's tests to see whether it can + update relfrozenxid (Andres Freund) + + + + In some cases VACUUM (either manual or autovacuum) could + incorrectly advance a table's relfrozenxid value, + allowing tuples to escape freezing, causing those rows to become + invisible once 2^31 transactions have elapsed. The probability of + data loss is fairly low since multiple incorrect advancements would + need to happen before actual loss occurs, but it's not zero. Users + upgrading from releases 9.0.4 or 8.4.8 or earlier are not affected, but + all later versions contain the bug. + + + + The issue can be ameliorated by, after upgrading, vacuuming all tables + in all databases while having vacuum_freeze_table_age + set to zero. This will fix any latent corruption but will not be able + to fix all pre-existing data errors. However, an installation can be + presumed safe after performing this vacuuming if it has executed fewer + than 2^31 update transactions in its lifetime (check this with + SELECT txid_current() < 2^31). + + + + + + Fix initialization of pg_clog and pg_subtrans + during hot standby startup (Andres Freund, Heikki Linnakangas) + + + + This bug can cause data loss on standby servers at the moment they + start to accept hot-standby queries, by marking committed transactions + as uncommitted. The likelihood of such corruption is small unless, at + the time of standby startup, the primary server has executed many + updating transactions since its last checkpoint. Symptoms include + missing rows, rows that should have been deleted being still visible, + and obsolete versions of updated rows being still visible alongside + their newer versions. + + + + This bug was introduced in versions 9.3.0, 9.2.5, 9.1.10, and 9.0.14. + Standby servers that have only been running earlier releases are not + at risk. It's recommended that standby servers that have ever run any + of the buggy releases be re-cloned from the primary (e.g., with a new + base backup) after upgrading. + + + + + + Truncate pg_multixact contents during WAL replay + (Andres Freund) + + + + This avoids ever-increasing disk space consumption in standby servers. + + + + + + Fix race condition in GIN index posting tree page deletion (Heikki + Linnakangas) + + + + This could lead to transient wrong answers or query failures. + + + + + + Avoid flattening a subquery whose SELECT list contains a + volatile function wrapped inside a sub-SELECT (Tom Lane) + + + + This avoids unexpected results due to extra evaluations of the + volatile function. + + + + + + Fix planner's processing of non-simple-variable subquery outputs + nested within outer joins (Tom Lane) + + + + This error could lead to incorrect plans for queries involving + multiple levels of subqueries within JOIN syntax. + + + + + + Fix premature deletion of temporary files (Andres Freund) + + + + + + Fix possible read past end of memory in rule printing (Peter Eisentraut) + + + + + + Fix array slicing of int2vector and oidvector values + (Tom Lane) + + + + Expressions of this kind are now implicitly promoted to + regular int2 or oid arrays. + + + + + + Fix incorrect behaviors when using a SQL-standard, simple GMT offset + timezone (Tom Lane) + + + + In some cases, the system would use the simple GMT offset value when + it should have used the regular timezone setting that had prevailed + before the simple offset was selected. This change also causes + the timeofday function to honor the simple GMT offset + zone. + + + + + + Prevent possible misbehavior when logging translations of Windows + error codes (Tom Lane) + + + + + + Properly quote generated command lines in pg_ctl + (Naoya Anzai and Tom Lane) + + + + This fix applies only to Windows. + + + + + + Fix pg_dumpall to work when a source database + sets default_transaction_read_only + via ALTER DATABASE SET (Kevin Grittner) + + + + Previously, the generated script would fail during restore. + + + + + + Fix ecpg's processing of lists of variables + declared varchar (Zoltán Böszörményi) + + + + + + Make contrib/lo defend against incorrect trigger definitions + (Marc Cousin) + + + + + + Update time zone data files to tzdata release 2013h + for DST law changes in Argentina, Brazil, Jordan, Libya, + Liechtenstein, Morocco, and Palestine. Also, new timezone + abbreviations WIB, WIT, WITA for Indonesia. + + + + + + + + Release 9.0.14 @@ -23,8 +261,8 @@ - Also, if you are upgrading from a version earlier than 9.0.6, - see the release notes for 9.0.6. + However, if you are upgrading from a version earlier than 9.0.13, + see the release notes for 9.0.13. @@ -36,12 +274,13 @@ - Prevent downcasing of non-ASCII non-double-quoted identifiers in - multi-byte encodings (Andrew Dunstan) + Prevent corruption of multi-byte characters when attempting to + case-fold identifiers (Andrew Dunstan) - The previous behavior was wrong and confusing. + PostgreSQL case-folds non-ASCII characters only + when using a single-byte server encoding. @@ -68,13 +307,13 @@ - Fix libpq SSL deadlock bug (Stephen Frost) + Fix deadlock bug in libpq when using SSL (Stephen Frost) - Fix possible SSL network stack corruption in threaded libpq applications + Fix possible SSL state corruption in threaded libpq applications (Nick Phillips, Stephen Frost) @@ -99,21 +338,24 @@ - Previously such push downs could generate errors. + Subqueries of a UNION or INTERSECT that + contain set-returning functions or volatile functions in their + SELECT lists could be improperly optimized, leading to + run-time errors or incorrect query results. - Fix rare GROUP BY query error caused by improperly - processed data type modifiers (Tom Lane) + Fix rare case of failed to locate grouping columns + planner failure (Tom Lane) - Allow view dump code to better handle dropped columns on base tables - (Tom Lane) + Improve view dumping code's handling of dropped columns in referenced + tables (Tom Lane) @@ -193,8 +435,9 @@ Specifically, lessen keyword restrictions for role names, language names, EXPLAIN and COPY options, and - SET values. This allows COPY ... (FORMAT - BINARY) previously BINARY required single-quotes. + SET values. This allows COPY ... (FORMAT + BINARY) to work as expected; previously BINARY needed + to be quoted. @@ -214,8 +457,9 @@ - Improve analyze statistics generation after a cancelled file truncate - request (Kevin Grittner) + Ensure that VACUUM ANALYZE still runs the ANALYZE phase + if its attempt to truncate the file is cancelled due to lock conflicts + (Kevin Grittner) @@ -228,12 +472,16 @@ - Allow various spellings of infinity on all platforms (Tom Lane) + Ensure that floating-point data input accepts standard spellings + of infinity on all platforms (Tom Lane) - Supported infinity values are "inf", "+inf", "-inf", "infinity", - "+infinity", and "-infinity". + The C99 standard says that allowable spellings are inf, + +inf, -inf, infinity, + +infinity, and -infinity. Make sure we + recognize these even if the platform's strtod function + doesn't. @@ -247,9 +495,8 @@ Update time zone data files to tzdata release 2013d - for DST law changes in DST law changes in Israel, Morocco, Palestine, - Paraguay. Also, historical zone data corrections for Macquarie Island - (Tom Lane) + for DST law changes in Israel, Morocco, Palestine, and Paraguay. + Also, historical zone data corrections for Macquarie Island. diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index 20eff0b292..b3f5c52272 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -1,6 +1,263 @@ + + Release 9.1.11 + + + Release Date + 2013-12-05 + + + + This release contains a variety of fixes from 9.1.10. + For information about new features in the 9.1 major release, see + . + + + + Migration to Version 9.1.11 + + + A dump/restore is not required for those running 9.1.X. + + + + However, this release corrects a number of potential data corruption + issues. See the first two changelog entries below to find out whether + your installation has been affected and what steps you can take if so. + + + + Also, if you are upgrading from a version earlier than 9.1.9, + see the release notes for 9.1.9. + + + + + + Changes + + + + + + Fix VACUUM's tests to see whether it can + update relfrozenxid (Andres Freund) + + + + In some cases VACUUM (either manual or autovacuum) could + incorrectly advance a table's relfrozenxid value, + allowing tuples to escape freezing, causing those rows to become + invisible once 2^31 transactions have elapsed. The probability of + data loss is fairly low since multiple incorrect advancements would + need to happen before actual loss occurs, but it's not zero. Users + upgrading from releases 9.0.4 or 8.4.8 or earlier are not affected, but + all later versions contain the bug. + + + + The issue can be ameliorated by, after upgrading, vacuuming all tables + in all databases while having vacuum_freeze_table_age + set to zero. This will fix any latent corruption but will not be able + to fix all pre-existing data errors. However, an installation can be + presumed safe after performing this vacuuming if it has executed fewer + than 2^31 update transactions in its lifetime (check this with + SELECT txid_current() < 2^31). + + + + + + Fix initialization of pg_clog and pg_subtrans + during hot standby startup (Andres Freund, Heikki Linnakangas) + + + + This bug can cause data loss on standby servers at the moment they + start to accept hot-standby queries, by marking committed transactions + as uncommitted. The likelihood of such corruption is small unless, at + the time of standby startup, the primary server has executed many + updating transactions since its last checkpoint. Symptoms include + missing rows, rows that should have been deleted being still visible, + and obsolete versions of updated rows being still visible alongside + their newer versions. + + + + This bug was introduced in versions 9.3.0, 9.2.5, 9.1.10, and 9.0.14. + Standby servers that have only been running earlier releases are not + at risk. It's recommended that standby servers that have ever run any + of the buggy releases be re-cloned from the primary (e.g., with a new + base backup) after upgrading. + + + + + + Truncate pg_multixact contents during WAL replay + (Andres Freund) + + + + This avoids ever-increasing disk space consumption in standby servers. + + + + + + Fix race condition in GIN index posting tree page deletion (Heikki + Linnakangas) + + + + This could lead to transient wrong answers or query failures. + + + + + + Avoid flattening a subquery whose SELECT list contains a + volatile function wrapped inside a sub-SELECT (Tom Lane) + + + + This avoids unexpected results due to extra evaluations of the + volatile function. + + + + + + Fix planner's processing of non-simple-variable subquery outputs + nested within outer joins (Tom Lane) + + + + This error could lead to incorrect plans for queries involving + multiple levels of subqueries within JOIN syntax. + + + + + + Fix incorrect generation of optimized MIN()/MAX() plans for + inheritance trees (Tom Lane) + + + + The planner could fail in cases where the MIN()/MAX() argument was an + expression rather than a simple variable. + + + + + + Fix premature deletion of temporary files (Andres Freund) + + + + + + Fix possible read past end of memory in rule printing (Peter Eisentraut) + + + + + + Fix array slicing of int2vector and oidvector values + (Tom Lane) + + + + Expressions of this kind are now implicitly promoted to + regular int2 or oid arrays. + + + + + + Fix incorrect behaviors when using a SQL-standard, simple GMT offset + timezone (Tom Lane) + + + + In some cases, the system would use the simple GMT offset value when + it should have used the regular timezone setting that had prevailed + before the simple offset was selected. This change also causes + the timeofday function to honor the simple GMT offset + zone. + + + + + + Prevent possible misbehavior when logging translations of Windows + error codes (Tom Lane) + + + + + + Properly quote generated command lines in pg_ctl + (Naoya Anzai and Tom Lane) + + + + This fix applies only to Windows. + + + + + + Fix pg_dumpall to work when a source database + sets default_transaction_read_only + via ALTER DATABASE SET (Kevin Grittner) + + + + Previously, the generated script would fail during restore. + + + + + + Make ecpg search for quoted cursor names + case-sensitively (Zoltán Böszörményi) + + + + + + Fix ecpg's processing of lists of variables + declared varchar (Zoltán Böszörményi) + + + + + + Make contrib/lo defend against incorrect trigger definitions + (Marc Cousin) + + + + + + Update time zone data files to tzdata release 2013h + for DST law changes in Argentina, Brazil, Jordan, Libya, + Liechtenstein, Morocco, and Palestine. Also, new timezone + abbreviations WIB, WIT, WITA for Indonesia. + + + + + + + + Release 9.1.10 @@ -23,8 +280,8 @@ - Also, if you are upgrading from a version earlier than 9.1.6, - see the release notes for 9.1.6. + However, if you are upgrading from a version earlier than 9.1.9, + see the release notes for 9.1.9. @@ -36,12 +293,13 @@ - Prevent downcasing of non-ASCII non-double-quoted identifiers in - multi-byte encodings (Andrew Dunstan) + Prevent corruption of multi-byte characters when attempting to + case-fold identifiers (Andrew Dunstan) - The previous behavior was wrong and confusing. + PostgreSQL case-folds non-ASCII characters only + when using a single-byte server encoding. @@ -74,13 +332,13 @@ - Fix libpq SSL deadlock bug (Stephen Frost) + Fix deadlock bug in libpq when using SSL (Stephen Frost) - Fix possible SSL network stack corruption in threaded libpq applications + Fix possible SSL state corruption in threaded libpq applications (Nick Phillips, Stephen Frost) @@ -105,14 +363,17 @@ - Previously such push downs could generate errors. + Subqueries of a UNION or INTERSECT that + contain set-returning functions or volatile functions in their + SELECT lists could be improperly optimized, leading to + run-time errors or incorrect query results. - Fix rare GROUP BY query error caused by improperly - processed data type modifiers (Tom Lane) + Fix rare case of failed to locate grouping columns + planner failure (Tom Lane) @@ -142,8 +403,8 @@ - Allow view dump code to better handle dropped columns on base tables - (Tom Lane) + Improve view dumping code's handling of dropped columns in referenced + tables (Tom Lane) @@ -254,8 +515,9 @@ Specifically, lessen keyword restrictions for role names, language names, EXPLAIN and COPY options, and - SET values. This allows COPY ... (FORMAT - BINARY) previously BINARY required single-quotes. + SET values. This allows COPY ... (FORMAT + BINARY) to work as expected; previously BINARY needed + to be quoted. @@ -268,7 +530,7 @@ - Have pg_upgrade use pg_dump + Make pg_upgrade use pg_dump --quote-all-identifiers to avoid problems with keyword changes between releases (Tom Lane) @@ -283,8 +545,9 @@ - Improve analyze statistics generation after a cancelled file truncate - request (Kevin Grittner) + Ensure that VACUUM ANALYZE still runs the ANALYZE phase + if its attempt to truncate the file is cancelled due to lock conflicts + (Kevin Grittner) @@ -297,12 +560,16 @@ - Allow various spellings of infinity on all platforms (Tom Lane) + Ensure that floating-point data input accepts standard spellings + of infinity on all platforms (Tom Lane) - Supported infinity values are "inf", "+inf", "-inf", "infinity", - "+infinity", and "-infinity". + The C99 standard says that allowable spellings are inf, + +inf, -inf, infinity, + +infinity, and -infinity. Make sure we + recognize these even if the platform's strtod function + doesn't. @@ -316,9 +583,8 @@ Update time zone data files to tzdata release 2013d - for DST law changes in DST law changes in Israel, Morocco, Palestine, - Paraguay. Also, historical zone data corrections for Macquarie Island - (Tom Lane) + for DST law changes in Israel, Morocco, Palestine, and Paraguay. + Also, historical zone data corrections for Macquarie Island.