1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-29 16:21:20 +03:00

Release notes for 9.6.2, 9.5.6, 9.4.11, 9.3.16, 9.2.20.

This commit is contained in:
Tom Lane 2017-02-06 15:30:17 -05:00
parent 32c893c8d1
commit a587f69f65
2 changed files with 860 additions and 0 deletions

View File

@ -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>

View File

@ -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>