mirror of
https://github.com/postgres/postgres.git
synced 2025-06-26 12:21:12 +03:00
Release notes for 9.5.4, 9.4.9, 9.3.14, 9.2.18, 9.1.23.
This commit is contained in:
@ -1,6 +1,268 @@
|
||||
<!-- 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, Á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 (Á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>
|
||||
|
||||
|
Reference in New Issue
Block a user