mirror of
https://github.com/postgres/postgres.git
synced 2025-05-02 11:44:50 +03:00
Release notes for 9.5beta1, 9.4.5, 9.3.10, 9.2.14, 9.1.19, 9.0.23.
This commit is contained in:
parent
ebc7d928a7
commit
795d5e427f
@ -1,6 +1,481 @@
|
|||||||
<!-- 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-23">
|
||||||
|
<title>Release 9.0.23</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release Date</title>
|
||||||
|
<simpara>2015-10-08</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.0.22.
|
||||||
|
For information about new features in the 9.0 major release, see
|
||||||
|
<xref linkend="release-9-0">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is expected to be the last <productname>PostgreSQL</> release
|
||||||
|
in the 9.0.X series. Users are encouraged to update to a newer
|
||||||
|
release branch soon.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Migration to Version 9.0.23</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 9.0.X.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
However, if you are upgrading from a version earlier than 9.0.18,
|
||||||
|
see <xref linkend="release-9-0-18">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix subtransaction cleanup after a portal (cursor) belonging to an
|
||||||
|
outer subtransaction fails (Tom Lane, Michael Paquier)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A function executed in an outer-subtransaction cursor could cause an
|
||||||
|
assertion failure or crash by referencing a relation created within an
|
||||||
|
inner subtransaction.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix insertion of relations into the relation cache <quote>init file</>
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
An oversight in a patch in the most recent minor releases
|
||||||
|
caused <structname>pg_trigger_tgrelid_tgname_index</> to be omitted
|
||||||
|
from the init file. Subsequent sessions detected this, then deemed the
|
||||||
|
init file to be broken and silently ignored it, resulting in a
|
||||||
|
significant degradation in session startup time. In addition to fixing
|
||||||
|
the bug, install some guards so that any similar future mistake will be
|
||||||
|
more obvious.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid O(N^2) behavior when inserting many tuples into a SPI query
|
||||||
|
result (Neil Conway)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <command>LISTEN</> startup time when there are many unread
|
||||||
|
notifications (Matt Newell)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Disable SSL renegotiation by default (Michael Paquier, Andres Freund)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
While use of SSL renegotiation is a good idea in theory, we have seen
|
||||||
|
too many bugs in practice, both in the underlying OpenSSL library and
|
||||||
|
in our usage of it. Renegotiation will be removed entirely in 9.5 and
|
||||||
|
later. In the older branches, just change the default value
|
||||||
|
of <varname>ssl_renegotiation_limit</> to zero (disabled).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Lower the minimum values of the <literal>*_freeze_max_age</> parameters
|
||||||
|
(Andres Freund)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is mainly to make tests of related behavior less time-consuming,
|
||||||
|
but it may also be of value for installations with limited disk space.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Limit the maximum value of <varname>wal_buffers</> to 2GB to avoid
|
||||||
|
server crashes (Josh Berkus)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix rare internal overflow in multiplication of <type>numeric</> values
|
||||||
|
(Dean Rasheed)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix handling of <literal>DOW</> and <literal>DOY</> in datetime input
|
||||||
|
(Greg Stark)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These tokens aren't meant to be used in datetime values, but previously
|
||||||
|
they resulted in opaque internal error messages rather
|
||||||
|
than <quote>invalid input syntax</>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add more query-cancel checks to regular expression matching (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add recursion depth protections to regular expression, <literal>SIMILAR
|
||||||
|
TO</>, and <literal>LIKE</> matching (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Suitable search patterns and a low stack depth limit could lead to
|
||||||
|
stack-overrun crashes.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix potential infinite loop in regular expression execution (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A search pattern that can apparently match a zero-length string, but
|
||||||
|
actually doesn't match because of a back reference, could lead to an
|
||||||
|
infinite loop.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix low-memory failures in regular expression compilation
|
||||||
|
(Andreas Seltenreich)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix low-probability memory leak during regular expression execution
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix rare low-memory failure in lock cleanup during transaction abort
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>unexpected out-of-memory situation during sort</> errors
|
||||||
|
when using tuplestores with small <varname>work_mem</> settings (Tom
|
||||||
|
Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix very-low-probability stack overrun in <function>qsort</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>invalid memory alloc request size</> failure in hash joins
|
||||||
|
with large <varname>work_mem</> settings (Tomas Vondra, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix assorted planner bugs (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These mistakes could lead to incorrect query plans that would give wrong
|
||||||
|
answers, or to assertion failures in assert-enabled builds, or to odd
|
||||||
|
planner errors such as <quote>could not devise a query plan for the
|
||||||
|
given query</>, <quote>could not find pathkey item to
|
||||||
|
sort</>, <quote>plan should not reference subplan's variable</>,
|
||||||
|
or <quote>failed to assign all NestLoopParams to plan nodes</>.
|
||||||
|
Thanks are due to Andreas Seltenreich and Piotr Stefaniak for fuzz
|
||||||
|
testing that exposed these problems.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Use fuzzy path cost tiebreaking rule in all supported branches (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change is meant to avoid platform-specific behavior when
|
||||||
|
alternative plan choices have effectively-identical estimated costs.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
During postmaster shutdown, ensure that per-socket lock files are
|
||||||
|
removed and listen sockets are closed before we remove
|
||||||
|
the <filename>postmaster.pid</> file (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids race-condition failures if an external script attempts to
|
||||||
|
start a new postmaster as soon as <literal>pg_ctl stop</> returns.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix postmaster's handling of a startup-process crash during crash
|
||||||
|
recovery (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If, during a crash recovery cycle, the startup process crashes without
|
||||||
|
having restored database consistency, we'd try to launch a new startup
|
||||||
|
process, which typically would just crash again, leading to an infinite
|
||||||
|
loop.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Do not print a <literal>WARNING</> when an autovacuum worker is already
|
||||||
|
gone when we attempt to signal it, and reduce log verbosity for such
|
||||||
|
signals (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent autovacuum launcher from sleeping unduly long if the server
|
||||||
|
clock is moved backwards a large amount (Álvaro Herrera)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that cleanup of a GIN index's pending-insertions list is
|
||||||
|
interruptable by cancel requests (Jeff Janes)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow all-zeroes pages in GIN indexes to be reused (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Such a page might be left behind after a crash.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix off-by-one error that led to otherwise-harmless warnings
|
||||||
|
about <quote>apparent wraparound</> in subtrans/multixact truncation
|
||||||
|
(Thomas Munro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix misreporting of <command>CONTINUE</> and <command>MOVE</> statement
|
||||||
|
types in <application>PL/pgSQL</>'s error context messages
|
||||||
|
(Pavel Stehule, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix some places in <application>PL/Tcl</> that neglected to check for
|
||||||
|
failure of <function>malloc()</> calls (Michael Paquier, Álvaro
|
||||||
|
Herrera)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <application>libpq</>'s handling of out-of-memory conditions
|
||||||
|
(Michael Paquier, Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix memory leaks and missing out-of-memory checks
|
||||||
|
in <application>ecpg</> (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>psql</>'s code for locale-aware formatting of numeric
|
||||||
|
output (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The formatting code invoked by <literal>\pset numericlocale on</>
|
||||||
|
did the wrong thing for some uncommon cases such as numbers with an
|
||||||
|
exponent but no decimal point. It could also mangle already-localized
|
||||||
|
output from the <type>money</> data type.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent crash in <application>psql</>'s <command>\c</> command when
|
||||||
|
there is no current connection (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that temporary files created during a <application>pg_dump</>
|
||||||
|
run with <acronym>tar</>-format output are not world-readable (Michael
|
||||||
|
Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> and <application>pg_upgrade</> to support
|
||||||
|
cases where the <literal>postgres</> or <literal>template1</> database
|
||||||
|
is in a non-default tablespace (Marti Raudsepp, Bruce Momjian)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> to handle object privileges sanely when
|
||||||
|
dumping from a server too old to have a particular privilege type
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
When dumping functions or procedural languages from pre-7.3
|
||||||
|
servers, <application>pg_dump</> would
|
||||||
|
produce <command>GRANT</>/<command>REVOKE</> commands that revoked the
|
||||||
|
owner's grantable privileges and instead granted all privileges
|
||||||
|
to <literal>PUBLIC</>. Since the privileges involved are
|
||||||
|
just <literal>USAGE</> and <literal>EXECUTE</>, this isn't a security
|
||||||
|
problem, but it's certainly a surprising representation of the older
|
||||||
|
systems' behavior. Fix it to leave the default privilege state alone
|
||||||
|
in these cases.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> to dump shell types (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Shell types (that is, not-yet-fully-defined types) aren't useful for
|
||||||
|
much, but nonetheless <application>pg_dump</> should dump them.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix spinlock assembly code for PPC hardware to be compatible
|
||||||
|
with <acronym>AIX</>'s native assembler (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Building with <application>gcc</> didn't work if <application>gcc</>
|
||||||
|
had been configured to use the native assembler, which is becoming more
|
||||||
|
common.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
On <acronym>AIX</>, test the <literal>-qlonglong</> compiler option
|
||||||
|
rather than just assuming it's safe to use (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
On <acronym>AIX</>, use <literal>-Wl,-brtllib</> link option to allow
|
||||||
|
symbols to be resolved at runtime (Noah Misch)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Perl relies on this ability in 5.8.0 and later.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid use of inline functions when compiling with
|
||||||
|
32-bit <application>xlc</>, due to compiler bugs (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Use <filename>librt</> for <function>sched_yield()</> when necessary,
|
||||||
|
which it is on some Solaris versions (Oskari Saarenmaa)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix Windows <filename>install.bat</> script to handle target directory
|
||||||
|
names that contain spaces (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make the numeric form of the <productname>PostgreSQL</> version number
|
||||||
|
(e.g., <literal>90405</>) readily available to extension Makefiles,
|
||||||
|
as a variable named <varname>VERSION_NUM</> (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2015g for
|
||||||
|
DST law changes in Cayman Islands, Fiji, Moldova, Morocco, Norfolk
|
||||||
|
Island, North Korea, Turkey, and Uruguay. There is a new zone name
|
||||||
|
<literal>America/Fort_Nelson</> for the Canadian Northern Rockies.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-0-22">
|
<sect1 id="release-9-0-22">
|
||||||
<title>Release 9.0.22</title>
|
<title>Release 9.0.22</title>
|
||||||
|
|
||||||
|
@ -1,6 +1,545 @@
|
|||||||
<!-- 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-19">
|
||||||
|
<title>Release 9.1.19</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release Date</title>
|
||||||
|
<simpara>2015-10-08</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.1.18.
|
||||||
|
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.19</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 9.1.X.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
However, if you are upgrading from a version earlier than 9.1.16,
|
||||||
|
see <xref linkend="release-9-1-16">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix subtransaction cleanup after a portal (cursor) belonging to an
|
||||||
|
outer subtransaction fails (Tom Lane, Michael Paquier)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A function executed in an outer-subtransaction cursor could cause an
|
||||||
|
assertion failure or crash by referencing a relation created within an
|
||||||
|
inner subtransaction.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix insertion of relations into the relation cache <quote>init file</>
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
An oversight in a patch in the most recent minor releases
|
||||||
|
caused <structname>pg_trigger_tgrelid_tgname_index</> to be omitted
|
||||||
|
from the init file. Subsequent sessions detected this, then deemed the
|
||||||
|
init file to be broken and silently ignored it, resulting in a
|
||||||
|
significant degradation in session startup time. In addition to fixing
|
||||||
|
the bug, install some guards so that any similar future mistake will be
|
||||||
|
more obvious.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid O(N^2) behavior when inserting many tuples into a SPI query
|
||||||
|
result (Neil Conway)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <command>LISTEN</> startup time when there are many unread
|
||||||
|
notifications (Matt Newell)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Back-patch 9.3-era addition of per-resource-owner lock caches
|
||||||
|
(Jeff Janes)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This substantially improves performance when <application>pg_dump</>
|
||||||
|
tries to dump a large number of tables.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Disable SSL renegotiation by default (Michael Paquier, Andres Freund)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
While use of SSL renegotiation is a good idea in theory, we have seen
|
||||||
|
too many bugs in practice, both in the underlying OpenSSL library and
|
||||||
|
in our usage of it. Renegotiation will be removed entirely in 9.5 and
|
||||||
|
later. In the older branches, just change the default value
|
||||||
|
of <varname>ssl_renegotiation_limit</> to zero (disabled).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Lower the minimum values of the <literal>*_freeze_max_age</> parameters
|
||||||
|
(Andres Freund)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is mainly to make tests of related behavior less time-consuming,
|
||||||
|
but it may also be of value for installations with limited disk space.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Limit the maximum value of <varname>wal_buffers</> to 2GB to avoid
|
||||||
|
server crashes (Josh Berkus)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix rare internal overflow in multiplication of <type>numeric</> values
|
||||||
|
(Dean Rasheed)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix handling of <literal>DOW</> and <literal>DOY</> in datetime input
|
||||||
|
(Greg Stark)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These tokens aren't meant to be used in datetime values, but previously
|
||||||
|
they resulted in opaque internal error messages rather
|
||||||
|
than <quote>invalid input syntax</>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add more query-cancel checks to regular expression matching (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add recursion depth protections to regular expression, <literal>SIMILAR
|
||||||
|
TO</>, and <literal>LIKE</> matching (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Suitable search patterns and a low stack depth limit could lead to
|
||||||
|
stack-overrun crashes.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix potential infinite loop in regular expression execution (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A search pattern that can apparently match a zero-length string, but
|
||||||
|
actually doesn't match because of a back reference, could lead to an
|
||||||
|
infinite loop.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix low-memory failures in regular expression compilation
|
||||||
|
(Andreas Seltenreich)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix low-probability memory leak during regular expression execution
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix rare low-memory failure in lock cleanup during transaction abort
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>unexpected out-of-memory situation during sort</> errors
|
||||||
|
when using tuplestores with small <varname>work_mem</> settings (Tom
|
||||||
|
Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix very-low-probability stack overrun in <function>qsort</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>invalid memory alloc request size</> failure in hash joins
|
||||||
|
with large <varname>work_mem</> settings (Tomas Vondra, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix assorted planner bugs (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These mistakes could lead to incorrect query plans that would give wrong
|
||||||
|
answers, or to assertion failures in assert-enabled builds, or to odd
|
||||||
|
planner errors such as <quote>could not devise a query plan for the
|
||||||
|
given query</>, <quote>could not find pathkey item to
|
||||||
|
sort</>, <quote>plan should not reference subplan's variable</>,
|
||||||
|
or <quote>failed to assign all NestLoopParams to plan nodes</>.
|
||||||
|
Thanks are due to Andreas Seltenreich and Piotr Stefaniak for fuzz
|
||||||
|
testing that exposed these problems.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||||
|
Branch: REL9_1_STABLE [3218f8c33] 2015-08-15 11:02:33 -0400
|
||||||
|
Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400
|
||||||
|
-->
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Use fuzzy path cost tiebreaking rule in all supported branches (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change is meant to avoid platform-specific behavior when
|
||||||
|
alternative plan choices have effectively-identical estimated costs.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure standby promotion trigger files are removed at postmaster
|
||||||
|
startup (Michael Paquier, Fujii Masao)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This prevents unwanted promotion from occurring if these files appear
|
||||||
|
in a database backup that is used to initialize a new standby server.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
During postmaster shutdown, ensure that per-socket lock files are
|
||||||
|
removed and listen sockets are closed before we remove
|
||||||
|
the <filename>postmaster.pid</> file (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids race-condition failures if an external script attempts to
|
||||||
|
start a new postmaster as soon as <literal>pg_ctl stop</> returns.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix postmaster's handling of a startup-process crash during crash
|
||||||
|
recovery (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If, during a crash recovery cycle, the startup process crashes without
|
||||||
|
having restored database consistency, we'd try to launch a new startup
|
||||||
|
process, which typically would just crash again, leading to an infinite
|
||||||
|
loop.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Do not print a <literal>WARNING</> when an autovacuum worker is already
|
||||||
|
gone when we attempt to signal it, and reduce log verbosity for such
|
||||||
|
signals (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent autovacuum launcher from sleeping unduly long if the server
|
||||||
|
clock is moved backwards a large amount (Álvaro Herrera)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that cleanup of a GIN index's pending-insertions list is
|
||||||
|
interruptable by cancel requests (Jeff Janes)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow all-zeroes pages in GIN indexes to be reused (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Such a page might be left behind after a crash.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix off-by-one error that led to otherwise-harmless warnings
|
||||||
|
about <quote>apparent wraparound</> in subtrans/multixact truncation
|
||||||
|
(Thomas Munro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix misreporting of <command>CONTINUE</> and <command>MOVE</> statement
|
||||||
|
types in <application>PL/pgSQL</>'s error context messages
|
||||||
|
(Pavel Stehule, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/Perl</> to handle non-<acronym>ASCII</> error
|
||||||
|
message texts correctly (Alex Hunsaker)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/Python</> crash when returning the string
|
||||||
|
representation of a <type>record</> result (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix some places in <application>PL/Tcl</> that neglected to check for
|
||||||
|
failure of <function>malloc()</> calls (Michael Paquier, Álvaro
|
||||||
|
Herrera)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <filename>contrib/isn</>, fix output of ISBN-13 numbers that begin
|
||||||
|
with 979 (Fabien Coelho)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
EANs beginning with 979 (but not 9790) are considered ISBNs, but they
|
||||||
|
must be printed in the new 13-digit format, not the 10-digit format.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <application>libpq</>'s handling of out-of-memory conditions
|
||||||
|
(Michael Paquier, Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix memory leaks and missing out-of-memory checks
|
||||||
|
in <application>ecpg</> (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>psql</>'s code for locale-aware formatting of numeric
|
||||||
|
output (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The formatting code invoked by <literal>\pset numericlocale on</>
|
||||||
|
did the wrong thing for some uncommon cases such as numbers with an
|
||||||
|
exponent but no decimal point. It could also mangle already-localized
|
||||||
|
output from the <type>money</> data type.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent crash in <application>psql</>'s <command>\c</> command when
|
||||||
|
there is no current connection (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix selection of default <application>zlib</> compression level
|
||||||
|
in <application>pg_dump</>'s directory output format (Andrew Dunstan)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that temporary files created during a <application>pg_dump</>
|
||||||
|
run with <acronym>tar</>-format output are not world-readable (Michael
|
||||||
|
Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> and <application>pg_upgrade</> to support
|
||||||
|
cases where the <literal>postgres</> or <literal>template1</> database
|
||||||
|
is in a non-default tablespace (Marti Raudsepp, Bruce Momjian)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> to handle object privileges sanely when
|
||||||
|
dumping from a server too old to have a particular privilege type
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
When dumping functions or procedural languages from pre-7.3
|
||||||
|
servers, <application>pg_dump</> would
|
||||||
|
produce <command>GRANT</>/<command>REVOKE</> commands that revoked the
|
||||||
|
owner's grantable privileges and instead granted all privileges
|
||||||
|
to <literal>PUBLIC</>. Since the privileges involved are
|
||||||
|
just <literal>USAGE</> and <literal>EXECUTE</>, this isn't a security
|
||||||
|
problem, but it's certainly a surprising representation of the older
|
||||||
|
systems' behavior. Fix it to leave the default privilege state alone
|
||||||
|
in these cases.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> to dump shell types (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Shell types (that is, not-yet-fully-defined types) aren't useful for
|
||||||
|
much, but nonetheless <application>pg_dump</> should dump them.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix assorted minor memory leaks in <application>pg_dump</> and other
|
||||||
|
client-side programs (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix spinlock assembly code for PPC hardware to be compatible
|
||||||
|
with <acronym>AIX</>'s native assembler (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Building with <application>gcc</> didn't work if <application>gcc</>
|
||||||
|
had been configured to use the native assembler, which is becoming more
|
||||||
|
common.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
On <acronym>AIX</>, test the <literal>-qlonglong</> compiler option
|
||||||
|
rather than just assuming it's safe to use (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
On <acronym>AIX</>, use <literal>-Wl,-brtllib</> link option to allow
|
||||||
|
symbols to be resolved at runtime (Noah Misch)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Perl relies on this ability in 5.8.0 and later.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid use of inline functions when compiling with
|
||||||
|
32-bit <application>xlc</>, due to compiler bugs (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Use <filename>librt</> for <function>sched_yield()</> when necessary,
|
||||||
|
which it is on some Solaris versions (Oskari Saarenmaa)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix Windows <filename>install.bat</> script to handle target directory
|
||||||
|
names that contain spaces (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make the numeric form of the <productname>PostgreSQL</> version number
|
||||||
|
(e.g., <literal>90405</>) readily available to extension Makefiles,
|
||||||
|
as a variable named <varname>VERSION_NUM</> (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2015g for
|
||||||
|
DST law changes in Cayman Islands, Fiji, Moldova, Morocco, Norfolk
|
||||||
|
Island, North Korea, Turkey, and Uruguay. There is a new zone name
|
||||||
|
<literal>America/Fort_Nelson</> for the Canadian Northern Rockies.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-1-18">
|
<sect1 id="release-9-1-18">
|
||||||
<title>Release 9.1.18</title>
|
<title>Release 9.1.18</title>
|
||||||
|
|
||||||
|
@ -1,6 +1,581 @@
|
|||||||
<!-- 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-14">
|
||||||
|
<title>Release 9.2.14</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release Date</title>
|
||||||
|
<simpara>2015-10-08</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.2.13.
|
||||||
|
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.14</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 9.2.X.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
However, if you are upgrading from a version earlier than 9.2.11,
|
||||||
|
see <xref linkend="release-9-2-11">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix subtransaction cleanup after a portal (cursor) belonging to an
|
||||||
|
outer subtransaction fails (Tom Lane, Michael Paquier)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A function executed in an outer-subtransaction cursor could cause an
|
||||||
|
assertion failure or crash by referencing a relation created within an
|
||||||
|
inner subtransaction.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix insertion of relations into the relation cache <quote>init file</>
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
An oversight in a patch in the most recent minor releases
|
||||||
|
caused <structname>pg_trigger_tgrelid_tgname_index</> to be omitted
|
||||||
|
from the init file. Subsequent sessions detected this, then deemed the
|
||||||
|
init file to be broken and silently ignored it, resulting in a
|
||||||
|
significant degradation in session startup time. In addition to fixing
|
||||||
|
the bug, install some guards so that any similar future mistake will be
|
||||||
|
more obvious.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid O(N^2) behavior when inserting many tuples into a SPI query
|
||||||
|
result (Neil Conway)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <command>LISTEN</> startup time when there are many unread
|
||||||
|
notifications (Matt Newell)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||||
|
Branch: REL9_2_STABLE [0e933fdf9] 2015-08-27 12:22:10 -0400
|
||||||
|
Branch: REL9_1_STABLE [9b1b9446f] 2015-08-27 12:22:10 -0400
|
||||||
|
-->
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Back-patch 9.3-era addition of per-resource-owner lock caches
|
||||||
|
(Jeff Janes)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This substantially improves performance when <application>pg_dump</>
|
||||||
|
tries to dump a large number of tables.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Disable SSL renegotiation by default (Michael Paquier, Andres Freund)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
While use of SSL renegotiation is a good idea in theory, we have seen
|
||||||
|
too many bugs in practice, both in the underlying OpenSSL library and
|
||||||
|
in our usage of it. Renegotiation will be removed entirely in 9.5 and
|
||||||
|
later. In the older branches, just change the default value
|
||||||
|
of <varname>ssl_renegotiation_limit</> to zero (disabled).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Lower the minimum values of the <literal>*_freeze_max_age</> parameters
|
||||||
|
(Andres Freund)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is mainly to make tests of related behavior less time-consuming,
|
||||||
|
but it may also be of value for installations with limited disk space.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Limit the maximum value of <varname>wal_buffers</> to 2GB to avoid
|
||||||
|
server crashes (Josh Berkus)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix rare internal overflow in multiplication of <type>numeric</> values
|
||||||
|
(Dean Rasheed)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix handling of <literal>DOW</> and <literal>DOY</> in datetime input
|
||||||
|
(Greg Stark)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These tokens aren't meant to be used in datetime values, but previously
|
||||||
|
they resulted in opaque internal error messages rather
|
||||||
|
than <quote>invalid input syntax</>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add more query-cancel checks to regular expression matching (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add recursion depth protections to regular expression, <literal>SIMILAR
|
||||||
|
TO</>, and <literal>LIKE</> matching (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Suitable search patterns and a low stack depth limit could lead to
|
||||||
|
stack-overrun crashes.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix potential infinite loop in regular expression execution (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A search pattern that can apparently match a zero-length string, but
|
||||||
|
actually doesn't match because of a back reference, could lead to an
|
||||||
|
infinite loop.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In regular expression execution, correctly record match data for
|
||||||
|
capturing parentheses within a quantifier even when the match is
|
||||||
|
zero-length (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix low-memory failures in regular expression compilation
|
||||||
|
(Andreas Seltenreich)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix low-probability memory leak during regular expression execution
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix rare low-memory failure in lock cleanup during transaction abort
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>unexpected out-of-memory situation during sort</> errors
|
||||||
|
when using tuplestores with small <varname>work_mem</> settings (Tom
|
||||||
|
Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix very-low-probability stack overrun in <function>qsort</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>invalid memory alloc request size</> failure in hash joins
|
||||||
|
with large <varname>work_mem</> settings (Tomas Vondra, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix assorted planner bugs (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
These mistakes could lead to incorrect query plans that would give wrong
|
||||||
|
answers, or to assertion failures in assert-enabled builds, or to odd
|
||||||
|
planner errors such as <quote>could not devise a query plan for the
|
||||||
|
given query</>, <quote>could not find pathkey item to
|
||||||
|
sort</>, <quote>plan should not reference subplan's variable</>,
|
||||||
|
or <quote>failed to assign all NestLoopParams to plan nodes</>.
|
||||||
|
Thanks are due to Andreas Seltenreich and Piotr Stefaniak for fuzz
|
||||||
|
testing that exposed these problems.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve planner's performance for <command>UPDATE</>/<command>DELETE</>
|
||||||
|
on large inheritance sets (Tom Lane, Dean Rasheed)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure standby promotion trigger files are removed at postmaster
|
||||||
|
startup (Michael Paquier, Fujii Masao)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This prevents unwanted promotion from occurring if these files appear
|
||||||
|
in a database backup that is used to initialize a new standby server.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
During postmaster shutdown, ensure that per-socket lock files are
|
||||||
|
removed and listen sockets are closed before we remove
|
||||||
|
the <filename>postmaster.pid</> file (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids race-condition failures if an external script attempts to
|
||||||
|
start a new postmaster as soon as <literal>pg_ctl stop</> returns.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix postmaster's handling of a startup-process crash during crash
|
||||||
|
recovery (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If, during a crash recovery cycle, the startup process crashes without
|
||||||
|
having restored database consistency, we'd try to launch a new startup
|
||||||
|
process, which typically would just crash again, leading to an infinite
|
||||||
|
loop.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Do not print a <literal>WARNING</> when an autovacuum worker is already
|
||||||
|
gone when we attempt to signal it, and reduce log verbosity for such
|
||||||
|
signals (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent autovacuum launcher from sleeping unduly long if the server
|
||||||
|
clock is moved backwards a large amount (Álvaro Herrera)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that cleanup of a GIN index's pending-insertions list is
|
||||||
|
interruptable by cancel requests (Jeff Janes)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow all-zeroes pages in GIN indexes to be reused (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Such a page might be left behind after a crash.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix handling of all-zeroes pages in SP-GiST indexes (Heikki
|
||||||
|
Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<command>VACUUM</> attempted to recycle such pages, but did so in a
|
||||||
|
way that wasn't crash-safe.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix off-by-one error that led to otherwise-harmless warnings
|
||||||
|
about <quote>apparent wraparound</> in subtrans/multixact truncation
|
||||||
|
(Thomas Munro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix misreporting of <command>CONTINUE</> and <command>MOVE</> statement
|
||||||
|
types in <application>PL/pgSQL</>'s error context messages
|
||||||
|
(Pavel Stehule, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/Perl</> to handle non-<acronym>ASCII</> error
|
||||||
|
message texts correctly (Alex Hunsaker)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/Python</> crash when returning the string
|
||||||
|
representation of a <type>record</> result (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix some places in <application>PL/Tcl</> that neglected to check for
|
||||||
|
failure of <function>malloc()</> calls (Michael Paquier, Álvaro
|
||||||
|
Herrera)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <filename>contrib/isn</>, fix output of ISBN-13 numbers that begin
|
||||||
|
with 979 (Fabien Coelho)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
EANs beginning with 979 (but not 9790) are considered ISBNs, but they
|
||||||
|
must be printed in the new 13-digit format, not the 10-digit format.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Author: Joe Conway <mail@joeconway.com>
|
||||||
|
Branch: REL9_2_STABLE [e90a629e1] 2015-09-22 14:58:38 -0700
|
||||||
|
-->
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <filename>contrib/sepgsql</>'s handling of <command>SELECT INTO</>
|
||||||
|
statements (Kohei KaiGai)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <application>libpq</>'s handling of out-of-memory conditions
|
||||||
|
(Michael Paquier, Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix memory leaks and missing out-of-memory checks
|
||||||
|
in <application>ecpg</> (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>psql</>'s code for locale-aware formatting of numeric
|
||||||
|
output (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The formatting code invoked by <literal>\pset numericlocale on</>
|
||||||
|
did the wrong thing for some uncommon cases such as numbers with an
|
||||||
|
exponent but no decimal point. It could also mangle already-localized
|
||||||
|
output from the <type>money</> data type.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent crash in <application>psql</>'s <command>\c</> command when
|
||||||
|
there is no current connection (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make <application>pg_dump</> handle inherited <literal>NOT VALID</>
|
||||||
|
check constraints correctly (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix selection of default <application>zlib</> compression level
|
||||||
|
in <application>pg_dump</>'s directory output format (Andrew Dunstan)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that temporary files created during a <application>pg_dump</>
|
||||||
|
run with <acronym>tar</>-format output are not world-readable (Michael
|
||||||
|
Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> and <application>pg_upgrade</> to support
|
||||||
|
cases where the <literal>postgres</> or <literal>template1</> database
|
||||||
|
is in a non-default tablespace (Marti Raudsepp, Bruce Momjian)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> to handle object privileges sanely when
|
||||||
|
dumping from a server too old to have a particular privilege type
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
When dumping data types from pre-9.2 servers, and when dumping
|
||||||
|
functions or procedural languages from pre-7.3
|
||||||
|
servers, <application>pg_dump</> would
|
||||||
|
produce <command>GRANT</>/<command>REVOKE</> commands that revoked the
|
||||||
|
owner's grantable privileges and instead granted all privileges
|
||||||
|
to <literal>PUBLIC</>. Since the privileges involved are
|
||||||
|
just <literal>USAGE</> and <literal>EXECUTE</>, this isn't a security
|
||||||
|
problem, but it's certainly a surprising representation of the older
|
||||||
|
systems' behavior. Fix it to leave the default privilege state alone
|
||||||
|
in these cases.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> to dump shell types (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Shell types (that is, not-yet-fully-defined types) aren't useful for
|
||||||
|
much, but nonetheless <application>pg_dump</> should dump them.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix assorted minor memory leaks in <application>pg_dump</> and other
|
||||||
|
client-side programs (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix spinlock assembly code for PPC hardware to be compatible
|
||||||
|
with <acronym>AIX</>'s native assembler (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Building with <application>gcc</> didn't work if <application>gcc</>
|
||||||
|
had been configured to use the native assembler, which is becoming more
|
||||||
|
common.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
On <acronym>AIX</>, test the <literal>-qlonglong</> compiler option
|
||||||
|
rather than just assuming it's safe to use (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
On <acronym>AIX</>, use <literal>-Wl,-brtllib</> link option to allow
|
||||||
|
symbols to be resolved at runtime (Noah Misch)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Perl relies on this ability in 5.8.0 and later.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid use of inline functions when compiling with
|
||||||
|
32-bit <application>xlc</>, due to compiler bugs (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Use <filename>librt</> for <function>sched_yield()</> when necessary,
|
||||||
|
which it is on some Solaris versions (Oskari Saarenmaa)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix Windows <filename>install.bat</> script to handle target directory
|
||||||
|
names that contain spaces (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make the numeric form of the <productname>PostgreSQL</> version number
|
||||||
|
(e.g., <literal>90405</>) readily available to extension Makefiles,
|
||||||
|
as a variable named <varname>VERSION_NUM</> (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2015g for
|
||||||
|
DST law changes in Cayman Islands, Fiji, Moldova, Morocco, Norfolk
|
||||||
|
Island, North Korea, Turkey, and Uruguay. There is a new zone name
|
||||||
|
<literal>America/Fort_Nelson</> for the Canadian Northern Rockies.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-2-13">
|
<sect1 id="release-9-2-13">
|
||||||
<title>Release 9.2.13</title>
|
<title>Release 9.2.13</title>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user