2009-10-20 21:52:58 +02:00
|
|
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.5.sgml,v 1.5 2009/10/20 19:52:58 petere Exp $ -->
|
2009-08-18 00:14:44 +02:00
|
|
|
|
2009-10-20 21:52:58 +02:00
|
|
|
<sect1 id="release-8-5">
|
|
|
|
<title>Release 8.5alpha2</title>
|
2009-08-18 00:14:44 +02:00
|
|
|
<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>
|
2009-10-20 21:52:58 +02:00
|
|
|
<para>
|
|
|
|
The release notes are cumulative over all alpha releases. Items
|
|
|
|
that are new in the latest alpha release
|
|
|
|
are <emphasis>emphasized</emphasis>.
|
|
|
|
</para>
|
2009-08-18 00:14:44 +02:00
|
|
|
</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>
|
2009-10-20 21:52:58 +02:00
|
|
|
<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& string and identifier
|
|
|
|
syntax.</>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<emphasis>Add Unicode escapes in E'...' strings.</>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
2009-08-18 00:14:44 +02:00
|
|
|
<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>
|
2009-10-20 21:52:58 +02:00
|
|
|
Allow parentheses around the query expression that follows a WITH
|
2009-08-18 00:14:44 +02:00
|
|
|
clause.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
INFORMATION_SCHEMA, a catalog of standard views of database
|
2009-10-20 21:52:58 +02:00
|
|
|
objects, has been updated to the SQL:2008 standard.
|
2009-08-18 00:14:44 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2009-10-20 21:52:58 +02:00
|
|
|
Change character_octet_length to more sensible values in
|
2009-08-18 00:14:44 +02:00
|
|
|
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>
|
2009-10-20 21:52:58 +02:00
|
|
|
<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 "join removal" for cases where the inner side
|
|
|
|
of a left join is unique and is not referenced above the join.</>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
2009-08-18 00:14:44 +02:00
|
|
|
<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>
|
2009-10-20 21:52:58 +02:00
|
|
|
Make GEQO's planning deterministic by having it start from a
|
2009-08-18 00:14:44 +02:00
|
|
|
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>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
|
|
<title>Administration and Monitoring</title>
|
|
|
|
<itemizedlist>
|
2009-10-20 21:52:58 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<emphasis>Add a Boolean server configuration parameter
|
|
|
|
"bonjour" 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>
|
2009-08-18 00:14:44 +02:00
|
|
|
<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>
|
2009-10-20 21:52:58 +02:00
|
|
|
<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>
|
2009-08-18 00:14:44 +02:00
|
|
|
<sect3>
|
|
|
|
<title>Security</title>
|
|
|
|
<itemizedlist>
|
2009-10-20 21:52:58 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<emphasis>Support "samehost" and "samenet" specifications
|
|
|
|
in pg_hba.conf.</emphasis>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
2009-08-18 00:14:44 +02:00
|
|
|
<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>
|
2009-10-20 21:52:58 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<emphasis>Support POSIX-compatible interpretation of ? as well as {m,n}
|
|
|
|
and related constructs in SIMILAR TO, per SQL:2008.</>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
2009-08-18 00:14:44 +02:00
|
|
|
<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>
|
2009-10-20 21:52:58 +02:00
|
|
|
<title>Data Types</title>
|
2009-08-18 00:14:44 +02:00
|
|
|
<itemizedlist>
|
2009-10-20 21:52:58 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<emphasis>Fix encoding handling in binary input function of xml type.</>
|
|
|
|
</para>
|
|
|
|
</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
|
2009-08-18 00:14:44 +02:00
|
|
|
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>
|
2009-10-20 21:52:58 +02:00
|
|
|
<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>
|
2009-08-18 00:14:44 +02:00
|
|
|
<para>
|
|
|
|
pg_dump/pg_restore --clean now drops large objects.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2009-10-20 21:52:58 +02:00
|
|
|
Modify parallel pg_restore ordering logic to avoid a potential
|
2009-08-18 00:14:44 +02:00
|
|
|
O(N^2) slowdown for some complex databases.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
|
|
<title>psql</title>
|
|
|
|
<itemizedlist>
|
2009-10-20 21:52:58 +02:00
|
|
|
<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 "pset linestyle ascii/unicode" 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>
|
2009-08-18 00:14:44 +02:00
|
|
|
<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>
|
2009-10-20 21:52:58 +02:00
|
|
|
<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>
|
2009-08-18 00:14:44 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2009-08-19 10:18:48 +02:00
|
|
|
PL/pgSQL functions can now better cope with row types
|
|
|
|
containing dropped columns.
|
2009-08-18 00:14:44 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2009-10-20 21:52:58 +02:00
|
|
|
Improve error context reporting in PL/Python, for easier
|
2009-08-18 00:14:44 +02:00
|
|
|
debugging.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
2009-10-20 21:52:58 +02:00
|
|
|
Greatly expand the regression testing for PL/Python.
|
2009-08-18 00:14:44 +02:00
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
|
|
<title>Additional Supplied Modules</title>
|
|
|
|
<itemizedlist>
|
2009-10-20 21:52:58 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<emphasis>Assorted improvements in contrib/hstore.</>
|
|
|
|
</para>
|
|
|
|
</listitem>
|
2009-08-18 00:14:44 +02:00
|
|
|
<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>
|
2009-08-19 09:54:21 +02:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Added contrib/unaccent.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
2009-08-18 00:14:44 +02:00
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
2009-10-20 21:52:58 +02:00
|
|
|
<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>
|
2009-08-18 00:14:44 +02:00
|
|
|
<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>
|
2009-08-18 18:54:12 +02:00
|
|
|
<sect3>
|
|
|
|
<title>Ports</title>
|
|
|
|
<itemizedlist>
|
2009-10-20 21:52:58 +02:00
|
|
|
<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>
|
2009-08-18 18:54:12 +02:00
|
|
|
<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>
|
|
|
|
Add s_lock support for SuperH architecture (not well tested).
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
2009-08-18 00:14:44 +02:00
|
|
|
<sect3>
|
|
|
|
<title>Source code, build options</title>
|
|
|
|
<itemizedlist>
|
2009-10-20 21:52:58 +02:00
|
|
|
<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>
|
2009-08-18 00:14:44 +02:00
|
|
|
<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>
|
|
|
|
Make the core scanner re-entrant, along with additional fixes that
|
|
|
|
will let it be used directly by PL/pgSQL.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|