diff options
author | Tom Lane | 2010-09-02 17:30:06 +0000 |
---|---|---|
committer | Tom Lane | 2010-09-02 17:30:06 +0000 |
commit | c89a1198f90924ecdcc0f7e4cdd2e307e66ff856 (patch) | |
tree | cfae683dd074d97b6d54ac94657cf6c497f09d29 /doc/src | |
parent | 9b3c19d8f27b0a005f0292b92846ca13c63c5cad (diff) |
9.1alpha1 release notes.
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/filelist.sgml | 3 | ||||
-rw-r--r-- | doc/src/sgml/release-9.1.sgml | 484 | ||||
-rw-r--r-- | doc/src/sgml/release.sgml | 3 |
3 files changed, 488 insertions, 2 deletions
diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index 30b5fca72da..f0da8adc724 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/filelist.sgml,v 1.69 2010/06/14 17:25:24 sriggs Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/filelist.sgml,v 1.70 2010/09/02 17:30:06 tgl Exp $ --> <!entity history SYSTEM "history.sgml"> <!entity info SYSTEM "info.sgml"> @@ -145,6 +145,7 @@ <!entity keywords SYSTEM "keywords.sgml"> <!entity release SYSTEM "release.sgml"> +<!entity release-9.1 SYSTEM "release-9.1.sgml"> <!entity release-9.0 SYSTEM "release-9.0.sgml"> <!entity release-8.4 SYSTEM "release-8.4.sgml"> <!entity release-8.3 SYSTEM "release-8.3.sgml"> diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml new file mode 100644 index 00000000000..dd9bd689bbb --- /dev/null +++ b/doc/src/sgml/release-9.1.sgml @@ -0,0 +1,484 @@ +<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.1.sgml,v 1.1 2010/09/02 17:30:06 tgl Exp $ --> + +<!-- This is up-to-date with commits through 2010-09-01 --> + +<sect1 id="release-9-1-alpha"> + <title>Release 9.1alpha1</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> + <para> + These notes are cumulative over all alpha releases of the current + development cycle. Items that are new in the latest alpha release are + <emphasis>emphasized</emphasis>. + </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>Testing</title> + <para> + The primary reason we release alphas is to get users to test new + features as early as possible. If you are interested in helping + with organized testing, please see + <ulink url="http://wiki.postgresql.org/wiki/HowToBetaTest">the + testing information page</ulink>. + </para> + </sect2> + <sect2> + <title>Changes</title> + <sect3> + <title>SQL Features</title> + <itemizedlist> + + <listitem> + <para> + <emphasis>Recognize functional dependency on primary + keys</emphasis> + </para> + <para> + This allows a table's other columns to be referenced without listing + them in GROUP BY, so long as the primary key column(s) are listed in + GROUP BY. + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add CREATE TABLE IF NOT EXISTS</emphasis> + </para> + </listitem> + + </itemizedlist> + </sect3> + <sect3> + <title>Performance</title> + <itemizedlist> + + <listitem> + <para> + <emphasis>Reduce lock levels of CREATE TRIGGER and some ALTER + TABLE, CREATE RULE actions</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add some knowledge about prefix matches to + tsmatchsel()</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Replace the naive HYPOT() macro with a + standards-conformant hypotenuse function</emphasis> + </para> + </listitem> + + </itemizedlist> + </sect3> + <sect3> + <title>Server Settings</title> + <itemizedlist> + + <listitem> + <para> + <emphasis>Change the default value of + <literal>standard_conforming_strings</> to + <literal>on</></emphasis> + </para> + <warning> + <para> + This is a significant incompatibility with previous releases, + because it may break unwary applications in security-critical ways. + </para> + </warning> + </listitem> + + <listitem> + <para> + <emphasis>Add <literal>log_file_mode</> parameter</emphasis> + </para> + <para> + This allows control of the file permissions set on log files created + by the syslogger process. + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add <literal>restart_after_crash</> parameter</emphasis> + </para> + <para> + Normally, we automatically restart after a backend crash, but in + some cases when PostgreSQL is invoked by clusterware it may be + desirable to suppress this behavior, so we now provide an option which + does that. + </para> + </listitem> + + </itemizedlist> + </sect3> + <sect3> + <title>Administration and Monitoring</title> + <itemizedlist> + + <listitem> + <para> + <emphasis>Make EXPLAIN show the function call expression of a + FunctionScan plan node, but only in VERBOSE mode</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Make EXPLAIN print PARAM_EXEC Params as + the referenced expressions, rather than just $N</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add vacuum and analyze counters to pg_stat_*_tables + views</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add stats functions and views to provide access to a + transaction's own statistics counts</emphasis> + </para> + </listitem> + + </itemizedlist> + </sect3> + <sect3> + <title>Security</title> + <itemizedlist> + + <listitem> + <para> + <emphasis>Add server authentication over Unix-domain + sockets</emphasis> + </para> + <para> + This adds a libpq connection parameter <literal>requirepeer</> that + specifies the user name that the server process is expected to run + under. + </para> + </listitem> + + </itemizedlist> + </sect3> + <sect3> + <title>Built-In Functions</title> + <itemizedlist> + + <listitem> + <para> + <emphasis>Add string functions: concat(), concat_ws(), left(), + right(), and reverse()</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add three-parameter forms of array_to_string and + string_to_array</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add XMLEXISTS function</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add xpath_exists() function</emphasis> + </para> + <para> + This is equivalent to XMLEXISTS except that it offers support for + namespace mapping. + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add xml_is_well_formed, xml_is_well_formed_document, + xml_is_well_formed_content functions to the core XML + code</emphasis> + </para> + <para> + These supersede a version previously offered by contrib/xml2. + </para> + </listitem> + + </itemizedlist> + </sect3> + <sect3> + <title>Data Types</title> + <itemizedlist> + + <listitem> + <para> + <emphasis>Allow numeric to use a more compact, 2-byte header in + many cases</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add support for dividing money by money (yielding a + float8 result) and for casting between money and numeric</emphasis> + </para> + </listitem> + + </itemizedlist> + </sect3> + <sect3> + <title>Server Tools</title> + <itemizedlist> + + <listitem> + <para> + <emphasis>Add options to force quoting of all + identifiers</emphasis> + </para> + <para> + This includes a quote_all_identifiers parameter which affects the + behavior of the backend, and a --quote-all-identifiers argument to + pg_dump and pg_dumpall which sets the parameter and also affects the + quoting done internally by those applications. + </para> + </listitem> + + </itemizedlist> + </sect3> + <sect3> + <title>psql</title> + <itemizedlist> + + <listitem> + <para> + <emphasis>Add \conninfo command to psql, to show current connection + info</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Extend psql's \e and \ef commands so that a line number + can be specified, and the editor's cursor will be initially placed + on that line</emphasis> + </para> + <para> + To avoid assumptions about what switch the user's editor takes for + this purpose, there is a new psql variable EDITOR_LINENUMBER_SWITCH + with (at present) no default value. + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add a \sf (show function) command to psql, for those + times when you need to look at a function but don't wish to fire up + an editor</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Make psql distinguish between unique indices and unique + constraints in \d printout</emphasis> + </para> + </listitem> + + </itemizedlist> + </sect3> + <sect3> + <title>Procedural Languages</title> + <sect4> + <title>PL/pgSQL</title> + <itemizedlist> + + <listitem> + <para> + <emphasis>Modify the handling of RAISE without parameters so that + the error it throws can be caught in the same places that could + catch an ordinary RAISE ERROR in the same location</emphasis> + </para> + <para> + The previous coding insisted on throwing the error from the block + containing the active exception handler; which is arguably more + surprising, and definitely unlike Oracle's behavior. + </para> + </listitem> + + <listitem> + <para> + <emphasis>Remove ancient PL/pgSQL line numbering hack</emphasis> + </para> + <para> + PL/pgSQL used to count the second line of the function body as + <quote>line 1</>, if the first line was zero-length. + While this hack arguably has some benefit in terms of making + PL/pgsql's line numbering match the programmer's expectations, it + also makes PL/pgsql inconsistent with the remaining PLs, making it + difficult for clients to reliably determine where the error + actually is. On balance, it seems better to be consistent. + </para> + </listitem> + + </itemizedlist> + </sect4> + </sect3> + <sect3> + <title>Additional Supplied Modules</title> + <itemizedlist> + + <listitem> + <para> + <emphasis>Add the ability to compute per-statement latencies (ie, + average execution times) to pgbench</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Teach levenshtein() about multi-byte + characters</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add btree_gist support for searching on <quote>not + equals</quote></emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add ssl_cipher() and ssl_version() functions to + contrib/sslinfo</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Remove the arbitrary (and undocumented) limit on the + number of parameter=value pairs that can be handled by + xslt_process()</emphasis> + </para> + </listitem> + + </itemizedlist> + </sect3> + <sect3> + <title>Source Code, Build Options</title> + <itemizedlist> + + <listitem> + <para> + <emphasis>Include the backend ID in the relpath of temporary + relations</emphasis> + </para> + <para> + This allows us to reliably remove all leftover temporary relation + files on cluster startup without reference to system catalogs or + WAL; therefore, we no longer include temporary relations in + XLOG_XACT_COMMIT and XLOG_XACT_ABORT WAL records. + </para> + </listitem> + + <listitem> + <para> + <emphasis>Rewrite COMMENT ON <replaceable>object</> code for better + modularity, and add necessary locking</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Add a hook in ExecCheckRTPerms() for eventual use by + external security-checking modules</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Standardize names and calling conventions of + get_whatever_oid functions</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Make NestLoop plan nodes pass outer-relation variables + into their inner relation using the general PARAM_EXEC executor + parameter mechanism, rather than the ad-hoc kluge of passing the + outer tuple down through ExecReScan</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Make details of the Numeric representation private to + numeric.c</emphasis> + </para> + </listitem> + + <listitem> + <para> + <emphasis>Suppress some compiler warnings from + <literal>clang</></emphasis> + </para> + </listitem> + + </itemizedlist> + </sect3> + </sect2> +</sect1> diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index fd64985fdb0..748b8fada8e 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.639 2010/08/17 04:37:21 petere Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.640 2010/09/02 17:30:06 tgl Exp $ --> <!-- Typical markup: @@ -72,6 +72,7 @@ can be created without links to the main documentation. Don't use <xref>. The reason for splitting the release notes this way is so that appropriate subsets can easily be copied into back branches. --> +&release-9.1; &release-9.0; &release-8.4; &release-8.3; |