mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-17 19:30:00 +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
d637a899ca
commit
3d8987fc21
@ -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>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user