mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-07 19:47:50 +08:00
Release notes for 9.3.5, 9.2.9, 9.1.14, 9.0.18, 8.4.22.
This commit is contained in:
parent
87f830e0ce
commit
212825f813
@ -1,6 +1,325 @@
|
||||
<!-- doc/src/sgml/release-8.4.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-8-4-22">
|
||||
<title>Release 8.4.22</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2014-07-24</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 8.4.21.
|
||||
For information about new features in the 8.4 major release, see
|
||||
<xref linkend="release-8-4">.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This is expected to be the last <productname>PostgreSQL</> release
|
||||
in the 8.4.X series. Users are encouraged to update to a newer
|
||||
release branch soon.
|
||||
</para>
|
||||
|
||||
<sect2>
|
||||
<title>Migration to Version 8.4.22</title>
|
||||
|
||||
<para>
|
||||
A dump/restore is not required for those running 8.4.X.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
However, this release corrects an index corruption problem in some GiST
|
||||
indexes. See the first changelog entry below to find out whether your
|
||||
installation has been affected and what steps you should take if so.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Also, if you are upgrading from a version earlier than 8.4.19,
|
||||
see <xref linkend="release-8-4-19">.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Changes</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Correctly initialize padding bytes in <filename>contrib/btree_gist</>
|
||||
indexes on <type>bit</> columns (Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This error could result in incorrect query results due to values that
|
||||
should compare equal not being seen as equal.
|
||||
Users with GiST indexes on <type>bit</> or <type>bit varying</>
|
||||
columns should <command>REINDEX</> those indexes after installing this
|
||||
update.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Protect against torn pages when deleting GIN list pages (Heikki
|
||||
Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This fix prevents possible index corruption if a system crash occurs
|
||||
while the page update is being written to disk.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix possibly-incorrect cache invalidation during nested calls
|
||||
to <function>ReceiveSharedInvalidMessages</> (Andres Freund)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Don't assume a subquery's output is unique if there's a set-returning
|
||||
function in its targetlist (David Rowley)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight could lead to misoptimization of constructs
|
||||
like <literal>WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP
|
||||
BY y)</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix failure to detoast fields in composite elements of structured
|
||||
types (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This corrects cases where TOAST pointers could be copied into other
|
||||
tables without being dereferenced. If the original data is later
|
||||
deleted, it would lead to errors like <quote>missing chunk number 0
|
||||
for toast value ...</> when the now-dangling pointer is used.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <quote>record type has not been registered</> failures with
|
||||
whole-row references to the output of Append plan nodes (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix possible crash when invoking a user-defined function while
|
||||
rewinding a cursor (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix query-lifespan memory leak while evaluating the arguments for a
|
||||
function in <literal>FROM</> (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix session-lifespan memory leaks in regular-expression processing
|
||||
(Tom Lane, Arthur O'Dwyer, Greg Stark)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix data encoding error in <filename>hungarian.stop</> (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix liveness checks for rows that were inserted in the current
|
||||
transaction and then deleted by a now-rolled-back subtransaction
|
||||
(Andres Freund)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This could cause problems (at least spurious warnings, and at worst an
|
||||
infinite loop) if <command>CREATE INDEX</> or <command>CLUSTER</> were
|
||||
done later in the same transaction.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Clear <structname>pg_stat_activity</>.<structfield>xact_start</>
|
||||
during <command>PREPARE TRANSACTION</> (Andres Freund)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
After the <command>PREPARE</>, the originating session is no longer in
|
||||
a transaction, so it should not continue to display a transaction
|
||||
start time.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>REASSIGN OWNED</> to not fail for text search objects
|
||||
(Álvaro Herrera)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Block signals during postmaster startup (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This ensures that the postmaster will properly clean up after itself
|
||||
if, for example, it receives <systemitem>SIGINT</> while still
|
||||
starting up.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Secure Unix-domain sockets of temporary postmasters started during
|
||||
<literal>make check</> (Noah Misch)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Any local user able to access the socket file could connect as the
|
||||
server's bootstrap superuser, then proceed to execute arbitrary code as
|
||||
the operating-system user running the test, as we previously noted in
|
||||
CVE-2014-0067. This change defends against that risk by placing the
|
||||
server's socket in a temporary, mode 0700 subdirectory
|
||||
of <filename>/tmp</>. The hazard remains however on platforms where
|
||||
Unix sockets are not supported, notably Windows, because then the
|
||||
temporary postmaster must accept local TCP connections.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A useful side effect of this change is to simplify
|
||||
<literal>make check</> testing in builds that
|
||||
override <literal>DEFAULT_PGSOCKET_DIR</>. Popular non-default values
|
||||
like <filename>/var/run/postgresql</> are often not writable by the
|
||||
build user, requiring workarounds that will no longer be necessary.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
On Windows, allow new sessions to absorb values of PGC_BACKEND
|
||||
parameters (such as <xref linkend="guc-log-connections">) from the
|
||||
configuration file (Amit Kapila)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Previously, if such a parameter were changed in the file post-startup,
|
||||
the change would have no effect.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Properly quote executable path names on Windows (Nikhil Deshpande)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight could cause <application>initdb</>
|
||||
and <application>pg_upgrade</> to fail on Windows, if the installation
|
||||
path contained both spaces and <literal>@</> signs.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix linking of <application>libpython</> on OS X (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The method we previously used can fail with the Python library
|
||||
supplied by Xcode 5.0 and later.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid buffer bloat in <application>libpq</> when the server
|
||||
consistently sends data faster than the client can absorb it
|
||||
(Shin-ichi Morita, Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<application>libpq</> could be coerced into enlarging its input buffer
|
||||
until it runs out of memory (which would be reported misleadingly
|
||||
as <quote>lost synchronization with server</>). Under ordinary
|
||||
circumstances it's quite far-fetched that data could be continuously
|
||||
transmitted more quickly than the <function>recv()</> loop can
|
||||
absorb it, but this has been observed when the client is artificially
|
||||
slowed by scheduler constraints.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Ensure that LDAP lookup attempts in <application>libpq</> time out as
|
||||
intended (Laurenz Albe)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_restore</>'s processing of old-style large object
|
||||
comments (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A direct-to-database restore from an archive file generated by a
|
||||
pre-9.0 version of <application>pg_dump</> would usually fail if the
|
||||
archive contained more than a few comments for large objects.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <filename>contrib/pgcrypto</> functions, ensure sensitive
|
||||
information is cleared from stack variables before returning
|
||||
(Marko Kreen)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <filename>contrib/uuid-ossp</>, cache the state of the OSSP UUID
|
||||
library across calls (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This improves the efficiency of UUID generation and reduces the amount
|
||||
of entropy drawn from <filename>/dev/urandom</>, on platforms that
|
||||
have that.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update time zone data files to <application>tzdata</> release 2014e
|
||||
for DST law changes in Crimea, Egypt, and Morocco.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-8-4-21">
|
||||
<title>Release 8.4.21</title>
|
||||
|
||||
@ -113,9 +432,6 @@
|
||||
for DST law changes in Fiji and Turkey, plus historical changes in
|
||||
Israel and Ukraine.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
@ -3702,9 +4018,6 @@
|
||||
Prevent crash triggered by constant-false WHERE conditions during
|
||||
GEQO optimization (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -1,6 +1,352 @@
|
||||
<!-- doc/src/sgml/release-9.0.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-9-0-18">
|
||||
<title>Release 9.0.18</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2014-07-24</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 9.0.17.
|
||||
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.18</title>
|
||||
|
||||
<para>
|
||||
A dump/restore is not required for those running 9.0.X.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
However, this release corrects an index corruption problem in some GiST
|
||||
indexes. See the first changelog entry below to find out whether your
|
||||
installation has been affected and what steps you should take if so.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Also, if you are upgrading from a version earlier than 9.0.15,
|
||||
see <xref linkend="release-9-0-15">.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Changes</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Correctly initialize padding bytes in <filename>contrib/btree_gist</>
|
||||
indexes on <type>bit</> columns (Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This error could result in incorrect query results due to values that
|
||||
should compare equal not being seen as equal.
|
||||
Users with GiST indexes on <type>bit</> or <type>bit varying</>
|
||||
columns should <command>REINDEX</> those indexes after installing this
|
||||
update.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Protect against torn pages when deleting GIN list pages (Heikki
|
||||
Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This fix prevents possible index corruption if a system crash occurs
|
||||
while the page update is being written to disk.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Don't clear the right-link of a GiST index page while replaying
|
||||
updates from WAL (Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This error could lead to transiently wrong answers from GiST index
|
||||
scans performed in Hot Standby.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix possibly-incorrect cache invalidation during nested calls
|
||||
to <function>ReceiveSharedInvalidMessages</> (Andres Freund)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Don't assume a subquery's output is unique if there's a set-returning
|
||||
function in its targetlist (David Rowley)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight could lead to misoptimization of constructs
|
||||
like <literal>WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP
|
||||
BY y)</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix failure to detoast fields in composite elements of structured
|
||||
types (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This corrects cases where TOAST pointers could be copied into other
|
||||
tables without being dereferenced. If the original data is later
|
||||
deleted, it would lead to errors like <quote>missing chunk number 0
|
||||
for toast value ...</> when the now-dangling pointer is used.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <quote>record type has not been registered</> failures with
|
||||
whole-row references to the output of Append plan nodes (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix possible crash when invoking a user-defined function while
|
||||
rewinding a cursor (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix query-lifespan memory leak while evaluating the arguments for a
|
||||
function in <literal>FROM</> (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix session-lifespan memory leaks in regular-expression processing
|
||||
(Tom Lane, Arthur O'Dwyer, Greg Stark)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix data encoding error in <filename>hungarian.stop</> (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix liveness checks for rows that were inserted in the current
|
||||
transaction and then deleted by a now-rolled-back subtransaction
|
||||
(Andres Freund)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This could cause problems (at least spurious warnings, and at worst an
|
||||
infinite loop) if <command>CREATE INDEX</> or <command>CLUSTER</> were
|
||||
done later in the same transaction.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Clear <structname>pg_stat_activity</>.<structfield>xact_start</>
|
||||
during <command>PREPARE TRANSACTION</> (Andres Freund)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
After the <command>PREPARE</>, the originating session is no longer in
|
||||
a transaction, so it should not continue to display a transaction
|
||||
start time.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>REASSIGN OWNED</> to not fail for text search objects
|
||||
(Álvaro Herrera)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Block signals during postmaster startup (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This ensures that the postmaster will properly clean up after itself
|
||||
if, for example, it receives <systemitem>SIGINT</> while still
|
||||
starting up.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Secure Unix-domain sockets of temporary postmasters started during
|
||||
<literal>make check</> (Noah Misch)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Any local user able to access the socket file could connect as the
|
||||
server's bootstrap superuser, then proceed to execute arbitrary code as
|
||||
the operating-system user running the test, as we previously noted in
|
||||
CVE-2014-0067. This change defends against that risk by placing the
|
||||
server's socket in a temporary, mode 0700 subdirectory
|
||||
of <filename>/tmp</>. The hazard remains however on platforms where
|
||||
Unix sockets are not supported, notably Windows, because then the
|
||||
temporary postmaster must accept local TCP connections.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A useful side effect of this change is to simplify
|
||||
<literal>make check</> testing in builds that
|
||||
override <literal>DEFAULT_PGSOCKET_DIR</>. Popular non-default values
|
||||
like <filename>/var/run/postgresql</> are often not writable by the
|
||||
build user, requiring workarounds that will no longer be necessary.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix tablespace creation WAL replay to work on Windows (MauMau)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix detection of socket creation failures on Windows (Bruce Momjian)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
On Windows, allow new sessions to absorb values of PGC_BACKEND
|
||||
parameters (such as <xref linkend="guc-log-connections">) from the
|
||||
configuration file (Amit Kapila)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Previously, if such a parameter were changed in the file post-startup,
|
||||
the change would have no effect.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Properly quote executable path names on Windows (Nikhil Deshpande)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight could cause <application>initdb</>
|
||||
and <application>pg_upgrade</> to fail on Windows, if the installation
|
||||
path contained both spaces and <literal>@</> signs.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix linking of <application>libpython</> on OS X (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The method we previously used can fail with the Python library
|
||||
supplied by Xcode 5.0 and later.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid buffer bloat in <application>libpq</> when the server
|
||||
consistently sends data faster than the client can absorb it
|
||||
(Shin-ichi Morita, Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<application>libpq</> could be coerced into enlarging its input buffer
|
||||
until it runs out of memory (which would be reported misleadingly
|
||||
as <quote>lost synchronization with server</>). Under ordinary
|
||||
circumstances it's quite far-fetched that data could be continuously
|
||||
transmitted more quickly than the <function>recv()</> loop can
|
||||
absorb it, but this has been observed when the client is artificially
|
||||
slowed by scheduler constraints.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Ensure that LDAP lookup attempts in <application>libpq</> time out as
|
||||
intended (Laurenz Albe)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>ecpg</> to do the right thing when an array
|
||||
of <type>char *</> is the target for a FETCH statement returning more
|
||||
than one row, as well as some other array-handling fixes
|
||||
(Ashutosh Bapat)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_restore</>'s processing of old-style large object
|
||||
comments (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A direct-to-database restore from an archive file generated by a
|
||||
pre-9.0 version of <application>pg_dump</> would usually fail if the
|
||||
archive contained more than a few comments for large objects.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <filename>contrib/pgcrypto</> functions, ensure sensitive
|
||||
information is cleared from stack variables before returning
|
||||
(Marko Kreen)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <filename>contrib/uuid-ossp</>, cache the state of the OSSP UUID
|
||||
library across calls (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This improves the efficiency of UUID generation and reduces the amount
|
||||
of entropy drawn from <filename>/dev/urandom</>, on platforms that
|
||||
have that.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update time zone data files to <application>tzdata</> release 2014e
|
||||
for DST law changes in Crimea, Egypt, and Morocco.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-9-0-17">
|
||||
<title>Release 9.0.17</title>
|
||||
|
||||
@ -147,9 +493,6 @@
|
||||
for DST law changes in Fiji and Turkey, plus historical changes in
|
||||
Israel and Ukraine.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
@ -4592,9 +4935,6 @@
|
||||
Prevent crash triggered by constant-false WHERE conditions during
|
||||
GEQO optimization (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -1,6 +1,389 @@
|
||||
<!-- doc/src/sgml/release-9.1.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-9-1-14">
|
||||
<title>Release 9.1.14</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2014-07-24</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 9.1.13.
|
||||
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.14</title>
|
||||
|
||||
<para>
|
||||
A dump/restore is not required for those running 9.1.X.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
However, this release corrects an index corruption problem in some GiST
|
||||
indexes. See the first changelog entry below to find out whether your
|
||||
installation has been affected and what steps you should take if so.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Also, if you are upgrading from a version earlier than 9.1.11,
|
||||
see <xref linkend="release-9-1-11">.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Changes</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Correctly initialize padding bytes in <filename>contrib/btree_gist</>
|
||||
indexes on <type>bit</> columns (Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This error could result in incorrect query results due to values that
|
||||
should compare equal not being seen as equal.
|
||||
Users with GiST indexes on <type>bit</> or <type>bit varying</>
|
||||
columns should <command>REINDEX</> those indexes after installing this
|
||||
update.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Protect against torn pages when deleting GIN list pages (Heikki
|
||||
Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This fix prevents possible index corruption if a system crash occurs
|
||||
while the page update is being written to disk.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Don't clear the right-link of a GiST index page while replaying
|
||||
updates from WAL (Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This error could lead to transiently wrong answers from GiST index
|
||||
scans performed in Hot Standby.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix feedback status when <xref linkend="guc-hot-standby-feedback"> is
|
||||
turned off on-the-fly (Simon Riggs)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix possibly-incorrect cache invalidation during nested calls
|
||||
to <function>ReceiveSharedInvalidMessages</> (Andres Freund)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <quote>could not find pathkey item to sort</> planner failures
|
||||
with <literal>UNION ALL</> over subqueries reading from tables with
|
||||
inheritance children (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Don't assume a subquery's output is unique if there's a set-returning
|
||||
function in its targetlist (David Rowley)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight could lead to misoptimization of constructs
|
||||
like <literal>WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP
|
||||
BY y)</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix failure to detoast fields in composite elements of structured
|
||||
types (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This corrects cases where TOAST pointers could be copied into other
|
||||
tables without being dereferenced. If the original data is later
|
||||
deleted, it would lead to errors like <quote>missing chunk number 0
|
||||
for toast value ...</> when the now-dangling pointer is used.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <quote>record type has not been registered</> failures with
|
||||
whole-row references to the output of Append plan nodes (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix possible crash when invoking a user-defined function while
|
||||
rewinding a cursor (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix query-lifespan memory leak while evaluating the arguments for a
|
||||
function in <literal>FROM</> (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix session-lifespan memory leaks in regular-expression processing
|
||||
(Tom Lane, Arthur O'Dwyer, Greg Stark)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix data encoding error in <filename>hungarian.stop</> (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Prevent foreign tables from being created with OIDS
|
||||
when <xref linkend="guc-default-with-oids"> is true
|
||||
(Etsuro Fujita)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix liveness checks for rows that were inserted in the current
|
||||
transaction and then deleted by a now-rolled-back subtransaction
|
||||
(Andres Freund)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This could cause problems (at least spurious warnings, and at worst an
|
||||
infinite loop) if <command>CREATE INDEX</> or <command>CLUSTER</> were
|
||||
done later in the same transaction.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Clear <structname>pg_stat_activity</>.<structfield>xact_start</>
|
||||
during <command>PREPARE TRANSACTION</> (Andres Freund)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
After the <command>PREPARE</>, the originating session is no longer in
|
||||
a transaction, so it should not continue to display a transaction
|
||||
start time.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>REASSIGN OWNED</> to not fail for text search objects
|
||||
(Álvaro Herrera)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Block signals during postmaster startup (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This ensures that the postmaster will properly clean up after itself
|
||||
if, for example, it receives <systemitem>SIGINT</> while still
|
||||
starting up.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix client host name lookup when processing <filename>pg_hba.conf</>
|
||||
entries that specify host names instead of IP addresses (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Ensure that reverse-DNS lookup failures are reported, instead of just
|
||||
silently not matching such entries. Also ensure that we make only
|
||||
one reverse-DNS lookup attempt per connection, not one per host name
|
||||
entry, which is what previously happened if the lookup attempts failed.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Secure Unix-domain sockets of temporary postmasters started during
|
||||
<literal>make check</> (Noah Misch)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Any local user able to access the socket file could connect as the
|
||||
server's bootstrap superuser, then proceed to execute arbitrary code as
|
||||
the operating-system user running the test, as we previously noted in
|
||||
CVE-2014-0067. This change defends against that risk by placing the
|
||||
server's socket in a temporary, mode 0700 subdirectory
|
||||
of <filename>/tmp</>. The hazard remains however on platforms where
|
||||
Unix sockets are not supported, notably Windows, because then the
|
||||
temporary postmaster must accept local TCP connections.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A useful side effect of this change is to simplify
|
||||
<literal>make check</> testing in builds that
|
||||
override <literal>DEFAULT_PGSOCKET_DIR</>. Popular non-default values
|
||||
like <filename>/var/run/postgresql</> are often not writable by the
|
||||
build user, requiring workarounds that will no longer be necessary.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix tablespace creation WAL replay to work on Windows (MauMau)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix detection of socket creation failures on Windows (Bruce Momjian)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
On Windows, allow new sessions to absorb values of PGC_BACKEND
|
||||
parameters (such as <xref linkend="guc-log-connections">) from the
|
||||
configuration file (Amit Kapila)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Previously, if such a parameter were changed in the file post-startup,
|
||||
the change would have no effect.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Properly quote executable path names on Windows (Nikhil Deshpande)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight could cause <application>initdb</>
|
||||
and <application>pg_upgrade</> to fail on Windows, if the installation
|
||||
path contained both spaces and <literal>@</> signs.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix linking of <application>libpython</> on OS X (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The method we previously used can fail with the Python library
|
||||
supplied by Xcode 5.0 and later.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid buffer bloat in <application>libpq</> when the server
|
||||
consistently sends data faster than the client can absorb it
|
||||
(Shin-ichi Morita, Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<application>libpq</> could be coerced into enlarging its input buffer
|
||||
until it runs out of memory (which would be reported misleadingly
|
||||
as <quote>lost synchronization with server</>). Under ordinary
|
||||
circumstances it's quite far-fetched that data could be continuously
|
||||
transmitted more quickly than the <function>recv()</> loop can
|
||||
absorb it, but this has been observed when the client is artificially
|
||||
slowed by scheduler constraints.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Ensure that LDAP lookup attempts in <application>libpq</> time out as
|
||||
intended (Laurenz Albe)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>ecpg</> to do the right thing when an array
|
||||
of <type>char *</> is the target for a FETCH statement returning more
|
||||
than one row, as well as some other array-handling fixes
|
||||
(Ashutosh Bapat)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_restore</>'s processing of old-style large object
|
||||
comments (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A direct-to-database restore from an archive file generated by a
|
||||
pre-9.0 version of <application>pg_dump</> would usually fail if the
|
||||
archive contained more than a few comments for large objects.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <filename>contrib/pgcrypto</> functions, ensure sensitive
|
||||
information is cleared from stack variables before returning
|
||||
(Marko Kreen)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <filename>contrib/uuid-ossp</>, cache the state of the OSSP UUID
|
||||
library across calls (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This improves the efficiency of UUID generation and reduces the amount
|
||||
of entropy drawn from <filename>/dev/urandom</>, on platforms that
|
||||
have that.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update time zone data files to <application>tzdata</> release 2014e
|
||||
for DST law changes in Crimea, Egypt, and Morocco.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-9-1-13">
|
||||
<title>Release 9.1.13</title>
|
||||
|
||||
@ -161,9 +544,6 @@
|
||||
for DST law changes in Fiji and Turkey, plus historical changes in
|
||||
Israel and Ukraine.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
@ -2542,9 +2922,6 @@
|
||||
Improve selectivity estimation for text search queries involving
|
||||
prefixes, i.e. <replaceable>word</><literal>:*</> patterns (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -1,6 +1,487 @@
|
||||
<!-- doc/src/sgml/release-9.2.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-9-2-9">
|
||||
<title>Release 9.2.9</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2014-07-24</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 9.2.8.
|
||||
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.9</title>
|
||||
|
||||
<para>
|
||||
A dump/restore is not required for those running 9.2.X.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
However, this release corrects an index corruption problem in some GiST
|
||||
indexes. See the first changelog entry below to find out whether your
|
||||
installation has been affected and what steps you should take if so.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Also, if you are upgrading from a version earlier than 9.2.6,
|
||||
see <xref linkend="release-9-2-6">.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Changes</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Correctly initialize padding bytes in <filename>contrib/btree_gist</>
|
||||
indexes on <type>bit</> columns (Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This error could result in incorrect query results due to values that
|
||||
should compare equal not being seen as equal.
|
||||
Users with GiST indexes on <type>bit</> or <type>bit varying</>
|
||||
columns should <command>REINDEX</> those indexes after installing this
|
||||
update.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Protect against torn pages when deleting GIN list pages (Heikki
|
||||
Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This fix prevents possible index corruption if a system crash occurs
|
||||
while the page update is being written to disk.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Don't clear the right-link of a GiST index page while replaying
|
||||
updates from WAL (Heikki Linnakangas)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This error could lead to transiently wrong answers from GiST index
|
||||
scans performed in Hot Standby.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix corner-case infinite loop during insertion into an SP-GiST text
|
||||
index (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix feedback status when <xref linkend="guc-hot-standby-feedback"> is
|
||||
turned off on-the-fly (Simon Riggs)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix possibly-incorrect cache invalidation during nested calls
|
||||
to <function>ReceiveSharedInvalidMessages</> (Andres Freund)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix planner's mishandling of nested PlaceHolderVars generated in
|
||||
nested-nestloop plans (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight could result in <quote>variable not found in subplan
|
||||
target lists</> errors, or in silently wrong query results.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <quote>could not find pathkey item to sort</> planner failures
|
||||
with <literal>UNION ALL</> over subqueries reading from tables with
|
||||
inheritance children (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Don't assume a subquery's output is unique if there's a set-returning
|
||||
function in its targetlist (David Rowley)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight could lead to misoptimization of constructs
|
||||
like <literal>WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP
|
||||
BY y)</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Improve planner to drop constant-NULL inputs
|
||||
of <literal>AND</>/<literal>OR</> when possible (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This change fixes some cases where the more aggressive parameter
|
||||
substitution done by 9.2 and later can lead to a worse plan than
|
||||
older versions produced.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix identification of input type category in <function>to_json()</>
|
||||
and friends (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This is known to have led to inadequate quoting of <type>money</>
|
||||
fields in the <type>JSON</> result, and there may have been wrong
|
||||
results for other data types as well.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix failure to detoast fields in composite elements of structured
|
||||
types (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This corrects cases where TOAST pointers could be copied into other
|
||||
tables without being dereferenced. If the original data is later
|
||||
deleted, it would lead to errors like <quote>missing chunk number 0
|
||||
for toast value ...</> when the now-dangling pointer is used.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <quote>record type has not been registered</> failures with
|
||||
whole-row references to the output of Append plan nodes (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix possible crash when invoking a user-defined function while
|
||||
rewinding a cursor (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix query-lifespan memory leak while evaluating the arguments for a
|
||||
function in <literal>FROM</> (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix session-lifespan memory leaks in regular-expression processing
|
||||
(Tom Lane, Arthur O'Dwyer, Greg Stark)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix data encoding error in <filename>hungarian.stop</> (Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Prevent foreign tables from being created with OIDS
|
||||
when <xref linkend="guc-default-with-oids"> is true
|
||||
(Etsuro Fujita)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix liveness checks for rows that were inserted in the current
|
||||
transaction and then deleted by a now-rolled-back subtransaction
|
||||
(Andres Freund)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This could cause problems (at least spurious warnings, and at worst an
|
||||
infinite loop) if <command>CREATE INDEX</> or <command>CLUSTER</> were
|
||||
done later in the same transaction.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Clear <structname>pg_stat_activity</>.<structfield>xact_start</>
|
||||
during <command>PREPARE TRANSACTION</> (Andres Freund)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
After the <command>PREPARE</>, the originating session is no longer in
|
||||
a transaction, so it should not continue to display a transaction
|
||||
start time.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <command>REASSIGN OWNED</> to not fail for text search objects
|
||||
(Álvaro Herrera)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Block signals during postmaster startup (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This ensures that the postmaster will properly clean up after itself
|
||||
if, for example, it receives <systemitem>SIGINT</> while still
|
||||
starting up.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix client host name lookup when processing <filename>pg_hba.conf</>
|
||||
entries that specify host names instead of IP addresses (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Ensure that reverse-DNS lookup failures are reported, instead of just
|
||||
silently not matching such entries. Also ensure that we make only
|
||||
one reverse-DNS lookup attempt per connection, not one per host name
|
||||
entry, which is what previously happened if the lookup attempts failed.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Allow the root user to use <literal>postgres -C variable</> and
|
||||
<literal>postgres --describe-config</> (MauMau)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The prohibition on starting the server as root does not need to extend
|
||||
to these operations, and relaxing it prevents failure
|
||||
of <application>pg_ctl</> in some scenarios.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Secure Unix-domain sockets of temporary postmasters started during
|
||||
<literal>make check</> (Noah Misch)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Any local user able to access the socket file could connect as the
|
||||
server's bootstrap superuser, then proceed to execute arbitrary code as
|
||||
the operating-system user running the test, as we previously noted in
|
||||
CVE-2014-0067. This change defends against that risk by placing the
|
||||
server's socket in a temporary, mode 0700 subdirectory
|
||||
of <filename>/tmp</>. The hazard remains however on platforms where
|
||||
Unix sockets are not supported, notably Windows, because then the
|
||||
temporary postmaster must accept local TCP connections.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A useful side effect of this change is to simplify
|
||||
<literal>make check</> testing in builds that
|
||||
override <literal>DEFAULT_PGSOCKET_DIR</>. Popular non-default values
|
||||
like <filename>/var/run/postgresql</> are often not writable by the
|
||||
build user, requiring workarounds that will no longer be necessary.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix tablespace creation WAL replay to work on Windows (MauMau)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix detection of socket creation failures on Windows (Bruce Momjian)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
On Windows, allow new sessions to absorb values of PGC_BACKEND
|
||||
parameters (such as <xref linkend="guc-log-connections">) from the
|
||||
configuration file (Amit Kapila)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Previously, if such a parameter were changed in the file post-startup,
|
||||
the change would have no effect.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Properly quote executable path names on Windows (Nikhil Deshpande)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight could cause <application>initdb</>
|
||||
and <application>pg_upgrade</> to fail on Windows, if the installation
|
||||
path contained both spaces and <literal>@</> signs.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix linking of <application>libpython</> on OS X (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The method we previously used can fail with the Python library
|
||||
supplied by Xcode 5.0 and later.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid buffer bloat in <application>libpq</> when the server
|
||||
consistently sends data faster than the client can absorb it
|
||||
(Shin-ichi Morita, Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<application>libpq</> could be coerced into enlarging its input buffer
|
||||
until it runs out of memory (which would be reported misleadingly
|
||||
as <quote>lost synchronization with server</>). Under ordinary
|
||||
circumstances it's quite far-fetched that data could be continuously
|
||||
transmitted more quickly than the <function>recv()</> loop can
|
||||
absorb it, but this has been observed when the client is artificially
|
||||
slowed by scheduler constraints.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Ensure that LDAP lookup attempts in <application>libpq</> time out as
|
||||
intended (Laurenz Albe)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>ecpg</> to do the right thing when an array
|
||||
of <type>char *</> is the target for a FETCH statement returning more
|
||||
than one row, as well as some other array-handling fixes
|
||||
(Ashutosh Bapat)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_restore</>'s processing of old-style large object
|
||||
comments (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A direct-to-database restore from an archive file generated by a
|
||||
pre-9.0 version of <application>pg_dump</> would usually fail if the
|
||||
archive contained more than a few comments for large objects.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>pg_upgrade</> for cases where the new server creates
|
||||
a TOAST table but the old version did not (Bruce Momjian)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This rare situation would manifest as <quote>relation OID mismatch</>
|
||||
errors.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Prevent <filename>contrib/auto_explain</> from changing the output of
|
||||
a user's <command>EXPLAIN</> (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If <filename>auto_explain</> is active, it could cause
|
||||
an <literal>EXPLAIN (ANALYZE, TIMING OFF)</> command to nonetheless
|
||||
print timing information.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix query-lifespan memory leak in <filename>contrib/dblink</>
|
||||
(MauMau, Joe Conway)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <filename>contrib/pgcrypto</> functions, ensure sensitive
|
||||
information is cleared from stack variables before returning
|
||||
(Marko Kreen)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Prevent use of already-freed memory in
|
||||
<filename>contrib/pgstattuple</>'s <function>pgstat_heap()</>
|
||||
(Noah Misch)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In <filename>contrib/uuid-ossp</>, cache the state of the OSSP UUID
|
||||
library across calls (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This improves the efficiency of UUID generation and reduces the amount
|
||||
of entropy drawn from <filename>/dev/urandom</>, on platforms that
|
||||
have that.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Update time zone data files to <application>tzdata</> release 2014e
|
||||
for DST law changes in Crimea, Egypt, and Morocco.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="release-9-2-8">
|
||||
<title>Release 9.2.8</title>
|
||||
|
||||
@ -183,9 +664,6 @@
|
||||
for DST law changes in Fiji and Turkey, plus historical changes in
|
||||
Israel and Ukraine.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
@ -675,9 +1153,6 @@
|
||||
some <application>psql</> <literal>\d</> commands
|
||||
(Peter Eisentraut, Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
@ -3249,9 +3724,6 @@
|
||||
Improve selectivity estimation for text search queries involving
|
||||
prefixes, i.e. <replaceable>word</><literal>:*</> patterns (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -141,10 +141,8 @@ Branch: REL9_0_STABLE [d034e9b3b] 2014-04-08 14:52:07 +0300
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This is unnecessary, and what's worse is it could lead to wrong
|
||||
answers from concurrent scans of the index. That was not an issue
|
||||
when the code was written, but in Hot Standby operation it's important
|
||||
to leave the link in place.
|
||||
This error could lead to transiently wrong answers from GiST index
|
||||
scans performed in Hot Standby.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@ -222,19 +220,6 @@ Branch: REL9_3_STABLE [95aa823eb] 2014-04-17 17:47:58 +0300
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<!--
|
||||
Author: Simon Riggs <simon@2ndQuadrant.com>
|
||||
Branch: REL9_2_STABLE [2dde11a63] 2014-07-15 14:40:23 +0100
|
||||
Branch: REL9_1_STABLE [8ebf5f720] 2014-07-15 14:45:44 +0100
|
||||
-->
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix feedback status when <xref linkend="guc-hot-standby-feedback"> is
|
||||
turned off on-the-fly (Simon Riggs)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<!--
|
||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||
Branch: master Release: REL9_4_BR [0f928a85e] 2014-05-05 14:43:39 -0400
|
||||
@ -265,23 +250,6 @@ Branch: REL9_3_STABLE [c0bd128c8] 2014-04-24 15:41:55 -0300
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<!--
|
||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||
Branch: REL9_2_STABLE [187ae1730] 2014-06-09 21:28:56 -0400
|
||||
-->
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix planner's mishandling of nested PlaceHolderVars generated in
|
||||
nested-nestloop plans (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This oversight could result in <quote>variable not found in subplan
|
||||
target lists</> errors, or in silently wrong query results.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<!--
|
||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||
Branch: REL9_3_STABLE [a2db7b7d0] 2014-06-26 10:41:59 -0700
|
||||
@ -913,6 +881,13 @@ Branch: REL9_3_STABLE [b4eeb9d58] 2014-05-06 13:04:30 +0200
|
||||
Branch: REL9_2_STABLE [3a024c110] 2014-05-06 13:14:01 +0200
|
||||
Branch: REL9_1_STABLE [fb66e88cf] 2014-05-06 13:20:22 +0200
|
||||
Branch: REL9_0_STABLE [91c8c106f] 2014-05-06 13:24:13 +0200
|
||||
|
||||
Author: Michael Meskes <meskes@postgresql.org>
|
||||
Branch: master Release: REL9_4_BR [f91796853] 2014-04-09 11:23:38 +0200
|
||||
Branch: REL9_3_STABLE [3b8fda676] 2014-04-09 11:38:40 +0200
|
||||
Branch: REL9_2_STABLE [2b3136de9] 2014-04-09 11:43:13 +0200
|
||||
Branch: REL9_1_STABLE [0de106836] 2014-04-09 12:04:33 +0200
|
||||
Branch: REL9_0_STABLE [0c2eb989e] 2014-04-09 12:12:32 +0200
|
||||
-->
|
||||
|
||||
<listitem>
|
||||
@ -1006,6 +981,11 @@ Author: Bruce Momjian <bruce@momjian.us>
|
||||
Branch: master [a61daa14d] 2014-07-02 15:29:38 -0400
|
||||
Branch: REL9_4_STABLE [b446a384b] 2014-07-02 15:29:38 -0400
|
||||
Branch: REL9_3_STABLE [3d2e18510] 2014-07-02 15:29:38 -0400
|
||||
|
||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||
Branch: master [78db307bb] 2014-07-21 11:41:53 -0400
|
||||
Branch: REL9_4_STABLE [d122387d7] 2014-07-21 11:42:00 -0400
|
||||
Branch: REL9_3_STABLE [e7984cca0] 2014-07-21 11:42:05 -0400
|
||||
-->
|
||||
|
||||
<listitem>
|
||||
@ -1013,13 +993,16 @@ Branch: REL9_3_STABLE [3d2e18510] 2014-07-02 15:29:38 -0400
|
||||
In <application>pg_upgrade</>,
|
||||
preserve <structname>pg_database</>.<structfield>datminmxid</>
|
||||
and <structname>pg_class</>.<structfield>relminmxid</> values from the
|
||||
old cluster, or insert reasonable values when upgrading from pre-9.3
|
||||
(Bruce Momjian, Álvaro Herrera)
|
||||
old cluster, or insert reasonable values when upgrading from pre-9.3;
|
||||
also defend against unreasonable values in the core server
|
||||
(Bruce Momjian, Álvaro Herrera, Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This avoids a scenario in which autovacuum might insist on scanning the
|
||||
entire cluster's contents immediately upon starting the new cluster.
|
||||
These changes prevent scenarios in which autovacuum might insist on
|
||||
scanning the entire cluster's contents immediately upon starting the
|
||||
new cluster, or in which tracking of unfrozen MXID values might be
|
||||
disabled completely.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user