Commit 7bd93589 authored by Peter Eisentraut's avatar Peter Eisentraut

Preliminary release notes for 8.5alpha2

parent ef8df75e
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.5.sgml,v 1.4 2009/08/19 08:18:48 petere Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.5.sgml,v 1.5 2009/10/20 19:52:58 petere Exp $ -->
<sect1 id="release-8.5"> <sect1 id="release-8-5">
<title>Release 8.5alpha1</title> <title>Release 8.5alpha2</title>
<sect2> <sect2>
<title>Overview</title> <title>Overview</title>
<para> <para>
...@@ -32,6 +32,11 @@ ...@@ -32,6 +32,11 @@
using those if you are looking for bug-fix-only upgrades for your using those if you are looking for bug-fix-only upgrades for your
current installations. current installations.
</para> </para>
<para>
The release notes are cumulative over all alpha releases. Items
that are new in the latest alpha release
are <emphasis>emphasized</emphasis>.
</para>
</sect2> </sect2>
<sect2> <sect2>
<title>Migration</title> <title>Migration</title>
...@@ -52,6 +57,68 @@ ...@@ -52,6 +57,68 @@
<sect3> <sect3>
<title>SQL Features</title> <title>SQL Features</title>
<itemizedlist> <itemizedlist>
<listitem override="box">
<para>
<emphasis>Modify the definition of window-function PARTITION
BY and ORDER BY clauses so that their elements are always
taken as simple expressions over the query's input
columns.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Fix bug with WITH RECURSIVE immediately inside WITH
RECURSIVE.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Define a new, more extensible syntax for COPY options.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Add ALTER DEFAULT PRIVILEGES command, which allows
users to adjust the privileges that will be applied to
subsequently-created objects.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Support use of function argument names to identify which
actual arguments match which function parameters. The syntax
uses AS, for example funcname(value AS arg1, anothervalue AS
arg2).</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Add CREATE LIKE INCLUDING COMMENTS and STORAGE, and INCLUDING
ALL shortcut.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Add GRANT/REVOKE ON ALL TABLES/SEQUENCES/FUNCTIONS IN SCHEMA.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Add SQL-compliant triggers on columns, ie fire only if
certain columns are named in the UPDATE's SET list.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Add surrogate pair support for U&amp; string and identifier
syntax.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Add Unicode escapes in E'...' strings.</>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
DROP COLUMN and DROP CONSTRAINT now support an IF EXISTS clause so DROP COLUMN and DROP CONSTRAINT now support an IF EXISTS clause so
...@@ -67,19 +134,19 @@ ...@@ -67,19 +134,19 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allows parentheses around the query expression that follows a WITH Allow parentheses around the query expression that follows a WITH
clause. clause.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
INFORMATION_SCHEMA, a catalog of standard views of database INFORMATION_SCHEMA, a catalog of standard views of database
objects, has been updated to the SQL:2008 ANSI/ISO standard. objects, has been updated to the SQL:2008 standard.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Changes character_octet_length to more sensible values in Change character_octet_length to more sensible values in
INFORMATION_SCHEMA. INFORMATION_SCHEMA.
</para> </para>
</listitem> </listitem>
...@@ -94,6 +161,19 @@ ...@@ -94,6 +161,19 @@
<sect3> <sect3>
<title>Performance</title> <title>Performance</title>
<itemizedlist> <itemizedlist>
<listitem>
<para>
<emphasis>Make TRUNCATE do truncate-in-place when processing
a relation that was created or previously truncated in the
current (sub)transaction.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Implement &quot;join removal&quot; for cases where the inner side
of a left join is unique and is not referenced above the join.</>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
EXPLAIN allows output of plans in XML or JSON format for automated EXPLAIN allows output of plans in XML or JSON format for automated
...@@ -116,7 +196,7 @@ ...@@ -116,7 +196,7 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Makes GEQO's planning deterministic by having it start from a Make GEQO's planning deterministic by having it start from a
predictable random number seed each time. predictable random number seed each time.
</para> </para>
</listitem> </listitem>
...@@ -153,6 +233,31 @@ ...@@ -153,6 +233,31 @@
<sect3> <sect3>
<title>Administration and Monitoring</title> <title>Administration and Monitoring</title>
<itemizedlist> <itemizedlist>
<listitem>
<para>
<emphasis>Add a Boolean server configuration parameter
&quot;bonjour&quot; to control whether a Bonjour-enabled
build actually attempts to advertise itself via Bonjour.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>When reloading postgresql.conf, log what parameters actually
changed.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Make it possibly to specify server configuration parameters
per user and per database. psql has gained a drds command to
display the settings.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Allow the collection of statistics on sequences.</>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Add the ability to include the SQLSTATE error code of any error Add the ability to include the SQLSTATE error code of any error
...@@ -169,9 +274,28 @@ ...@@ -169,9 +274,28 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
<sect3>
<title>Server Configuration</title>
<itemizedlist>
<listitem>
<para>
<emphasis>Increase the maximum value of extra_float_digits to
3, and have pg_dump use that value when the backend is new
enough to allow it, because it is possible to need 3 extra
digits for float4 values (but not for float8 values).</>
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3> <sect3>
<title>Security</title> <title>Security</title>
<itemizedlist> <itemizedlist>
<listitem>
<para>
<emphasis>Support &quot;samehost&quot; and &quot;samenet&quot; specifications
in pg_hba.conf.</emphasis>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
New has_sequence_privilege() functions allow you to check sequence New has_sequence_privilege() functions allow you to check sequence
...@@ -183,6 +307,12 @@ ...@@ -183,6 +307,12 @@
<sect3> <sect3>
<title>Built-In Functions</title> <title>Built-In Functions</title>
<itemizedlist> <itemizedlist>
<listitem>
<para>
<emphasis>Support POSIX-compatible interpretation of ? as well as {m,n}
and related constructs in SIMILAR TO, per SQL:2008.</>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
The to_char() formatting functions now supports EEEE (scientific The to_char() formatting functions now supports EEEE (scientific
...@@ -206,13 +336,24 @@ ...@@ -206,13 +336,24 @@
</itemizedlist> </itemizedlist>
</sect3> </sect3>
<sect3> <sect3>
<title>Datatypes</title> <title>Data Types</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
New hex-string input and output format options for type BYTEA. Hex <emphasis>Fix encoding handling in binary input function of xml type.</>
output format is enabled by default, which is an INCOMPATIBLE </para>
CHANGE. See the new bytea_output parameter if you need to restore </listitem>
<listitem>
<para>
<emphasis>Tighten binary receive functions so that they reject values
that the text input functions don't accept either.</>
</para>
</listitem>
<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. compatibility.
</para> </para>
</listitem> </listitem>
...@@ -227,6 +368,20 @@ ...@@ -227,6 +368,20 @@
<sect3> <sect3>
<title>Server Tools</title> <title>Server Tools</title>
<itemizedlist> <itemizedlist>
<listitem>
<para>
<emphasis>It is now reasonably safe to use pg_ctl to start
the postmaster from a boot-time script.</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis>Remove the use of the flat files pg_auth and
pg_database. (At least pgbouncer currently suggests referring
to the pg_auth file for its user database. Such schemes will
no longer work.)</emphasis>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
pg_dump/pg_restore --clean now drops large objects. pg_dump/pg_restore --clean now drops large objects.
...@@ -234,7 +389,7 @@ ...@@ -234,7 +389,7 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Modifies parallel pg_restore ordering logic to avoid a potential Modify parallel pg_restore ordering logic to avoid a potential
O(N^2) slowdown for some complex databases. O(N^2) slowdown for some complex databases.
</para> </para>
</listitem> </listitem>
...@@ -243,6 +398,21 @@ ...@@ -243,6 +398,21 @@
<sect3> <sect3>
<title>psql</title> <title>psql</title>
<itemizedlist> <itemizedlist>
<listitem>
<para>
<emphasis>Implement significantly saner behavior when two or
more psql sessions overlap in their use of the history file.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Add &quot;pset linestyle ascii/unicode&quot; option to psql,
allowing our traditional ASCII-art style of table output to
be upgraded to use Unicode box drawing characters if
desired. By default, psql will use the Unicode characters
whenever client_encoding is UTF8.</>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Have \d show child tables that inherit from the specified parent Have \d show child tables that inherit from the specified parent
...@@ -258,6 +428,52 @@ ...@@ -258,6 +428,52 @@
<sect3> <sect3>
<title>Procedural Languages</title> <title>Procedural Languages</title>
<itemizedlist> <itemizedlist>
<listitem>
<para>
<emphasis>Add DO statement to support execution of procedural language
code without having to create a function for it.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Fix/improve bytea and boolean support in PL/Python. Data type
conversion into and out of PL/Python previously went through
an intermediate string representation, which caused various
discrepancies especially with bytea and boolean data. This is
now fixed by converting the values directly.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>PL/Python now accepts Unicode objects where it previously
only accepted string objects (for example, as return
value). Unicode objects are converted to the PostgreSQL
server encoding as necessary.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Improve error context reporting in PL/Perl, for
easier debugging.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Allow plpgsql IN parameters to be assigned to.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Convert a Perl array to a PostgreSQL array when returned by
set-returning functions as well as non-SRFs.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Allow MOVE FORWARD n, MOVE BACKWARD n, MOVE FORWARD ALL, MOVE
BACKWARD ALL in PL/pgSQL.</>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
PL/pgSQL functions can now better cope with row types PL/pgSQL functions can now better cope with row types
...@@ -266,13 +482,13 @@ ...@@ -266,13 +482,13 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improves error context reporting in PL/Python, for easier Improve error context reporting in PL/Python, for easier
debugging. debugging.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Greatly expands the regression testing for PL/Python. Greatly expand the regression testing for PL/Python.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
...@@ -280,6 +496,11 @@ ...@@ -280,6 +496,11 @@
<sect3> <sect3>
<title>Additional Supplied Modules</title> <title>Additional Supplied Modules</title>
<itemizedlist> <itemizedlist>
<listitem>
<para>
<emphasis>Assorted improvements in contrib/hstore.</>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
pgbench is now multi-threaded, allowing it to use multiple CPU's pgbench is now multi-threaded, allowing it to use multiple CPU's
...@@ -306,6 +527,27 @@ ...@@ -306,6 +527,27 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
<sect3>
<title>Programming Tools</title>
<itemizedlist>
<listitem>
<para>
<emphasis>Add ECPG function that returns the current transaction status.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Make ECPG more robust against applications freeing strings.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Make libpq reject non-numeric and out-of-range port numbers with a
suitable error message.</>
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3> <sect3>
<title>Development</title> <title>Development</title>
<itemizedlist> <itemizedlist>
...@@ -331,6 +573,32 @@ ...@@ -331,6 +573,32 @@
<sect3> <sect3>
<title>Ports</title> <title>Ports</title>
<itemizedlist> <itemizedlist>
<listitem>
<para>
<emphasis>Change the WIN32 API version to be 5.01 (Windows XP), to
bring in the proper IPv6 headers in newer SDKs.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Write to the Windows eventlog in UTF-16, converting the
message encoding as necessary.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Replace use of the long-deprecated Bonjour API
DNSServiceRegistrationCreate with the not-so-deprecated
DNSServiceRegister. The new code will fail on Mac OS X
releases before 10.3.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Install a hopefully-temporary workaround for Mac OS X Snow Leopard
readdir() bug.</>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Reserve the shared memory region during backend startup on Windows, Reserve the shared memory region during backend startup on Windows,
...@@ -350,6 +618,28 @@ ...@@ -350,6 +618,28 @@
<sect3> <sect3>
<title>Source code, build options</title> <title>Source code, build options</title>
<itemizedlist> <itemizedlist>
<listitem>
<para>
<emphasis>Fix inclusions of readline/editline header files so that we
only attempt to #include the version of history.h that is in
the same directory as the readline.h we are using. This
avoids problems in some scenarios where both readline and
editline are installed.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Derived files that are shipped in the distribution used to be
built in the source directory even for out-of-tree
builds. They are now also built in the build tree. This
should be more convenient for certain developers' workflows.</>
</para>
</listitem>
<listitem>
<para>
<emphasis>Translations were updated.</>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Upgrade to Autoconf 2.63 (not relevant to users of distribution Upgrade to Autoconf 2.63 (not relevant to users of distribution
...@@ -387,13 +677,6 @@ ...@@ -387,13 +677,6 @@
will let it be used directly by PL/pgSQL. will let it be used directly by PL/pgSQL.
</para> </para>
</listitem> </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>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
</sect2> </sect2>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment