Update release notes for 9.1.1, 9.0.5, 8.4.9, 8.3.16, 8.2.22.
Man, we fixed a lotta bugs since April.
This commit is contained in:
parent
f197272365
commit
614421f9aa
@ -1,6 +1,313 @@
|
||||
<!-- doc/src/sgml/release-8.2.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-8-2-22">
|
||||
<title>Release 8.2.22</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2011-09-26</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 8.2.21.
|
||||
For information about new features in the 8.2 major release, see
|
||||
<xref linkend="release-8-2">.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The <productname>PostgreSQL</> community will stop releasing updates
|
||||
for the 8.2.X release series in December 2011.
|
||||
Users are encouraged to update to a newer release branch soon.
|
||||
</para>
|
||||
|
||||
<sect2>
|
||||
<title>Migration to Version 8.2.22</title>
|
||||
|
||||
<para>
|
||||
A dump/restore is not required for those running 8.2.X.
|
||||
However, if you are upgrading from a version earlier than 8.2.14,
|
||||
see the release notes for 8.2.14.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Changes</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix multiple bugs in GiST index page split processing (Heikki
|
||||
Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The probability of occurrence was low, but these could lead to index
|
||||
corruption.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid possibly accessing off the end of memory in <command>ANALYZE</>
|
||||
(Noah Misch)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This fixes a very-low-probability server crash scenario.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix race condition in relcache init file invalidation (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
There was a window wherein a new backend process could read a stale init
|
||||
file but miss the inval messages that would tell it the data is stale.
|
||||
The result would be bizarre failures in catalog accesses, typically
|
||||
<quote>could not read block 0 in file ...</> later during startup.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix memory leak at end of a GiST index scan (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Commands that perform many separate GiST index scans, such as
|
||||
verification of a new GiST-based exclusion constraint on a table
|
||||
already containing many rows, could transiently require large amounts of
|
||||
memory due to this leak.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix performance problem when constructing a large, lossy bitmap
|
||||
(Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix array- and path-creating functions to ensure padding bytes are
|
||||
zeroes (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This avoids some situations where the planner will think that
|
||||
semantically-equal constants are not equal, resulting in poor
|
||||
optimization.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Work around gcc 4.6.0 bug that breaks WAL replay (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This could lead to loss of committed transactions after a server crash.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix dump bug for <literal>VALUES</> in a view (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Disallow <literal>SELECT FOR UPDATE/SHARE</> on sequences (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This operation doesn't work as expected and can lead to failures.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Defend against integer overflow when computing size of a hash table (Tom
|
||||
Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix portability bugs in use of credentials control messages for
|
||||
<quote>peer</> authentication (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix typo in <function>pg_srand48</> seed initialization (Andres Freund)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This led to failure to use all bits of the provided seed. This function
|
||||
is not used on most platforms (only those without <function>srandom</>),
|
||||
and the potential security exposure from a less-random-than-expected
|
||||
seed seems minimal in any case.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid integer overflow when the sum of <literal>LIMIT</> and
|
||||
<literal>OFFSET</> values exceeds 2^63 (Heikki Linnakangas)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Add overflow checks to <type>int4</> and <type>int8</> versions of
|
||||
<function>generate_series()</> (Robert Haas)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix trailing-zero removal in <function>to_char()</> (Marti Raudsepp)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In a format with <literal>FM</> and no digit positions
|
||||
after the decimal point, zeroes to the left of the decimal point could
|
||||
be removed incorrectly.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <function>pg_size_pretty()</> to avoid overflow for inputs close to
|
||||
2^63 (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>psql</>'s counting of script file line numbers during
|
||||
<literal>COPY</> from a different file (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_restore</>'s direct-to-database mode for
|
||||
<varname>standard_conforming_strings</> (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<application>pg_restore</> could emit incorrect commands when restoring
|
||||
directly to a database server from an archive file that had been made
|
||||
with <varname>standard_conforming_strings</> set to <literal>on</>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix write-past-buffer-end and memory leak in <application>libpq</>'s
|
||||
LDAP service lookup code (Albe Laurenz)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>libpq</>, avoid failures when using nonblocking I/O
|
||||
and an SSL connection (Martin Pihlak, Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Improve libpq's handling of failures during connection startup
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In particular, the response to a server report of <function>fork()</>
|
||||
failure during SSL connection startup is now saner.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Make <application>ecpglib</> write <type>double</> values with 15 digits
|
||||
precision (Akira Kurosawa)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Apply upstream fix for blowfish signed-character bug (CVE-2011-2483)
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<filename>contrib/pg_crypto</>'s blowfish encryption code could give
|
||||
wrong results on platforms where char is signed (which is most),
|
||||
leading to encrypted passwords being weaker than they should be.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix memory leak in <filename>contrib/seg</> (Heikki Linnakangas)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <function>pgstatindex()</> to give consistent results for empty
|
||||
indexes (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Allow building with perl 5.14 (Alex Hunsaker)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update configure script's method for probing existence of system
|
||||
functions (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The version of autoconf we used in 8.3 and 8.2 could be fooled by
|
||||
compilers that perform link-time optimization.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix assorted issues with build and install file paths containing spaces
|
||||
(Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update time zone data files to <application>tzdata</> release 2011i
|
||||
for DST law changes in Canada, Egypt, Russia, Samoa, and South Sudan.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-8-2-21">
|
||||
<title>Release 8.2.21</title>
|
||||
|
||||
|
@ -1,6 +1,377 @@
|
||||
<!-- doc/src/sgml/release-8.3.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-8-3-16">
|
||||
<title>Release 8.3.16</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2011-09-26</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 8.3.15.
|
||||
For information about new features in the 8.3 major release, see
|
||||
<xref linkend="release-8-3">.
|
||||
</para>
|
||||
|
||||
<sect2>
|
||||
<title>Migration to Version 8.3.16</title>
|
||||
|
||||
<para>
|
||||
A dump/restore is not required for those running 8.3.X.
|
||||
However, if you are upgrading from a version earlier than 8.3.8,
|
||||
see the release notes for 8.3.8.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Changes</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix bugs in indexing of in-doubt HOT-updated tuples (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
These bugs could result in index corruption after reindexing a system
|
||||
catalog. They are not believed to affect user indexes.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix multiple bugs in GiST index page split processing (Heikki
|
||||
Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The probability of occurrence was low, but these could lead to index
|
||||
corruption.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix possible buffer overrun in <function>tsvector_concat()</>
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The function could underestimate the amount of memory needed for its
|
||||
result, leading to server crashes.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix crash in <function>xml_recv</> when processing a
|
||||
<quote>standalone</> parameter (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid possibly accessing off the end of memory in <command>ANALYZE</>
|
||||
and in SJIS-2004 encoding conversion (Noah Misch)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This fixes some very-low-probability server crash scenarios.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix race condition in relcache init file invalidation (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
There was a window wherein a new backend process could read a stale init
|
||||
file but miss the inval messages that would tell it the data is stale.
|
||||
The result would be bizarre failures in catalog accesses, typically
|
||||
<quote>could not read block 0 in file ...</> later during startup.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix memory leak at end of a GiST index scan (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Commands that perform many separate GiST index scans, such as
|
||||
verification of a new GiST-based exclusion constraint on a table
|
||||
already containing many rows, could transiently require large amounts of
|
||||
memory due to this leak.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix performance problem when constructing a large, lossy bitmap
|
||||
(Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix array- and path-creating functions to ensure padding bytes are
|
||||
zeroes (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This avoids some situations where the planner will think that
|
||||
semantically-equal constants are not equal, resulting in poor
|
||||
optimization.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Work around gcc 4.6.0 bug that breaks WAL replay (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This could lead to loss of committed transactions after a server crash.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix dump bug for <literal>VALUES</> in a view (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Disallow <literal>SELECT FOR UPDATE/SHARE</> on sequences (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This operation doesn't work as expected and can lead to failures.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Defend against integer overflow when computing size of a hash table (Tom
|
||||
Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix cases where <command>CLUSTER</> might attempt to access
|
||||
already-removed TOAST data (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix portability bugs in use of credentials control messages for
|
||||
<quote>peer</> authentication (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix SSPI login when multiple roundtrips are required (Ahmed Shinwari,
|
||||
Magnus Hagander)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The typical symptom of this problem was <quote>The function requested is
|
||||
not supported</> errors during SSPI login.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix typo in <function>pg_srand48</> seed initialization (Andres Freund)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This led to failure to use all bits of the provided seed. This function
|
||||
is not used on most platforms (only those without <function>srandom</>),
|
||||
and the potential security exposure from a less-random-than-expected
|
||||
seed seems minimal in any case.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid integer overflow when the sum of <literal>LIMIT</> and
|
||||
<literal>OFFSET</> values exceeds 2^63 (Heikki Linnakangas)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Add overflow checks to <type>int4</> and <type>int8</> versions of
|
||||
<function>generate_series()</> (Robert Haas)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix trailing-zero removal in <function>to_char()</> (Marti Raudsepp)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In a format with <literal>FM</> and no digit positions
|
||||
after the decimal point, zeroes to the left of the decimal point could
|
||||
be removed incorrectly.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <function>pg_size_pretty()</> to avoid overflow for inputs close to
|
||||
2^63 (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>pg_ctl</>, support silent mode for service registrations
|
||||
on Windows (MauMau)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>psql</>'s counting of script file line numbers during
|
||||
<literal>COPY</> from a different file (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_restore</>'s direct-to-database mode for
|
||||
<varname>standard_conforming_strings</> (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<application>pg_restore</> could emit incorrect commands when restoring
|
||||
directly to a database server from an archive file that had been made
|
||||
with <varname>standard_conforming_strings</> set to <literal>on</>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix write-past-buffer-end and memory leak in <application>libpq</>'s
|
||||
LDAP service lookup code (Albe Laurenz)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>libpq</>, avoid failures when using nonblocking I/O
|
||||
and an SSL connection (Martin Pihlak, Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Improve libpq's handling of failures during connection startup
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In particular, the response to a server report of <function>fork()</>
|
||||
failure during SSL connection startup is now saner.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Improve <application>libpq</>'s error reporting for SSL failures (Tom
|
||||
Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Make <application>ecpglib</> write <type>double</> values with 15 digits
|
||||
precision (Akira Kurosawa)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>ecpglib</>, be sure <literal>LC_NUMERIC</> setting is
|
||||
restored after an error (Michael Meskes)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Apply upstream fix for blowfish signed-character bug (CVE-2011-2483)
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<filename>contrib/pg_crypto</>'s blowfish encryption code could give
|
||||
wrong results on platforms where char is signed (which is most),
|
||||
leading to encrypted passwords being weaker than they should be.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix memory leak in <filename>contrib/seg</> (Heikki Linnakangas)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <function>pgstatindex()</> to give consistent results for empty
|
||||
indexes (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Allow building with perl 5.14 (Alex Hunsaker)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update configure script's method for probing existence of system
|
||||
functions (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The version of autoconf we used in 8.3 and 8.2 could be fooled by
|
||||
compilers that perform link-time optimization.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix assorted issues with build and install file paths containing spaces
|
||||
(Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update time zone data files to <application>tzdata</> release 2011i
|
||||
for DST law changes in Canada, Egypt, Russia, Samoa, and South Sudan.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-8-3-15">
|
||||
<title>Release 8.3.15</title>
|
||||
|
||||
|
@ -1,6 +1,531 @@
|
||||
<!-- doc/src/sgml/release-8.4.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-8-4-9">
|
||||
<title>Release 8.4.9</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2011-09-26</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 8.4.8.
|
||||
For information about new features in the 8.4 major release, see
|
||||
<xref linkend="release-8-4">.
|
||||
</para>
|
||||
|
||||
<sect2>
|
||||
<title>Migration to Version 8.4.9</title>
|
||||
|
||||
<para>
|
||||
A dump/restore is not required for those running 8.4.X.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
However, if you are upgrading from a version earlier than 8.4.8,
|
||||
see the release notes for 8.4.8.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Changes</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix bugs in indexing of in-doubt HOT-updated tuples (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
These bugs could result in index corruption after reindexing a system
|
||||
catalog. They are not believed to affect user indexes.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix multiple bugs in GiST index page split processing (Heikki
|
||||
Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The probability of occurrence was low, but these could lead to index
|
||||
corruption.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix possible buffer overrun in <function>tsvector_concat()</>
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The function could underestimate the amount of memory needed for its
|
||||
result, leading to server crashes.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix crash in <function>xml_recv</> when processing a
|
||||
<quote>standalone</> parameter (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Make <function>pg_options_to_table</> return NULL for an option with no
|
||||
value (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Previously such cases would result in a server crash.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid possibly accessing off the end of memory in <command>ANALYZE</>
|
||||
and in SJIS-2004 encoding conversion (Noah Misch)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This fixes some very-low-probability server crash scenarios.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Prevent intermittent hang in interactions of startup process with
|
||||
bgwriter process (Simon Riggs)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This affected recovery in non-hot-standby cases.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix race condition in relcache init file invalidation (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
There was a window wherein a new backend process could read a stale init
|
||||
file but miss the inval messages that would tell it the data is stale.
|
||||
The result would be bizarre failures in catalog accesses, typically
|
||||
<quote>could not read block 0 in file ...</> later during startup.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix memory leak at end of a GiST index scan (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Commands that perform many separate GiST index scans, such as
|
||||
verification of a new GiST-based exclusion constraint on a table
|
||||
already containing many rows, could transiently require large amounts of
|
||||
memory due to this leak.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix incorrect memory accounting (leading to possible memory bloat) in
|
||||
tuplestores supporting holdable cursors and plpgsql's <literal>RETURN
|
||||
NEXT</> command (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix performance problem when constructing a large, lossy bitmap
|
||||
(Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix join selectivity estimation for unique columns (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This fixes an erroneous planner heuristic that could lead to poor
|
||||
estimates of the result size of a join.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix nested PlaceHolderVar expressions that appear only in sub-select
|
||||
target lists (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This mistake could result in outputs of an outer join incorrectly
|
||||
appearing as NULL.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Allow nested <literal>EXISTS</> queries to be optimized properly (Tom
|
||||
Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix array- and path-creating functions to ensure padding bytes are
|
||||
zeroes (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This avoids some situations where the planner will think that
|
||||
semantically-equal constants are not equal, resulting in poor
|
||||
optimization.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>EXPLAIN</> to handle gating Result nodes within
|
||||
inner-indexscan subplans (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The usual symptom of this oversight was <quote>bogus varno</> errors.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Work around gcc 4.6.0 bug that breaks WAL replay (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This could lead to loss of committed transactions after a server crash.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix dump bug for <literal>VALUES</> in a view (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Disallow <literal>SELECT FOR UPDATE/SHARE</> on sequences (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This operation doesn't work as expected and can lead to failures.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>VACUUM</> so that it always updates
|
||||
<literal>pg_class</>.<literal>reltuples</>/<literal>relpages</> (Tom
|
||||
Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This fixes some scenarios where autovacuum could make increasingly poor
|
||||
decisions about when to vacuum tables.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Defend against integer overflow when computing size of a hash table (Tom
|
||||
Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix cases where <command>CLUSTER</> might attempt to access
|
||||
already-removed TOAST data (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix portability bugs in use of credentials control messages for
|
||||
<quote>peer</> authentication (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix SSPI login when multiple roundtrips are required (Ahmed Shinwari,
|
||||
Magnus Hagander)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The typical symptom of this problem was <quote>The function requested is
|
||||
not supported</> errors during SSPI login.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Throw an error if <filename>pg_hba.conf</> contains <literal>hostssl</>
|
||||
but SSL is disabled (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This was concluded to be more user-friendly than the previous behavior
|
||||
of silently ignoring such lines.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix typo in <function>pg_srand48</> seed initialization (Andres Freund)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This led to failure to use all bits of the provided seed. This function
|
||||
is not used on most platforms (only those without <function>srandom</>),
|
||||
and the potential security exposure from a less-random-than-expected
|
||||
seed seems minimal in any case.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid integer overflow when the sum of <literal>LIMIT</> and
|
||||
<literal>OFFSET</> values exceeds 2^63 (Heikki Linnakangas)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Add overflow checks to <type>int4</> and <type>int8</> versions of
|
||||
<function>generate_series()</> (Robert Haas)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix trailing-zero removal in <function>to_char()</> (Marti Raudsepp)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In a format with <literal>FM</> and no digit positions
|
||||
after the decimal point, zeroes to the left of the decimal point could
|
||||
be removed incorrectly.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <function>pg_size_pretty()</> to avoid overflow for inputs close to
|
||||
2^63 (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Weaken plpgsql's check for typmod matching in record values (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
An overly enthusiastic check could lead to discarding length modifiers
|
||||
that should have been kept.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Correctly handle quotes in locale names during <application>initdb</>
|
||||
(Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The case can arise with some Windows locales, such as <quote>People's
|
||||
Republic of China</>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_upgrade</> to preserve toast tables' relfrozenxids
|
||||
during an upgrade from 8.3 (Bruce Momjian)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Failure to do this could lead to <filename>pg_clog</> files being
|
||||
removed too soon after the upgrade.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>pg_ctl</>, support silent mode for service registrations
|
||||
on Windows (MauMau)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>psql</>'s counting of script file line numbers during
|
||||
<literal>COPY</> from a different file (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_restore</>'s direct-to-database mode for
|
||||
<varname>standard_conforming_strings</> (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<application>pg_restore</> could emit incorrect commands when restoring
|
||||
directly to a database server from an archive file that had been made
|
||||
with <varname>standard_conforming_strings</> set to <literal>on</>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Be more user-friendly about unsupported cases for parallel
|
||||
<application>pg_restore</> (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This change ensures that such cases are detected and reported before
|
||||
any restore actions have been taken.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix write-past-buffer-end and memory leak in <application>libpq</>'s
|
||||
LDAP service lookup code (Albe Laurenz)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>libpq</>, avoid failures when using nonblocking I/O
|
||||
and an SSL connection (Martin Pihlak, Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Improve libpq's handling of failures during connection startup
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In particular, the response to a server report of <function>fork()</>
|
||||
failure during SSL connection startup is now saner.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Improve <application>libpq</>'s error reporting for SSL failures (Tom
|
||||
Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <function>PQsetvalue()</> to avoid possible crash when adding a new
|
||||
tuple to a <structname>PGresult</> originally obtained from a server
|
||||
query (Andrew Chernow)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Make <application>ecpglib</> write <type>double</> values with 15 digits
|
||||
precision (Akira Kurosawa)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>ecpglib</>, be sure <literal>LC_NUMERIC</> setting is
|
||||
restored after an error (Michael Meskes)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Apply upstream fix for blowfish signed-character bug (CVE-2011-2483)
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<filename>contrib/pg_crypto</>'s blowfish encryption code could give
|
||||
wrong results on platforms where char is signed (which is most),
|
||||
leading to encrypted passwords being weaker than they should be.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix memory leak in <filename>contrib/seg</> (Heikki Linnakangas)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <function>pgstatindex()</> to give consistent results for empty
|
||||
indexes (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Allow building with perl 5.14 (Alex Hunsaker)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update configure script's method for probing existence of system
|
||||
functions (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The version of autoconf we used in 8.3 and 8.2 could be fooled by
|
||||
compilers that perform link-time optimization.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix assorted issues with build and install file paths containing spaces
|
||||
(Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update time zone data files to <application>tzdata</> release 2011i
|
||||
for DST law changes in Canada, Egypt, Russia, Samoa, and South Sudan.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-8-4-8">
|
||||
<title>Release 8.4.8</title>
|
||||
|
||||
|
@ -1,6 +1,656 @@
|
||||
<!-- doc/src/sgml/release-9.0.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-9-0-5">
|
||||
<title>Release 9.0.5</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2011-09-26</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 9.0.4.
|
||||
For information about new features in the 9.0 major release, see
|
||||
<xref linkend="release-9-0">.
|
||||
</para>
|
||||
|
||||
<sect2>
|
||||
<title>Migration to Version 9.0.5</title>
|
||||
|
||||
<para>
|
||||
A dump/restore is not required for those running 9.0.X.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
However, if you are upgrading from a version earlier than 9.0.4,
|
||||
see the release notes for 9.0.4.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Changes</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix catalog cache invalidation after a <command>VACUUM FULL</> or
|
||||
<command>CLUSTER</> on a system catalog (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In some cases the relocation of a system catalog row to another place
|
||||
would not be recognized by concurrent server processes, allowing catalog
|
||||
corruption to occur if they then tried to update that row. The
|
||||
worst-case outcome could be as bad as complete loss of a table.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix incorrect order of operations during sinval reset processing,
|
||||
and ensure that TOAST OIDs are preserved in system catalogs (Tom
|
||||
Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
These mistakes could lead to transient failures after a <command>VACUUM
|
||||
FULL</> or <command>CLUSTER</> on a system catalog.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix bugs in indexing of in-doubt HOT-updated tuples (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
These bugs could result in index corruption after reindexing a system
|
||||
catalog. They are not believed to affect user indexes.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix multiple bugs in GiST index page split processing (Heikki
|
||||
Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The probability of occurrence was low, but these could lead to index
|
||||
corruption.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix possible buffer overrun in <function>tsvector_concat()</>
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The function could underestimate the amount of memory needed for its
|
||||
result, leading to server crashes.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix crash in <function>xml_recv</> when processing a
|
||||
<quote>standalone</> parameter (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Make <function>pg_options_to_table</> return NULL for an option with no
|
||||
value (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Previously such cases would result in a server crash.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid possibly accessing off the end of memory in <command>ANALYZE</>
|
||||
and in SJIS-2004 encoding conversion (Noah Misch)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This fixes some very-low-probability server crash scenarios.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Protect <function>pg_stat_reset_shared()</> against NULL input (Magnus
|
||||
Hagander)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix possible failure when a recovery conflict deadlock is detected
|
||||
within a sub-transaction (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid spurious conflicts while recycling btree index pages during hot
|
||||
standby (Noah Misch, Simon Riggs)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Shut down WAL receiver if it's still running at end of recovery (Heikki
|
||||
Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The postmaster formerly panicked in this situation, but it's actually a
|
||||
legitimate case.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix race condition in relcache init file invalidation (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
There was a window wherein a new backend process could read a stale init
|
||||
file but miss the inval messages that would tell it the data is stale.
|
||||
The result would be bizarre failures in catalog accesses, typically
|
||||
<quote>could not read block 0 in file ...</> later during startup.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix memory leak at end of a GiST index scan (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Commands that perform many separate GiST index scans, such as
|
||||
verification of a new GiST-based exclusion constraint on a table
|
||||
already containing many rows, could transiently require large amounts of
|
||||
memory due to this leak.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix memory leak when encoding conversion has to be done on incoming
|
||||
command strings and <command>LISTEN</> is active (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix incorrect memory accounting (leading to possible memory bloat) in
|
||||
tuplestores supporting holdable cursors and plpgsql's <literal>RETURN
|
||||
NEXT</> command (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix trigger <literal>WHEN</> conditions when both <literal>BEFORE</> and
|
||||
<literal>AFTER</> triggers exist (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Evaluation of <literal>WHEN</> conditions for <literal>AFTER ROW
|
||||
UPDATE</> triggers could crash if there had been a <literal>BEFORE
|
||||
ROW</> trigger fired for the same update.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix performance problem when constructing a large, lossy bitmap
|
||||
(Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix join selectivity estimation for unique columns (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This fixes an erroneous planner heuristic that could lead to poor
|
||||
estimates of the result size of a join.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix nested PlaceHolderVar expressions that appear only in sub-select
|
||||
target lists (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This mistake could result in outputs of an outer join incorrectly
|
||||
appearing as NULL.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Allow the planner to assume that empty parent tables really are empty
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Normally an empty table is assumed to have a certain minimum size for
|
||||
planning purposes; but this heuristic seems to do more harm than good
|
||||
for the parent table of an inheritance hierarchy, which often is
|
||||
permanently empty.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Allow nested <literal>EXISTS</> queries to be optimized properly (Tom
|
||||
Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix array- and path-creating functions to ensure padding bytes are
|
||||
zeroes (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This avoids some situations where the planner will think that
|
||||
semantically-equal constants are not equal, resulting in poor
|
||||
optimization.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>EXPLAIN</> to handle gating Result nodes within
|
||||
inner-indexscan subplans (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The usual symptom of this oversight was <quote>bogus varno</> errors.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix btree preprocessing of <replaceable>indexedcol</> <literal>IS
|
||||
NULL</> conditions (Dean Rasheed)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Such a condition is unsatisfiable if combined with any other type of
|
||||
btree-indexable condition on the same index column. The case was
|
||||
handled incorrectly in 9.0.0 and later, leading to query output where
|
||||
there should be none.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Work around gcc 4.6.0 bug that breaks WAL replay (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This could lead to loss of committed transactions after a server crash.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix dump bug for <literal>VALUES</> in a view (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Disallow <literal>SELECT FOR UPDATE/SHARE</> on sequences (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This operation doesn't work as expected and can lead to failures.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>VACUUM</> so that it always updates
|
||||
<literal>pg_class</>.<literal>reltuples</>/<literal>relpages</> (Tom
|
||||
Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This fixes some scenarios where autovacuum could make increasingly poor
|
||||
decisions about when to vacuum tables.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Defend against integer overflow when computing size of a hash table (Tom
|
||||
Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix cases where <command>CLUSTER</> might attempt to access
|
||||
already-removed TOAST data (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix premature timeout failures during initial authentication transaction
|
||||
(Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix portability bugs in use of credentials control messages for
|
||||
<quote>peer</> authentication (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix SSPI login when multiple roundtrips are required (Ahmed Shinwari,
|
||||
Magnus Hagander)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The typical symptom of this problem was <quote>The function requested is
|
||||
not supported</> errors during SSPI login.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix failure when adding a new variable of a custom variable class to
|
||||
<filename>postgresql.conf</> (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Throw an error if <filename>pg_hba.conf</> contains <literal>hostssl</>
|
||||
but SSL is disabled (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This was concluded to be more user-friendly than the previous behavior
|
||||
of silently ignoring such lines.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix failure when <command>DROP OWNED BY</> attempts to remove default
|
||||
privileges on sequences (Shigeru Hanada)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix typo in <function>pg_srand48</> seed initialization (Andres Freund)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This led to failure to use all bits of the provided seed. This function
|
||||
is not used on most platforms (only those without <function>srandom</>),
|
||||
and the potential security exposure from a less-random-than-expected
|
||||
seed seems minimal in any case.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid integer overflow when the sum of <literal>LIMIT</> and
|
||||
<literal>OFFSET</> values exceeds 2^63 (Heikki Linnakangas)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Add overflow checks to <type>int4</> and <type>int8</> versions of
|
||||
<function>generate_series()</> (Robert Haas)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix trailing-zero removal in <function>to_char()</> (Marti Raudsepp)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In a format with <literal>FM</> and no digit positions
|
||||
after the decimal point, zeroes to the left of the decimal point could
|
||||
be removed incorrectly.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <function>pg_size_pretty()</> to avoid overflow for inputs close to
|
||||
2^63 (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Weaken plpgsql's check for typmod matching in record values (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
An overly enthusiastic check could lead to discarding length modifiers
|
||||
that should have been kept.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Correctly handle quotes in locale names during <application>initdb</>
|
||||
(Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The case can arise with some Windows locales, such as <quote>People's
|
||||
Republic of China</>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>pg_upgrade</>, avoid dumping orphaned temporary tables
|
||||
(Bruce Momjian)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This prevents situations wherein table OID assignments could get out of
|
||||
sync between old and new installations.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_upgrade</> to preserve toast tables' relfrozenxids
|
||||
during an upgrade from 8.3 (Bruce Momjian)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Failure to do this could lead to <filename>pg_clog</> files being
|
||||
removed too soon after the upgrade.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>pg_upgrade</>, fix the <literal>-l</> (log) option to
|
||||
work on Windows (Bruce Momjian)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>pg_ctl</>, support silent mode for service registrations
|
||||
on Windows (MauMau)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>psql</>'s counting of script file line numbers during
|
||||
<literal>COPY</> from a different file (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_restore</>'s direct-to-database mode for
|
||||
<varname>standard_conforming_strings</> (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<application>pg_restore</> could emit incorrect commands when restoring
|
||||
directly to a database server from an archive file that had been made
|
||||
with <varname>standard_conforming_strings</> set to <literal>on</>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Be more user-friendly about unsupported cases for parallel
|
||||
<application>pg_restore</> (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This change ensures that such cases are detected and reported before
|
||||
any restore actions have been taken.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix write-past-buffer-end and memory leak in <application>libpq</>'s
|
||||
LDAP service lookup code (Albe Laurenz)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>libpq</>, avoid failures when using nonblocking I/O
|
||||
and an SSL connection (Martin Pihlak, Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Improve libpq's handling of failures during connection startup
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In particular, the response to a server report of <function>fork()</>
|
||||
failure during SSL connection startup is now saner.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Improve <application>libpq</>'s error reporting for SSL failures (Tom
|
||||
Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <function>PQsetvalue()</> to avoid possible crash when adding a new
|
||||
tuple to a <structname>PGresult</> originally obtained from a server
|
||||
query (Andrew Chernow)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Make <application>ecpglib</> write <type>double</> values with 15 digits
|
||||
precision (Akira Kurosawa)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <application>ecpglib</>, be sure <literal>LC_NUMERIC</> setting is
|
||||
restored after an error (Michael Meskes)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Apply upstream fix for blowfish signed-character bug (CVE-2011-2483)
|
||||
(Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<filename>contrib/pg_crypto</>'s blowfish encryption code could give
|
||||
wrong results on platforms where char is signed (which is most),
|
||||
leading to encrypted passwords being weaker than they should be.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix memory leak in <filename>contrib/seg</> (Heikki Linnakangas)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <function>pgstatindex()</> to give consistent results for empty
|
||||
indexes (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Allow building with perl 5.14 (Alex Hunsaker)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix assorted issues with build and install file paths containing spaces
|
||||
(Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update time zone data files to <application>tzdata</> release 2011i
|
||||
for DST law changes in Canada, Egypt, Russia, Samoa, and South Sudan.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-9-0-4">
|
||||
<title>Release 9.0.4</title>
|
||||
|
||||
|
@ -1,6 +1,74 @@
|
||||
<!-- doc/src/sgml/release-9.1.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-9-1-1">
|
||||
<title>Release 9.1.1</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2011-09-26</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a small number of fixes from 9.1.0.
|
||||
For information about new features in the 9.1 major release, see
|
||||
<xref linkend="release-9-1">.
|
||||
</para>
|
||||
|
||||
<sect2>
|
||||
<title>Migration to Version 9.1.1</title>
|
||||
|
||||
<para>
|
||||
A dump/restore is not required for those running 9.1.X.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Changes</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Make <function>pg_options_to_table</> return NULL for an option with no
|
||||
value (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Previously such cases would result in a server crash.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix memory leak at end of a GiST index scan (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Commands that perform many separate GiST index scans, such as
|
||||
verification of a new GiST-based exclusion constraint on a table
|
||||
already containing many rows, could transiently require large amounts of
|
||||
memory due to this leak.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix explicit reference to <literal>pg_temp</> schema in <command>CREATE
|
||||
TEMPORARY TABLE</> (Robert Haas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This used to be allowed, but failed in 9.1.0.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-9-1">
|
||||
<title>Release 9.1</title>
|
||||
|
||||
@ -377,6 +445,14 @@
|
||||
rather than by manually invoking their SQL scripts
|
||||
(Dimitri Fontaine, Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To update an existing database containing the 9.0 version of a contrib
|
||||
module, use <literal>CREATE EXTENSION ... FROM unpackaged</literal>
|
||||
to wrap the existing contrib module's objects into an extension. When
|
||||
updating from a pre-9.0 version, drop the contrib module's objects
|
||||
using its old uninstall script, then use <literal>CREATE EXTENSION</>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
Loading…
x
Reference in New Issue
Block a user