aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2011-03-24 16:57:12 -0400
committerRobert Haas <rhaas@postgresql.org>2011-03-24 16:58:01 -0400
commit7b630e7b8e4faec13af2ce934b8bb33d9a1c8e06 (patch)
treee5e7fe1d82dc9a62cf29622e7b832591ee3eabf5
parent3bba9ce945a702ab116fcedb9c0b970ecd69c9dd (diff)
downloadpostgresql-7b630e7b8e4faec13af2ce934b8bb33d9a1c8e06.tar.gz
postgresql-7b630e7b8e4faec13af2ce934b8bb33d9a1c8e06.zip
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.
-rw-r--r--doc/src/sgml/release-9.1.sgml297
1 files changed, 231 insertions, 66 deletions
diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml
index 10f1e6ae691..1a1bac1e10d 100644
--- a/doc/src/sgml/release-9.1.sgml
+++ b/doc/src/sgml/release-9.1.sgml
@@ -73,7 +73,7 @@
<listitem>
<para>
- Disallow functional or attribute string data type casts for
+ Disallow function-style and attribute-style data type casts for
composite types (Tom Lane)
</para>
@@ -293,14 +293,17 @@
<listitem>
<para>
- Support <literal>RIGHT</> and <literal>FULL OUTER JOIN</> in
- hash joins (Tom Lane)
+ Allow <literal>FULL OUTER JOIN</literal> to be implemented as a
+ hash join, and allow either side of a <literal>LEFT OUTER JOIN</>
+ or <literal>RIGHT OUTER JOIN</> to be hashed (Tom Lane)
</para>
<para>
- Previously hash joins could not be considered for outer joins;
- this provides additional query optimization possibilities.
- **What about <literal>LEFT</> joins?
+ Previously <literal>FULL OUTER JOIN</literal> could only be
+ implemented as a merge join, and <literal>LEFT OUTER JOIN</literal>
+ and <literal>RIGHT OUTER JOIN</literal> could has only the nullable
+ side of the join. These changes provide additional query optimization
+ possibilities.
</para>
</listitem>
@@ -323,6 +326,13 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ Reduce the memory requirement for large ispell dictionaries
+ (Pavel Stehule, Tom Lane)
+ </para>
+ </listitem>
+
</itemizedlist>
</sect4>
@@ -585,14 +595,18 @@
<listitem>
<para>
- Add a <link
- linkend="guc-synchronous-replication"><varname>synchronous_replication</></link>
- option (Simon Riggs, Fujii Masao)
+ Allow synchronous replication (Simon Riggs, Fujii Masao)
</para>
<para>
- 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
+ <link linkend="guc-synchronous-standby-names"><varname>synchronous_standby_names</varname></link>
+ setting. Synchronous replication can be enabled or disabled on a
+ per-transaction basis using the
+ <link linkend="guc-synchronous-replication"><varname>synchronous_replication</></link>
+ setting. This allows the primary to wait for a standby to write the
+ transaction information to disk before acknowledging the commit.
</para>
</listitem>
@@ -600,8 +614,8 @@
<para>
Add variable <link
linkend="guc-hot-standby-feedback"><varname>hot_standby_feedback</></link>
- 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)
</para>
<para>
@@ -712,7 +726,8 @@
<para>
These named restore points can be specified as recovery
- targets in <filename>recovery.conf</>.
+ targets using the new <filename>recovery.conf</> setting
+ <link linkend="recovery-target-name"><varname>recovery_target_name</></link>
</para>
</listitem>
@@ -786,12 +801,6 @@
clauses to be fed into <command>INSERT</>, <command>UPDATE</>,
<command>DELETE </> statements (Marko Tiikkaja, Hitoshi Harada)
</para>
-
- <para>
- Specifically, let <command>SELECT</> query results be fed
- into <command>INSERT</>, <command>UPDATE</>, <command>DELETE</>
- statements.
- </para>
</listitem>
<listitem>
@@ -804,7 +813,7 @@
<para>
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.
</para>
</listitem>
@@ -822,6 +831,19 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ Fix ordinary queries with rules to use the same snapshot behavior
+ as <command>EXPLAIN ANALYZE</> (Marko Tiikkaja)
+ </para>
+
+ <para>
+ Previously <command>EXPLAIN ANALYZE</> used a slightly different
+ snapshot for queries involving rules. The <command>EXPLAIN ANALYZE</>
+ behavior was judged to be more logical.
+ </para>
+ </listitem>
+
</itemizedlist>
<sect4>
@@ -912,6 +934,12 @@
Add support for more object types in <command>ALTER ... SET
SCHEMA</> commands (Dimitri Fontaine)
</para>
+
+ <para>
+ 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.
+ </para>
</listitem>
</itemizedlist>
@@ -926,13 +954,13 @@
<listitem>
<para>
Add <link linkend="SQL-ALTERTABLE"><command>ALTER TABLE ...
- ADD UNIQUE</></link>/<literal>PRIMARY KEY USING INDEX</>
+ ADD UNIQUE/PRIMARY KEY USING INDEX</command></link>
(Gurjeet Singh)
</para>
<para>
- 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.
</para>
</listitem>
@@ -951,15 +979,15 @@
<listitem>
<para>
- Allow <link linkend="SQL-ALTERTABLE"><command>ALTER TABLE</></link>
- ... <literal>SET DATA TYPE</> to avoid table rewrites in
+ Allow <link linkend="SQL-ALTERTABLE"><command>ALTER TABLE
+ ... SET DATA TYPE</command></link> to avoid table rewrites in
appropriate cases (Noah Misch, Robert Haas)
</para>
<para>
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.
</para>
</listitem>
@@ -1008,13 +1036,13 @@
<listitem>
<para>
- Add a true <link linkend="xact-serializable"><literal>serializable</>
- </link> isolation level (Kevin Grittner, Dan Ports)
+ Add a true <link linkend="xact-serializable"><literal>serializable</></link> isolation level (Kevin Grittner, Dan Ports)
</para>
<para>
- 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 <link linkend="xact-repeatable-read"><literal>REPEATABLE
READ</></link> isolation level.
@@ -1094,19 +1122,6 @@
</para>
</listitem>
- <listitem>
- <para>
- Fix <command>EXPLAIN ANALYZE</>
- with rules to use the same snapshot behavior as ordinary
- queries (Marko Tiikkaja)
- </para>
-
- <para>
- Previously <command>EXPLAIN ANALYZE</> used a slightly different
- snapshot for queries involving rules.
- </para>
- </listitem>
-
</itemizedlist>
</sect4>
@@ -1146,6 +1161,22 @@
</sect4>
<sect4>
+ <title><link linkend="SQL-CLUSTER"><command>CLUSTER</></link></title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Allow CLUSTER to sort the table rather than scanning the index
+ when it seems likely to be cheaper (Leonardo Francalanci)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect4>
+
+ <sect4>
<title>Indexes</title>
<itemizedlist>
@@ -1175,6 +1206,18 @@
<listitem>
<para>
+ Allow <link linkend="GIN"><acronym>GIN</> indexes</link> to
+ better recognize duplicate search entries (Tom Lane)
+ </para>
+
+ <para>
+ This reduces the cost of index scans, especially in cases where
+ it avoids unnecessary full index scans.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
Fix <link linkend="GiST"><acronym>GiST</> indexes</link> to be fully
crash-safe (Heikki Linnakangas)
</para>
@@ -1215,6 +1258,22 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ Allow binary I/O on type <type>void</type> (Radoslaw Smogura)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve hypotenuse calculations for geometric operators (Paul Matthews)
+ </para>
+
+ <para>
+ This avoids unnecessary overflows, and may also be more accurate.
+ </para>
+ </listitem>
+
</itemizedlist>
<sect4>
@@ -1236,7 +1295,8 @@
</para>
<para>
- **Needs description.
+ This is analogous to the existing facility that allows casting a row
+ type to a supertable's row type.
</para>
</listitem>
@@ -1258,7 +1318,7 @@
</para>
<para>
- This is used for xpath matching.
+ These are used for xpath matching.
</para>
</listitem>
@@ -1275,6 +1335,8 @@
<para>
These check whether the input is properly-formed <acronym>XML</>.
+ They supersede functionality that was previously available only using
+ <filename>contrib/xml2</filename>.
</para>
</listitem>
@@ -1317,7 +1379,7 @@
</para>
<para>
- **Why were these added?
+ These improve compatibility with other database products.
</para>
</listitem>
@@ -1362,8 +1424,7 @@
</para>
<para>
- 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.
</para>
</listitem>
@@ -1471,22 +1532,51 @@
<sect3>
<title>Server-Side Languages</title>
- <itemizedlist>
+ <sect4>
+ <title><link linkend="plpgsql">PL/pgSQL</link> Server-Side Language</title>
- <listitem>
- <para>
- Add <link linkend="plpgsql-foreach-array"><command>FOREACH IN
- ARRAY</></link> to <link linkend="plpgsql">PL/pgSQL</link> to
- allow array iteration (Pavel Stehule)
- </para>
+ <itemizedlist>
- <para>
- This is more efficient than previous methods.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Add <link linkend="plpgsql-foreach-array"><command>FOREACH IN
+ ARRAY</></link> to <link linkend="plpgsql">PL/pgSQL</link> to
+ allow array iteration (Pavel Stehule)
+ </para>
+
+ <para>
+ This is more efficient than previous methods.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add <link linkend="plpgsql-foreach-array"><command>FOREACH IN
+ ARRAY</></link> to <link linkend="plpgsql">PL/pgSQL</link> to
+ allow array iteration (Pavel Stehule)
+ </para>
+
+ <para>
+ This is more efficient than previous methods.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Allow <command>RAISE</command> without parameters to be caught in
+ the same places that could catch a <command>RAISE ERROR</command>
+ from the same location.
+ </para>
+
+ <para>
+ The new behavior is more consistent.
+ </para>
+ </listitem>
</itemizedlist>
+ </sect4>
+
<sect4>
<title><link linkend="plperl">PL/Perl</link> Server-Side Language</title>
@@ -1607,6 +1697,17 @@
<listitem>
<para>
+ <function>plpy.Fatal</function> now raises <literal>FATAL</>, rather
+ than <literal>ERROR</literal> (Jan Urbanski)
+ </para>
+
+ <para>
+ The old behavior was incorrect.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
Overhaul of PL/Python (Jan Urbanski)
</para>
@@ -1703,6 +1804,13 @@
<listitem>
<para>
+ Make <application>psql</application> distinguish between unique
+ indices and unique constraints (Josh Kupershmidt)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
Additional tab completion of <application>psql</> variables (Pavel
Stehule)
</para>
@@ -1858,6 +1966,21 @@
</sect4>
+ <sect4>
+ <title><link linkend="ecpg"><application>ECPG</></link></title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Allow ecpg to accept dynamic cursor names even in
+ <literal>WHERE CURRENT OF</literal> clauses
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect4>
+
</sect3>
<sect3>
@@ -1867,8 +1990,8 @@
<listitem>
<para>
- Add <link linkend="extension">extensions</link> which allow
- packaged additions to <productname>PostgreSQL</> (Dimitri
+ Add <link linkend="extension">extensions</link> which simplify
+ packaging of additions to <productname>PostgreSQL</> (Dimitri
Fontaine, Tom Lane)
</para>
@@ -2087,12 +2210,12 @@
<listitem>
<para>
Add <link linkend="file-fdw"><filename>contrib/file_fdw</></link>
- foreign-data wrapper for reading files via <command>COPY
- </>(Shigeru Hanada)
+ foreign-data wrapper (Shigeru Hanada)
</para>
<para>
- 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 <command>COPY</>.
</para>
</listitem>
@@ -2146,6 +2269,36 @@
<listitem>
<para>
+ Allow <link linkend="intarray"><filename>contrib/intarray</></link>
+ to work properly on multi-dimensional arrays (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ In
+ <link linkend="intarray"><filename>contrib/intarray</></link>,
+ avoid errors complaining about the presence nulls in cases where no
+ nulls are actually present (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ In
+ <link linkend="intarray"><filename>contrib/intarray</></link>,
+ fix behavior of containment operators with respect to empty arrays
+ (Tom Lane)
+ </para>
+
+ <para>
+ Empty arrays are now correctly considered to be contained in any other
+ array.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
In <link linkend="xml2"><filename>contrib/xml2</></link>, remove
arbitrary limit on the number of parameter=value pairs that
can be handled by <function>xslt_process()</> (Pavel Stehule)
@@ -2156,6 +2309,18 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ In <link linkend="pageinspect"><filename>contrib/pageinspect</></link>,
+ fix heap_page_item to return infomasks as 32-bit values (Alvaro Herrera)
+ </para>
+
+ <para>
+ This avoids returning negative values, which was confusing. The
+ underlying value is a 16-bit unsigned integer.
+ </para>
+ </listitem>
+
</itemizedlist>
<sect4>