aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/release-9.2.sgml412
-rw-r--r--doc/src/sgml/release-9.3.sgml448
-rw-r--r--doc/src/sgml/release-9.4.sgml533
-rw-r--r--doc/src/sgml/release-9.5.sgml664
-rw-r--r--doc/src/sgml/release-9.6.sgml61
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&amp;'...'</>) or Unicode identifier
+ (<literal>U&amp;"..."</>).
+ </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&amp;'...'</>) or Unicode identifier
+ (<literal>U&amp;"..."</>).
+ </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&amp;'...'</>) or Unicode identifier
+ (<literal>U&amp;"..."</>).
+ </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
+ (&Aacute;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&amp;'...'</>) or Unicode identifier
+ (<literal>U&amp;"..."</>).
+ </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