From 7b630e7b8e4faec13af2ce934b8bb33d9a1c8e06 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Thu, 24 Mar 2011 16:57:12 -0400 Subject: [PATCH] Edits to 9.1 release notes. Add some new items and some additional details to existing items, mostly by cribbing from the 9.1alpha notes. Some additional clarifications and corrections elsewhere, and a few typo fixes. --- doc/src/sgml/release-9.1.sgml | 297 ++++++++++++++++++++++++++-------- 1 file changed, 231 insertions(+), 66 deletions(-) diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index 10f1e6ae69..1a1bac1e10 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -73,7 +73,7 @@ - Disallow functional or attribute string data type casts for + Disallow function-style and attribute-style data type casts for composite types (Tom Lane) @@ -293,14 +293,17 @@ - Support RIGHT and FULL OUTER JOIN in - hash joins (Tom Lane) + Allow FULL OUTER JOIN to be implemented as a + hash join, and allow either side of a LEFT OUTER JOIN + or RIGHT OUTER JOIN to be hashed (Tom Lane) - Previously hash joins could not be considered for outer joins; - this provides additional query optimization possibilities. - **What about LEFT joins? + Previously FULL OUTER JOIN could only be + implemented as a merge join, and LEFT OUTER JOIN + and RIGHT OUTER JOIN could has only the nullable + side of the join. These changes provide additional query optimization + possibilities. @@ -323,6 +326,13 @@ + + + Reduce the memory requirement for large ispell dictionaries + (Pavel Stehule, Tom Lane) + + + @@ -585,14 +595,18 @@ - Add a synchronous_replication - option (Simon Riggs, Fujii Masao) + Allow synchronous replication (Simon Riggs, Fujii Masao) - This allows the primary to wait for the standby to receive - transaction information before acknowledging the commit. + One standby at a time can take the role of the synchronous standby, + as controlled by the + synchronous_standby_names + setting. Synchronous replication can be enabled or disabled on a + per-transaction basis using the + synchronous_replication + setting. This allows the primary to wait for a standby to write the + transaction information to disk before acknowledging the commit. @@ -600,8 +614,8 @@ Add variable hot_standby_feedback - to enable standbys to communicate their needed snapshots to - the primary (Simon Riggs) + to enable standbys to postpone cleanup of old row versions on the + primary (Simon Riggs) @@ -712,7 +726,8 @@ These named restore points can be specified as recovery - targets in recovery.conf. + targets using the new recovery.conf setting + recovery_target_name @@ -786,12 +801,6 @@ clauses to be fed into INSERT, UPDATE, DELETE statements (Marko Tiikkaja, Hitoshi Harada) - - - Specifically, let SELECT query results be fed - into INSERT, UPDATE, DELETE - statements. - @@ -804,7 +813,7 @@ Some other database system already allowed this behavior, and - because of the primary key, the result is unambiguous.. + because of the primary key, the result is unambiguous. @@ -822,6 +831,19 @@ + + + Fix ordinary queries with rules to use the same snapshot behavior + as EXPLAIN ANALYZE (Marko Tiikkaja) + + + + Previously EXPLAIN ANALYZE used a slightly different + snapshot for queries involving rules. The EXPLAIN ANALYZE + behavior was judged to be more logical. + + + @@ -912,6 +934,12 @@ Add support for more object types in ALTER ... SET SCHEMA commands (Dimitri Fontaine) + + + This command is now supported for conversions, operators, operator + classes, operator families, text search configurations, and text search + dictionaries, text search parsers, and text search templates. + @@ -926,13 +954,13 @@ Add ALTER TABLE ... - ADD UNIQUE/PRIMARY KEY USING INDEX + ADD UNIQUE/PRIMARY KEY USING INDEX (Gurjeet Singh) - This allows existing unique indexes to be used as primary - keys, including indexes that were created concurrently. + This allows a primary key or unique constraint to be added using an + existing unique index, including a concurrently created unique index. @@ -951,15 +979,15 @@ - Allow ALTER TABLE - ... SET DATA TYPE to avoid table rewrites in + Allow ALTER TABLE + ... SET DATA TYPE to avoid table rewrites in appropriate cases (Noah Misch, Robert Haas) For example, converting a varchar column to text no longer - requires a rewrite of the table. **Length changes require - rewrite? + requires a rewrite of the table. However, increasing the length + constraint on a varchar column still requires a table rewrite. @@ -1008,13 +1036,13 @@ - Add a true serializable - isolation level (Kevin Grittner, Dan Ports) + Add a true serializable isolation level (Kevin Grittner, Dan Ports) - Previously asking for serializable isolation produced - snapshot isolation, which had certain documented anomalies. + Previously asking for serializable isolation guaranteed only that + a single MVCC snapshot would be used for the entire transaction, which + allowed certain documented anomalies. The old snapshot isolation level is still accessible by requesting the REPEATABLE READ isolation level. @@ -1094,19 +1122,6 @@ - - - Fix EXPLAIN ANALYZE - with rules to use the same snapshot behavior as ordinary - queries (Marko Tiikkaja) - - - - Previously EXPLAIN ANALYZE used a slightly different - snapshot for queries involving rules. - - - @@ -1145,6 +1160,22 @@ + + <link linkend="SQL-CLUSTER"><command>CLUSTER</></link> + + + + + + Allow CLUSTER to sort the table rather than scanning the index + when it seems likely to be cheaper (Leonardo Francalanci) + + + + + + + Indexes @@ -1173,6 +1204,18 @@ + + + Allow GIN indexes to + better recognize duplicate search entries (Tom Lane) + + + + This reduces the cost of index scans, especially in cases where + it avoids unnecessary full index scans. + + + Fix GiST indexes to be fully @@ -1215,6 +1258,22 @@ + + + Allow binary I/O on type void (Radoslaw Smogura) + + + + + + Improve hypotenuse calculations for geometric operators (Paul Matthews) + + + + This avoids unnecessary overflows, and may also be more accurate. + + + @@ -1236,7 +1295,8 @@ - **Needs description. + This is analogous to the existing facility that allows casting a row + type to a supertable's row type. @@ -1258,7 +1318,7 @@ - This is used for xpath matching. + These are used for xpath matching. @@ -1275,6 +1335,8 @@ These check whether the input is properly-formed XML. + They supersede functionality that was previously available only using + contrib/xml2. @@ -1317,7 +1379,7 @@ - **Why were these added? + These improve compatibility with other database products. @@ -1362,8 +1424,7 @@ - This function is used to obtain comments on objects. **Alvaro, - why is this useful for pg_depend? + This function is used to obtain comments on objects. @@ -1471,22 +1532,51 @@ Server-Side Languages - + + <link linkend="plpgsql">PL/pgSQL</link> Server-Side Language - - - Add FOREACH IN - ARRAY to PL/pgSQL to - allow array iteration (Pavel Stehule) - + - - This is more efficient than previous methods. - - + + + Add FOREACH IN + ARRAY to PL/pgSQL to + allow array iteration (Pavel Stehule) + + + + This is more efficient than previous methods. + + + + + + Add FOREACH IN + ARRAY to PL/pgSQL to + allow array iteration (Pavel Stehule) + + + + This is more efficient than previous methods. + + + + + + Allow RAISE without parameters to be caught in + the same places that could catch a RAISE ERROR + from the same location. + + + + The new behavior is more consistent. + + + + <link linkend="plperl">PL/Perl</link> Server-Side Language @@ -1605,6 +1695,17 @@ + + + plpy.Fatal now raises FATAL, rather + than ERROR (Jan Urbanski) + + + + The old behavior was incorrect. + + + Overhaul of PL/Python (Jan Urbanski) @@ -1701,6 +1802,13 @@ + + + Make psql distinguish between unique + indices and unique constraints (Josh Kupershmidt) + + + Additional tab completion of psql variables (Pavel @@ -1858,6 +1966,21 @@ + + <link linkend="ecpg"><application>ECPG</></link> + + + + + + Allow ecpg to accept dynamic cursor names even in + WHERE CURRENT OF clauses + + + + + + @@ -1867,8 +1990,8 @@ - Add extensions which allow - packaged additions to PostgreSQL (Dimitri + Add extensions which simplify + packaging of additions to PostgreSQL (Dimitri Fontaine, Tom Lane) @@ -2087,12 +2210,12 @@ Add contrib/file_fdw - foreign-data wrapper for reading files via COPY - (Shigeru Hanada) + foreign-data wrapper (Shigeru Hanada) - This adds foreign table support for flat-file. + Foreign tables using this foreign data wrapper will read flat files + in a matter very similar to COPY. @@ -2144,6 +2267,36 @@ + + + Allow contrib/intarray + to work properly on multi-dimensional arrays (Tom Lane) + + + + + + In + contrib/intarray, + avoid errors complaining about the presence nulls in cases where no + nulls are actually present (Tom Lane) + + + + + + In + contrib/intarray, + fix behavior of containment operators with respect to empty arrays + (Tom Lane) + + + + Empty arrays are now correctly considered to be contained in any other + array. + + + In contrib/xml2, remove @@ -2156,6 +2309,18 @@ + + + In contrib/pageinspect, + fix heap_page_item to return infomasks as 32-bit values (Alvaro Herrera) + + + + This avoids returning negative values, which was confusing. The + underlying value is a 16-bit unsigned integer. + + +