mirror of
https://github.com/postgres/postgres.git
synced 2025-06-10 09:21:54 +03:00
Release notes for 9.6.1, 9.5.5, 9.4.10, 9.3.15, 9.2.19, 9.1.24.
This commit is contained in:
parent
9ec21591ff
commit
41d14fccd2
@ -1,6 +1,216 @@
|
||||
<!-- doc/src/sgml/release-9.1.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-9-1-24">
|
||||
<title>Release 9.1.24</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2016-10-27</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 9.1.23.
|
||||
For information about new features in the 9.1 major release, see
|
||||
<xref linkend="release-9-1">.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This is expected to be the last <productname>PostgreSQL</> release
|
||||
in the 9.1.X series. Users are encouraged to update to a newer
|
||||
release branch soon.
|
||||
</para>
|
||||
|
||||
<sect2>
|
||||
<title>Migration to Version 9.1.24</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 EvalPlanQual rechecks involving CTE scans (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The recheck would always see the CTE as returning no rows, typically
|
||||
leading to failure to update rows that were recently updated.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix improper repetition of previous results from hashed aggregation in
|
||||
a subquery (Andrew Gierth)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The test to see if we can reuse a previously-computed hash table of
|
||||
the aggregate state values neglected the possibility of an outer query
|
||||
reference appearing in an aggregate argument expression. A change in
|
||||
the value of such a reference should lead to recalculating the hash
|
||||
table, but did not.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix timeout length when <command>VACUUM</> is waiting for exclusive
|
||||
table lock so that it can truncate the table (Simon Riggs)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The timeout was meant to be 50 milliseconds, but it was actually only
|
||||
50 microseconds, causing <command>VACUUM</> to give up on truncation
|
||||
much more easily than intended. Set it to the intended value.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Remove artificial restrictions on the values accepted
|
||||
by <function>numeric_in()</> and <function>numeric_recv()</>
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
We allow numeric values up to the limit of the storage format (more
|
||||
than <literal>1e100000</>), so it seems fairly pointless
|
||||
that <function>numeric_in()</> rejected scientific-notation exponents
|
||||
above 1000. Likewise, it was silly for <function>numeric_recv()</> to
|
||||
reject more than 1000 digits in an input value.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid very-low-probability data corruption due to testing tuple
|
||||
visibility without holding buffer lock (Thomas Munro, Peter Geoghegan,
|
||||
Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix file descriptor leakage when truncating a temporary relation of
|
||||
more than 1GB (Andres Freund)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Disallow starting a standalone backend with <literal>standby_mode</>
|
||||
turned on (Michael Paquier)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This can't do anything useful, since there will be no WAL receiver
|
||||
process to fetch more WAL data; and it could result in misbehavior
|
||||
in code that wasn't designed with this situation in mind.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Don't try to share SSL contexts across multiple connections
|
||||
in <application>libpq</> (Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This led to assorted corner-case bugs, particularly when trying to use
|
||||
different SSL parameters for different connections.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid corner-case memory leak in <application>libpq</> (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The reported problem involved leaking an error report
|
||||
during <function>PQreset()</>, but there might be related cases.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Make <application>ecpg</>'s <option>--help</> and <option>--version</>
|
||||
options work consistently with our other executables (Haribabu Kommi)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <filename>contrib/intarray/bench/bench.pl</> to print the results
|
||||
of the <command>EXPLAIN</> it does when given the <option>-e</> option
|
||||
(Daniel Gustafsson)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Prevent failure of obsolete dynamic time zone abbreviations (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If a dynamic time zone abbreviation does not match any entry in the
|
||||
referenced time zone, treat it as equivalent to the time zone name.
|
||||
This avoids unexpected failures when IANA removes abbreviations from
|
||||
their time zone database, as they did in <application>tzdata</>
|
||||
release 2016f and seem likely to do again in the future. The
|
||||
consequences were not limited to not recognizing the individual
|
||||
abbreviation; any mismatch caused
|
||||
the <structname>pg_timezone_abbrevs</> view to fail altogether.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update time zone data files to <application>tzdata</> release 2016h
|
||||
for DST law changes in Palestine and Turkey, plus historical
|
||||
corrections for Turkey and some regions of Russia.
|
||||
Switch to numeric abbreviations for some time zones in Antarctica,
|
||||
the former Soviet Union, and Sri Lanka.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The IANA time zone database previously provided textual abbreviations
|
||||
for all time zones, sometimes making up abbreviations that have little
|
||||
or no currency among the local population. They are in process of
|
||||
reversing that policy in favor of using numeric UTC offsets in zones
|
||||
where there is no evidence of real-world use of an English
|
||||
abbreviation. At least for the time being, <productname>PostgreSQL</>
|
||||
will continue to accept such removed abbreviations for timestamp input.
|
||||
But they will not be shown in the <structname>pg_timezone_names</>
|
||||
view nor used for output.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In this update, <literal>AMT</> is no longer shown as being in use to
|
||||
mean Armenia Time. Therefore, we have changed the <literal>Default</>
|
||||
abbreviation set to interpret it as Amazon Time, thus UTC-4 not UTC+4.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-9-1-23">
|
||||
<title>Release 9.1.23</title>
|
||||
|
||||
@ -599,7 +809,7 @@ Branch: REL9_1_STABLE [354b3a3ac] 2016-06-19 14:01:17 -0400
|
||||
|
||||
<para>
|
||||
This dodges a portability problem on FreeBSD-derived platforms
|
||||
(including OS X).
|
||||
(including macOS).
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@ -2937,7 +3147,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Warn if OS X's <function>setlocale()</> starts an unwanted extra
|
||||
Warn if macOS's <function>setlocale()</> starts an unwanted extra
|
||||
thread inside the postmaster (Noah Misch)
|
||||
</para>
|
||||
</listitem>
|
||||
@ -3574,7 +3784,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix linking of <application>libpython</> on OS X (Tom Lane)
|
||||
Fix linking of <application>libpython</> on macOS (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@ -8443,7 +8653,7 @@ Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix incorrect quoting of log file name in Mac OS X start script
|
||||
Fix incorrect quoting of log file name in macOS start script
|
||||
(Sidar Lopez)
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -1,6 +1,272 @@
|
||||
<!-- doc/src/sgml/release-9.2.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-9-2-19">
|
||||
<title>Release 9.2.19</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2016-10-27</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 9.2.18.
|
||||
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.19</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 EvalPlanQual rechecks involving CTE scans (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The recheck would always see the CTE as returning no rows, typically
|
||||
leading to failure to update rows that were recently updated.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix improper repetition of previous results from hashed aggregation in
|
||||
a subquery (Andrew Gierth)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The test to see if we can reuse a previously-computed hash table of
|
||||
the aggregate state values neglected the possibility of an outer query
|
||||
reference appearing in an aggregate argument expression. A change in
|
||||
the value of such a reference should lead to recalculating the hash
|
||||
table, but did not.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>EXPLAIN</> to emit valid XML when
|
||||
<xref linkend="guc-track-io-timing"> is on (Markus Winand)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Previously the XML output-format option produced syntactically invalid
|
||||
tags such as <literal><I/O-Read-Time></>. That is now
|
||||
rendered as <literal><I-O-Read-Time></>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Suppress printing of zeroes for unmeasured times
|
||||
in <command>EXPLAIN</> (Maksim Milyutin)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Certain option combinations resulted in printing zero values for times
|
||||
that actually aren't ever measured in that combination. Our general
|
||||
policy in <command>EXPLAIN</> is not to print such fields at all, so
|
||||
do that consistently in all cases.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix timeout length when <command>VACUUM</> is waiting for exclusive
|
||||
table lock so that it can truncate the table (Simon Riggs)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The timeout was meant to be 50 milliseconds, but it was actually only
|
||||
50 microseconds, causing <command>VACUUM</> to give up on truncation
|
||||
much more easily than intended. Set it to the intended value.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix bugs in merging inherited <literal>CHECK</> constraints while
|
||||
creating or altering a table (Tom Lane, Amit Langote)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Allow identical <literal>CHECK</> constraints to be added to a parent
|
||||
and child table in either order. Prevent merging of a valid
|
||||
constraint from the parent table with a <literal>NOT VALID</>
|
||||
constraint on the child. Likewise, prevent merging of a <literal>NO
|
||||
INHERIT</> child constraint with an inherited constraint.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Remove artificial restrictions on the values accepted
|
||||
by <function>numeric_in()</> and <function>numeric_recv()</>
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
We allow numeric values up to the limit of the storage format (more
|
||||
than <literal>1e100000</>), so it seems fairly pointless
|
||||
that <function>numeric_in()</> rejected scientific-notation exponents
|
||||
above 1000. Likewise, it was silly for <function>numeric_recv()</> to
|
||||
reject more than 1000 digits in an input value.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid very-low-probability data corruption due to testing tuple
|
||||
visibility without holding buffer lock (Thomas Munro, Peter Geoghegan,
|
||||
Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix file descriptor leakage when truncating a temporary relation of
|
||||
more than 1GB (Andres Freund)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Disallow starting a standalone backend with <literal>standby_mode</>
|
||||
turned on (Michael Paquier)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This can't do anything useful, since there will be no WAL receiver
|
||||
process to fetch more WAL data; and it could result in misbehavior
|
||||
in code that wasn't designed with this situation in mind.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Don't try to share SSL contexts across multiple connections
|
||||
in <application>libpq</> (Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This led to assorted corner-case bugs, particularly when trying to use
|
||||
different SSL parameters for different connections.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid corner-case memory leak in <application>libpq</> (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The reported problem involved leaking an error report
|
||||
during <function>PQreset()</>, but there might be related cases.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Make <application>ecpg</>'s <option>--help</> and <option>--version</>
|
||||
options work consistently with our other executables (Haribabu Kommi)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>pg_dump</>, never dump range constructor functions
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight led to <application>pg_upgrade</> failures with
|
||||
extensions containing range types, due to duplicate creation of the
|
||||
constructor functions.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <filename>contrib/intarray/bench/bench.pl</> to print the results
|
||||
of the <command>EXPLAIN</> it does when given the <option>-e</> option
|
||||
(Daniel Gustafsson)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update Windows time zone mapping to recognize some time zone names
|
||||
added in recent Windows versions (Michael Paquier)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Prevent failure of obsolete dynamic time zone abbreviations (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If a dynamic time zone abbreviation does not match any entry in the
|
||||
referenced time zone, treat it as equivalent to the time zone name.
|
||||
This avoids unexpected failures when IANA removes abbreviations from
|
||||
their time zone database, as they did in <application>tzdata</>
|
||||
release 2016f and seem likely to do again in the future. The
|
||||
consequences were not limited to not recognizing the individual
|
||||
abbreviation; any mismatch caused
|
||||
the <structname>pg_timezone_abbrevs</> view to fail altogether.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update time zone data files to <application>tzdata</> release 2016h
|
||||
for DST law changes in Palestine and Turkey, plus historical
|
||||
corrections for Turkey and some regions of Russia.
|
||||
Switch to numeric abbreviations for some time zones in Antarctica,
|
||||
the former Soviet Union, and Sri Lanka.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The IANA time zone database previously provided textual abbreviations
|
||||
for all time zones, sometimes making up abbreviations that have little
|
||||
or no currency among the local population. They are in process of
|
||||
reversing that policy in favor of using numeric UTC offsets in zones
|
||||
where there is no evidence of real-world use of an English
|
||||
abbreviation. At least for the time being, <productname>PostgreSQL</>
|
||||
will continue to accept such removed abbreviations for timestamp input.
|
||||
But they will not be shown in the <structname>pg_timezone_names</>
|
||||
view nor used for output.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In this update, <literal>AMT</> is no longer shown as being in use to
|
||||
mean Armenia Time. Therefore, we have changed the <literal>Default</>
|
||||
abbreviation set to interpret it as Amazon Time, thus UTC-4 not UTC+4.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-9-2-18">
|
||||
<title>Release 9.2.18</title>
|
||||
|
||||
@ -629,7 +895,7 @@
|
||||
|
||||
<para>
|
||||
This dodges a portability problem on FreeBSD-derived platforms
|
||||
(including OS X).
|
||||
(including macOS).
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@ -3190,7 +3456,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Warn if OS X's <function>setlocale()</> starts an unwanted extra
|
||||
Warn if macOS's <function>setlocale()</> starts an unwanted extra
|
||||
thread inside the postmaster (Noah Misch)
|
||||
</para>
|
||||
</listitem>
|
||||
@ -3899,7 +4165,7 @@ Branch: REL9_2_STABLE [6b700301c] 2015-02-17 16:03:00 +0100
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix linking of <application>libpython</> on OS X (Tom Lane)
|
||||
Fix linking of <application>libpython</> on macOS (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -1,6 +1,335 @@
|
||||
<!-- doc/src/sgml/release-9.3.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-9-3-15">
|
||||
<title>Release 9.3.15</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2016-10-27</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 9.3.14.
|
||||
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.15</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 free space maps.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Also, 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>
|
||||
Fix WAL-logging of truncation of relation free space maps and
|
||||
visibility maps (Pavan Deolasee, Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
It was possible for these files to not be correctly restored during
|
||||
crash recovery, or to be written incorrectly on a standby server.
|
||||
Bogus entries in a free space map could lead to attempts to access
|
||||
pages that have been truncated away from the relation itself, typically
|
||||
producing errors like <quote>could not read block <replaceable>XXX</>:
|
||||
read only 0 of 8192 bytes</quote>. Checksum failures in the
|
||||
visibility map are also possible, if checksumming is enabled.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Procedures for determining whether there is a problem and repairing it
|
||||
if so are discussed at
|
||||
<ulink url="https://wiki.postgresql.org/wiki/Free_Space_Map_Problems"></>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>SELECT FOR UPDATE/SHARE</> to correctly lock tuples that
|
||||
have been updated by a subsequently-aborted transaction
|
||||
(Álvaro Herrera)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In 9.5 and later, the <command>SELECT</> would sometimes fail to
|
||||
return such tuples at all. A failure has not been proven to occur in
|
||||
earlier releases, but might be possible with concurrent updates.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix EvalPlanQual rechecks involving CTE scans (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The recheck would always see the CTE as returning no rows, typically
|
||||
leading to failure to update rows that were recently updated.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix improper repetition of previous results from hashed aggregation in
|
||||
a subquery (Andrew Gierth)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The test to see if we can reuse a previously-computed hash table of
|
||||
the aggregate state values neglected the possibility of an outer query
|
||||
reference appearing in an aggregate argument expression. A change in
|
||||
the value of such a reference should lead to recalculating the hash
|
||||
table, but did not.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>EXPLAIN</> to emit valid XML when
|
||||
<xref linkend="guc-track-io-timing"> is on (Markus Winand)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Previously the XML output-format option produced syntactically invalid
|
||||
tags such as <literal><I/O-Read-Time></>. That is now
|
||||
rendered as <literal><I-O-Read-Time></>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Suppress printing of zeroes for unmeasured times
|
||||
in <command>EXPLAIN</> (Maksim Milyutin)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Certain option combinations resulted in printing zero values for times
|
||||
that actually aren't ever measured in that combination. Our general
|
||||
policy in <command>EXPLAIN</> is not to print such fields at all, so
|
||||
do that consistently in all cases.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix timeout length when <command>VACUUM</> is waiting for exclusive
|
||||
table lock so that it can truncate the table (Simon Riggs)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The timeout was meant to be 50 milliseconds, but it was actually only
|
||||
50 microseconds, causing <command>VACUUM</> to give up on truncation
|
||||
much more easily than intended. Set it to the intended value.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix bugs in merging inherited <literal>CHECK</> constraints while
|
||||
creating or altering a table (Tom Lane, Amit Langote)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Allow identical <literal>CHECK</> constraints to be added to a parent
|
||||
and child table in either order. Prevent merging of a valid
|
||||
constraint from the parent table with a <literal>NOT VALID</>
|
||||
constraint on the child. Likewise, prevent merging of a <literal>NO
|
||||
INHERIT</> child constraint with an inherited constraint.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Remove artificial restrictions on the values accepted
|
||||
by <function>numeric_in()</> and <function>numeric_recv()</>
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
We allow numeric values up to the limit of the storage format (more
|
||||
than <literal>1e100000</>), so it seems fairly pointless
|
||||
that <function>numeric_in()</> rejected scientific-notation exponents
|
||||
above 1000. Likewise, it was silly for <function>numeric_recv()</> to
|
||||
reject more than 1000 digits in an input value.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid very-low-probability data corruption due to testing tuple
|
||||
visibility without holding buffer lock (Thomas Munro, Peter Geoghegan,
|
||||
Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix file descriptor leakage when truncating a temporary relation of
|
||||
more than 1GB (Andres Freund)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Disallow starting a standalone backend with <literal>standby_mode</>
|
||||
turned on (Michael Paquier)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This can't do anything useful, since there will be no WAL receiver
|
||||
process to fetch more WAL data; and it could result in misbehavior
|
||||
in code that wasn't designed with this situation in mind.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Don't try to share SSL contexts across multiple connections
|
||||
in <application>libpq</> (Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This led to assorted corner-case bugs, particularly when trying to use
|
||||
different SSL parameters for different connections.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid corner-case memory leak in <application>libpq</> (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The reported problem involved leaking an error report
|
||||
during <function>PQreset()</>, but there might be related cases.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Make <application>ecpg</>'s <option>--help</> and <option>--version</>
|
||||
options work consistently with our other executables (Haribabu Kommi)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>pg_dump</>, never dump range constructor functions
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight led to <application>pg_upgrade</> failures with
|
||||
extensions containing range types, due to duplicate creation of the
|
||||
constructor functions.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>pg_xlogdump</>, retry opening new WAL segments when
|
||||
using <option>--follow</> option (Magnus Hagander)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This allows for a possible delay in the server's creation of the next
|
||||
segment.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_xlogdump</> to cope with a WAL file that begins
|
||||
with a continuation record spanning more than one page (Pavan
|
||||
Deolasee)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <filename>contrib/intarray/bench/bench.pl</> to print the results
|
||||
of the <command>EXPLAIN</> it does when given the <option>-e</> option
|
||||
(Daniel Gustafsson)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update Windows time zone mapping to recognize some time zone names
|
||||
added in recent Windows versions (Michael Paquier)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Prevent failure of obsolete dynamic time zone abbreviations (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If a dynamic time zone abbreviation does not match any entry in the
|
||||
referenced time zone, treat it as equivalent to the time zone name.
|
||||
This avoids unexpected failures when IANA removes abbreviations from
|
||||
their time zone database, as they did in <application>tzdata</>
|
||||
release 2016f and seem likely to do again in the future. The
|
||||
consequences were not limited to not recognizing the individual
|
||||
abbreviation; any mismatch caused
|
||||
the <structname>pg_timezone_abbrevs</> view to fail altogether.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update time zone data files to <application>tzdata</> release 2016h
|
||||
for DST law changes in Palestine and Turkey, plus historical
|
||||
corrections for Turkey and some regions of Russia.
|
||||
Switch to numeric abbreviations for some time zones in Antarctica,
|
||||
the former Soviet Union, and Sri Lanka.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The IANA time zone database previously provided textual abbreviations
|
||||
for all time zones, sometimes making up abbreviations that have little
|
||||
or no currency among the local population. They are in process of
|
||||
reversing that policy in favor of using numeric UTC offsets in zones
|
||||
where there is no evidence of real-world use of an English
|
||||
abbreviation. At least for the time being, <productname>PostgreSQL</>
|
||||
will continue to accept such removed abbreviations for timestamp input.
|
||||
But they will not be shown in the <structname>pg_timezone_names</>
|
||||
view nor used for output.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In this update, <literal>AMT</> is no longer shown as being in use to
|
||||
mean Armenia Time. Therefore, we have changed the <literal>Default</>
|
||||
abbreviation set to interpret it as Amazon Time, thus UTC-4 not UTC+4.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-9-3-14">
|
||||
<title>Release 9.3.14</title>
|
||||
|
||||
@ -812,7 +1141,7 @@ Branch: REL9_2_STABLE [37f30b251] 2016-04-18 13:19:52 -0400
|
||||
|
||||
<para>
|
||||
This dodges a portability problem on FreeBSD-derived platforms
|
||||
(including OS X).
|
||||
(including macOS).
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@ -3021,7 +3350,7 @@ Branch: REL9_0_STABLE [4dddf8552] 2015-05-21 20:41:55 -0400
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Silence some build warnings on OS X (Tom Lane)
|
||||
Silence some build warnings on macOS (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@ -4092,7 +4421,7 @@ Branch: REL9_0_STABLE [2e4946169] 2015-01-07 22:46:20 -0500
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Warn if OS X's <function>setlocale()</> starts an unwanted extra
|
||||
Warn if macOS's <function>setlocale()</> starts an unwanted extra
|
||||
thread inside the postmaster (Noah Misch)
|
||||
</para>
|
||||
</listitem>
|
||||
@ -5743,7 +6072,7 @@ Branch: REL8_4_STABLE [ae41bb4be] 2014-05-30 18:18:32 -0400
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix linking of <application>libpython</> on OS X (Tom Lane)
|
||||
Fix linking of <application>libpython</> on macOS (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@ -10710,7 +11039,7 @@ ALTER EXTENSION hstore UPDATE;
|
||||
<listitem>
|
||||
<para>
|
||||
Add <link linkend="docguide-toolsets">instructions</link> for setting
|
||||
up the documentation tool chain on Mac <productname>OS X</>
|
||||
up the documentation tool chain on <productname>macOS</>
|
||||
(Peter Eisentraut)
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -1,6 +1,472 @@
|
||||
<!-- doc/src/sgml/release-9.4.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-9-4-10">
|
||||
<title>Release 9.4.10</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2016-10-27</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 9.4.9.
|
||||
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.10</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 free space maps.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Also, 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>
|
||||
Fix WAL-logging of truncation of relation free space maps and
|
||||
visibility maps (Pavan Deolasee, Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
It was possible for these files to not be correctly restored during
|
||||
crash recovery, or to be written incorrectly on a standby server.
|
||||
Bogus entries in a free space map could lead to attempts to access
|
||||
pages that have been truncated away from the relation itself, typically
|
||||
producing errors like <quote>could not read block <replaceable>XXX</>:
|
||||
read only 0 of 8192 bytes</quote>. Checksum failures in the
|
||||
visibility map are also possible, if checksumming is enabled.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Procedures for determining whether there is a problem and repairing it
|
||||
if so are discussed at
|
||||
<ulink url="https://wiki.postgresql.org/wiki/Free_Space_Map_Problems"></>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix incorrect creation of GIN index WAL records on big-endian machines
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The typical symptom was <quote>unexpected GIN leaf action</> errors
|
||||
during WAL replay.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>SELECT FOR UPDATE/SHARE</> to correctly lock tuples that
|
||||
have been updated by a subsequently-aborted transaction
|
||||
(Álvaro Herrera)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In 9.5 and later, the <command>SELECT</> would sometimes fail to
|
||||
return such tuples at all. A failure has not been proven to occur in
|
||||
earlier releases, but might be possible with concurrent updates.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix EvalPlanQual rechecks involving CTE scans (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The recheck would always see the CTE as returning no rows, typically
|
||||
leading to failure to update rows that were recently updated.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix improper repetition of previous results from hashed aggregation in
|
||||
a subquery (Andrew Gierth)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The test to see if we can reuse a previously-computed hash table of
|
||||
the aggregate state values neglected the possibility of an outer query
|
||||
reference appearing in an aggregate argument expression. A change in
|
||||
the value of such a reference should lead to recalculating the hash
|
||||
table, but did not.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix query-lifespan memory leak in a bulk <command>UPDATE</> on a table
|
||||
with a <literal>PRIMARY KEY</> or <literal>REPLICA IDENTITY</> index
|
||||
(Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>EXPLAIN</> to emit valid XML when
|
||||
<xref linkend="guc-track-io-timing"> is on (Markus Winand)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Previously the XML output-format option produced syntactically invalid
|
||||
tags such as <literal><I/O-Read-Time></>. That is now
|
||||
rendered as <literal><I-O-Read-Time></>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Suppress printing of zeroes for unmeasured times
|
||||
in <command>EXPLAIN</> (Maksim Milyutin)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Certain option combinations resulted in printing zero values for times
|
||||
that actually aren't ever measured in that combination. Our general
|
||||
policy in <command>EXPLAIN</> is not to print such fields at all, so
|
||||
do that consistently in all cases.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix timeout length when <command>VACUUM</> is waiting for exclusive
|
||||
table lock so that it can truncate the table (Simon Riggs)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The timeout was meant to be 50 milliseconds, but it was actually only
|
||||
50 microseconds, causing <command>VACUUM</> to give up on truncation
|
||||
much more easily than intended. Set it to the intended value.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix bugs in merging inherited <literal>CHECK</> constraints while
|
||||
creating or altering a table (Tom Lane, Amit Langote)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Allow identical <literal>CHECK</> constraints to be added to a parent
|
||||
and child table in either order. Prevent merging of a valid
|
||||
constraint from the parent table with a <literal>NOT VALID</>
|
||||
constraint on the child. Likewise, prevent merging of a <literal>NO
|
||||
INHERIT</> child constraint with an inherited constraint.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Remove artificial restrictions on the values accepted
|
||||
by <function>numeric_in()</> and <function>numeric_recv()</>
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
We allow numeric values up to the limit of the storage format (more
|
||||
than <literal>1e100000</>), so it seems fairly pointless
|
||||
that <function>numeric_in()</> rejected scientific-notation exponents
|
||||
above 1000. Likewise, it was silly for <function>numeric_recv()</> to
|
||||
reject more than 1000 digits in an input value.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid very-low-probability data corruption due to testing tuple
|
||||
visibility without holding buffer lock (Thomas Munro, Peter Geoghegan,
|
||||
Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix logical WAL decoding to work properly when a subtransaction's WAL
|
||||
output is large enough to spill to disk (Andres Freund)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<!--
|
||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||
Branch: REL9_4_STABLE [10ad15f48] 2016-09-01 11:45:16 -0400
|
||||
-->
|
||||
<para>
|
||||
Fix buffer overread in logical WAL decoding (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Logical decoding of a tuple update record read 23 bytes too many,
|
||||
which was usually harmless but with very bad luck could result in a
|
||||
crash.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix file descriptor leakage when truncating a temporary relation of
|
||||
more than 1GB (Andres Freund)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Disallow starting a standalone backend with <literal>standby_mode</>
|
||||
turned on (Michael Paquier)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This can't do anything useful, since there will be no WAL receiver
|
||||
process to fetch more WAL data; and it could result in misbehavior
|
||||
in code that wasn't designed with this situation in mind.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Properly initialize replication slot state when recycling a
|
||||
previously-used slot (Michael Paquier)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This failure to reset all of the fields of the slot could
|
||||
prevent <command>VACUUM</> from removing dead tuples.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Round shared-memory allocation request to a multiple of the actual
|
||||
huge page size when attempting to use huge pages on Linux (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This avoids possible failures during <function>munmap()</> on systems
|
||||
with atypical default huge page sizes. Except in crash-recovery
|
||||
cases, there were no ill effects other than a log message.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Use a more random value for the dynamic shared memory control
|
||||
segment's ID (Robert Haas, Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Previously, the same value would be chosen every time, because it was
|
||||
derived from <function>random()</> but <function>srandom()</> had not
|
||||
yet been called. While relatively harmless, this was not the intended
|
||||
behavior.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
On Windows, retry creation of the dynamic shared memory control
|
||||
segment after an access-denied error (Kyotaro Horiguchi, Amit Kapila)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Windows sometimes returns <literal>ERROR_ACCESS_DENIED</> rather
|
||||
than <literal>ERROR_ALREADY_EXISTS</> when there is an existing
|
||||
segment. This led to postmaster startup failure due to believing that
|
||||
the former was an unrecoverable error.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Don't try to share SSL contexts across multiple connections
|
||||
in <application>libpq</> (Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This led to assorted corner-case bugs, particularly when trying to use
|
||||
different SSL parameters for different connections.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid corner-case memory leak in <application>libpq</> (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The reported problem involved leaking an error report
|
||||
during <function>PQreset()</>, but there might be related cases.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Make <application>ecpg</>'s <option>--help</> and <option>--version</>
|
||||
options work consistently with our other executables (Haribabu Kommi)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pgbench</>'s calculation of average latency
|
||||
(Fabien Coelho)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The calculation was incorrect when there were <literal>\sleep</>
|
||||
commands in the script, or when the test duration was specified in
|
||||
number of transactions rather than total time.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>pg_dump</>, never dump range constructor functions
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight led to <application>pg_upgrade</> failures with
|
||||
extensions containing range types, due to duplicate creation of the
|
||||
constructor functions.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>pg_xlogdump</>, retry opening new WAL segments when
|
||||
using <option>--follow</> option (Magnus Hagander)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This allows for a possible delay in the server's creation of the next
|
||||
segment.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_xlogdump</> to cope with a WAL file that begins
|
||||
with a continuation record spanning more than one page (Pavan
|
||||
Deolasee)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <filename>contrib/pg_buffercache</> to work
|
||||
when <varname>shared_buffers</> exceeds 256GB (KaiGai Kohei)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <filename>contrib/intarray/bench/bench.pl</> to print the results
|
||||
of the <command>EXPLAIN</> it does when given the <option>-e</> option
|
||||
(Daniel Gustafsson)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Install TAP test infrastructure so that it's available for extension
|
||||
testing (Craig Ringer)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
When <productname>PostgreSQL</> has been configured
|
||||
with <option>--enable-tap-tests</>, <quote>make install</> will now
|
||||
install the Perl support files for TAP testing where PGXS can find
|
||||
them. This allows non-core extensions to
|
||||
use <literal>$(prove_check)</> without extra tests.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In MSVC builds, include <application>pg_recvlogical</> in a
|
||||
client-only installation (MauMau)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update Windows time zone mapping to recognize some time zone names
|
||||
added in recent Windows versions (Michael Paquier)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Prevent failure of obsolete dynamic time zone abbreviations (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If a dynamic time zone abbreviation does not match any entry in the
|
||||
referenced time zone, treat it as equivalent to the time zone name.
|
||||
This avoids unexpected failures when IANA removes abbreviations from
|
||||
their time zone database, as they did in <application>tzdata</>
|
||||
release 2016f and seem likely to do again in the future. The
|
||||
consequences were not limited to not recognizing the individual
|
||||
abbreviation; any mismatch caused
|
||||
the <structname>pg_timezone_abbrevs</> view to fail altogether.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update time zone data files to <application>tzdata</> release 2016h
|
||||
for DST law changes in Palestine and Turkey, plus historical
|
||||
corrections for Turkey and some regions of Russia.
|
||||
Switch to numeric abbreviations for some time zones in Antarctica,
|
||||
the former Soviet Union, and Sri Lanka.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The IANA time zone database previously provided textual abbreviations
|
||||
for all time zones, sometimes making up abbreviations that have little
|
||||
or no currency among the local population. They are in process of
|
||||
reversing that policy in favor of using numeric UTC offsets in zones
|
||||
where there is no evidence of real-world use of an English
|
||||
abbreviation. At least for the time being, <productname>PostgreSQL</>
|
||||
will continue to accept such removed abbreviations for timestamp input.
|
||||
But they will not be shown in the <structname>pg_timezone_names</>
|
||||
view nor used for output.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In this update, <literal>AMT</> is no longer shown as being in use to
|
||||
mean Armenia Time. Therefore, we have changed the <literal>Default</>
|
||||
abbreviation set to interpret it as Amazon Time, thus UTC-4 not UTC+4.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-9-4-9">
|
||||
<title>Release 9.4.9</title>
|
||||
|
||||
@ -929,7 +1395,7 @@ Branch: REL9_1_STABLE [de887cc8a] 2016-05-25 19:39:49 -0400
|
||||
|
||||
<para>
|
||||
This dodges a portability problem on FreeBSD-derived platforms
|
||||
(including OS X).
|
||||
(including macOS).
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@ -5254,7 +5720,7 @@ Branch: REL9_3_STABLE [6347bdb31] 2015-04-05 13:01:55 -0400
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Silence some build warnings on OS X (Tom Lane)
|
||||
Silence some build warnings on macOS (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@ -5813,7 +6279,7 @@ Branch: REL9_0_STABLE [2e4946169] 2015-01-07 22:46:20 -0500
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Warn if OS X's <function>setlocale()</> starts an unwanted extra
|
||||
Warn if macOS's <function>setlocale()</> starts an unwanted extra
|
||||
thread inside the postmaster (Noah Misch)
|
||||
</para>
|
||||
</listitem>
|
||||
|
Loading…
x
Reference in New Issue
Block a user