mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-11 19:20:40 +08:00
Add release notes for 8.5alpha1
This commit is contained in:
parent
42d2470c38
commit
77dfb64df4
doc/src/sgml
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/filelist.sgml,v 1.62 2009/07/14 22:16:38 petere Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/filelist.sgml,v 1.63 2009/08/17 22:14:44 petere Exp $ -->
|
||||
|
||||
<!entity history SYSTEM "history.sgml">
|
||||
<!entity info SYSTEM "info.sgml">
|
||||
@ -140,6 +140,7 @@
|
||||
<!entity keywords SYSTEM "keywords.sgml">
|
||||
|
||||
<!entity release SYSTEM "release.sgml">
|
||||
<!entity release-8.5 SYSTEM "release-8.5.sgml">
|
||||
<!entity release-8.4 SYSTEM "release-8.4.sgml">
|
||||
<!entity release-8.3 SYSTEM "release-8.3.sgml">
|
||||
<!entity release-8.2 SYSTEM "release-8.2.sgml">
|
||||
|
400
doc/src/sgml/release-8.5.sgml
Normal file
400
doc/src/sgml/release-8.5.sgml
Normal file
@ -0,0 +1,400 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.5.sgml,v 1.1 2009/08/17 22:14:44 petere Exp $ -->
|
||||
|
||||
<sect1 id="release-8.5">
|
||||
<title>Release 8.5alpha1</title>
|
||||
<sect2>
|
||||
<title>Overview</title>
|
||||
<para>
|
||||
PostgreSQL alpha releases are snapshots of development code. They
|
||||
are intended to preview and test upcoming features and to provide
|
||||
the possibility for early feedback. They should not be used in
|
||||
production installations or active development projects. While the
|
||||
PostgreSQL code is continuously subject to a number of automated
|
||||
and manual tests, alpha releases might have serious bugs. Also
|
||||
features may be changed incompatibly or removed at any time during
|
||||
the development cycle.
|
||||
</para>
|
||||
<para>
|
||||
The development cycle of a PostgreSQL major release alternates
|
||||
between periods of development and periods of integration work,
|
||||
called commit fests, normally one month each. Alpha releases are
|
||||
planned to be produced at the end of every commit fest, thus every
|
||||
two months. Since the first commit fest starts within a month from
|
||||
the beginning of development altogether, early alpha releases are
|
||||
not indicative of the likely feature set of the final release.
|
||||
</para>
|
||||
<para>
|
||||
The release notes below highlight user visible changes and new
|
||||
features. There are normally numerous bug fixes and performance
|
||||
improvements in every new snapshot of PostgreSQL, and it would be
|
||||
too bulky to attempt to list them all. Note that many bug fixes are
|
||||
also backported to stable releases of PostgreSQL, and you should be
|
||||
using those if you are looking for bug-fix-only upgrades for your
|
||||
current installations.
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2>
|
||||
<title>Migration</title>
|
||||
<para>
|
||||
To upgrade from any release to an alpha release or from an alpha
|
||||
release to any other release will most likely require a
|
||||
dump/restore upgrade procedure. It may happen that this is not
|
||||
necessary in particular cases, but that is not verified beforehand.
|
||||
(The server will warn you in any case when a dump/restore is
|
||||
necessary if you attempt to use it with an old data directory.)
|
||||
Note, however, that the dump/restore upgrade procedure is expected
|
||||
to work for alpha releases, and problems in this area should be
|
||||
reported.
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2>
|
||||
<title>Changes</title>
|
||||
<sect3>
|
||||
<title>SQL Features</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
DROP COLUMN and DROP CONSTRAINT now support an IF EXISTS clause so
|
||||
that users can avoid fatal errors when running repeatable scripts.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
UNIQUE constraints can now be DEFERRABLE. This is primarily useful
|
||||
for incremental updates of numerical keys, e.g. "ID = ID +
|
||||
1"
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Allows parentheses around the query expression that follows a WITH
|
||||
clause.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
INFORMATION_SCHEMA, a catalog of standard views of database
|
||||
objects, has been updated to the SQL:2008 ANSI/ISO standard.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Changes character_octet_length to more sensible values in
|
||||
INFORMATION_SCHEMA.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Allow * as parameter for FORCE QUOTE for COPY CSV, so that all
|
||||
columns will be quoted.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect3>
|
||||
<sect3>
|
||||
<title>Performance</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
EXPLAIN allows output of plans in XML or JSON format for automated
|
||||
processing of explain plans by analysis or visualization tools.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
EXPLAIN now supports the use of generic options in EXPLAIN ( option
|
||||
value, ... ) format, which permits the creation of additional
|
||||
EXPLAIN options.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
ALTER TABLE ... ALTER COLUMN ... SET STATISTICS DISTINCT allows
|
||||
users to manually tweak the number of distinct values estimated for
|
||||
a column, to fix cases where ANALYZE estimates are incorrect.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Makes GEQO's planning deterministic by having it start from a
|
||||
predictable random number seed each time.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Rewrite GEQO's gimme_tree function so that it always finds a legal
|
||||
join sequence. Previously, it could have failed to produce a plan
|
||||
in some cases.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Tweak TOAST code so that columns marked with MAIN storage strategy
|
||||
are not forced out-of-line unless that is necessary to make the row
|
||||
fit on a page. Previously, they were forced out-of-line if needed
|
||||
to get the row down to the default target size (1/4th page).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Simplify the forms foo <> true and foo <> false to foo
|
||||
= false and foo = true during query optimization.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Avoid per-send() system calls to manage SIGPIPE in libpq, if the
|
||||
platform provides either sockopt(SO_NOSIGPIPE) or the MSG_NOSIGNAL
|
||||
flag to send().
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Reserve the shared memory region during backend startup on Windows,
|
||||
so that memory allocated by starting third party DLLs doesn't end
|
||||
up conflicting with it. Hopefully this solves the long-time issue
|
||||
with "could not reattach to shared memory" errors on
|
||||
Win32.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect3>
|
||||
<sect3>
|
||||
<title>Administration and Monitoring</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Add the ability to include the SQLSTATE error code of any error
|
||||
messages in the PostgreSQL activity log with the new
|
||||
log_line_prefix placeholder %e.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Show the exact value being complained of in
|
||||
unique-constraint-violation error messages, including unique-index
|
||||
build failures.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect3>
|
||||
<sect3>
|
||||
<title>Security</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
New has_sequence_privilege() functions allow you to check sequence
|
||||
privileges for a given ROLE.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect3>
|
||||
<sect3>
|
||||
<title>Built-In Functions</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
The to_char() formatting functions now supports EEEE (scientific
|
||||
notation).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Use floor() not rint() when reducing precision of fractional
|
||||
seconds in timestamp_trunc, timestamptz_trunc, and interval_trunc()
|
||||
for the float-datetime case. This improves accuracy of time
|
||||
calculations.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Fix ancient bug in handling of to_char() modifier 'TH', when used
|
||||
with HH.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect3>
|
||||
<sect3>
|
||||
<title>Datatypes</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
New hex-string input and output format options for type BYTEA. Hex
|
||||
output format is enabled by default, which is an INCOMPATIBLE
|
||||
CHANGE. See the new bytea_output parameter if you need to restore
|
||||
compatibility.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Adds prefix support for text search synonym dictionary, allowing
|
||||
creation of synonyms on partial matches.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect3>
|
||||
<sect3>
|
||||
<title>Server Tools</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
pg_dump/pg_restore --clean now drops large objects.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Modifies parallel pg_restore ordering logic to avoid a potential
|
||||
O(N^2) slowdown for some complex databases.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect3>
|
||||
<sect3>
|
||||
<title>psql</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Have \d show child tables that inherit from the specified parent
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
psql now shows the index methods in \di
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect3>
|
||||
<sect3>
|
||||
<title>Procedural Languages</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
PL/pgSQL functions using RETURNS QUERY or RECORD types no longer
|
||||
always need to be rebuilt after adding or dropping a column for the
|
||||
related tables.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Improves error context reporting in PL/Python, for easier
|
||||
debugging.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Greatly expands the regression testing for PL/Python.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect3>
|
||||
<sect3>
|
||||
<title>Additional Supplied Modules</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
pgbench is now multi-threaded, allowing it to use multiple CPU's
|
||||
for its client connections, and to do more realistic workload
|
||||
testing.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Added the ability to retrieve asynchronous notifications using
|
||||
dblink, via the addition of the function dblink_get_notify().
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Added matchorig, matchsynonyms, and keepsynonyms options to
|
||||
contrib/dict_xsyn.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect3>
|
||||
<sect3>
|
||||
<title>Development</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Functions which conflict with C++ reserved words have been renamed,
|
||||
making backend header files now safe to use with C++ libraries.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Add man pages for SPI functions.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
ECPG now includes a STRING datatype for Informix compatibility
|
||||
mode.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect3>
|
||||
<sect3>
|
||||
<title>Source code, build options</title>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Upgrade to Autoconf 2.63 (not relevant to users of distribution
|
||||
tarballs).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Minimum version of Flex is now 2.5.31, to support reentrant
|
||||
scanners (not relevant to users of distribution tarballs).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Documentation build rules have been improved. The generated
|
||||
documentation files are now shipped "loose", not in
|
||||
sub-tarballs.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
New toolchain to generate man pages. From now on, the man pages
|
||||
will be current in every release.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Code-coverage testing support now extends to the entire source
|
||||
tree, not only src/backend/.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Reserve the shared memory region during backend startup on Windows,
|
||||
so that memory allocated by starting third party DLLs doesn't end
|
||||
up conflicting with it. Hopefully this solves the long-time issue
|
||||
with "could not reattach to shared memory" errors on
|
||||
Win32.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Make the core scanner re-entrant, along with additional fixes that
|
||||
will let it be used directly by PL/pgSQL.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Fix backend startup to not depend on the flat-file copy of
|
||||
pg_database. This is a first step towards eliminating the flat
|
||||
files altogether.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Add s_lock support for SuperH architecture (not well tested).
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.633 2009/05/02 20:17:19 tgl Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.634 2009/08/17 22:14:44 petere Exp $ -->
|
||||
<!--
|
||||
|
||||
Typical markup:
|
||||
@ -70,6 +70,7 @@ can be created without links to the main documentation.
|
||||
The reason for splitting the release notes this way is so that appropriate
|
||||
subsets can easily be copied into back branches.
|
||||
-->
|
||||
&release-8.5;
|
||||
&release-8.4;
|
||||
&release-8.3;
|
||||
&release-8.2;
|
||||
|
Loading…
Reference in New Issue
Block a user