--- /dev/null
+
+
+
+
Release 8.5alpha1
+
+
Overview
+ 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.
+
+ 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.
+
+ 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.
+
+
+
+
Migration
+ 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.
+
+
+
+
Changes
+
+
SQL Features
+
+
+ DROP COLUMN and DROP CONSTRAINT now support an IF EXISTS clause so
+ that users can avoid fatal errors when running repeatable scripts.
+
+
+
+ UNIQUE constraints can now be DEFERRABLE. This is primarily useful
+ for incremental updates of numerical keys, e.g. "ID = ID +
+ 1"
+
+
+
+ Allows parentheses around the query expression that follows a WITH
+ clause.
+
+
+
+ INFORMATION_SCHEMA, a catalog of standard views of database
+ objects, has been updated to the SQL:2008 ANSI/ISO standard.
+
+
+
+ Changes character_octet_length to more sensible values in
+ INFORMATION_SCHEMA.
+
+
+
+ Allow * as parameter for FORCE QUOTE for COPY CSV, so that all
+ columns will be quoted.
+
+
+
+
+
+
Performance
+
+
+ EXPLAIN allows output of plans in XML or JSON format for automated
+ processing of explain plans by analysis or visualization tools.
+
+
+
+ EXPLAIN now supports the use of generic options in EXPLAIN ( option
+ value, ... ) format, which permits the creation of additional
+ EXPLAIN options.
+
+
+
+ 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.
+
+
+
+ Makes GEQO's planning deterministic by having it start from a
+ predictable random number seed each time.
+
+
+
+ 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.
+
+
+
+ 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).
+
+
+
+ Simplify the forms foo <> true and foo <> false to foo
+ = false and foo = true during query optimization.
+
+
+
+ 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().
+
+
+
+ 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.
+
+
+
+
+
+
Administration and Monitoring
+
+
+ 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.
+
+
+
+ Show the exact value being complained of in
+ unique-constraint-violation error messages, including unique-index
+ build failures.
+
+
+
+
+
+
Security
+
+
+ New has_sequence_privilege() functions allow you to check sequence
+ privileges for a given ROLE.
+
+
+
+
+
+
Built-In Functions
+
+
+ The to_char() formatting functions now supports EEEE (scientific
+ notation).
+
+
+
+ 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.
+
+
+
+ Fix ancient bug in handling of to_char() modifier 'TH', when used
+ with HH.
+
+
+
+
+
+
Datatypes
+
+
+ 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.
+
+
+
+ Adds prefix support for text search synonym dictionary, allowing
+ creation of synonyms on partial matches.
+
+
+
+
+
+
Server Tools
+
+
+ pg_dump/pg_restore --clean now drops large objects.
+
+
+
+ Modifies parallel pg_restore ordering logic to avoid a potential
+ O(N^2) slowdown for some complex databases.
+
+
+
+
+
+
psql
+
+
+ Have \d show child tables that inherit from the specified parent
+
+
+
+ psql now shows the index methods in \di
+
+
+
+
+
+
Procedural Languages
+
+
+ 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.
+
+
+
+ Improves error context reporting in PL/Python, for easier
+ debugging.
+
+
+
+ Greatly expands the regression testing for PL/Python.
+
+
+
+
+
+
Additional Supplied Modules
+
+
+ pgbench is now multi-threaded, allowing it to use multiple CPU's
+ for its client connections, and to do more realistic workload
+ testing.
+
+
+
+ Added the ability to retrieve asynchronous notifications using
+ dblink, via the addition of the function dblink_get_notify().
+
+
+
+ Added matchorig, matchsynonyms, and keepsynonyms options to
+ contrib/dict_xsyn.
+
+
+
+
+
+
Development
+
+
+ Functions which conflict with C++ reserved words have been renamed,
+ making backend header files now safe to use with C++ libraries.
+
+
+
+ Add man pages for SPI functions.
+
+
+
+ ECPG now includes a STRING datatype for Informix compatibility
+ mode.
+
+
+
+
+
+
Source code, build options
+
+
+ Upgrade to Autoconf 2.63 (not relevant to users of distribution
+ tarballs).
+
+
+
+ Minimum version of Flex is now 2.5.31, to support reentrant
+ scanners (not relevant to users of distribution tarballs).
+
+
+
+ Documentation build rules have been improved. The generated
+ documentation files are now shipped "loose", not in
+ sub-tarballs.
+
+
+
+ New toolchain to generate man pages. From now on, the man pages
+ will be current in every release.
+
+
+
+ Code-coverage testing support now extends to the entire source
+ tree, not only src/backend/.
+
+
+
+ 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.
+
+
+
+ Make the core scanner re-entrant, along with additional fixes that
+ will let it be used directly by PL/pgSQL.
+
+
+
+ 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.
+
+
+
+ Add s_lock support for SuperH architecture (not well tested).
+
+
+
+
+
+