Commit 7b630e7b authored by Robert Haas's avatar Robert Haas

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.
parent 3bba9ce9
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
<listitem> <listitem>
<para> <para>
Disallow functional or attribute string data type casts for Disallow function-style and attribute-style data type casts for
composite types (Tom Lane) composite types (Tom Lane)
</para> </para>
...@@ -293,14 +293,17 @@ ...@@ -293,14 +293,17 @@
<listitem> <listitem>
<para> <para>
Support <literal>RIGHT</> and <literal>FULL OUTER JOIN</> in Allow <literal>FULL OUTER JOIN</literal> to be implemented as a
hash joins (Tom Lane) hash join, and allow either side of a <literal>LEFT OUTER JOIN</>
or <literal>RIGHT OUTER JOIN</> to be hashed (Tom Lane)
</para> </para>
<para> <para>
Previously hash joins could not be considered for outer joins; Previously <literal>FULL OUTER JOIN</literal> could only be
this provides additional query optimization possibilities. implemented as a merge join, and <literal>LEFT OUTER JOIN</literal>
**What about <literal>LEFT</> joins? and <literal>RIGHT OUTER JOIN</literal> could has only the nullable
side of the join. These changes provide additional query optimization
possibilities.
</para> </para>
</listitem> </listitem>
...@@ -323,6 +326,13 @@ ...@@ -323,6 +326,13 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Reduce the memory requirement for large ispell dictionaries
(Pavel Stehule, Tom Lane)
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
...@@ -585,14 +595,18 @@ ...@@ -585,14 +595,18 @@
<listitem> <listitem>
<para> <para>
Add a <link Allow synchronous replication (Simon Riggs, Fujii Masao)
linkend="guc-synchronous-replication"><varname>synchronous_replication</></link>
option (Simon Riggs, Fujii Masao)
</para> </para>
<para> <para>
This allows the primary to wait for the standby to receive One standby at a time can take the role of the synchronous standby,
transaction information before acknowledging the commit. 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> </para>
</listitem> </listitem>
...@@ -600,8 +614,8 @@ ...@@ -600,8 +614,8 @@
<para> <para>
Add variable <link Add variable <link
linkend="guc-hot-standby-feedback"><varname>hot_standby_feedback</></link> linkend="guc-hot-standby-feedback"><varname>hot_standby_feedback</></link>
to enable standbys to communicate their needed snapshots to to enable standbys to postpone cleanup of old row versions on the
the primary (Simon Riggs) primary (Simon Riggs)
</para> </para>
<para> <para>
...@@ -712,7 +726,8 @@ ...@@ -712,7 +726,8 @@
<para> <para>
These named restore points can be specified as recovery 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> </para>
</listitem> </listitem>
...@@ -786,12 +801,6 @@ ...@@ -786,12 +801,6 @@
clauses to be fed into <command>INSERT</>, <command>UPDATE</>, clauses to be fed into <command>INSERT</>, <command>UPDATE</>,
<command>DELETE </> statements (Marko Tiikkaja, Hitoshi Harada) <command>DELETE </> statements (Marko Tiikkaja, Hitoshi Harada)
</para> </para>
<para>
Specifically, let <command>SELECT</> query results be fed
into <command>INSERT</>, <command>UPDATE</>, <command>DELETE</>
statements.
</para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -804,7 +813,7 @@ ...@@ -804,7 +813,7 @@
<para> <para>
Some other database system already allowed this behavior, and 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> </para>
</listitem> </listitem>
...@@ -822,6 +831,19 @@ ...@@ -822,6 +831,19 @@
</para> </para>
</listitem> </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> </itemizedlist>
<sect4> <sect4>
...@@ -912,6 +934,12 @@ ...@@ -912,6 +934,12 @@
Add support for more object types in <command>ALTER ... SET Add support for more object types in <command>ALTER ... SET
SCHEMA</> commands (Dimitri Fontaine) SCHEMA</> commands (Dimitri Fontaine)
</para> </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> </listitem>
</itemizedlist> </itemizedlist>
...@@ -926,13 +954,13 @@ ...@@ -926,13 +954,13 @@
<listitem> <listitem>
<para> <para>
Add <link linkend="SQL-ALTERTABLE"><command>ALTER TABLE ... 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) (Gurjeet Singh)
</para> </para>
<para> <para>
This allows existing unique indexes to be used as primary This allows a primary key or unique constraint to be added using an
keys, including indexes that were created concurrently. existing unique index, including a concurrently created unique index.
</para> </para>
</listitem> </listitem>
...@@ -951,15 +979,15 @@ ...@@ -951,15 +979,15 @@
<listitem> <listitem>
<para> <para>
Allow <link linkend="SQL-ALTERTABLE"><command>ALTER TABLE</></link> Allow <link linkend="SQL-ALTERTABLE"><command>ALTER TABLE
... <literal>SET DATA TYPE</> to avoid table rewrites in ... SET DATA TYPE</command></link> to avoid table rewrites in
appropriate cases (Noah Misch, Robert Haas) appropriate cases (Noah Misch, Robert Haas)
</para> </para>
<para> <para>
For example, converting a varchar column to text no longer For example, converting a varchar column to text no longer
requires a rewrite of the table. **Length changes require requires a rewrite of the table. However, increasing the length
rewrite? constraint on a varchar column still requires a table rewrite.
</para> </para>
</listitem> </listitem>
...@@ -1008,13 +1036,13 @@ ...@@ -1008,13 +1036,13 @@
<listitem> <listitem>
<para> <para>
Add a true <link linkend="xact-serializable"><literal>serializable</> Add a true <link linkend="xact-serializable"><literal>serializable</></link> isolation level (Kevin Grittner, Dan Ports)
</link> isolation level (Kevin Grittner, Dan Ports)
</para> </para>
<para> <para>
Previously asking for serializable isolation produced Previously asking for serializable isolation guaranteed only that
snapshot isolation, which had certain documented anomalies. 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 The old snapshot isolation level is still accessible by
requesting the <link linkend="xact-repeatable-read"><literal>REPEATABLE requesting the <link linkend="xact-repeatable-read"><literal>REPEATABLE
READ</></link> isolation level. READ</></link> isolation level.
...@@ -1094,19 +1122,6 @@ ...@@ -1094,19 +1122,6 @@
</para> </para>
</listitem> </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> </itemizedlist>
</sect4> </sect4>
...@@ -1145,6 +1160,22 @@ ...@@ -1145,6 +1160,22 @@
</sect4> </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> <sect4>
<title>Indexes</title> <title>Indexes</title>
...@@ -1173,6 +1204,18 @@ ...@@ -1173,6 +1204,18 @@
</para> </para>
</listitem> </listitem>
<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> <listitem>
<para> <para>
Fix <link linkend="GiST"><acronym>GiST</> indexes</link> to be fully Fix <link linkend="GiST"><acronym>GiST</> indexes</link> to be fully
...@@ -1215,6 +1258,22 @@ ...@@ -1215,6 +1258,22 @@
</para> </para>
</listitem> </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> </itemizedlist>
<sect4> <sect4>
...@@ -1236,7 +1295,8 @@ ...@@ -1236,7 +1295,8 @@
</para> </para>
<para> <para>
**Needs description. This is analogous to the existing facility that allows casting a row
type to a supertable's row type.
</para> </para>
</listitem> </listitem>
...@@ -1258,7 +1318,7 @@ ...@@ -1258,7 +1318,7 @@
</para> </para>
<para> <para>
This is used for xpath matching. These are used for xpath matching.
</para> </para>
</listitem> </listitem>
...@@ -1275,6 +1335,8 @@ ...@@ -1275,6 +1335,8 @@
<para> <para>
These check whether the input is properly-formed <acronym>XML</>. These check whether the input is properly-formed <acronym>XML</>.
They supersede functionality that was previously available only using
<filename>contrib/xml2</filename>.
</para> </para>
</listitem> </listitem>
...@@ -1317,7 +1379,7 @@ ...@@ -1317,7 +1379,7 @@
</para> </para>
<para> <para>
**Why were these added? These improve compatibility with other database products.
</para> </para>
</listitem> </listitem>
...@@ -1362,8 +1424,7 @@ ...@@ -1362,8 +1424,7 @@
</para> </para>
<para> <para>
This function is used to obtain comments on objects. **Alvaro, This function is used to obtain comments on objects.
why is this useful for pg_depend?
</para> </para>
</listitem> </listitem>
...@@ -1471,22 +1532,51 @@ ...@@ -1471,22 +1532,51 @@
<sect3> <sect3>
<title>Server-Side Languages</title> <title>Server-Side Languages</title>
<itemizedlist> <sect4>
<title><link linkend="plpgsql">PL/pgSQL</link> Server-Side Language</title>
<listitem> <itemizedlist>
<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> <listitem>
This is more efficient than previous methods. <para>
</para> Add <link linkend="plpgsql-foreach-array"><command>FOREACH IN
</listitem> 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> </itemizedlist>
</sect4>
<sect4> <sect4>
<title><link linkend="plperl">PL/Perl</link> Server-Side Language</title> <title><link linkend="plperl">PL/Perl</link> Server-Side Language</title>
...@@ -1605,6 +1695,17 @@ ...@@ -1605,6 +1695,17 @@
</para> </para>
</listitem> </listitem>
<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> <listitem>
<para> <para>
Overhaul of PL/Python (Jan Urbanski) Overhaul of PL/Python (Jan Urbanski)
...@@ -1701,6 +1802,13 @@ ...@@ -1701,6 +1802,13 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Make <application>psql</application> distinguish between unique
indices and unique constraints (Josh Kupershmidt)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Additional tab completion of <application>psql</> variables (Pavel Additional tab completion of <application>psql</> variables (Pavel
...@@ -1858,6 +1966,21 @@ ...@@ -1858,6 +1966,21 @@
</sect4> </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>
<sect3> <sect3>
...@@ -1867,8 +1990,8 @@ ...@@ -1867,8 +1990,8 @@
<listitem> <listitem>
<para> <para>
Add <link linkend="extension">extensions</link> which allow Add <link linkend="extension">extensions</link> which simplify
packaged additions to <productname>PostgreSQL</> (Dimitri packaging of additions to <productname>PostgreSQL</> (Dimitri
Fontaine, Tom Lane) Fontaine, Tom Lane)
</para> </para>
...@@ -2087,12 +2210,12 @@ ...@@ -2087,12 +2210,12 @@
<listitem> <listitem>
<para> <para>
Add <link linkend="file-fdw"><filename>contrib/file_fdw</></link> Add <link linkend="file-fdw"><filename>contrib/file_fdw</></link>
foreign-data wrapper for reading files via <command>COPY foreign-data wrapper (Shigeru Hanada)
</>(Shigeru Hanada)
</para> </para>
<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> </para>
</listitem> </listitem>
...@@ -2144,6 +2267,36 @@ ...@@ -2144,6 +2267,36 @@
</para> </para>
</listitem> </listitem>
<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> <listitem>
<para> <para>
In <link linkend="xml2"><filename>contrib/xml2</></link>, remove In <link linkend="xml2"><filename>contrib/xml2</></link>, remove
...@@ -2156,6 +2309,18 @@ ...@@ -2156,6 +2309,18 @@
</para> </para>
</listitem> </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> </itemizedlist>
<sect4> <sect4>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment