mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-13 19:57:53 +08: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
8bbe4cbd9b
commit
16a70e3059
@ -1,6 +1,481 @@
|
||||
<!-- doc/src/sgml/release-9.0.sgml -->
|
||||
<!-- 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">
|
||||
<title>Release 9.0.22</title>
|
||||
|
||||
|
@ -1,6 +1,545 @@
|
||||
<!-- doc/src/sgml/release-9.1.sgml -->
|
||||
<!-- 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">
|
||||
<title>Release 9.1.18</title>
|
||||
|
||||
|
@ -1,6 +1,581 @@
|
||||
<!-- doc/src/sgml/release-9.2.sgml -->
|
||||
<!-- 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">
|
||||
<title>Release 9.2.13</title>
|
||||
|
||||
|
@ -1,6 +1,599 @@
|
||||
<!-- doc/src/sgml/release-9.3.sgml -->
|
||||
<!-- See header comment in release.sgml about typical markup -->
|
||||
|
||||
<sect1 id="release-9-3-10">
|
||||
<title>Release 9.3.10</title>
|
||||
|
||||
<note>
|
||||
<title>Release Date</title>
|
||||
<simpara>2015-10-08</simpara>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
This release contains a variety of fixes from 9.3.9.
|
||||
For information about new features in the 9.3 major release, see
|
||||
<xref linkend="release-9-3">.
|
||||
</para>
|
||||
|
||||
<sect2>
|
||||
<title>Migration to Version 9.3.10</title>
|
||||
|
||||
<para>
|
||||
A dump/restore is not required for those running 9.3.X.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
However, if you are upgrading from a version earlier than 9.3.9,
|
||||
see <xref linkend="release-9-3-9">.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Changes</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix 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>
|
||||
Ensure all relations referred to by an updatable view are properly
|
||||
locked during an update statement (Dean Rasheed)
|
||||
</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>
|
||||
Fix performance problem when a session alters large numbers of foreign
|
||||
key constraints (Jan Wieck, Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This was seen primarily when restoring <application>pg_dump</> output
|
||||
for databases with many thousands 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>
|
||||
Avoid logging complaints when a parameter that can only be set at
|
||||
server start appears multiple times in <filename>postgresql.conf</>,
|
||||
and fix counting of line numbers after an <literal>include_dir</>
|
||||
directive (Tom Lane)
|
||||
</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>
|
||||
Make emergency autovacuuming for multixact wraparound more robust
|
||||
(Andres Freund)
|
||||
</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>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Improve <filename>contrib/postgres_fdw</>'s handling of
|
||||
collation-related decisions (Tom Lane)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The main user-visible effect is expected to be that comparisons
|
||||
involving <type>varchar</> columns will be sent to the remote server
|
||||
for execution in more cases than before.
|
||||
</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-3-9">
|
||||
<title>Release 9.3.9</title>
|
||||
|
||||
|
@ -47,7 +47,7 @@ Branch: REL9_0_STABLE [81ee435c4] 2015-09-04 13:36:50 -0400
|
||||
<listitem>
|
||||
<para>
|
||||
Fix subtransaction cleanup after a portal (cursor) belonging to an
|
||||
outer subtransaction fails (Tom Lane and Michael Paquier)
|
||||
outer subtransaction fails (Tom Lane, Michael Paquier)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@ -169,24 +169,6 @@ Branch: REL9_3_STABLE [1bcc9e60a] 2015-09-25 13:16:31 -0400
|
||||
</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>
|
||||
|
||||
<!--
|
||||
Author: Andres Freund <andres@anarazel.de>
|
||||
Branch: REL9_4_STABLE [ab6084782] 2015-07-28 22:06:31 +0200
|
||||
@ -492,6 +474,29 @@ Branch: REL9_0_STABLE [36522d627] 2015-07-16 22:57:46 -0400
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<!--
|
||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||
Branch: REL9_4_STABLE [ff4cbc1ff] 2015-10-04 14:16:59 -0400
|
||||
Branch: REL9_3_STABLE [45dd7cdba] 2015-10-04 14:17:14 -0400
|
||||
Branch: REL9_2_STABLE [fd3e3cf50] 2015-10-04 14:17:20 -0400
|
||||
Branch: REL9_1_STABLE [a8168fbcb] 2015-10-04 14:17:24 -0400
|
||||
Branch: REL9_0_STABLE [2647b245d] 2015-10-04 14:17:28 -0400
|
||||
Branch: master [f2fc98fb8] 2015-10-04 15:55:07 -0400
|
||||
Branch: REL9_5_STABLE [e5c94c7bb] 2015-10-04 15:55:07 -0400
|
||||
Branch: REL9_4_STABLE [4075fc4b9] 2015-10-04 15:55:07 -0400
|
||||
Branch: REL9_3_STABLE [0867e0ad5] 2015-10-04 15:55:07 -0400
|
||||
Branch: REL9_2_STABLE [ebc7d928a] 2015-10-04 15:55:07 -0400
|
||||
Branch: REL9_1_STABLE [d84cc40e4] 2015-10-04 15:55:07 -0400
|
||||
Branch: REL9_0_STABLE [d637a899c] 2015-10-04 15:55:07 -0400
|
||||
-->
|
||||
|
||||
<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>
|
||||
|
||||
<!--
|
||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||
Branch: master [8693ebe37] 2015-07-30 12:11:23 -0400
|
||||
@ -589,23 +594,6 @@ Branch: REL9_2_STABLE [e538e510e] 2015-06-22 18:53:27 -0400
|
||||
</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>
|
||||
|
||||
<!--
|
||||
Author: Fujii Masao <fujii@postgresql.org>
|
||||
Branch: master [96f6a0cb4] 2015-09-09 22:51:44 +0900
|
||||
@ -839,7 +827,7 @@ Branch: REL9_0_STABLE [e41718fa1] 2015-08-18 19:22:38 -0400
|
||||
<para>
|
||||
Fix misreporting of <command>CONTINUE</> and <command>MOVE</> statement
|
||||
types in <application>PL/pgSQL</>'s error context messages
|
||||
(Pavel Stehule and Tom Lane)
|
||||
(Pavel Stehule, Tom Lane)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@ -924,6 +912,26 @@ Branch: REL9_1_STABLE [2d19a0e97] 2015-08-02 22:12:51 +0300
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<!--
|
||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||
Branch: master [8bbe4cbd9] 2015-10-04 17:58:42 -0400
|
||||
Branch: REL9_5_STABLE [39a716d93] 2015-10-04 17:58:30 -0400
|
||||
Branch: REL9_4_STABLE [93840f96c] 2015-10-04 17:58:30 -0400
|
||||
-->
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Improve <filename>contrib/pg_stat_statements</>' handling of
|
||||
query-text garbage collection (Peter Geoghegan)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The external file containing query texts could bloat to very large
|
||||
sizes; once it got past 1GB attempts to trim it would fail, soon
|
||||
leading to situations where the file could not be read at all.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<!--
|
||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||
Branch: master [76f965ff1] 2015-09-24 12:47:29 -0400
|
||||
@ -945,18 +953,6 @@ Branch: REL9_3_STABLE [b7dcb2dd4] 2015-09-24 12:47:30 -0400
|
||||
</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>
|
||||
|
||||
<!--
|
||||
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
||||
Branch: master [414bef30b] 2015-07-07 18:44:59 +0300
|
||||
|
Loading…
x
Reference in New Issue
Block a user