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 -->
|
<!-- doc/src/sgml/release-8.4.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- 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">
|
<sect1 id="release-8-4-21">
|
||||||
<title>Release 8.4.21</title>
|
<title>Release 8.4.21</title>
|
||||||
|
|
||||||
@ -113,9 +432,6 @@
|
|||||||
for DST law changes in Fiji and Turkey, plus historical changes in
|
for DST law changes in Fiji and Turkey, plus historical changes in
|
||||||
Israel and Ukraine.
|
Israel and Ukraine.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -3702,9 +4018,6 @@
|
|||||||
Prevent crash triggered by constant-false WHERE conditions during
|
Prevent crash triggered by constant-false WHERE conditions during
|
||||||
GEQO optimization (Tom Lane)
|
GEQO optimization (Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -1,6 +1,352 @@
|
|||||||
<!-- doc/src/sgml/release-9.0.sgml -->
|
<!-- doc/src/sgml/release-9.0.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- 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">
|
<sect1 id="release-9-0-17">
|
||||||
<title>Release 9.0.17</title>
|
<title>Release 9.0.17</title>
|
||||||
|
|
||||||
@ -147,9 +493,6 @@
|
|||||||
for DST law changes in Fiji and Turkey, plus historical changes in
|
for DST law changes in Fiji and Turkey, plus historical changes in
|
||||||
Israel and Ukraine.
|
Israel and Ukraine.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -4592,9 +4935,6 @@
|
|||||||
Prevent crash triggered by constant-false WHERE conditions during
|
Prevent crash triggered by constant-false WHERE conditions during
|
||||||
GEQO optimization (Tom Lane)
|
GEQO optimization (Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -1,6 +1,389 @@
|
|||||||
<!-- doc/src/sgml/release-9.1.sgml -->
|
<!-- doc/src/sgml/release-9.1.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-9-1-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">
|
<sect1 id="release-9-1-13">
|
||||||
<title>Release 9.1.13</title>
|
<title>Release 9.1.13</title>
|
||||||
|
|
||||||
@ -161,9 +544,6 @@
|
|||||||
for DST law changes in Fiji and Turkey, plus historical changes in
|
for DST law changes in Fiji and Turkey, plus historical changes in
|
||||||
Israel and Ukraine.
|
Israel and Ukraine.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -2542,9 +2922,6 @@
|
|||||||
Improve selectivity estimation for text search queries involving
|
Improve selectivity estimation for text search queries involving
|
||||||
prefixes, i.e. <replaceable>word</><literal>:*</> patterns (Tom Lane)
|
prefixes, i.e. <replaceable>word</><literal>:*</> patterns (Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -1,6 +1,487 @@
|
|||||||
<!-- doc/src/sgml/release-9.2.sgml -->
|
<!-- doc/src/sgml/release-9.2.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-9-2-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">
|
<sect1 id="release-9-2-8">
|
||||||
<title>Release 9.2.8</title>
|
<title>Release 9.2.8</title>
|
||||||
|
|
||||||
@ -183,9 +664,6 @@
|
|||||||
for DST law changes in Fiji and Turkey, plus historical changes in
|
for DST law changes in Fiji and Turkey, plus historical changes in
|
||||||
Israel and Ukraine.
|
Israel and Ukraine.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -675,9 +1153,6 @@
|
|||||||
some <application>psql</> <literal>\d</> commands
|
some <application>psql</> <literal>\d</> commands
|
||||||
(Peter Eisentraut, Tom Lane)
|
(Peter Eisentraut, Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -3249,9 +3724,6 @@
|
|||||||
Improve selectivity estimation for text search queries involving
|
Improve selectivity estimation for text search queries involving
|
||||||
prefixes, i.e. <replaceable>word</><literal>:*</> patterns (Tom Lane)
|
prefixes, i.e. <replaceable>word</><literal>:*</> patterns (Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -141,10 +141,8 @@ Branch: REL9_0_STABLE [d034e9b3b] 2014-04-08 14:52:07 +0300
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This is unnecessary, and what's worse is it could lead to wrong
|
This error could lead to transiently wrong answers from GiST index
|
||||||
answers from concurrent scans of the index. That was not an issue
|
scans performed in Hot Standby.
|
||||||
when the code was written, but in Hot Standby operation it's important
|
|
||||||
to leave the link in place.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -222,19 +220,6 @@ Branch: REL9_3_STABLE [95aa823eb] 2014-04-17 17:47:58 +0300
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</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>
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||||
Branch: master Release: REL9_4_BR [0f928a85e] 2014-05-05 14:43:39 -0400
|
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>
|
</para>
|
||||||
</listitem>
|
</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>
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||||
Branch: REL9_3_STABLE [a2db7b7d0] 2014-06-26 10:41:59 -0700
|
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_2_STABLE [3a024c110] 2014-05-06 13:14:01 +0200
|
||||||
Branch: REL9_1_STABLE [fb66e88cf] 2014-05-06 13:20:22 +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
|
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>
|
<listitem>
|
||||||
@ -1006,6 +981,11 @@ Author: Bruce Momjian <bruce@momjian.us>
|
|||||||
Branch: master [a61daa14d] 2014-07-02 15:29:38 -0400
|
Branch: master [a61daa14d] 2014-07-02 15:29:38 -0400
|
||||||
Branch: REL9_4_STABLE [b446a384b] 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
|
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>
|
<listitem>
|
||||||
@ -1013,13 +993,16 @@ Branch: REL9_3_STABLE [3d2e18510] 2014-07-02 15:29:38 -0400
|
|||||||
In <application>pg_upgrade</>,
|
In <application>pg_upgrade</>,
|
||||||
preserve <structname>pg_database</>.<structfield>datminmxid</>
|
preserve <structname>pg_database</>.<structfield>datminmxid</>
|
||||||
and <structname>pg_class</>.<structfield>relminmxid</> values from the
|
and <structname>pg_class</>.<structfield>relminmxid</> values from the
|
||||||
old cluster, or insert reasonable values when upgrading from pre-9.3
|
old cluster, or insert reasonable values when upgrading from pre-9.3;
|
||||||
(Bruce Momjian, Álvaro Herrera)
|
also defend against unreasonable values in the core server
|
||||||
|
(Bruce Momjian, Álvaro Herrera, Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This avoids a scenario in which autovacuum might insist on scanning the
|
These changes prevent scenarios in which autovacuum might insist on
|
||||||
entire cluster's contents immediately upon starting the new cluster.
|
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>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user