Re: Alpha 1 release notes - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Alpha 1 release notes
Date
Msg-id 5476.1250535070@sss.pgh.pa.us
Whole thread Raw
In response to Re: Alpha 1 release notes  (Josh Berkus <josh@agliodbs.com>)
Responses Re: Alpha 1 release notes  (Josh Berkus <josh@agliodbs.com>)
Re: Alpha 1 release notes  (Josh Berkus <josh@agliodbs.com>)
List pgsql-hackers
Josh Berkus <josh@agliodbs.com> writes:
> Attached is a new draft of the "release notes".

I went over this quickly, and attach an updated version.  This is
updated to current CVS HEAD, and wordsmithed a little bit, and I removed
some things that didn't seem worth documenting.  In particular, the
introduction claims that back-patched bug fixes won't be documented
here, which I agree with (at least for minor fixes); but that policy
wasn't being applied consistently.

            regards, tom lane

.. -*- mode: rst -*-
=================
Release 8.5alpha1
=================
.. last commit: Add prefix support for synonym dictionary

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
~~~~~~~~~~~~

- Add DROP IF EXISTS for columns and constraints.

- INFORMATION_SCHEMA, a catalog of standard views of database objects,
  has been updated to the SQL:2008 ANSI/ISO standard.

- Changed character_octet_length to more sensible values in
  INFORMATION_SCHEMA.

- Allow * as parameter for FORCE QUOTE in COPY CSV (to select all columns).

- Support deferrable uniqueness constraints.

- Show the exact value being complained of in unique-constraint-violation
  error messages, including unique-index build failures.

Performance
~~~~~~~~~~~

- Make 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).

- EXPLAIN can now take generic options; a COSTS OFF option is added.

- EXPLAIN allows output of plans in XML or JSON format.

- Add ALTER TABLE ... ALTER COLUMN ... SET STATISTICS DISTINCT.

- 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().

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.

Built-In Functions
~~~~~~~~~~~~~~~~~~

- Add has_sequence_privilege() family of functions.

- Fix ancient bug in handling of to_char() modifier 'TH', when used
  with HH.

- Use floor() not rint() when reducing precision of fractional seconds
  in timestamp_trunc, timestamptz_trunc, and interval_trunc() for the
  float-datetime case.

- Support EEEE (scientific notation) in to_char().

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.

- Add prefix support for text search synonym dictionary.

pg_dump
~~~~~~~

- Make pg_dump/pg_restore --clean options drop large objects too.

- Modify parallel pg_restore logic to avoid potential O(N^2) slowdown
  in extreme cases.

psql
~~~~

- Have \\d show child tables that inherit from the specified parent.

- Show definition of index columns in \\d on index.

ecpg
~~~~

- Add STRING datatype for Informix compatibility mode.

Procedural Languages
~~~~~~~~~~~~~~~~~~~~

- Improve plpgsql's ability to cope with rowtypes containing dropped
  columns,

- Improve error context reporting in plpython.

- Greatly expand the regression testing for plpython.

Contrib
~~~~~~~

- Support multi-threading in pgbench.

- Add the ability to retrieve async notifications using dblink, via
  the addition of the function dblink_get_notify().

- Add matchorig, matchsynonyms, and keepsynonyms options to
  contrib/dict_xsyn.

Development
~~~~~~~~~~~

- Names that 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.

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.

- 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 plpgsql.

- 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).

- Code-coverage testing support now extends to the entire source tree, not
  only src/backend/.

pgsql-hackers by date:

Previous
From: Jeff Davis
Date:
Subject: Re: Another try at reducing repeated detoast work for PostGIS
Next
From: Tom Lane
Date:
Subject: Re: Another try at reducing repeated detoast work for PostGIS