Release notes for 9.5.3, 9.4.8, 9.3.13, 9.2.17, 9.1.22.
This commit is contained in:
parent
b818088408
commit
4768cc4565
@ -1,6 +1,171 @@
|
|||||||
<!-- doc/src/sgml/release-9.1.sgml -->
|
<!-- doc/src/sgml/release-9.1.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-9-1-22">
|
||||||
|
<title>Release 9.1.22</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release Date</title>
|
||||||
|
<simpara>2016-05-12</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.1.21.
|
||||||
|
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.22</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>
|
||||||
|
Clear the OpenSSL error queue before OpenSSL calls, rather than
|
||||||
|
assuming it's clear already; and make sure we leave it clear
|
||||||
|
afterwards (Peter Geoghegan, Dave Vitek, Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change prevents problems when there are multiple connections
|
||||||
|
using OpenSSL within a single process and not all the code involved
|
||||||
|
follows the same rules for when to clear the error queue.
|
||||||
|
Failures have been reported specifically when a client application
|
||||||
|
uses SSL connections in <application>libpq</> concurrently with
|
||||||
|
SSL connections using the PHP, Python, or Ruby wrappers for OpenSSL.
|
||||||
|
It's possible for similar problems to arise within the server as well,
|
||||||
|
if an extension module establishes an outgoing SSL connection.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>failed to build any <replaceable>N</>-way joins</quote>
|
||||||
|
planner error with a full join enclosed in the right-hand side of a
|
||||||
|
left join (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible misbehavior of <literal>TH</>, <literal>th</>,
|
||||||
|
and <literal>Y,YYY</> format codes in <function>to_timestamp()</>
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These could advance off the end of the input string, causing subsequent
|
||||||
|
format codes to read garbage.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix dumping of rules and views in which the <replaceable>array</>
|
||||||
|
argument of a <literal><replaceable>value</> <replaceable>operator</>
|
||||||
|
ANY (<replaceable>array</>)</literal> construct is a sub-SELECT
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make <application>pg_regress</> use a startup timeout from the
|
||||||
|
<envar>PGCTLTIMEOUT</> environment variable, if that's set (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is for consistency with a behavior recently added
|
||||||
|
to <application>pg_ctl</>; it eases automated testing on slow machines.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_upgrade</> to correctly restore extension
|
||||||
|
membership for operator families containing only one operator class
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In such a case, the operator family was restored into the new database,
|
||||||
|
but it was no longer marked as part of the extension. This had no
|
||||||
|
immediate ill effects, but would cause later <application>pg_dump</>
|
||||||
|
runs to emit output that would cause (harmless) errors on restore.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Rename internal function <function>strtoi()</>
|
||||||
|
to <function>strtoint()</> to avoid conflict with a NetBSD library
|
||||||
|
function (Thomas Munro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix reporting of errors from <function>bind()</>
|
||||||
|
and <function>listen()</> system calls on Windows (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce verbosity of compiler output when building with Microsoft Visual
|
||||||
|
Studio (Christian Ullrich)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid possibly-unsafe use of Windows' <function>FormatMessage()</>
|
||||||
|
function (Christian Ullrich)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Use the <literal>FORMAT_MESSAGE_IGNORE_INSERTS</> flag where
|
||||||
|
appropriate. No live bug is known to exist here, but it seems like a
|
||||||
|
good idea to be careful.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2016d
|
||||||
|
for DST law changes in Russia and Venezuela. There are new zone
|
||||||
|
names <literal>Europe/Kirov</> and <literal>Asia/Tomsk</> to reflect
|
||||||
|
the fact that these regions now have different time zone histories from
|
||||||
|
adjacent regions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-1-21">
|
<sect1 id="release-9-1-21">
|
||||||
<title>Release 9.1.21</title>
|
<title>Release 9.1.21</title>
|
||||||
|
|
||||||
|
@ -1,6 +1,202 @@
|
|||||||
<!-- doc/src/sgml/release-9.2.sgml -->
|
<!-- doc/src/sgml/release-9.2.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-9-2-17">
|
||||||
|
<title>Release 9.2.17</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release Date</title>
|
||||||
|
<simpara>2016-05-12</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.2.16.
|
||||||
|
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.17</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>
|
||||||
|
Clear the OpenSSL error queue before OpenSSL calls, rather than
|
||||||
|
assuming it's clear already; and make sure we leave it clear
|
||||||
|
afterwards (Peter Geoghegan, Dave Vitek, Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change prevents problems when there are multiple connections
|
||||||
|
using OpenSSL within a single process and not all the code involved
|
||||||
|
follows the same rules for when to clear the error queue.
|
||||||
|
Failures have been reported specifically when a client application
|
||||||
|
uses SSL connections in <application>libpq</> concurrently with
|
||||||
|
SSL connections using the PHP, Python, or Ruby wrappers for OpenSSL.
|
||||||
|
It's possible for similar problems to arise within the server as well,
|
||||||
|
if an extension module establishes an outgoing SSL connection.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>failed to build any <replaceable>N</>-way joins</quote>
|
||||||
|
planner error with a full join enclosed in the right-hand side of a
|
||||||
|
left join (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect handling of equivalence-class tests in multilevel
|
||||||
|
nestloop plans (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Given a three-or-more-way equivalence class of variables, such
|
||||||
|
as <literal>X.X = Y.Y = Z.Z</>, it was possible for the planner to omit
|
||||||
|
some of the tests needed to enforce that all the variables are actually
|
||||||
|
equal, leading to join rows being output that didn't satisfy
|
||||||
|
the <literal>WHERE</> clauses. For various reasons, erroneous plans
|
||||||
|
were seldom selected in practice, so that this bug has gone undetected
|
||||||
|
for a long time.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible misbehavior of <literal>TH</>, <literal>th</>,
|
||||||
|
and <literal>Y,YYY</> format codes in <function>to_timestamp()</>
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These could advance off the end of the input string, causing subsequent
|
||||||
|
format codes to read garbage.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix dumping of rules and views in which the <replaceable>array</>
|
||||||
|
argument of a <literal><replaceable>value</> <replaceable>operator</>
|
||||||
|
ANY (<replaceable>array</>)</literal> construct is a sub-SELECT
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make <application>pg_regress</> use a startup timeout from the
|
||||||
|
<envar>PGCTLTIMEOUT</> environment variable, if that's set (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is for consistency with a behavior recently added
|
||||||
|
to <application>pg_ctl</>; it eases automated testing on slow machines.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_upgrade</> to correctly restore extension
|
||||||
|
membership for operator families containing only one operator class
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In such a case, the operator family was restored into the new database,
|
||||||
|
but it was no longer marked as part of the extension. This had no
|
||||||
|
immediate ill effects, but would cause later <application>pg_dump</>
|
||||||
|
runs to emit output that would cause (harmless) errors on restore.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Back-port 9.4-era memory-barrier code changes into 9.2 and 9.3 (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These changes were not originally needed in pre-9.4 branches, but we
|
||||||
|
recently back-patched a fix that expected the barrier code to work
|
||||||
|
properly. Only IA64 (when using icc), HPPA, and Alpha platforms are
|
||||||
|
affected.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce the number of SysV semaphores used by a build configured with
|
||||||
|
<option>--disable-spinlocks</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Rename internal function <function>strtoi()</>
|
||||||
|
to <function>strtoint()</> to avoid conflict with a NetBSD library
|
||||||
|
function (Thomas Munro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix reporting of errors from <function>bind()</>
|
||||||
|
and <function>listen()</> system calls on Windows (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce verbosity of compiler output when building with Microsoft Visual
|
||||||
|
Studio (Christian Ullrich)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid possibly-unsafe use of Windows' <function>FormatMessage()</>
|
||||||
|
function (Christian Ullrich)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Use the <literal>FORMAT_MESSAGE_IGNORE_INSERTS</> flag where
|
||||||
|
appropriate. No live bug is known to exist here, but it seems like a
|
||||||
|
good idea to be careful.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2016d
|
||||||
|
for DST law changes in Russia and Venezuela. There are new zone
|
||||||
|
names <literal>Europe/Kirov</> and <literal>Asia/Tomsk</> to reflect
|
||||||
|
the fact that these regions now have different time zone histories from
|
||||||
|
adjacent regions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-2-16">
|
<sect1 id="release-9-2-16">
|
||||||
<title>Release 9.2.16</title>
|
<title>Release 9.2.16</title>
|
||||||
|
|
||||||
|
@ -1,6 +1,236 @@
|
|||||||
<!-- doc/src/sgml/release-9.3.sgml -->
|
<!-- doc/src/sgml/release-9.3.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-9-3-13">
|
||||||
|
<title>Release 9.3.13</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release Date</title>
|
||||||
|
<simpara>2016-05-12</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.3.12.
|
||||||
|
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.13</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 9.3.X.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
However, if you are upgrading from a version earlier than 9.3.9,
|
||||||
|
see <xref linkend="release-9-3-9">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Clear the OpenSSL error queue before OpenSSL calls, rather than
|
||||||
|
assuming it's clear already; and make sure we leave it clear
|
||||||
|
afterwards (Peter Geoghegan, Dave Vitek, Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change prevents problems when there are multiple connections
|
||||||
|
using OpenSSL within a single process and not all the code involved
|
||||||
|
follows the same rules for when to clear the error queue.
|
||||||
|
Failures have been reported specifically when a client application
|
||||||
|
uses SSL connections in <application>libpq</> concurrently with
|
||||||
|
SSL connections using the PHP, Python, or Ruby wrappers for OpenSSL.
|
||||||
|
It's possible for similar problems to arise within the server as well,
|
||||||
|
if an extension module establishes an outgoing SSL connection.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>failed to build any <replaceable>N</>-way joins</quote>
|
||||||
|
planner error with a full join enclosed in the right-hand side of a
|
||||||
|
left join (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect handling of equivalence-class tests in multilevel
|
||||||
|
nestloop plans (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Given a three-or-more-way equivalence class of variables, such
|
||||||
|
as <literal>X.X = Y.Y = Z.Z</>, it was possible for the planner to omit
|
||||||
|
some of the tests needed to enforce that all the variables are actually
|
||||||
|
equal, leading to join rows being output that didn't satisfy
|
||||||
|
the <literal>WHERE</> clauses. For various reasons, erroneous plans
|
||||||
|
were seldom selected in practice, so that this bug has gone undetected
|
||||||
|
for a long time.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible misbehavior of <literal>TH</>, <literal>th</>,
|
||||||
|
and <literal>Y,YYY</> format codes in <function>to_timestamp()</>
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These could advance off the end of the input string, causing subsequent
|
||||||
|
format codes to read garbage.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix dumping of rules and views in which the <replaceable>array</>
|
||||||
|
argument of a <literal><replaceable>value</> <replaceable>operator</>
|
||||||
|
ANY (<replaceable>array</>)</literal> construct is a sub-SELECT
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make <application>pg_regress</> use a startup timeout from the
|
||||||
|
<envar>PGCTLTIMEOUT</> environment variable, if that's set (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is for consistency with a behavior recently added
|
||||||
|
to <application>pg_ctl</>; it eases automated testing on slow machines.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_upgrade</> to correctly restore extension
|
||||||
|
membership for operator families containing only one operator class
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In such a case, the operator family was restored into the new database,
|
||||||
|
but it was no longer marked as part of the extension. This had no
|
||||||
|
immediate ill effects, but would cause later <application>pg_dump</>
|
||||||
|
runs to emit output that would cause (harmless) errors on restore.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_upgrade</> to not fail when new-cluster TOAST rules
|
||||||
|
differ from old (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<application>pg_upgrade</> had special-case code to handle the
|
||||||
|
situation where the new <productname>PostgreSQL</> version thinks that
|
||||||
|
a table should have a TOAST table while the old version did not. That
|
||||||
|
code was broken, so remove it, and instead do nothing in such cases;
|
||||||
|
there seems no reason to believe that we can't get along fine without
|
||||||
|
a TOAST table if that was okay according to the old version's rules.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<!--
|
||||||
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||||
|
Branch: REL9_3_STABLE [f4f4f6990] 2016-04-15 16:49:48 -0400
|
||||||
|
Branch: REL9_2_STABLE [d7dbc882d] 2016-04-15 16:49:48 -0400
|
||||||
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||||
|
Branch: REL9_3_STABLE [992df9658] 2016-04-16 10:42:07 -0400
|
||||||
|
Branch: REL9_2_STABLE [9008922bf] 2016-04-16 10:41:57 -0400
|
||||||
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||||
|
Branch: REL9_3_STABLE [35166fd76] 2016-04-18 13:19:52 -0400
|
||||||
|
Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400
|
||||||
|
-->
|
||||||
|
<para>
|
||||||
|
Back-port 9.4-era memory-barrier code changes into 9.2 and 9.3 (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These changes were not originally needed in pre-9.4 branches, but we
|
||||||
|
recently back-patched a fix that expected the barrier code to work
|
||||||
|
properly. Only IA64 (when using icc), HPPA, and Alpha platforms are
|
||||||
|
affected.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce the number of SysV semaphores used by a build configured with
|
||||||
|
<option>--disable-spinlocks</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Rename internal function <function>strtoi()</>
|
||||||
|
to <function>strtoint()</> to avoid conflict with a NetBSD library
|
||||||
|
function (Thomas Munro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix reporting of errors from <function>bind()</>
|
||||||
|
and <function>listen()</> system calls on Windows (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce verbosity of compiler output when building with Microsoft Visual
|
||||||
|
Studio (Christian Ullrich)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <function>putenv()</> to work properly with Visual Studio 2013
|
||||||
|
(Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid possibly-unsafe use of Windows' <function>FormatMessage()</>
|
||||||
|
function (Christian Ullrich)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Use the <literal>FORMAT_MESSAGE_IGNORE_INSERTS</> flag where
|
||||||
|
appropriate. No live bug is known to exist here, but it seems like a
|
||||||
|
good idea to be careful.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2016d
|
||||||
|
for DST law changes in Russia and Venezuela. There are new zone
|
||||||
|
names <literal>Europe/Kirov</> and <literal>Asia/Tomsk</> to reflect
|
||||||
|
the fact that these regions now have different time zone histories from
|
||||||
|
adjacent regions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-3-12">
|
<sect1 id="release-9-3-12">
|
||||||
<title>Release 9.3.12</title>
|
<title>Release 9.3.12</title>
|
||||||
|
|
||||||
|
@ -1,6 +1,269 @@
|
|||||||
<!-- doc/src/sgml/release-9.4.sgml -->
|
<!-- doc/src/sgml/release-9.4.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-9-4-8">
|
||||||
|
<title>Release 9.4.8</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release Date</title>
|
||||||
|
<simpara>2016-05-12</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.4.7.
|
||||||
|
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.8</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 9.4.X.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
However, if you are upgrading from a version earlier than 9.4.6,
|
||||||
|
see <xref linkend="release-9-4-6">.
|
||||||
|
</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Clear the OpenSSL error queue before OpenSSL calls, rather than
|
||||||
|
assuming it's clear already; and make sure we leave it clear
|
||||||
|
afterwards (Peter Geoghegan, Dave Vitek, Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change prevents problems when there are multiple connections
|
||||||
|
using OpenSSL within a single process and not all the code involved
|
||||||
|
follows the same rules for when to clear the error queue.
|
||||||
|
Failures have been reported specifically when a client application
|
||||||
|
uses SSL connections in <application>libpq</> concurrently with
|
||||||
|
SSL connections using the PHP, Python, or Ruby wrappers for OpenSSL.
|
||||||
|
It's possible for similar problems to arise within the server as well,
|
||||||
|
if an extension module establishes an outgoing SSL connection.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>failed to build any <replaceable>N</>-way joins</quote>
|
||||||
|
planner error with a full join enclosed in the right-hand side of a
|
||||||
|
left join (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect handling of equivalence-class tests in multilevel
|
||||||
|
nestloop plans (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Given a three-or-more-way equivalence class of variables, such
|
||||||
|
as <literal>X.X = Y.Y = Z.Z</>, it was possible for the planner to omit
|
||||||
|
some of the tests needed to enforce that all the variables are actually
|
||||||
|
equal, leading to join rows being output that didn't satisfy
|
||||||
|
the <literal>WHERE</> clauses. For various reasons, erroneous plans
|
||||||
|
were seldom selected in practice, so that this bug has gone undetected
|
||||||
|
for a long time.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix query-lifespan memory leak in GIN index scans (Julien Rouhaud)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix query-lifespan memory leak and potential index corruption hazard in
|
||||||
|
GIN index insertion (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The memory leak would typically not amount to much in simple queries,
|
||||||
|
but it could be very substantial during a large GIN index build with
|
||||||
|
high <varname>maintenance_work_mem</>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible misbehavior of <literal>TH</>, <literal>th</>,
|
||||||
|
and <literal>Y,YYY</> format codes in <function>to_timestamp()</>
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These could advance off the end of the input string, causing subsequent
|
||||||
|
format codes to read garbage.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix dumping of rules and views in which the <replaceable>array</>
|
||||||
|
argument of a <literal><replaceable>value</> <replaceable>operator</>
|
||||||
|
ANY (<replaceable>array</>)</literal> construct is a sub-SELECT
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Disallow newlines in <command>ALTER SYSTEM</> parameter values
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The configuration-file parser doesn't support embedded newlines in
|
||||||
|
string literals, so we mustn't allow them in values to be inserted
|
||||||
|
by <command>ALTER SYSTEM</>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <command>ALTER TABLE ... REPLICA IDENTITY USING INDEX</> to
|
||||||
|
work properly if an index on OID is selected (David Rowley)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix crash in logical decoding on alignment-picky platforms (Tom Lane,
|
||||||
|
Andres Freund)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The failure occurred only with a transaction large enough to spill to
|
||||||
|
disk and a primary-key change within that transaction.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid repeated requests for feedback from receiver while shutting down
|
||||||
|
walsender (Nick Cleaton)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make <application>pg_regress</> use a startup timeout from the
|
||||||
|
<envar>PGCTLTIMEOUT</> environment variable, if that's set (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is for consistency with a behavior recently added
|
||||||
|
to <application>pg_ctl</>; it eases automated testing on slow machines.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_upgrade</> to correctly restore extension
|
||||||
|
membership for operator families containing only one operator class
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In such a case, the operator family was restored into the new database,
|
||||||
|
but it was no longer marked as part of the extension. This had no
|
||||||
|
immediate ill effects, but would cause later <application>pg_dump</>
|
||||||
|
runs to emit output that would cause (harmless) errors on restore.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_upgrade</> to not fail when new-cluster TOAST rules
|
||||||
|
differ from old (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<application>pg_upgrade</> had special-case code to handle the
|
||||||
|
situation where the new <productname>PostgreSQL</> version thinks that
|
||||||
|
a table should have a TOAST table while the old version did not. That
|
||||||
|
code was broken, so remove it, and instead do nothing in such cases;
|
||||||
|
there seems no reason to believe that we can't get along fine without
|
||||||
|
a TOAST table if that was okay according to the old version's rules.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce the number of SysV semaphores used by a build configured with
|
||||||
|
<option>--disable-spinlocks</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Rename internal function <function>strtoi()</>
|
||||||
|
to <function>strtoint()</> to avoid conflict with a NetBSD library
|
||||||
|
function (Thomas Munro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix reporting of errors from <function>bind()</>
|
||||||
|
and <function>listen()</> system calls on Windows (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce verbosity of compiler output when building with Microsoft Visual
|
||||||
|
Studio (Christian Ullrich)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <function>putenv()</> to work properly with Visual Studio 2013
|
||||||
|
(Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid possibly-unsafe use of Windows' <function>FormatMessage()</>
|
||||||
|
function (Christian Ullrich)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Use the <literal>FORMAT_MESSAGE_IGNORE_INSERTS</> flag where
|
||||||
|
appropriate. No live bug is known to exist here, but it seems like a
|
||||||
|
good idea to be careful.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2016d
|
||||||
|
for DST law changes in Russia and Venezuela. There are new zone
|
||||||
|
names <literal>Europe/Kirov</> and <literal>Asia/Tomsk</> to reflect
|
||||||
|
the fact that these regions now have different time zone histories from
|
||||||
|
adjacent regions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-4-7">
|
<sect1 id="release-9-4-7">
|
||||||
<title>Release 9.4.7</title>
|
<title>Release 9.4.7</title>
|
||||||
|
|
||||||
|
@ -46,15 +46,18 @@ Branch: REL9_1_STABLE [9b676fd49] 2016-05-07 00:09:37 -0400
|
|||||||
<para>
|
<para>
|
||||||
Clear the OpenSSL error queue before OpenSSL calls, rather than
|
Clear the OpenSSL error queue before OpenSSL calls, rather than
|
||||||
assuming it's clear already; and make sure we leave it clear
|
assuming it's clear already; and make sure we leave it clear
|
||||||
(Peter Geoghegan, Dave Vitek, Peter Eisentraut)
|
afterwards (Peter Geoghegan, Dave Vitek, Peter Eisentraut)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This avoids problems when there are multiple connections using
|
This change prevents problems when there are multiple connections
|
||||||
OpenSSL within a single process and not all the code involved
|
using OpenSSL within a single process and not all the code involved
|
||||||
follows the same rules for when to clear the error queue.
|
follows the same rules for when to clear the error queue.
|
||||||
While the problem is worse for <application>libpq</>, it's
|
Failures have been reported specifically when a client application
|
||||||
possible for it to arise within the server as well.
|
uses SSL connections in <application>libpq</> concurrently with
|
||||||
|
SSL connections using the PHP, Python, or Ruby wrappers for OpenSSL.
|
||||||
|
It's possible for similar problems to arise within the server as well,
|
||||||
|
if an extension module establishes an outgoing SSL connection.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -197,8 +200,8 @@ Branch: REL9_5_STABLE [f3d17491c] 2016-04-04 18:05:23 -0400
|
|||||||
Branch: REL9_4_STABLE [28148e258] 2016-04-04 18:05:24 -0400
|
Branch: REL9_4_STABLE [28148e258] 2016-04-04 18:05:24 -0400
|
||||||
-->
|
-->
|
||||||
<para>
|
<para>
|
||||||
Disallow newlines in parameter values to be set in <command>ALTER
|
Disallow newlines in <command>ALTER SYSTEM</> parameter values
|
||||||
SYSTEM</> (Tom Lane)
|
(Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -228,7 +231,7 @@ Branch: master [93c301fc4] 2016-04-08 12:31:53 -0400
|
|||||||
Branch: REL9_5_STABLE [0da7cf6e8] 2016-04-08 12:31:42 -0400
|
Branch: REL9_5_STABLE [0da7cf6e8] 2016-04-08 12:31:42 -0400
|
||||||
-->
|
-->
|
||||||
<para>
|
<para>
|
||||||
Avoid possible misbehavior after failed tablespace symlink removal
|
Avoid possible misbehavior after failing to remove a tablespace symlink
|
||||||
(Tom Lane)
|
(Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -326,9 +329,9 @@ Branch: REL9_3_STABLE [e1d88f983] 2016-05-06 22:05:51 -0400
|
|||||||
<application>pg_upgrade</> had special-case code to handle the
|
<application>pg_upgrade</> had special-case code to handle the
|
||||||
situation where the new <productname>PostgreSQL</> version thinks that
|
situation where the new <productname>PostgreSQL</> version thinks that
|
||||||
a table should have a TOAST table while the old version did not. That
|
a table should have a TOAST table while the old version did not. That
|
||||||
code was broken, so remove it; there seems no reason to believe that we
|
code was broken, so remove it, and instead do nothing in such cases;
|
||||||
can't get along fine without a TOAST table if that was okay according
|
there seems no reason to believe that we can't get along fine without
|
||||||
to the old version's rules.
|
a TOAST table if that was okay according to the old version's rules.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -346,30 +349,6 @@ Branch: REL9_5_STABLE [f9989482d] 2016-04-26 21:54:07 -0400
|
|||||||
<listitem>
|
<listitem>
|
||||||
<!--
|
<!--
|
||||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||||
Branch: REL9_3_STABLE [f4f4f6990] 2016-04-15 16:49:48 -0400
|
|
||||||
Branch: REL9_2_STABLE [d7dbc882d] 2016-04-15 16:49:48 -0400
|
|
||||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
||||||
Branch: REL9_3_STABLE [992df9658] 2016-04-16 10:42:07 -0400
|
|
||||||
Branch: REL9_2_STABLE [9008922bf] 2016-04-16 10:41:57 -0400
|
|
||||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
||||||
Branch: REL9_3_STABLE [35166fd76] 2016-04-18 13:19:52 -0400
|
|
||||||
Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400
|
|
||||||
-->
|
|
||||||
<para>
|
|
||||||
Back-port 9.4-era memory-barrier code changes into 9.2 and 9.3 (Tom Lane)
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
These changes were not originally needed in pre-9.4 branches, but we
|
|
||||||
recently back-patched a fix that expected the barrier code to work
|
|
||||||
properly. Only IA64 (using icc), HPPA, and Alpha platforms are
|
|
||||||
affected.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<!--
|
|
||||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
||||||
Branch: master [75c24d0f7] 2016-04-18 13:33:06 -0400
|
Branch: master [75c24d0f7] 2016-04-18 13:33:06 -0400
|
||||||
Branch: REL9_5_STABLE [c6a5b6677] 2016-04-18 13:33:07 -0400
|
Branch: REL9_5_STABLE [c6a5b6677] 2016-04-18 13:33:07 -0400
|
||||||
Branch: REL9_4_STABLE [21b7f49eb] 2016-04-18 13:33:07 -0400
|
Branch: REL9_4_STABLE [21b7f49eb] 2016-04-18 13:33:07 -0400
|
||||||
@ -394,7 +373,7 @@ Branch: REL9_1_STABLE [cbff4b708] 2016-04-23 16:53:15 -0400
|
|||||||
-->
|
-->
|
||||||
<para>
|
<para>
|
||||||
Rename internal function <function>strtoi()</>
|
Rename internal function <function>strtoi()</>
|
||||||
to <function>strtoint()</> to dodge a conflict with a NetBSD library
|
to <function>strtoint()</> to avoid conflict with a NetBSD library
|
||||||
function (Thomas Munro)
|
function (Thomas Munro)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -432,8 +411,8 @@ Branch: REL9_2_STABLE [9e77d0e3c] 2016-04-08 12:29:36 -0400
|
|||||||
Branch: REL9_1_STABLE [d2189a802] 2016-04-08 12:33:29 -0400
|
Branch: REL9_1_STABLE [d2189a802] 2016-04-08 12:33:29 -0400
|
||||||
-->
|
-->
|
||||||
<para>
|
<para>
|
||||||
Reduce verbosity of output while building with Microsoft Visual Studio
|
Reduce verbosity of compiler output when building with Microsoft Visual
|
||||||
(Christian Ullrich)
|
Studio (Christian Ullrich)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user