From 64ee636a5b4dc5796a582bf061d94ca2809f5ef3 Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Mon, 6 Feb 2017 15:30:16 -0500 Subject: [PATCH] Release notes for 9.6.2, 9.5.6, 9.4.11, 9.3.16, 9.2.20. --- doc/src/sgml/release-9.2.sgml | 412 +++++++++++++++++++++ doc/src/sgml/release-9.3.sgml | 448 +++++++++++++++++++++++ doc/src/sgml/release-9.4.sgml | 533 +++++++++++++++++++++++++++ doc/src/sgml/release-9.5.sgml | 664 +++++++++++++++++++++++++++++++++- doc/src/sgml/release-9.6.sgml | 61 +--- 5 files changed, 2058 insertions(+), 60 deletions(-) diff --git a/doc/src/sgml/release-9.2.sgml b/doc/src/sgml/release-9.2.sgml index 49430389d95..2e24b778a89 100644 --- a/doc/src/sgml/release-9.2.sgml +++ b/doc/src/sgml/release-9.2.sgml @@ -1,6 +1,418 @@ <!-- doc/src/sgml/release-9.2.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-2-20"> + <title>Release 9.2.20</title> + + <note> + <title>Release Date</title> + <simpara>2017-02-09</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.2.19. + 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.20</title> + + <para> + A dump/restore is not required for those running 9.2.X. + </para> + + <para> + However, if your installation has been affected by the bug described in + the first changelog entry below, then after updating you may need + to take action to repair corrupted indexes. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.2.11, + see <xref linkend="release-9-2-11">. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix a race condition that could cause indexes built + with <command>CREATE INDEX CONCURRENTLY</> to be corrupt + (Pavan Deolasee, Tom Lane) + </para> + + <para> + If <command>CREATE INDEX CONCURRENTLY</> was used to build an index + that depends on a column not previously indexed, then rows inserted + or updated by transactions that ran concurrently with + the <command>CREATE INDEX</> command could have received incorrect + index entries. If you suspect this may have happened, the most + reliable solution is to rebuild affected indexes after installing + this update. + </para> + </listitem> + + <listitem> + <para> + Unconditionally WAL-log creation of the <quote>init fork</> for an + unlogged table (Michael Paquier) + </para> + + <para> + Previously, this was skipped when <xref linkend="guc-wal-level"> + = <literal>minimal</>, but actually it's necessary even in that case + to ensure that the unlogged table is properly reset to empty after a + crash. + </para> + </listitem> + + <listitem> +<!-- +Author: Fujii Masao <fujii@postgresql.org> +Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 +--> + <para> + Fix WAL page header validation when re-reading segments (Takayuki + Tsunakawa, Amit Kapila) + </para> + + <para> + In corner cases, a spurious <quote>out-of-sequence TLI</> error + could be reported during recovery. + </para> + </listitem> + + <listitem> + <para> + If the stats collector dies during hot standby, restart it (Takayuki + Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Check for interrupts while hot standby is waiting for a conflicting + query (Simon Riggs) + </para> + </listitem> + + <listitem> + <para> + Avoid constantly respawning the autovacuum launcher in a corner case + (Amit Khandekar) + </para> + + <para> + This fix avoids problems when autovacuum is nominally off and there + are some tables that require freezing, but all such tables are + already being processed by autovacuum workers. + </para> + </listitem> + + <listitem> + <para> + Fix check for when an extension member object can be dropped (Tom Lane) + </para> + + <para> + Extension upgrade scripts should be able to drop member objects, + but this was disallowed for serial-column sequences, and possibly + other cases. + </para> + </listitem> + + <listitem> + <para> + Make sure <command>ALTER TABLE</> preserves index tablespace + assignments when rebuilding indexes (Tom Lane, Michael Paquier) + </para> + + <para> + Previously, non-default settings + of <xref linkend="guc-default-tablespace"> could result in broken + indexes. + </para> + </listitem> + + <listitem> + <para> + Prevent dropping a foreign-key constraint if there are pending + trigger events for the referenced relation (Tom Lane) + </para> + + <para> + This avoids <quote>could not find trigger <replaceable>NNN</></quote> + or <quote>relation <replaceable>NNN</> has no triggers</quote> errors. + </para> + </listitem> + + <listitem> + <para> + Fix processing of OID column when a table with OIDs is associated to + a parent with OIDs via <command>ALTER TABLE ... INHERIT</> (Amit + Langote) + </para> + + <para> + The OID column should be treated the same as regular user columns in + this case, but it wasn't, leading to odd behavior in later + inheritance changes. + </para> + </listitem> + + <listitem> + <para> + Check for serializability conflicts before reporting + constraint-violation failures (Thomas Munro) + </para> + + <para> + When using serializable transaction isolation, it is desirable + that any error due to concurrent transactions should manifest + as a serialization failure, thereby cueing the application that + a retry might succeed. Unfortunately, this does not reliably + happen for duplicate-key failures caused by concurrent insertions. + This change ensures that such an error will be reported as a + serialization error if the application explicitly checked for + the presence of a conflicting key (and did not find it) earlier + in the transaction. + </para> + </listitem> + + <listitem> + <para> + Ensure that column typmods are determined accurately for + multi-row <literal>VALUES</> constructs (Tom Lane) + </para> + + <para> + This fixes problems occurring when the first value in a column has a + determinable typmod (e.g., length for a <type>varchar</> value) but + later values don't share the same limit. + </para> + </listitem> + + <listitem> + <para> + Throw error for an unfinished Unicode surrogate pair at the end of a + Unicode string (Tom Lane) + </para> + + <para> + Normally, a Unicode surrogate leading character must be followed by a + Unicode surrogate trailing character, but the check for this was + missed if the leading character was the last character in a Unicode + string literal (<literal>U&'...'</>) or Unicode identifier + (<literal>U&"..."</>). + </para> + </listitem> + + <listitem> + <para> + Ensure that a purely negative text search query, such + as <literal>!foo</>, matches empty <type>tsvector</>s (Tom Dunstan) + </para> + + <para> + Such matches were found by GIN index searches, but not by sequential + scans or GiST index searches. + </para> + </listitem> + + <listitem> + <para> + Prevent crash when <function>ts_rewrite()</> replaces a non-top-level + subtree with an empty query (Artur Zakirov) + </para> + </listitem> + + <listitem> + <para> + Fix performance problems in <function>ts_rewrite()</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <function>ts_rewrite()</>'s handling of nested NOT operators + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <function>array_fill()</> to handle empty arrays properly (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix one-byte buffer overrun in <function>quote_literal_cstr()</> + (Heikki Linnakangas) + </para> + + <para> + The overrun occurred only if the input consisted entirely of single + quotes and/or backslashes. + </para> + </listitem> + + <listitem> + <para> + Prevent multiple calls of <function>pg_start_backup()</> + and <function>pg_stop_backup()</> from running concurrently (Michael + Paquier) + </para> + + <para> + This avoids an assertion failure, and possibly worse things, if + someone tries to run these functions in parallel. + </para> + </listitem> + + <listitem> + <para> + Avoid discarding <type>interval</>-to-<type>interval</> casts + that aren't really no-ops (Tom Lane) + </para> + + <para> + In some cases, a cast that should result in zeroing out + low-order <type>interval</> fields was mistakenly deemed to be a + no-op and discarded. An example is that casting from <type>INTERVAL + MONTH</> to <type>INTERVAL YEAR</> failed to clear the months field. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</> to dump user-defined casts and transforms + that use built-in functions (Stephen Frost) + </para> + </listitem> + + <listitem> + <para> + Fix possible <application>pg_basebackup</> failure on standby + server when including WAL files (Amit Kapila, Robert Haas) + </para> + </listitem> + + <listitem> + <para> + Ensure that the Python exception objects we create for PL/Python are + properly reference-counted (Rafa de la Torre, Tom Lane) + </para> + + <para> + This avoids failures if the objects are used after a Python garbage + collection cycle has occurred. + </para> + </listitem> + + <listitem> + <para> + Fix PL/Tcl to support triggers on tables that have <literal>.tupno</> + as a column name (Tom Lane) + </para> + + <para> + This matches the (previously undocumented) behavior of + PL/Tcl's <command>spi_exec</> and <command>spi_execp</> commands, + namely that a magic <literal>.tupno</> column is inserted only if + there isn't a real column named that. + </para> + </listitem> + + <listitem> + <para> + Allow DOS-style line endings in <filename>~/.pgpass</> files, + even on Unix (Vik Fearing) + </para> + + <para> + This change simplifies use of the same password file across Unix and + Windows machines. + </para> + </listitem> + + <listitem> + <para> + Fix one-byte buffer overrun if <application>ecpg</> is given a file + name that ends with a dot (Takayuki Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Fix <application>psql</>'s tab completion for <command>ALTER DEFAULT + PRIVILEGES</> (Gilles Darold, Stephen Frost) + </para> + </listitem> + + <listitem> + <para> + In <application>psql</>, treat an empty or all-blank setting of + the <envar>PAGER</> environment variable as meaning <quote>no + pager</> (Tom Lane) + </para> + + <para> + Previously, such a setting caused output intended for the pager to + vanish entirely. + </para> + </listitem> + + <listitem> + <para> + Improve <filename>contrib/dblink</>'s reporting of + low-level <application>libpq</> errors, such as out-of-memory + (Joe Conway) + </para> + </listitem> + + <listitem> + <para> + On Windows, ensure that environment variable changes are propagated + to DLLs built with debug options (Christian Ullrich) + </para> + </listitem> + + <listitem> + <para> + Sync our copy of the timezone library with IANA release tzcode2016j + (Tom Lane) + </para> + + <para> + This fixes various issues, most notably that timezone data + installation failed if the target directory didn't support hard + links. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2016j + for DST law changes in northern Cyprus (adding a new zone + Asia/Famagusta), Russia (adding a new zone Europe/Saratov), Tonga, + and Antarctica/Casey. + Historical corrections for Italy, Kazakhstan, Malta, and Palestine. + Switch to preferring numeric zone abbreviations for Tonga. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-2-19"> <title>Release 9.2.19</title> diff --git a/doc/src/sgml/release-9.3.sgml b/doc/src/sgml/release-9.3.sgml index 81205a40c77..31adad9d477 100644 --- a/doc/src/sgml/release-9.3.sgml +++ b/doc/src/sgml/release-9.3.sgml @@ -1,6 +1,454 @@ <!-- doc/src/sgml/release-9.3.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-3-16"> + <title>Release 9.3.16</title> + + <note> + <title>Release Date</title> + <simpara>2017-02-09</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.3.15. + 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.16</title> + + <para> + A dump/restore is not required for those running 9.3.X. + </para> + + <para> + However, if your installation has been affected by the bug described in + the first changelog entry below, then after updating you may need + to take action to repair corrupted indexes. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.3.15, + see <xref linkend="release-9-3-15">. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix a race condition that could cause indexes built + with <command>CREATE INDEX CONCURRENTLY</> to be corrupt + (Pavan Deolasee, Tom Lane) + </para> + + <para> + If <command>CREATE INDEX CONCURRENTLY</> was used to build an index + that depends on a column not previously indexed, then rows inserted + or updated by transactions that ran concurrently with + the <command>CREATE INDEX</> command could have received incorrect + index entries. If you suspect this may have happened, the most + reliable solution is to rebuild affected indexes after installing + this update. + </para> + </listitem> + + <listitem> + <para> + Unconditionally WAL-log creation of the <quote>init fork</> for an + unlogged table (Michael Paquier) + </para> + + <para> + Previously, this was skipped when <xref linkend="guc-wal-level"> + = <literal>minimal</>, but actually it's necessary even in that case + to ensure that the unlogged table is properly reset to empty after a + crash. + </para> + </listitem> + + <listitem> + <para> + If the stats collector dies during hot standby, restart it (Takayuki + Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Ensure that hot standby feedback works correctly when it's enabled at + standby server start (Ants Aasma, Craig Ringer) + </para> + </listitem> + + <listitem> + <para> + Check for interrupts while hot standby is waiting for a conflicting + query (Simon Riggs) + </para> + </listitem> + + <listitem> + <para> + Avoid constantly respawning the autovacuum launcher in a corner case + (Amit Khandekar) + </para> + + <para> + This fix avoids problems when autovacuum is nominally off and there + are some tables that require freezing, but all such tables are + already being processed by autovacuum workers. + </para> + </listitem> + + <listitem> + <para> + Fix check for when an extension member object can be dropped (Tom Lane) + </para> + + <para> + Extension upgrade scripts should be able to drop member objects, + but this was disallowed for serial-column sequences, and possibly + other cases. + </para> + </listitem> + + <listitem> + <para> + Make sure <command>ALTER TABLE</> preserves index tablespace + assignments when rebuilding indexes (Tom Lane, Michael Paquier) + </para> + + <para> + Previously, non-default settings + of <xref linkend="guc-default-tablespace"> could result in broken + indexes. + </para> + </listitem> + + <listitem> + <para> + Prevent dropping a foreign-key constraint if there are pending + trigger events for the referenced relation (Tom Lane) + </para> + + <para> + This avoids <quote>could not find trigger <replaceable>NNN</></quote> + or <quote>relation <replaceable>NNN</> has no triggers</quote> errors. + </para> + </listitem> + + <listitem> + <para> + Fix processing of OID column when a table with OIDs is associated to + a parent with OIDs via <command>ALTER TABLE ... INHERIT</> (Amit + Langote) + </para> + + <para> + The OID column should be treated the same as regular user columns in + this case, but it wasn't, leading to odd behavior in later + inheritance changes. + </para> + </listitem> + + <listitem> + <para> + Report correct object identity during <command>ALTER TEXT SEARCH + CONFIGURATION</> (Artur Zakirov) + </para> + + <para> + The wrong catalog OID was reported to extensions such as logical + decoding. + </para> + </listitem> + + <listitem> + <para> + Check for serializability conflicts before reporting + constraint-violation failures (Thomas Munro) + </para> + + <para> + When using serializable transaction isolation, it is desirable + that any error due to concurrent transactions should manifest + as a serialization failure, thereby cueing the application that + a retry might succeed. Unfortunately, this does not reliably + happen for duplicate-key failures caused by concurrent insertions. + This change ensures that such an error will be reported as a + serialization error if the application explicitly checked for + the presence of a conflicting key (and did not find it) earlier + in the transaction. + </para> + </listitem> + + <listitem> + <para> + Prevent multicolumn expansion of <replaceable>foo</><literal>.*</> in + an <command>UPDATE</> source expression (Tom Lane) + </para> + + <para> + This led to <quote>UPDATE target count mismatch --- internal + error</>. Now the syntax is understood as a whole-row variable, + as it would be in other contexts. + </para> + </listitem> + + <listitem> + <para> + Ensure that column typmods are determined accurately for + multi-row <literal>VALUES</> constructs (Tom Lane) + </para> + + <para> + This fixes problems occurring when the first value in a column has a + determinable typmod (e.g., length for a <type>varchar</> value) but + later values don't share the same limit. + </para> + </listitem> + + <listitem> + <para> + Throw error for an unfinished Unicode surrogate pair at the end of a + Unicode string (Tom Lane) + </para> + + <para> + Normally, a Unicode surrogate leading character must be followed by a + Unicode surrogate trailing character, but the check for this was + missed if the leading character was the last character in a Unicode + string literal (<literal>U&'...'</>) or Unicode identifier + (<literal>U&"..."</>). + </para> + </listitem> + + <listitem> + <para> + Ensure that a purely negative text search query, such + as <literal>!foo</>, matches empty <type>tsvector</>s (Tom Dunstan) + </para> + + <para> + Such matches were found by GIN index searches, but not by sequential + scans or GiST index searches. + </para> + </listitem> + + <listitem> + <para> + Prevent crash when <function>ts_rewrite()</> replaces a non-top-level + subtree with an empty query (Artur Zakirov) + </para> + </listitem> + + <listitem> + <para> + Fix performance problems in <function>ts_rewrite()</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <function>ts_rewrite()</>'s handling of nested NOT operators + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <function>array_fill()</> to handle empty arrays properly (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix one-byte buffer overrun in <function>quote_literal_cstr()</> + (Heikki Linnakangas) + </para> + + <para> + The overrun occurred only if the input consisted entirely of single + quotes and/or backslashes. + </para> + </listitem> + + <listitem> + <para> + Prevent multiple calls of <function>pg_start_backup()</> + and <function>pg_stop_backup()</> from running concurrently (Michael + Paquier) + </para> + + <para> + This avoids an assertion failure, and possibly worse things, if + someone tries to run these functions in parallel. + </para> + </listitem> + + <listitem> + <para> + Avoid discarding <type>interval</>-to-<type>interval</> casts + that aren't really no-ops (Tom Lane) + </para> + + <para> + In some cases, a cast that should result in zeroing out + low-order <type>interval</> fields was mistakenly deemed to be a + no-op and discarded. An example is that casting from <type>INTERVAL + MONTH</> to <type>INTERVAL YEAR</> failed to clear the months field. + </para> + </listitem> + + <listitem> + <para> + Ensure that cached plans are invalidated by changes in foreign-table + options (Amit Langote, Etsuro Fujita, Ashutosh Bapat) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</> to dump user-defined casts and transforms + that use built-in functions (Stephen Frost) + </para> + </listitem> + + <listitem> + <para> + Fix possible <application>pg_basebackup</> failure on standby + server when including WAL files (Amit Kapila, Robert Haas) + </para> + </listitem> + + <listitem> + <para> + Ensure that the Python exception objects we create for PL/Python are + properly reference-counted (Rafa de la Torre, Tom Lane) + </para> + + <para> + This avoids failures if the objects are used after a Python garbage + collection cycle has occurred. + </para> + </listitem> + + <listitem> + <para> + Fix PL/Tcl to support triggers on tables that have <literal>.tupno</> + as a column name (Tom Lane) + </para> + + <para> + This matches the (previously undocumented) behavior of + PL/Tcl's <command>spi_exec</> and <command>spi_execp</> commands, + namely that a magic <literal>.tupno</> column is inserted only if + there isn't a real column named that. + </para> + </listitem> + + <listitem> + <para> + Allow DOS-style line endings in <filename>~/.pgpass</> files, + even on Unix (Vik Fearing) + </para> + + <para> + This change simplifies use of the same password file across Unix and + Windows machines. + </para> + </listitem> + + <listitem> + <para> + Fix one-byte buffer overrun if <application>ecpg</> is given a file + name that ends with a dot (Takayuki Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Fix <application>psql</>'s tab completion for <command>ALTER DEFAULT + PRIVILEGES</> (Gilles Darold, Stephen Frost) + </para> + </listitem> + + <listitem> + <para> + In <application>psql</>, treat an empty or all-blank setting of + the <envar>PAGER</> environment variable as meaning <quote>no + pager</> (Tom Lane) + </para> + + <para> + Previously, such a setting caused output intended for the pager to + vanish entirely. + </para> + </listitem> + + <listitem> + <para> + Improve <filename>contrib/dblink</>'s reporting of + low-level <application>libpq</> errors, such as out-of-memory + (Joe Conway) + </para> + </listitem> + + <listitem> + <para> + Teach <filename>contrib/dblink</> to ignore irrelevant server options + when it uses a <filename>contrib/postgres_fdw</> foreign server as + the source of connection options (Corey Huinker) + </para> + + <para> + Previously, if the foreign server object had options that were not + also <application>libpq</> connection options, an error occurred. + </para> + </listitem> + + <listitem> + <para> + On Windows, ensure that environment variable changes are propagated + to DLLs built with debug options (Christian Ullrich) + </para> + </listitem> + + <listitem> + <para> + Sync our copy of the timezone library with IANA release tzcode2016j + (Tom Lane) + </para> + + <para> + This fixes various issues, most notably that timezone data + installation failed if the target directory didn't support hard + links. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2016j + for DST law changes in northern Cyprus (adding a new zone + Asia/Famagusta), Russia (adding a new zone Europe/Saratov), Tonga, + and Antarctica/Casey. + Historical corrections for Italy, Kazakhstan, Malta, and Palestine. + Switch to preferring numeric zone abbreviations for Tonga. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-3-15"> <title>Release 9.3.15</title> diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml index 94b028a0651..b4e64214ad7 100644 --- a/doc/src/sgml/release-9.4.sgml +++ b/doc/src/sgml/release-9.4.sgml @@ -1,6 +1,539 @@ <!-- doc/src/sgml/release-9.4.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-4-11"> + <title>Release 9.4.11</title> + + <note> + <title>Release Date</title> + <simpara>2017-02-09</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.4.10. + For information about new features in the 9.4 major release, see + <xref linkend="release-9-4">. + </para> + + <sect2> + <title>Migration to Version 9.4.11</title> + + <para> + A dump/restore is not required for those running 9.4.X. + </para> + + <para> + However, if your installation has been affected by the bug described in + the first changelog entry below, then after updating you may need + to take action to repair corrupted indexes. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.4.10, + see <xref linkend="release-9-4-10">. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix a race condition that could cause indexes built + with <command>CREATE INDEX CONCURRENTLY</> to be corrupt + (Pavan Deolasee, Tom Lane) + </para> + + <para> + If <command>CREATE INDEX CONCURRENTLY</> was used to build an index + that depends on a column not previously indexed, then rows inserted + or updated by transactions that ran concurrently with + the <command>CREATE INDEX</> command could have received incorrect + index entries. If you suspect this may have happened, the most + reliable solution is to rebuild affected indexes after installing + this update. + </para> + </listitem> + + <listitem> + <para> + Ensure that the special snapshot used for catalog scans is not + invalidated by premature data pruning (Tom Lane) + </para> + + <para> + Backends failed to account for this snapshot when advertising their + oldest xmin, potentially allowing concurrent vacuuming operations to + remove data that was still needed. This led to transient failures + along the lines of <quote>cache lookup failed for relation 1255</>. + </para> + </listitem> + + <listitem> + <para> + Unconditionally WAL-log creation of the <quote>init fork</> for an + unlogged table (Michael Paquier) + </para> + + <para> + Previously, this was skipped when <xref linkend="guc-wal-level"> + = <literal>minimal</>, but actually it's necessary even in that case + to ensure that the unlogged table is properly reset to empty after a + crash. + </para> + </listitem> + + <listitem> + <para> + Reduce interlocking on standby servers during the replay of btree + index vacuuming operations (Simon Riggs) + </para> + + <para> + This change avoids substantial replication delays that sometimes + occurred while replaying such operations. + </para> + </listitem> + + <listitem> + <para> + If the stats collector dies during hot standby, restart it (Takayuki + Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Ensure that hot standby feedback works correctly when it's enabled at + standby server start (Ants Aasma, Craig Ringer) + </para> + </listitem> + + <listitem> + <para> + Check for interrupts while hot standby is waiting for a conflicting + query (Simon Riggs) + </para> + </listitem> + + <listitem> + <para> + Avoid constantly respawning the autovacuum launcher in a corner case + (Amit Khandekar) + </para> + + <para> + This fix avoids problems when autovacuum is nominally off and there + are some tables that require freezing, but all such tables are + already being processed by autovacuum workers. + </para> + </listitem> + + <listitem> + <para> + Fix check for when an extension member object can be dropped (Tom Lane) + </para> + + <para> + Extension upgrade scripts should be able to drop member objects, + but this was disallowed for serial-column sequences, and possibly + other cases. + </para> + </listitem> + + <listitem> + <para> + Make sure <command>ALTER TABLE</> preserves index tablespace + assignments when rebuilding indexes (Tom Lane, Michael Paquier) + </para> + + <para> + Previously, non-default settings + of <xref linkend="guc-default-tablespace"> could result in broken + indexes. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect updating of trigger function properties when changing a + foreign-key constraint's deferrability properties with <command>ALTER + TABLE ... ALTER CONSTRAINT</> (Tom Lane) + </para> + + <para> + This led to odd failures during subsequent exercise of the foreign + key, as the triggers were fired at the wrong times. + </para> + </listitem> + + <listitem> + <para> + Prevent dropping a foreign-key constraint if there are pending + trigger events for the referenced relation (Tom Lane) + </para> + + <para> + This avoids <quote>could not find trigger <replaceable>NNN</></quote> + or <quote>relation <replaceable>NNN</> has no triggers</quote> errors. + </para> + </listitem> + + <listitem> + <para> + Fix processing of OID column when a table with OIDs is associated to + a parent with OIDs via <command>ALTER TABLE ... INHERIT</> (Amit + Langote) + </para> + + <para> + The OID column should be treated the same as regular user columns in + this case, but it wasn't, leading to odd behavior in later + inheritance changes. + </para> + </listitem> + + <listitem> + <para> + Fix <command>CREATE OR REPLACE VIEW</> to update the view query + before attempting to apply the new view options (Dean Rasheed) + </para> + + <para> + Previously the command would fail if the new options were + inconsistent with the old view definition. + </para> + </listitem> + + <listitem> + <para> + Report correct object identity during <command>ALTER TEXT SEARCH + CONFIGURATION</> (Artur Zakirov) + </para> + + <para> + The wrong catalog OID was reported to extensions such as logical + decoding. + </para> + </listitem> + + <listitem> + <para> + Check for serializability conflicts before reporting + constraint-violation failures (Thomas Munro) + </para> + + <para> + When using serializable transaction isolation, it is desirable + that any error due to concurrent transactions should manifest + as a serialization failure, thereby cueing the application that + a retry might succeed. Unfortunately, this does not reliably + happen for duplicate-key failures caused by concurrent insertions. + This change ensures that such an error will be reported as a + serialization error if the application explicitly checked for + the presence of a conflicting key (and did not find it) earlier + in the transaction. + </para> + </listitem> + + <listitem> + <para> + Prevent multicolumn expansion of <replaceable>foo</><literal>.*</> in + an <command>UPDATE</> source expression (Tom Lane) + </para> + + <para> + This led to <quote>UPDATE target count mismatch --- internal + error</>. Now the syntax is understood as a whole-row variable, + as it would be in other contexts. + </para> + </listitem> + + <listitem> + <para> + Ensure that column typmods are determined accurately for + multi-row <literal>VALUES</> constructs (Tom Lane) + </para> + + <para> + This fixes problems occurring when the first value in a column has a + determinable typmod (e.g., length for a <type>varchar</> value) but + later values don't share the same limit. + </para> + </listitem> + + <listitem> + <para> + Throw error for an unfinished Unicode surrogate pair at the end of a + Unicode string (Tom Lane) + </para> + + <para> + Normally, a Unicode surrogate leading character must be followed by a + Unicode surrogate trailing character, but the check for this was + missed if the leading character was the last character in a Unicode + string literal (<literal>U&'...'</>) or Unicode identifier + (<literal>U&"..."</>). + </para> + </listitem> + + <listitem> + <para> + Ensure that a purely negative text search query, such + as <literal>!foo</>, matches empty <type>tsvector</>s (Tom Dunstan) + </para> + + <para> + Such matches were found by GIN index searches, but not by sequential + scans or GiST index searches. + </para> + </listitem> + + <listitem> + <para> + Prevent crash when <function>ts_rewrite()</> replaces a non-top-level + subtree with an empty query (Artur Zakirov) + </para> + </listitem> + + <listitem> + <para> + Fix performance problems in <function>ts_rewrite()</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <function>ts_rewrite()</>'s handling of nested NOT operators + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <function>array_fill()</> to handle empty arrays properly (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix one-byte buffer overrun in <function>quote_literal_cstr()</> + (Heikki Linnakangas) + </para> + + <para> + The overrun occurred only if the input consisted entirely of single + quotes and/or backslashes. + </para> + </listitem> + + <listitem> + <para> + Prevent multiple calls of <function>pg_start_backup()</> + and <function>pg_stop_backup()</> from running concurrently (Michael + Paquier) + </para> + + <para> + This avoids an assertion failure, and possibly worse things, if + someone tries to run these functions in parallel. + </para> + </listitem> + + <listitem> + <para> + Avoid discarding <type>interval</>-to-<type>interval</> casts + that aren't really no-ops (Tom Lane) + </para> + + <para> + In some cases, a cast that should result in zeroing out + low-order <type>interval</> fields was mistakenly deemed to be a + no-op and discarded. An example is that casting from <type>INTERVAL + MONTH</> to <type>INTERVAL YEAR</> failed to clear the months field. + </para> + </listitem> + + <listitem> + <para> + Ensure that cached plans are invalidated by changes in foreign-table + options (Amit Langote, Etsuro Fujita, Ashutosh Bapat) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</> to dump user-defined casts and transforms + that use built-in functions (Stephen Frost) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_restore</> with <option>--create --if-exists</> + to behave more sanely if an archive contains + unrecognized <command>DROP</> commands (Tom Lane) + </para> + + <para> + This doesn't fix any live bug, but it may improve the behavior in + future if <application>pg_restore</> is used with an archive + generated by a later <application>pg_dump</> version. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_basebackup</>'s rate limiting in the presence of + slow I/O (Antonin Houska) + </para> + + <para> + If disk I/O was transiently much slower than the specified rate + limit, the calculation overflowed, effectively disabling the rate + limit for the rest of the run. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_basebackup</>'s handling of + symlinked <filename>pg_stat_tmp</> and <filename>pg_replslot</> + subdirectories (Magnus Hagander, Michael Paquier) + </para> + </listitem> + + <listitem> + <para> + Fix possible <application>pg_basebackup</> failure on standby + server when including WAL files (Amit Kapila, Robert Haas) + </para> + </listitem> + + <listitem> + <para> + Ensure that the Python exception objects we create for PL/Python are + properly reference-counted (Rafa de la Torre, Tom Lane) + </para> + + <para> + This avoids failures if the objects are used after a Python garbage + collection cycle has occurred. + </para> + </listitem> + + <listitem> + <para> + Fix PL/Tcl to support triggers on tables that have <literal>.tupno</> + as a column name (Tom Lane) + </para> + + <para> + This matches the (previously undocumented) behavior of + PL/Tcl's <command>spi_exec</> and <command>spi_execp</> commands, + namely that a magic <literal>.tupno</> column is inserted only if + there isn't a real column named that. + </para> + </listitem> + + <listitem> + <para> + Allow DOS-style line endings in <filename>~/.pgpass</> files, + even on Unix (Vik Fearing) + </para> + + <para> + This change simplifies use of the same password file across Unix and + Windows machines. + </para> + </listitem> + + <listitem> + <para> + Fix one-byte buffer overrun if <application>ecpg</> is given a file + name that ends with a dot (Takayuki Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Fix <application>psql</>'s tab completion for <command>ALTER DEFAULT + PRIVILEGES</> (Gilles Darold, Stephen Frost) + </para> + </listitem> + + <listitem> + <para> + In <application>psql</>, treat an empty or all-blank setting of + the <envar>PAGER</> environment variable as meaning <quote>no + pager</> (Tom Lane) + </para> + + <para> + Previously, such a setting caused output intended for the pager to + vanish entirely. + </para> + </listitem> + + <listitem> + <para> + Improve <filename>contrib/dblink</>'s reporting of + low-level <application>libpq</> errors, such as out-of-memory + (Joe Conway) + </para> + </listitem> + + <listitem> + <para> + Teach <filename>contrib/dblink</> to ignore irrelevant server options + when it uses a <filename>contrib/postgres_fdw</> foreign server as + the source of connection options (Corey Huinker) + </para> + + <para> + Previously, if the foreign server object had options that were not + also <application>libpq</> connection options, an error occurred. + </para> + </listitem> + + <listitem> + <para> + On Windows, ensure that environment variable changes are propagated + to DLLs built with debug options (Christian Ullrich) + </para> + </listitem> + + <listitem> + <para> + Sync our copy of the timezone library with IANA release tzcode2016j + (Tom Lane) + </para> + + <para> + This fixes various issues, most notably that timezone data + installation failed if the target directory didn't support hard + links. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2016j + for DST law changes in northern Cyprus (adding a new zone + Asia/Famagusta), Russia (adding a new zone Europe/Saratov), Tonga, + and Antarctica/Casey. + Historical corrections for Italy, Kazakhstan, Malta, and Palestine. + Switch to preferring numeric zone abbreviations for Tonga. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-4-10"> <title>Release 9.4.10</title> diff --git a/doc/src/sgml/release-9.5.sgml b/doc/src/sgml/release-9.5.sgml index abc03370260..2438b95b8c0 100644 --- a/doc/src/sgml/release-9.5.sgml +++ b/doc/src/sgml/release-9.5.sgml @@ -1,6 +1,668 @@ <!-- doc/src/sgml/release-9.5.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-5-6"> + <title>Release 9.5.6</title> + + <note> + <title>Release Date</title> + <simpara>2017-02-09</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.5.5. + For information about new features in the 9.5 major release, see + <xref linkend="release-9-5">. + </para> + + <sect2> + <title>Migration to Version 9.5.6</title> + + <para> + A dump/restore is not required for those running 9.5.X. + </para> + + <para> + However, if your installation has been affected by the bug described in + the first changelog entry below, then after updating you may need + to take action to repair corrupted indexes. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.5.5, + see <xref linkend="release-9-5-5">. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix a race condition that could cause indexes built + with <command>CREATE INDEX CONCURRENTLY</> to be corrupt + (Pavan Deolasee, Tom Lane) + </para> + + <para> + If <command>CREATE INDEX CONCURRENTLY</> was used to build an index + that depends on a column not previously indexed, then rows inserted + or updated by transactions that ran concurrently with + the <command>CREATE INDEX</> command could have received incorrect + index entries. If you suspect this may have happened, the most + reliable solution is to rebuild affected indexes after installing + this update. + </para> + </listitem> + + <listitem> + <para> + Ensure that the special snapshot used for catalog scans is not + invalidated by premature data pruning (Tom Lane) + </para> + + <para> + Backends failed to account for this snapshot when advertising their + oldest xmin, potentially allowing concurrent vacuuming operations to + remove data that was still needed. This led to transient failures + along the lines of <quote>cache lookup failed for relation 1255</>. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect WAL logging for BRIN indexes (Kuntal Ghosh) + </para> + + <para> + The WAL record emitted for a BRIN <quote>revmap</> page when moving an + index tuple to a different page was incorrect. Replay would make the + related portion of the index useless, forcing it to be recomputed. + </para> + </listitem> + + <listitem> + <para> + Unconditionally WAL-log creation of the <quote>init fork</> for an + unlogged table (Michael Paquier) + </para> + + <para> + Previously, this was skipped when <xref linkend="guc-wal-level"> + = <literal>minimal</>, but actually it's necessary even in that case + to ensure that the unlogged table is properly reset to empty after a + crash. + </para> + </listitem> + + <listitem> +<!-- +Author: Alvaro Herrera <alvherre@alvh.no-ip.org> +Branch: REL9_5_STABLE [c0db1ec26] 2016-11-17 13:31:30 -0300 +Branch: REL9_4_STABLE [30e3cb307] 2016-11-17 13:31:30 -0300 +--> + <para> + Reduce interlocking on standby servers during the replay of btree + index vacuuming operations (Simon Riggs) + </para> + + <para> + This change avoids substantial replication delays that sometimes + occurred while replaying such operations. + </para> + </listitem> + + <listitem> + <para> + If the stats collector dies during hot standby, restart it (Takayuki + Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Ensure that hot standby feedback works correctly when it's enabled at + standby server start (Ants Aasma, Craig Ringer) + </para> + </listitem> + + <listitem> + <para> + Check for interrupts while hot standby is waiting for a conflicting + query (Simon Riggs) + </para> + </listitem> + + <listitem> + <para> + Avoid constantly respawning the autovacuum launcher in a corner case + (Amit Khandekar) + </para> + + <para> + This fix avoids problems when autovacuum is nominally off and there + are some tables that require freezing, but all such tables are + already being processed by autovacuum workers. + </para> + </listitem> + + <listitem> + <para> + Fix check for when an extension member object can be dropped (Tom Lane) + </para> + + <para> + Extension upgrade scripts should be able to drop member objects, + but this was disallowed for serial-column sequences, and possibly + other cases. + </para> + </listitem> + + <listitem> + <para> + Make sure <command>ALTER TABLE</> preserves index tablespace + assignments when rebuilding indexes (Tom Lane, Michael Paquier) + </para> + + <para> + Previously, non-default settings + of <xref linkend="guc-default-tablespace"> could result in broken + indexes. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect updating of trigger function properties when changing a + foreign-key constraint's deferrability properties with <command>ALTER + TABLE ... ALTER CONSTRAINT</> (Tom Lane) + </para> + + <para> + This led to odd failures during subsequent exercise of the foreign + key, as the triggers were fired at the wrong times. + </para> + </listitem> + + <listitem> + <para> + Prevent dropping a foreign-key constraint if there are pending + trigger events for the referenced relation (Tom Lane) + </para> + + <para> + This avoids <quote>could not find trigger <replaceable>NNN</></quote> + or <quote>relation <replaceable>NNN</> has no triggers</quote> errors. + </para> + </listitem> + + <listitem> + <para> + Fix <command>ALTER TABLE ... SET DATA TYPE ... USING</> when child + table has different column ordering than the parent + (Álvaro Herrera) + </para> + + <para> + Failure to adjust the column numbering in the <literal>USING</> + expression led to errors, + typically <quote>attribute <replaceable>N</> has wrong type</quote>. + </para> + </listitem> + + <listitem> + <para> + Fix processing of OID column when a table with OIDs is associated to + a parent with OIDs via <command>ALTER TABLE ... INHERIT</> (Amit + Langote) + </para> + + <para> + The OID column should be treated the same as regular user columns in + this case, but it wasn't, leading to odd behavior in later + inheritance changes. + </para> + </listitem> + + <listitem> + <para> + Fix <command>CREATE OR REPLACE VIEW</> to update the view query + before attempting to apply the new view options (Dean Rasheed) + </para> + + <para> + Previously the command would fail if the new options were + inconsistent with the old view definition. + </para> + </listitem> + + <listitem> + <para> + Report correct object identity during <command>ALTER TEXT SEARCH + CONFIGURATION</> (Artur Zakirov) + </para> + + <para> + The wrong catalog OID was reported to extensions such as logical + decoding. + </para> + </listitem> + + <listitem> + <para> + Fix commit timestamp mechanism to not fail when queried about + the special XIDs <literal>FrozenTransactionId</> + and <literal>BootstrapTransactionId</> (Craig Ringer) + </para> + </listitem> + + <listitem> +<!-- +Author: Kevin Grittner <kgrittn@postgresql.org> +Branch: REL9_5_STABLE [bed2a0b06] 2016-12-13 19:14:42 -0600 +Branch: REL9_4_STABLE [4b9d466c1] 2016-12-13 19:05:12 -0600 +Branch: REL9_3_STABLE [5d80171ad] 2016-12-13 19:05:35 -0600 +Branch: REL9_2_STABLE [60314e28e] 2016-12-13 19:08:09 -0600 +--> + <para> + Check for serializability conflicts before reporting + constraint-violation failures (Thomas Munro) + </para> + + <para> + When using serializable transaction isolation, it is desirable + that any error due to concurrent transactions should manifest + as a serialization failure, thereby cueing the application that + a retry might succeed. Unfortunately, this does not reliably + happen for duplicate-key failures caused by concurrent insertions. + This change ensures that such an error will be reported as a + serialization error if the application explicitly checked for + the presence of a conflicting key (and did not find it) earlier + in the transaction. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect use of view reloptions as regular table reloptions (Tom + Lane) + </para> + + <para> + The symptom was spurious <quote>ON CONFLICT is not supported on table + ... used as a catalog table</> errors when the target + of <command>INSERT ... ON CONFLICT</> is a view with cascade option. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect <quote>target lists can have at most <replaceable>N</> + entries</quote> complaint when using <literal>ON CONFLICT</> with + wide tables (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Prevent multicolumn expansion of <replaceable>foo</><literal>.*</> in + an <command>UPDATE</> source expression (Tom Lane) + </para> + + <para> + This led to <quote>UPDATE target count mismatch --- internal + error</>. Now the syntax is understood as a whole-row variable, + as it would be in other contexts. + </para> + </listitem> + + <listitem> + <para> + Ensure that column typmods are determined accurately for + multi-row <literal>VALUES</> constructs (Tom Lane) + </para> + + <para> + This fixes problems occurring when the first value in a column has a + determinable typmod (e.g., length for a <type>varchar</> value) but + later values don't share the same limit. + </para> + </listitem> + + <listitem> + <para> + Throw error for an unfinished Unicode surrogate pair at the end of a + Unicode string (Tom Lane) + </para> + + <para> + Normally, a Unicode surrogate leading character must be followed by a + Unicode surrogate trailing character, but the check for this was + missed if the leading character was the last character in a Unicode + string literal (<literal>U&'...'</>) or Unicode identifier + (<literal>U&"..."</>). + </para> + </listitem> + + <listitem> + <para> + Ensure that a purely negative text search query, such + as <literal>!foo</>, matches empty <type>tsvector</>s (Tom Dunstan) + </para> + + <para> + Such matches were found by GIN index searches, but not by sequential + scans or GiST index searches. + </para> + </listitem> + + <listitem> + <para> + Prevent crash when <function>ts_rewrite()</> replaces a non-top-level + subtree with an empty query (Artur Zakirov) + </para> + </listitem> + + <listitem> + <para> + Fix performance problems in <function>ts_rewrite()</> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <function>ts_rewrite()</>'s handling of nested NOT operators + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Improve speed of user-defined aggregates that + use <function>array_append()</> as transition function (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <function>array_fill()</> to handle empty arrays properly (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible crash in <function>array_position()</> + or <function>array_positions()</> when processing arrays of records + (Junseok Yang) + </para> + </listitem> + + <listitem> + <para> + Fix one-byte buffer overrun in <function>quote_literal_cstr()</> + (Heikki Linnakangas) + </para> + + <para> + The overrun occurred only if the input consisted entirely of single + quotes and/or backslashes. + </para> + </listitem> + + <listitem> + <para> + Prevent multiple calls of <function>pg_start_backup()</> + and <function>pg_stop_backup()</> from running concurrently (Michael + Paquier) + </para> + + <para> + This avoids an assertion failure, and possibly worse things, if + someone tries to run these functions in parallel. + </para> + </listitem> + + <listitem> + <para> + Disable transform that attempted to remove no-op <literal>AT TIME + ZONE</> conversions (Tom Lane) + </para> + + <para> + This resulted in wrong answers when the simplified expression was + used in an index condition. + </para> + </listitem> + + <listitem> + <para> + Avoid discarding <type>interval</>-to-<type>interval</> casts + that aren't really no-ops (Tom Lane) + </para> + + <para> + In some cases, a cast that should result in zeroing out + low-order <type>interval</> fields was mistakenly deemed to be a + no-op and discarded. An example is that casting from <type>INTERVAL + MONTH</> to <type>INTERVAL YEAR</> failed to clear the months field. + </para> + </listitem> + + <listitem> + <para> + Fix bugs in transmitting GUC parameter values to parallel workers + (Michael Paquier, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Ensure that cached plans are invalidated by changes in foreign-table + options (Amit Langote, Etsuro Fujita, Ashutosh Bapat) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</> to dump user-defined casts and transforms + that use built-in functions (Stephen Frost) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_restore</> with <option>--create --if-exists</> + to behave more sanely if an archive contains + unrecognized <command>DROP</> commands (Tom Lane) + </para> + + <para> + This doesn't fix any live bug, but it may improve the behavior in + future if <application>pg_restore</> is used with an archive + generated by a later <application>pg_dump</> version. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_basebackup</>'s rate limiting in the presence of + slow I/O (Antonin Houska) + </para> + + <para> + If disk I/O was transiently much slower than the specified rate + limit, the calculation overflowed, effectively disabling the rate + limit for the rest of the run. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_basebackup</>'s handling of + symlinked <filename>pg_stat_tmp</> and <filename>pg_replslot</> + subdirectories (Magnus Hagander, Michael Paquier) + </para> + </listitem> + + <listitem> + <para> + Fix possible <application>pg_basebackup</> failure on standby + server when including WAL files (Amit Kapila, Robert Haas) + </para> + </listitem> + + <listitem> + <para> + Fix possible mishandling of expanded arrays in domain check + constraints and <literal>CASE</> execution (Tom Lane) + </para> + + <para> + It was possible for a PL/pgSQL function invoked in these contexts to + modify or even delete an array value that needs to be preserved for + additional operations. + </para> + </listitem> + + <listitem> + <para> + Fix nested uses of PL/pgSQL functions in contexts such as domain + check constraints evaluated during assignment to a PL/pgSQL variable + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Ensure that the Python exception objects we create for PL/Python are + properly reference-counted (Rafa de la Torre, Tom Lane) + </para> + + <para> + This avoids failures if the objects are used after a Python garbage + collection cycle has occurred. + </para> + </listitem> + + <listitem> + <para> + Fix PL/Tcl to support triggers on tables that have <literal>.tupno</> + as a column name (Tom Lane) + </para> + + <para> + This matches the (previously undocumented) behavior of + PL/Tcl's <command>spi_exec</> and <command>spi_execp</> commands, + namely that a magic <literal>.tupno</> column is inserted only if + there isn't a real column named that. + </para> + </listitem> + + <listitem> + <para> + Allow DOS-style line endings in <filename>~/.pgpass</> files, + even on Unix (Vik Fearing) + </para> + + <para> + This change simplifies use of the same password file across Unix and + Windows machines. + </para> + </listitem> + + <listitem> + <para> + Fix one-byte buffer overrun if <application>ecpg</> is given a file + name that ends with a dot (Takayuki Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Fix <application>psql</>'s tab completion for <command>ALTER DEFAULT + PRIVILEGES</> (Gilles Darold, Stephen Frost) + </para> + </listitem> + + <listitem> + <para> + In <application>psql</>, treat an empty or all-blank setting of + the <envar>PAGER</> environment variable as meaning <quote>no + pager</> (Tom Lane) + </para> + + <para> + Previously, such a setting caused output intended for the pager to + vanish entirely. + </para> + </listitem> + + <listitem> + <para> + Improve <filename>contrib/dblink</>'s reporting of + low-level <application>libpq</> errors, such as out-of-memory + (Joe Conway) + </para> + </listitem> + + <listitem> + <para> + Teach <filename>contrib/dblink</> to ignore irrelevant server options + when it uses a <filename>contrib/postgres_fdw</> foreign server as + the source of connection options (Corey Huinker) + </para> + + <para> + Previously, if the foreign server object had options that were not + also <application>libpq</> connection options, an error occurred. + </para> + </listitem> + + <listitem> + <para> + Fix portability problems in <filename>contrib/pageinspect</>'s + functions for GIN indexes (Peter Eisentraut, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + On Windows, ensure that environment variable changes are propagated + to DLLs built with debug options (Christian Ullrich) + </para> + </listitem> + + <listitem> + <para> + Sync our copy of the timezone library with IANA release tzcode2016j + (Tom Lane) + </para> + + <para> + This fixes various issues, most notably that timezone data + installation failed if the target directory didn't support hard + links. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2016j + for DST law changes in northern Cyprus (adding a new zone + Asia/Famagusta), Russia (adding a new zone Europe/Saratov), Tonga, + and Antarctica/Casey. + Historical corrections for Italy, Kazakhstan, Malta, and Palestine. + Switch to preferring numeric zone abbreviations for Tonga. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-5-5"> <title>Release 9.5.5</title> @@ -64,7 +726,7 @@ <listitem> <!-- -zAuthor: Tom Lane <tgl@sss.pgh.pa.us> +Author: Tom Lane <tgl@sss.pgh.pa.us> Branch: master [60893786d] 2016-09-03 13:28:53 -0400 Branch: REL9_6_STABLE Release: REL9_6_0 [36646d3af] 2016-09-03 13:28:53 -0400 Branch: REL9_5_STABLE [08a72872f] 2016-09-03 13:28:53 -0400 diff --git a/doc/src/sgml/release-9.6.sgml b/doc/src/sgml/release-9.6.sgml index e6c4fa8f9ae..ea46bdb5d45 100644 --- a/doc/src/sgml/release-9.6.sgml +++ b/doc/src/sgml/release-9.6.sgml @@ -130,39 +130,6 @@ Branch: REL9_2_STABLE [a00ac6299] 2016-12-08 14:19:25 -0500 <listitem> <!-- -Author: Fujii Masao <fujii@postgresql.org> -Branch: REL9_2_STABLE [38bec1805] 2017-01-25 07:02:25 +0900 ---> - <para> - Fix WAL page header validation when re-reading segments (Takayuki - Tsunakawa, Amit Kapila) - </para> - - <para> - In corner cases, a spurious <quote>out-of-sequence TLI</> error - could be reported during recovery. - </para> - </listitem> - - <listitem> -<!-- -Author: Alvaro Herrera <alvherre@alvh.no-ip.org> -Branch: REL9_5_STABLE [c0db1ec26] 2016-11-17 13:31:30 -0300 -Branch: REL9_4_STABLE [30e3cb307] 2016-11-17 13:31:30 -0300 ---> - <para> - Reduce interlocking on standby servers during the replay of btree - index vacuuming operations (Simon Riggs) - </para> - - <para> - This change avoids substantial replication delays that sometimes - occurred while replaying such operations. - </para> - </listitem> - - <listitem> -<!-- Author: Robert Haas <rhaas@postgresql.org> Branch: master [4f714b2fd] 2016-10-27 14:27:40 -0400 Branch: REL9_6_STABLE [4a43a6244] 2016-10-27 14:54:35 -0400 @@ -180,6 +147,7 @@ Branch: REL9_2_STABLE [2be2838a7] 2016-10-27 14:56:53 -0400 <listitem> <!-- Author: Simon Riggs <simon@2ndQuadrant.com> +Branch: master [ec4b97501] 2017-01-26 18:14:02 +0000 Branch: REL9_6_STABLE [95d1b4145] 2017-01-26 20:06:44 +0000 Branch: REL9_5_STABLE [99289e506] 2017-01-26 20:09:18 +0000 Branch: REL9_4_STABLE [800d89a98] 2017-01-26 20:10:19 +0000 @@ -473,32 +441,6 @@ Branch: REL9_5_STABLE [7816d1356] 2016-11-24 15:39:55 -0300 <listitem> <!-- -Author: Kevin Grittner <kgrittn@postgresql.org> -Branch: REL9_5_STABLE [bed2a0b06] 2016-12-13 19:14:42 -0600 -Branch: REL9_4_STABLE [4b9d466c1] 2016-12-13 19:05:12 -0600 -Branch: REL9_3_STABLE [5d80171ad] 2016-12-13 19:05:35 -0600 -Branch: REL9_2_STABLE [60314e28e] 2016-12-13 19:08:09 -0600 ---> - <para> - Check for serializability conflicts before reporting - constraint-violation failures (Thomas Munro) - </para> - - <para> - When using serializable transaction isolation, it is desirable - that any error due to concurrent transactions should manifest - as a serialization failure, thereby cueing the application that - a retry might succeed. Unfortunately, this does not reliably - happen for duplicate-key failures caused by concurrent insertions. - This change ensures that such an error will be reported as a - serialization error if the application explicitly checked for - the presence of a conflicting key (and did not find it) earlier - in the transaction. - </para> - </listitem> - - <listitem> -<!-- Author: Tom Lane <tgl@sss.pgh.pa.us> Branch: master [e3e66d8a9] 2016-11-07 12:08:18 -0500 Branch: REL9_6_STABLE [5ee3a7453] 2016-11-07 12:08:19 -0500 @@ -570,6 +512,7 @@ Branch: REL9_3_STABLE [71db302ec] 2016-11-20 14:26:19 -0500 <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [0b78106cd] 2016-12-08 11:40:02 -0500 Branch: REL9_6_STABLE [cf22c8cb8] 2016-12-09 12:01:14 -0500 Branch: REL9_5_STABLE [6a493adda] 2016-12-09 12:01:14 -0500 Branch: REL9_4_STABLE [c7a62135a] 2016-12-09 12:01:14 -0500 -- GitLab