Commit 19322c0a authored by Tom Lane's avatar Tom Lane

Release notes for 9.5.4, 9.4.9, 9.3.14, 9.2.18, 9.1.23.

parent 4a1f42f2
<!-- doc/src/sgml/release-9.1.sgml -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-9-1-23">
<title>Release 9.1.23</title>
<note>
<title>Release Date</title>
<simpara>2016-08-11</simpara>
</note>
<para>
This release contains a variety of fixes from 9.1.22.
For information about new features in the 9.1 major release, see
<xref linkend="release-9-1">.
</para>
<para>
The <productname>PostgreSQL</> community will stop releasing updates
for the 9.1.X release series in September 2016.
Users are encouraged to update to a newer release branch soon.
</para>
<sect2>
<title>Migration to Version 9.1.23</title>
<para>
A dump/restore is not required for those running 9.1.X.
</para>
<para>
However, if you are upgrading from a version earlier than 9.1.16,
see <xref linkend="release-9-1-16">.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<para>
Fix corner-case misbehaviors for <literal>IS NULL</>/<literal>IS NOT
NULL</> applied to nested composite values (Andrew Gierth, Tom Lane)
</para>
<para>
The SQL standard specifies that <literal>IS NULL</> should return
TRUE for a row of all null values (thus <literal>ROW(NULL,NULL) IS
NULL</> yields TRUE), but this is not meant to apply recursively
(thus <literal>ROW(NULL, ROW(NULL,NULL)) IS NULL</> yields FALSE).
The core executor got this right, but certain planner optimizations
treated the test as recursive (thus producing TRUE in both cases),
and <filename>contrib/postgres_fdw</> could produce remote queries
that misbehaved similarly.
</para>
</listitem>
<listitem>
<para>
Make the <type>inet</> and <type>cidr</> data types properly reject
IPv6 addresses with too many colon-separated fields (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Prevent crash in <function>close_ps()</>
(the <type>point</> <literal>##</> <type>lseg</> operator)
for NaN input coordinates (Tom Lane)
</para>
<para>
Make it return NULL instead of crashing.
</para>
</listitem>
<listitem>
<para>
Avoid unsafe intermediate state during expensive paths
through <function>heap_update()</> (Masahiko Sawada, Andres Freund)
</para>
<para>
Previously, these cases locked the target tuple (by setting its XMAX)
but did not WAL-log that action, thus risking data integrity problems
if the page were spilled to disk and then a database crash occurred
before the tuple update could be completed.
</para>
</listitem>
<listitem>
<para>
Avoid consuming a transaction ID during <command>VACUUM</>
(Alexander Korotkov)
</para>
<para>
Some cases in <command>VACUUM</> unnecessarily caused an XID to be
assigned to the current transaction. Normally this is negligible,
but if one is up against the XID wraparound limit, consuming more
XIDs during anti-wraparound vacuums is a very bad thing.
</para>
</listitem>
<listitem>
<para>
Avoid canceling hot-standby queries during <command>VACUUM FREEZE</>
(Simon Riggs, &Aacute;lvaro Herrera)
</para>
<para>
<command>VACUUM FREEZE</> on an otherwise-idle master server could
result in unnecessary cancellations of queries on its standby
servers.
</para>
</listitem>
<listitem>
<para>
When a manual <command>ANALYZE</> specifies a column list, don't
reset the table's <literal>changes_since_analyze</> counter
(Tom Lane)
</para>
<para>
If we're only analyzing some columns, we should not prevent routine
auto-analyze from happening for the other columns.
</para>
</listitem>
<listitem>
<para>
Fix <command>ANALYZE</>'s overestimation of <literal>n_distinct</>
for a unique or nearly-unique column with many null entries (Tom
Lane)
</para>
<para>
The nulls could get counted as though they were themselves distinct
values, leading to serious planner misestimates in some types of
queries.
</para>
</listitem>
<listitem>
<para>
Prevent autovacuum from starting multiple workers for the same shared
catalog (&Aacute;lvaro Herrera)
</para>
<para>
Normally this isn't much of a problem because the vacuum doesn't take
long anyway; but in the case of a severely bloated catalog, it could
result in all but one worker uselessly waiting instead of doing
useful work on other tables.
</para>
</listitem>
<listitem>
<para>
Fix <filename>contrib/btree_gin</> to handle the smallest
possible <type>bigint</> value correctly (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Teach libpq to correctly decode server version from future servers
(Peter Eisentraut)
</para>
<para>
It's planned to switch to two-part instead of three-part server
version numbers for releases after 9.6. Make sure
that <function>PQserverVersion()</> returns the correct value for
such cases.
</para>
</listitem>
<listitem>
<para>
Fix <application>ecpg</>'s code for <literal>unsigned long long</>
array elements (Michael Meskes)
</para>
</listitem>
<listitem>
<para>
Make <application>pg_basebackup</> accept <literal>-Z 0</> as
specifying no compression (Fujii Masao)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: REL9_1_STABLE [d56c02f1a] 2016-06-19 13:45:03 -0400
Branch: REL9_1_STABLE [354b3a3ac] 2016-06-19 14:01:17 -0400
-->
<para>
Revert to the old heuristic timeout for <literal>pg_ctl start -w</>
(Tom Lane)
</para>
<para>
The new method adopted as of release 9.1.20 does not work
when <varname>silent_mode</> is enabled, so go back to the old way.
</para>
</listitem>
<listitem>
<para>
Fix makefiles' rule for building AIX shared libraries to be safe for
parallel make (Noah Misch)
</para>
</listitem>
<listitem>
<para>
Fix TAP tests and MSVC scripts to work when build directory's path
name contains spaces (Michael Paquier, Kyotaro Horiguchi)
</para>
</listitem>
<listitem>
<para>
Make regression tests safe for Danish and Welsh locales (Jeff Janes,
Tom Lane)
</para>
<para>
Change some test data that triggered the unusual sorting rules of
these locales.
</para>
</listitem>
<listitem>
<para>
Update our copy of the timezone code to match
IANA's <application>tzcode</> release 2016c (Tom Lane)
</para>
<para>
This is needed to cope with anticipated future changes in the time
zone data files. It also fixes some corner-case bugs in coping with
unusual time zones.
</para>
</listitem>
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2016f
for DST law changes in Kemerovo and Novosibirsk, plus historical
corrections for Azerbaijan, Belarus, and Morocco.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-9-1-22">
<title>Release 9.1.22</title>
......
<!-- doc/src/sgml/release-9.2.sgml -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-9-2-18">
<title>Release 9.2.18</title>
<note>
<title>Release Date</title>
<simpara>2016-08-11</simpara>
</note>
<para>
This release contains a variety of fixes from 9.2.17.
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.18</title>
<para>
A dump/restore is not required for those running 9.2.X.
</para>
<para>
However, 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 corner-case misbehaviors for <literal>IS NULL</>/<literal>IS NOT
NULL</> applied to nested composite values (Andrew Gierth, Tom Lane)
</para>
<para>
The SQL standard specifies that <literal>IS NULL</> should return
TRUE for a row of all null values (thus <literal>ROW(NULL,NULL) IS
NULL</> yields TRUE), but this is not meant to apply recursively
(thus <literal>ROW(NULL, ROW(NULL,NULL)) IS NULL</> yields FALSE).
The core executor got this right, but certain planner optimizations
treated the test as recursive (thus producing TRUE in both cases),
and <filename>contrib/postgres_fdw</> could produce remote queries
that misbehaved similarly.
</para>
</listitem>
<listitem>
<para>
Make the <type>inet</> and <type>cidr</> data types properly reject
IPv6 addresses with too many colon-separated fields (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Prevent crash in <function>close_ps()</>
(the <type>point</> <literal>##</> <type>lseg</> operator)
for NaN input coordinates (Tom Lane)
</para>
<para>
Make it return NULL instead of crashing.
</para>
</listitem>
<listitem>
<para>
Avoid unsafe intermediate state during expensive paths
through <function>heap_update()</> (Masahiko Sawada, Andres Freund)
</para>
<para>
Previously, these cases locked the target tuple (by setting its XMAX)
but did not WAL-log that action, thus risking data integrity problems
if the page were spilled to disk and then a database crash occurred
before the tuple update could be completed.
</para>
</listitem>
<listitem>
<para>
Avoid crash in <literal>postgres -C</> when the specified variable
has a null string value (Michael Paquier)
</para>
</listitem>
<listitem>
<para>
Avoid consuming a transaction ID during <command>VACUUM</>
(Alexander Korotkov)
</para>
<para>
Some cases in <command>VACUUM</> unnecessarily caused an XID to be
assigned to the current transaction. Normally this is negligible,
but if one is up against the XID wraparound limit, consuming more
XIDs during anti-wraparound vacuums is a very bad thing.
</para>
</listitem>
<listitem>
<para>
Avoid canceling hot-standby queries during <command>VACUUM FREEZE</>
(Simon Riggs, &Aacute;lvaro Herrera)
</para>
<para>
<command>VACUUM FREEZE</> on an otherwise-idle master server could
result in unnecessary cancellations of queries on its standby
servers.
</para>
</listitem>
<listitem>
<para>
When a manual <command>ANALYZE</> specifies a column list, don't
reset the table's <literal>changes_since_analyze</> counter
(Tom Lane)
</para>
<para>
If we're only analyzing some columns, we should not prevent routine
auto-analyze from happening for the other columns.
</para>
</listitem>
<listitem>
<para>
Fix <command>ANALYZE</>'s overestimation of <literal>n_distinct</>
for a unique or nearly-unique column with many null entries (Tom
Lane)
</para>
<para>
The nulls could get counted as though they were themselves distinct
values, leading to serious planner misestimates in some types of
queries.
</para>
</listitem>
<listitem>
<para>
Prevent autovacuum from starting multiple workers for the same shared
catalog (&Aacute;lvaro Herrera)
</para>
<para>
Normally this isn't much of a problem because the vacuum doesn't take
long anyway; but in the case of a severely bloated catalog, it could
result in all but one worker uselessly waiting instead of doing
useful work on other tables.
</para>
</listitem>
<listitem>
<para>
Prevent infinite loop in GiST index build for geometric columns
containing NaN component values (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Fix <filename>contrib/btree_gin</> to handle the smallest
possible <type>bigint</> value correctly (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Teach libpq to correctly decode server version from future servers
(Peter Eisentraut)
</para>
<para>
It's planned to switch to two-part instead of three-part server
version numbers for releases after 9.6. Make sure
that <function>PQserverVersion()</> returns the correct value for
such cases.
</para>
</listitem>
<listitem>
<para>
Fix <application>ecpg</>'s code for <literal>unsigned long long</>
array elements (Michael Meskes)
</para>
</listitem>
<listitem>
<para>
In <application>pg_dump</> with both <option>-c</> and <option>-C</>
options, avoid emitting an unwanted <literal>CREATE SCHEMA public</>
command (David Johnston, Tom Lane)
</para>
</listitem>
<listitem>
<para>
Make <application>pg_basebackup</> accept <literal>-Z 0</> as
specifying no compression (Fujii Masao)
</para>
</listitem>
<listitem>
<para>
Fix makefiles' rule for building AIX shared libraries to be safe for
parallel make (Noah Misch)
</para>
</listitem>
<listitem>
<para>
Fix TAP tests and MSVC scripts to work when build directory's path
name contains spaces (Michael Paquier, Kyotaro Horiguchi)
</para>
</listitem>
<listitem>
<para>
Make regression tests safe for Danish and Welsh locales (Jeff Janes,
Tom Lane)
</para>
<para>
Change some test data that triggered the unusual sorting rules of
these locales.
</para>
</listitem>
<listitem>
<para>
Update our copy of the timezone code to match
IANA's <application>tzcode</> release 2016c (Tom Lane)
</para>
<para>
This is needed to cope with anticipated future changes in the time
zone data files. It also fixes some corner-case bugs in coping with
unusual time zones.
</para>
</listitem>
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2016f
for DST law changes in Kemerovo and Novosibirsk, plus historical
corrections for Azerbaijan, Belarus, and Morocco.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-9-2-17">
<title>Release 9.2.17</title>
......
This diff is collapsed.
This diff is collapsed.
......@@ -323,6 +323,19 @@ Branch: REL9_4_STABLE [1843d88e0] 2016-06-30 12:37:02 -0400
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [bcbecbce2] 2016-08-07 13:15:55 -0400
Branch: REL9_5_STABLE [71dca408c] 2016-08-07 13:15:55 -0400
Branch: REL9_4_STABLE [c63588feb] 2016-08-07 13:15:55 -0400
-->
<para>
Fix failure of logical decoding when a subtransaction contains no
actual changes (Marko Tiikkaja, Andrew Gierth)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [52e8fc3e2] 2016-05-25 17:48:15 -0400
Branch: REL9_5_STABLE [b2355a29c] 2016-05-25 17:48:15 -0400
Branch: REL9_4_STABLE [4b612a78f] 2016-05-25 17:48:15 -0400
......@@ -388,26 +401,6 @@ Branch: REL9_1_STABLE [5551dac59] 2016-05-24 15:47:51 -0400
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: REL9_4_STABLE [7a0f09da7] 2016-05-25 19:39:49 -0400
Branch: REL9_3_STABLE [6537a48c5] 2016-05-25 19:39:49 -0400
Branch: REL9_2_STABLE [294509ea9] 2016-05-25 19:39:49 -0400
Branch: REL9_1_STABLE [de887cc8a] 2016-05-25 19:39:49 -0400
-->
<para>
Avoid canceling hot-standby queries during <command>VACUUM FREEZE</>
(Simon Riggs, &Aacute;lvaro Herrera)
</para>
<para>
<command>VACUUM FREEZE</> on an otherwise-idle master server could
result in unnecessary cancellations of queries on its standby
servers.
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [e3ad3ffa6] 2016-06-24 18:29:28 -0400
Branch: REL9_5_STABLE [d372cb173] 2016-06-24 18:29:28 -0400
Branch: REL9_4_STABLE [61b24fef8] 2016-06-24 18:29:28 -0400
......@@ -450,6 +443,29 @@ Branch: REL9_1_STABLE [32ceb8dfb] 2016-06-06 17:44:18 -0400
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [95bee941b] 2016-08-07 18:52:02 -0400
Branch: REL9_5_STABLE [cb5c14984] 2016-08-07 18:52:02 -0400
Branch: REL9_4_STABLE [8f180a6cc] 2016-08-07 18:52:02 -0400
Branch: REL9_3_STABLE [20a859504] 2016-08-07 18:52:02 -0400
Branch: REL9_2_STABLE [127d73009] 2016-08-07 18:52:02 -0400
Branch: REL9_1_STABLE [a449ad095] 2016-08-07 18:52:02 -0400
-->
<para>
Fix <command>ANALYZE</>'s overestimation of <literal>n_distinct</>
for a unique or nearly-unique column with many null entries (Tom
Lane)
</para>
<para>
The nulls could get counted as though they were themselves distinct
values, leading to serious planner misestimates in some types of
queries.
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [15739393e] 2016-05-10 16:23:54 -0300
Branch: REL9_5_STABLE [7516cdb76] 2016-05-10 16:23:54 -0300
......@@ -783,23 +799,6 @@ Branch: REL9_1_STABLE [366f4a962] 2016-08-01 17:38:05 +0900
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: REL9_1_STABLE [d56c02f1a] 2016-06-19 13:45:03 -0400
Branch: REL9_1_STABLE [354b3a3ac] 2016-06-19 14:01:17 -0400
-->
<para>
Revert to the old heuristic timeout for <literal>pg_ctl start -w</>
(Tom Lane)
</para>
<para>
The new method adopted as of release 9.1.20 does not work
when <varname>silent_mode</> is enabled, so go back to the old way.
</para>
</listitem>
<listitem>
<!--
Author: Noah Misch <noah@leadboat.com>
Branch: master [e8564ef03] 2016-07-23 20:30:03 -0400
Branch: REL9_5_STABLE [cf35406f9] 2016-07-23 20:30:40 -0400
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment