]> granicus.if.org Git - postgresql/commitdiff
Reorder 8.2 release note items more logically.
authorBruce Momjian <bruce@momjian.us>
Tue, 19 Sep 2006 02:08:30 +0000 (02:08 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 19 Sep 2006 02:08:30 +0000 (02:08 +0000)
doc/src/sgml/release.sgml

index 6dd6f739ab1e4f39e191a29180f02111fddad745..5b8c3af06fd78ed59e3d4671b0c0f31206c425d5 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.439 2006/09/19 00:57:07 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.440 2006/09/19 02:08:30 momjian Exp $ -->
 <!--
 
 Typical markup:
@@ -37,15 +37,15 @@ For new features, add links to the documentation sections.
  
     <para>
      This release adds many improvements to commands and database
-     facilities that were requested by users.  Rather than add a
-     few large new features, this release makes many features from
-     previous releases easier to use.  For example, it is now much
-     easier to create standby point-in-time-recovery (PITR) servers.
-     Many performance bottlenecks have been eliminated, allowing
-     more functionality to be enabled by default.  Various additions
+     facilities that were requested by users.  Rather add a few
+     new features, this release makes many features from previous
+     releases easier to use.  For example, it is now much easier
+     to create standby point-in-time-recovery (PITR) servers.  Many
+     performance bottlenecks have been eliminated, allowing more
+     functionality to be enabled by default.  Various additions
      will make porting from other databases easier.  The changes
      in this release continue the <productname>PostgreSQL</>
-     tradition of not only being the most advanced open source
+     tradition of being not only the most advanced open source
      database, but also the easiest to use.
     </para>
 
@@ -68,39 +68,41 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Improve cost estimation for nestloop index scans (Tom)
+        Set <envar>escape_string_warning</> to <literal>on</> by
+        default (Bruce)
        </para>
 
        <para>
-        This may eliminate the need to set unrealistically small
-        values of <envar>random_page_cost</>.  If you have been
-        using a very small <envar>random_page_cost</>, please
-        recheck your test cases.
+        This issues a warning if backslash escapes are used in
+        non-escape (non-<literal>E''</>) strings.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Deprecate use of <application>postmaster</> symlink (Peter)
+        Disallow aggregate functions in <command>UPDATE</> commands
+        (unless within a subquery) (Tom)
        </para>
 
        <para>
-        <application>postmaster</> and <application>postgres</>
-        commands now act identically, with the behavior determined
-        by switches.  The <application>postmaster</> symlink is
-        kept for compatibility, but is not really needed.
+        The standard disallows this, and it leads to unpredictable
+        results.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Change <envar>log_duration</> to output even if the query
-        is not output (Tom)
+        Change the row constructor syntax (<literal>ROW(...)</>)
+        so that list elements <literal>foo.*</> will be expanded
+        to a list of their member fields, rather than creating a
+        nested rowtype field as formerly (Tom)
        </para>
 
        <para>
-        In prior releases, <envar>log_duration</> only printed if
-        the query appeared earlier in the logs.
+        The new behavior is substantially more useful since it
+        allows, for example, triggers to check for data changes
+        with <literal>IF row(new.*) IS DISTINCT FROM row(old.*)</>.
+        The old behavior is still available by omitting <literal>.*</>.
        </para>
       </listitem>
 
@@ -120,92 +122,89 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Set <envar>escape_string_warning</> to <literal>on</> by
-        default (Bruce)
+        Have <command>SET CONSTRAINT</> affect only one constraint
+        (Kris Jurka)
        </para>
 
        <para>
-        This issues a warning if backslash escapes are used in
-        non-escape (non-<literal>E''</>) strings.
+        In previous releases, <command>SET CONSTRAINT</> modified
+        all constraints with a matching name.  In this release,
+        the schema search path is used to modify only the first
+        matching constraint.  A schema specification is also
+        supported.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Disallow aggregate functions in <command>UPDATE</> commands
-        (unless within a subquery) (Tom)
+        Remove rule permission for tables, for security reasons
+        (Tom)
        </para>
 
        <para>
-        The standard disallows this, and it leads to unpredictable
-        results.
+        In this release, only a table's owner can create or modify
+        rules for the table.  For backwards compatibility,
+        <command>GRANT</>/<command>REVOKE RULE</> is still accepted,
+        but it does nothing.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Change the row constructor syntax (<literal>ROW(...)</>)
-        so that list elements <literal>foo.*</> will be expanded
-        to a list of their member fields, rather than creating a
-        nested rowtype field as formerly (Tom)
+        Array comparison improvements (Tom)
        </para>
 
        <para>
-        The new behavior is substantially more useful since it
-        allows, for example, triggers to check for data changes
-        with <literal>IF row(new.*) IS DISTINCT FROM row(old.*)</>.
-        The old behavior is still available by omitting <literal>.*</>.
+        Now array dimensions are also compared.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Have <command>SET CONSTRAINT</> affect only one constraint
-        (Kris Jurka)
+        Change array concatenation to match documented behavior
+        (Tom)
        </para>
 
        <para>
-        In previous releases, <command>SET CONSTRAINT</> modified
-        all constraints with a matching name.  In this release,
-        the schema search path is used to modify only the first
-        matching constraint.  A schema specification is also
-        supported.
+        This changes the previous behavior where concatenation
+        would adjust the lower array dimensions.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Remove rule permission for tables, for security reasons
-        (Tom)
+        Make command-line options of postmaster and postgres
+        identical (Peter)
        </para>
 
        <para>
-        In this release, only a table's owner can create or modify
-        rules for the table.  For backwards compatibility,
-        <command>GRANT</>/<command>REVOKE RULE</> is still accepted,
-        but it does nothing.
+        This allows the postmaster to pass arguments to each backend
+        without using <literal>-o</>.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Array comparison improvements (Tom)
+        Deprecate use of <application>postmaster</> symlink (Peter)
        </para>
 
        <para>
-        Now array dimensions are also compared.
+        <application>postmaster</> and <application>postgres</>
+        commands now act identically, with the behavior determined
+        by switches.  The <application>postmaster</> symlink is
+        kept for compatibility, but is not really needed.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Change array concatenation to match documented behavior
-        (Tom)
+        Change <envar>log_duration</> to output even if the query
+        is not output (Tom)
        </para>
 
        <para>
-        This changes the previous behavior where concatenation
-        would adjust the lower array dimensions.
+        In prior releases, <envar>log_duration</> only printed if
+        the query appeared earlier in the logs.
        </para>
       </listitem>
 
@@ -240,6 +239,19 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
+      <listitem>
+       <para>
+        Improve cost estimation for nestloop index scans (Tom)
+       </para>
+
+       <para>
+        This may eliminate the need to set unrealistically small
+        values of <envar>random_page_cost</>.  If you have been
+        using a very small <envar>random_page_cost</>, please
+        recheck your test cases.
+       </para>
+      </listitem>
+
       <listitem>
        <para>
         Change <application>libpq</> <function>PQdsplen()</> to
@@ -262,23 +274,14 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Remove <acronym>QNX</> and <acronym>BEOS</> ports (Bruce)
-       </para>
-
-       <para>
-        These ports no longer had active maintainers.
-       </para>
-      </listitem>
-
-      <listitem>
-       <para>
-        Make command-line options of postmaster and postgres
-        identical (Peter)
+        In /contrib/xml2, rename <function>xml_valid()</> to
+        <function>xml_is_well_formed()</> (Tom)
        </para>
 
        <para>
-        This allows the postmaster to pass arguments to each backend
-        without using <literal>-o</>.
+        <function>xml_valid()</> will remain for backward compability,
+        but its behavior will change to do schema checks in future
+        releases.
        </para>
       </listitem>
 
@@ -304,14 +307,11 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        In /contrib/xml2, rename <function>xml_valid()</> to
-        <function>xml_is_well_formed()</> (Tom)
+        Remove <acronym>QNX</> and <acronym>BEOS</> ports (Bruce)
        </para>
 
        <para>
-        <function>xml_valid()</> will remain for backward compability,
-        but its behavior will change to do schema checks in future
-        releases.
+        These ports no longer had active maintainers.
        </para>
       </listitem>
 
@@ -472,7 +472,10 @@ For new features, add links to the documentation sections.
         Teramoto)
        </para>
       </listitem>
-     </sect3>
+
+     </itemizedlist>
+
+    </sect3>
 
     <sect3>
      <title>Server Changes</title>
@@ -480,22 +483,55 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Improve performance of statistics monitoring, especially
-        <literal>stats_command_string</> (Tom, Bruce)
+        Allow a forced switch to a new xlog file (Simon Riggs, Tom)
        </para>
 
        <para>
-        This release sets <envar>stats_command_string</> to
-        <literal>on</> by default, now that its overhead is minimal.
-        This means <literal>pg_stat_activity</> now will show all
-        active queries by default.
+        This is valuable for keeping <acronym>PITR</> standby
+        servers in sync with the master.  xlog file switching also
+        happens automatically during <function>pg_stop_backup()</>.
+        This ensures that <acronym>PITR</> servers have all xlog
+        files needed for recovery.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add support for include directives in <filename>postgresql.conf</>
-        (Joachim Wieland)
+        Add <acronym>WAL</> informational functions (Simon Riggs)
+       </para>
+
+       <para>
+        Add functions for interrogating the current xlog insertion
+        point and determining <acronym>WAL</> filenames from the
+        hex <acronym>WAL</> locations displayed by
+        <function>pg_stop_backup()</> and friends.
+       </para>
+      </listitem>
+
+      <listitem>
+       <para>
+        Allow <acronym>WAL</> replay to be restored quicker in case
+        of a crash (Simon Riggs)
+       </para>
+
+       <para>
+        The server now does periodic checkpoints during <acronym>WAL</>
+        recovery, so if there is a crash, future <acronym>WAL</>
+        recovery is shortened.  This also eliminates the need for
+        <acronym>PITR</> standby servers to replay the entire log
+        since the base backup if they crash.
+       </para>
+      </listitem>
+
+      <listitem>
+       <para>
+        Add <envar>archive_timeout</> to force xlog file switches
+        at a given interval (Simon Riggs)
+       </para>
+
+       <para>
+        This enforces a maximum delay for <acronym>PITR</> standby
+        servers.
        </para>
       </listitem>
 
@@ -512,14 +548,14 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Allow <envar>full_page_writes</> to be turned <literal>off</>
-        again (Tom)
+        Add <literal>GRANT CONNECT ON DATABASE</>, to be used in
+        addition to <filename>pg_hba.conf</> (Gevik Babakhani)
        </para>
 
        <para>
-        This flag can now be used even with <acronym>PITR</>. It
-        is turned on automatically between <function>pg_start_backup()</>
-        and <function>pg_stop_backup()</> calls.
+        This gives SQL-control over database access, and works in
+        combination with the existing <filename>pg_hba.conf</>
+        controls.
        </para>
       </listitem>
 
@@ -547,14 +583,12 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Add <literal>GRANT CONNECT ON DATABASE</>, to be used in
-        addition to <filename>pg_hba.conf</> (Gevik Babakhani)
+        Track tables needing vacuum with more accuracy (Alvaro)
        </para>
 
        <para>
-        This gives SQL-control over database access, and works in
-        combination with the existing <filename>pg_hba.conf</>
-        controls.
+        This reduces the overhead involved in preventing transaction
+        ID wraparound.
        </para>
       </listitem>
 
@@ -572,20 +606,35 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Add <acronym>GUC</> <envar>update_process_title</> to
-        control whether the <application>ps</> display is updated
-        for every command, default to <literal>on</> (Bruce)
+        Improve performance of statistics monitoring, especially
+        <literal>stats_command_string</> (Tom, Bruce)
+       </para>
+
+       <para>
+        This release sets <envar>stats_command_string</> to
+        <literal>on</> by default, now that its overhead is minimal.
+        This means <literal>pg_stat_activity</> now will show all
+        active queries by default.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Track tables needing vacuum with more accuracy (Alvaro)
+        Add a <literal>waiting</> column to <literal>pg_stat_activity</>
+        (Tom)
        </para>
 
        <para>
-        This reduces the overhead involved in preventing transaction
-        ID wraparound.
+        This allows <literal>pg_stat_activity</> to show the same
+        information as the <literal>ps</> display.
+       </para>
+      </listitem>
+
+      <listitem>
+       <para>
+        Add <acronym>GUC</> <envar>update_process_title</> to
+        control whether the <application>ps</> display is updated
+        for every command, default to <literal>on</> (Bruce)
        </para>
       </listitem>
 
@@ -601,6 +650,13 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
+      <listitem>
+       <para>
+        Add support for include directives in <filename>postgresql.conf</>
+        (Joachim Wieland)
+       </para>
+      </listitem>
+
       <listitem>
        <para>
         Improve logging of protocol-level prepare/bind/execute
@@ -613,87 +669,95 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
+     </itemizedlist>
+
+    </sect3>
+
+    <sect3>
+     <title>Query Changes</title>
+     <itemizedlist>
+
       <listitem>
        <para>
-        Allow a forced switch to a new xlog file (Simon Riggs, Tom)
+        Add <command>INSERT</>/<command>UPDATE</>/<command>DELETE</>
+        <literal>RETURNING</> (Jonah Harris, Tom)
        </para>
 
        <para>
-        This is valuable for keeping <acronym>PITR</> standby
-        servers in sync with the master.  xlog file switching also
-        happens automatically during <function>pg_stop_backup()</>.
-        This ensures that <acronym>PITR</> servers have all xlog
-        files needed for recovery.
+        This allows these commands to return values, such as the
+        computed serial key for a new row.  In the <command>UPDATE</>
+        case, values from the new state of the row are returned.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add <acronym>WAL</> informational functions (Simon Riggs)
+        Add support for multi-row <literal>VALUES</> clauses as
+        part of <command>INSERT</> and <command>SELECT</> statements
+        (Joe, Tom)
        </para>
 
        <para>
-        Add functions for interrogating the current xlog insertion
-        point and determining <acronym>WAL</> filenames from the
-        hex <acronym>WAL</> locations displayed by
-        <function>pg_stop_backup()</> and friends.
+        This allows <command>INSERT</> to insert multiple rows of
+        constants, or queries to generate result sets using constants.
+        For example, <literal>INSERT ...  VALUES (...), (...),
+        ....</>, and <literal>SELECT * FROM (VALUES (...), (...),
+        ....) AS alias(f1, ...)</>.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Allow <acronym>WAL</> replay to be restored quicker in case
-        of a crash (Simon Riggs)
+        Allow <command>UPDATE</> and <command>DELETE</> to use an
+        alias for the target table (Atsushi Ogawa)
        </para>
 
        <para>
-        The server now does periodic checkpoints during <acronym>WAL</>
-        recovery, so if there is a crash, future <acronym>WAL</>
-        recovery is shortened.  This also eliminates the need for
-        <acronym>PITR</> standby servers to replay the entire log
-        since the base backup if they crash.
+        This allows these statements to support self-joins more
+        conveniently.  <command>UPDATE</> already supported as
+        <literal>FROM</> clause, but <command>DELETE</> did not.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add <envar>archive_timeout</> to force xlog file switches
-        at a given interval (Simon Riggs)
+        Allow <command>UPDATE</> to set multiple columns with a
+        list of values (Susanne Ebrecht)
        </para>
 
        <para>
-        This enforces a maximum delay for <acronym>PITR</> standby
-        servers.
+        This is basically as short-hand for assigning the columns
+        and values in pairs.  The syntax is <literal>UPDATE tab
+        SET (col, ...) = (val, ...)</>.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add a <literal>waiting</> column to <literal>pg_stat_activity</>
-        (Tom)
+        Allow additional row value comparisons (Tom)
        </para>
 
        <para>
-        This allows <literal>pg_stat_activity</> to show the same
-        information as the <literal>ps</> display.
+        Add &lt;, &lt;=, &gt;, &gt;=.
        </para>
       </listitem>
 
-     </sect3>
-
-    <sect3>
-     <title>Query Changes</title>
-     <itemizedlist>
-
       <listitem>
        <para>
-        Support portal parameters in <command>EXPLAIN</> and
-        <command>EXECUTE</> (Tom)
+        Add <literal>CASCADE</> option to <command>TRUNCATE</>
+        (Joachim Wieland)
        </para>
 
        <para>
-        This allows, for example, <literal>?</> parameters to work
-        in these commands in <acronym>JDBC</>.
+        This allows <command>TRUNCATE</> also to automatically
+        truncate all foreign-key referencing tables.
+       </para>
+      </listitem>
+
+      <listitem>
+       <para>
+        Support <literal>FOR UPDATE</> and <literal>FOR SHARE</>
+        in the same command (Tom)
        </para>
       </listitem>
 
@@ -712,199 +776,191 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Allow additional row value comparisons (Tom)
+        Improve the length output used by
+        <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</>
+        (Tom)
        </para>
 
        <para>
-        Add &lt;, &lt;=, &gt;, &gt;=.
+        When all columns are of the same defined length, that length
+        is used for output, rather than a generic length.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add system view <literal>pg_prepared_statements</> to show
-        prepared statements (Joachim Wieland)
+        Allow <literal>ILIKE</> to work for multi-byte encodings
+        (Tom)
+       </para>
+
+       <para>
+        Internally, <literal>ILIKE</> now calls <function>lower()</>
+        and then uses <literal>LIKE</>.  Locale-specific regular
+        expression operations still do not work in these encodings.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add system view <literal>pg_cursors</> to show open cursors
-        (Joachim Wieland)
+        Enable <envar>standard_conforming_strings</> to be turned
+        <literal>on</> (Kevin Grittner)
        </para>
 
        <para>
-        Both this and <literal>pg_prepared_statements</> are very
-        useful for pooled connection setups.
+        This allow special backslash escaping in strings to be
+        turned off so <productname>PostgreSQL</> is more
+        standards-compliant.  The default is <literal>off</>, but
+        future releases will default this to <literal>on</>.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        If <acronym>SQL</>-level <command>PREPARE</> parameters
-        are unknown, infer their types from the context of the
-        query (Neil)
-       </para>
-
-       <para>
-        Protocol-level <command>PREPARE</> already did this. ?
+        Add system view <literal>pg_prepared_statements</> to show
+        prepared statements (Joachim Wieland)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Allow <command>UPDATE</> and <command>DELETE</> to use an
-        alias for the target table (Atsushi Ogawa)
+        Add system view <literal>pg_cursors</> to show open cursors
+        (Joachim Wieland)
        </para>
 
        <para>
-        This allows these statements to support self-joins more
-        conveniently.  <command>UPDATE</> already supported as
-        <literal>FROM</> clause, but <command>DELETE</> did not.
+        Both this and <literal>pg_prepared_statements</> are very
+        useful for pooled connection setups.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add <literal>CASCADE</> option to <command>TRUNCATE</>
-        (Joachim Wieland)
+        Support portal parameters in <command>EXPLAIN</> and
+        <command>EXECUTE</> (Tom)
        </para>
 
        <para>
-        This allows <command>TRUNCATE</> also to automatically
-        truncate all foreign-key referencing tables.
+        This allows, for example, <literal>?</> parameters to work
+        in these commands in <acronym>JDBC</>.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Enable <envar>standard_conforming_strings</> to be turned
-        <literal>on</> (Kevin Grittner)
+        If <acronym>SQL</>-level <command>PREPARE</> parameters
+        are unknown, infer their types from the context of the
+        query (Neil)
        </para>
 
        <para>
-        This allow special backslash escaping in strings to be
-        turned off so <productname>PostgreSQL</> is more
-        standards-compliant.  The default is <literal>off</>, but
-        future releases will default this to <literal>on</>.
+        Protocol-level <command>PREPARE</> already did this. ?
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Support <literal>FOR UPDATE</> and <literal>FOR SHARE</>
-        in the same command (Tom)
+        Protocol-level unnamed prepared statements are re-planned
+        for each set of <literal>BIND</> values (Tom)
        </para>
-      </listitem>
 
-      <listitem>
        <para>
-        Change <literal>LIMIT</>/<literal>OFFSET</> to exceed
-        two billion</> (Dhanaraj M)
+        This improves performance because the exact parameter values
+        can be used in the plan.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add support for multi-row <literal>VALUES</> clauses as
-        part of <command>INSERT</> and <command>SELECT</> statements
-        (Joe, Tom)
-       </para>
-
-       <para>
-        This allows <command>INSERT</> to insert multiple rows of
-        constants, or queries to generate result sets using constants.
-        For example, <literal>INSERT ...  VALUES (...), (...),
-        ....</>, and <literal>SELECT * FROM (VALUES (...), (...),
-        ....) AS alias(f1, ...)</>.
+        Change <literal>LIMIT</>/<literal>OFFSET</> to exceed
+        two billion (Dhanaraj M)
        </para>
       </listitem>
 
+     </itemizedlist>
+
+    </sect3>
+
+    <sect3>
+     <title>Object Manipulation Changes</title>
+     <itemizedlist>
+
       <listitem>
        <para>
-        Improve the length output used by
-        <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</>
-        (Tom)
+        Add <literal>TABLESPACE</> and <literal>ON COMMIT</> clauses
+        to <command>CREATE TABLE AS</> (Neil)
        </para>
 
        <para>
-        When all columns are of the same defined length, that length
-        is used for output, rather than a generic length.
+        This allows the tablespace to be specified for the new
+        table.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add <command>INSERT</>/<command>UPDATE</>/<command>DELETE</>
-        <literal>RETURNING</> (Jonah Harris, Tom)
+        Add <literal>ON COMMIT</> clauses to <command>CREATE TABLE
+        AS</> (Neil)
        </para>
 
        <para>
-        This allows these commands to return values, such as the
-        computed serial key for a new row.  In the <command>UPDATE</>
-        case, values from the new state of the row are returned.
+        This allows temporary tables to be truncated or dropped on
+        transaction commit.  The default behavior is for the table
+        to remain until the session ends.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Allow <command>UPDATE</> to set multiple columns with a
-        list of values (Susanne Ebrecht)
+        Add <literal>INCLUDING CONSTRAINTS</> to <command>CREATE
+        TABLE LIKE</> (Greg Stark)
        </para>
 
        <para>
-        This is basically as short-hand for assigning the columns
-        and values in pairs.  The syntax is <literal>UPDATE tab
-        SET (col, ...) = (val, ...)</>.
+        This allows the new table to receive matching constraints.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Allow <literal>ILIKE</> to work for multi-byte encodings
-        (Tom)
+        Allow the creation of placeholder (shell) types (Martijn van
+        Oosterhout)
        </para>
 
        <para>
-        Internally, <literal>ILIKE</> now calls <function>lower()</>
-        and then uses <literal>LIKE</>.  Locale-specific regular
-        expression operations still do not work in these encodings.
+        Shell types create a type reference, without specifying
+        any of the aspects of the type.  It is useful for creating
+        types with input/output functions that reference the data
+        type.  The syntax is <command>CREATE TYPE typname</>.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Protocol-level unnamed prepared statements are re-planned
-        for each set of <literal>BIND</> values (Tom)
+        Add new aggregate creation syntax (Tom)
        </para>
 
        <para>
-        This improves performance because the exact parameter values
-        can be used in the plan.
+        The new syntax is <command>CREATE AGGREGATE</> aggname
+        (input_type) (parameter_list).  This more naturally supports
+        the new multi-parameter aggregate functionality.  The
+        previous syntax is still supported.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Do not flatten subqueries that contain <literal>VOLATILE</>
-        functions in their target lists (Jaime Casanova)
+        Aggregate functions now support multiple input parameters
+        (Sergey Koposov, Tom)
        </para>
+      </listitem>
 
+      <listitem>
        <para>
-        This prevents surprising behavior due to multiple evaluation
-        of a <literal>volatile</> function (such as <function>random()</>
-        or <function>nextval()</>).  It may cause performance
-        degradation in the presence of functions that are unnecessarily
-        marked as <literal>volatile</>.
+        Add <command>CREATE</>/<command>ALTER ROLE PASSWORD NULL</>,
+        which removes the role's password (Peter)
        </para>
       </listitem>
 
-     </sect3>
-
-    <sect3>
-     <title>Object Manipulation Changes</title>
-     <itemizedlist>
-
       <listitem>
        <para>
         Add <command>DROP</> object <literal>IF EXISTS</> for many
@@ -936,26 +992,6 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
-      <listitem>
-       <para>
-        Add <command>CREATE</>/<command>ALTER ROLE PASSWORD NULL</>,
-        which removes the role's password (Peter)
-       </para>
-      </listitem>
-
-      <listitem>
-       <para>
-        Properly enforce <literal>DOMAIN</> check constraints
-        everywhere (Neil, Tom)
-       </para>
-
-       <para>
-        For example, the result of a user-defined function that is
-        declared to return a domain type is now checked against
-        the constraints.
-       </para>
-      </listitem>
-
       <listitem>
        <para>
         Add <command>GRANT ON SEQUENCE</> syntax (Bruce)
@@ -985,101 +1021,33 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Allow comments on global objects to be stored globally
-        (Kris Jurka)
-       </para>
-
-       <para>
-        Previously, global object comments were stored in individual
-        databases, making them ineffective.  This adds a new
-        <literal>pg_shdescription</> table.
-       </para>
-      </listitem>
-
-      <listitem>
-       <para>
-        Add <literal>ON COMMIT</> clauses to <command>CREATE TABLE
-        AS</> (Neil)
-       </para>
-
-       <para>
-        This allows temporary tables to be truncated or dropped on
-        transaction commit.  The default behavior is for the table
-        to remain until the session ends.
-       </para>
-      </listitem>
-
-      <listitem>
-       <para>
-        Add <literal>TABLESPACE</> and <literal>ON COMMIT</> clauses
-        to <command>CREATE TABLE AS</> (Neil)
-       </para>
-
-       <para>
-        This allows the tablespace to be specified for the new
-        table.
-       </para>
-      </listitem>
-
-      <listitem>
-       <para>
-        Allow placeholder (shell) types to be created (Martijn van
-        Oosterhout)
-       </para>
-
-       <para>
-        Shell types create a type reference, without specifying
-        any of the aspects of the type.  It is useful for creating
-        types with input/output functions that reference the data
-        type.  The syntax is <command>CREATE TYPE typname</>.
-       </para>
-      </listitem>
-
-      <listitem>
-       <para>
-        Add new aggregate creation syntax (Tom)
-       </para>
-
-       <para>
-        The new syntax is <command>CREATE AGGREGATE</> aggname
-        (input_type) (parameter_list).  This more naturally supports
-        the new multi-parameter aggregate functionality.  The
-        previous syntax is still supported.
-       </para>
-      </listitem>
-
-      <listitem>
-       <para>
-        Aggregate functions now support multiple input parameters
-        (Sergey Koposov, Tom)
-       </para>
-      </listitem>
-
-      <listitem>
-       <para>
-        Add <literal>INCLUDING CONSTRAINTS</> to <command>CREATE
-        TABLE LIKE</> (Greg Stark)
+        Add <literal>ALTER TABLE ... [NO] INHERIT</> (Greg Stark)
        </para>
 
        <para>
-        This allows the new table to receive matching constraints.
+        This allow inheritance to be added and removed dynamically,
+        rather than just at table creation and destruction.  This
+        is very valuable for table partitioning using constraint
+        exclusion.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add <literal>ALTER TABLE ... [NO] INHERIT</> (Greg Stark)
+        Allow comments on global objects to be stored globally
+        (Kris Jurka)
        </para>
 
        <para>
-        This allow inheritance to be added and removed dynamically,
-        rather than just at table creation and destruction.  This
-        is very valuable for table partitioning using constraint
-        exclusion.
+        Previously, global object comments were stored in individual
+        databases, making them ineffective.  This adds a new
+        <literal>pg_shdescription</> table.
        </para>
       </listitem>
 
-     </sect3>
+     </itemizedlist>
+
+    </sect3>
 
     <sect3>
      <title>Utility Command Changes</title>
@@ -1087,20 +1055,26 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Reduce progress messages displayed by initdb (Tom)
+        Add option to allow indexes to be created without blocking
+        concurrent writes to the table (Greg Stark)
+       </para>
+
+       <para>
+        The new syntax is <command>CREATE INDEX CONCURRENTLY</>.
+        The default behavior is still to block table modification
+        while a index is being created.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Have initdb detect the operating system locale and set the
-        default <envar>DateStyle</> accordingly (Peter)
+        Allow <command>COPY</> to dump a <command>SELECT</> query
+        (Zoltan Boszormenyi, Karel Zak)
        </para>
 
        <para>
-        This make it more likely that the installed
-        <filename>postgresql.conf</> <envar>DateStyle</> value will
-        be correct.
+        This allows <command>COPY</> to dump arbitrary <acronym>SQL</>
+        queries. The syntax is <literal>COPY (SELECT ...) TO</>.
        </para>
       </listitem>
 
@@ -1121,79 +1095,82 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Avoid extra scan of tables without indexes during <command>VACUUM</>
-        (Greg Stark)
-       </para>
-      </listitem>
-
-      <listitem>
-       <para>
-        Add option to allow indexes to be created without blocking
-        concurrent writes to the table (Greg Stark)
+        Have initdb detect the operating system locale and set the
+        default <envar>DateStyle</> accordingly (Peter)
        </para>
 
        <para>
-        The new syntax is <command>CREATE INDEX CONCURRENTLY</>.
-        The default behavior is still to block table modification
-        while a index is being created.
+        This make it more likely that the installed
+        <filename>postgresql.conf</> <envar>DateStyle</> value will
+        be correct.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Allow <command>COPY</> to dump a <command>SELECT</> query
-        (Zoltan Boszormenyi, Karel Zak)
+        Avoid extra scan of tables without indexes during <command>VACUUM</>
+        (Greg Stark)
        </para>
+      </listitem>
 
+      <listitem>
        <para>
-        This allows <command>COPY</> to dump arbitrary <acronym>SQL</>
-        queries. The syntax is <literal>COPY (SELECT ...) TO</>.
+        Reduce progress messages displayed by initdb (Tom)
        </para>
       </listitem>
 
-     </sect3>
+     </itemizedlist>
+
+    </sect3>
 
     <sect3>
-     <title>Data Type and Function Changes</title>
+     <title>Date/Time Changes</title>
      <itemizedlist>
 
       <listitem>
        <para>
-        Allow arrays to contain <literal>NULL</> elements (Tom)
+        Allow full timezone names in <type>timestamp</> values
+        (Joachim Wieland)
+       </para>
+
+       <para>
+        For example, <literal>'2006-05-24 21:11
+        America/New_York'::timestamptz</>.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Allow <function>to_char(time)</> and <function>to_char(interval)</>
-        to output <acronym>AM</>/<acronym>PM</> specifications
-        (Bruce)
+        Create a configuration file of timezone abbreviations
+        (Joachim Wieland)
        </para>
 
        <para>
-        Intervals and times are treated as 24-hour periods, e.g.
-        <literal>25 hours</> is <acronym>AM</>.
+        The file name is controlled by GUC variable
+        <envar>timezone_abbreviations</>.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add a server-side sleep function <function>pg_sleep()</>
-        (Joachim Wieland)
+        Add <envar>pg_timezone_abbrevs</> and <envar>pg_timezone_names</>
+        views to show supported timezones (Magnus Hagander)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add convenient arithmetic operations on <type>INET</>/<type>CIDR</>
-        values (Stephen R. van den Berg)
+        Add <function>clock_timestamp()</>,
+        <function>statement_timestamp()</>, and
+        <function>transaction_timestamp()</> (Bruce)
        </para>
 
        <para>
-        The new operators are <literal>&</> (and), <literal>|</>
-        (or), <literal>~</> (not), <literal>+</> <type>int8</>,
-        <literal>-</> <type>int8</>, and <type>inet</> <literal>-</>
-        <type>inet</>.
+        <function>clock_timestamp()</> is the true current time,
+        and <function>statement_timestamp()</> is the time the
+        current command arrived at the server.
+        <function>transaction_timestamp()</> is the same as
+        <function>now()</>.
        </para>
       </listitem>
 
@@ -1206,8 +1183,14 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Add all comparison operators for the <type>tid</> data type
-        (Mark Kirkwood, Greg Stark, Tom)
+        Allow <function>to_char(time)</> and <function>to_char(interval)</>
+        to output <acronym>AM</>/<acronym>PM</> specifications
+        (Bruce)
+       </para>
+
+       <para>
+        Intervals and times are treated as 24-hour periods, e.g.
+        <literal>25 hours</> is <acronym>AM</>.
        </para>
       </listitem>
 
@@ -1220,17 +1203,22 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Add new aggregate functions from SQL2003 (Neil)
+        Interval computation improvements (Michael Glaesemann,
+        Bruce)
        </para>
+      </listitem>
+
+     </itemizedlist>
+
+    </sect3>
 
+    <sect3>
+     <title>Other Data Type and Function Changes</title>
+     <itemizedlist>
+
+      <listitem>
        <para>
-        The new functions are <function>var_pop()</>,
-        <function>var_samp()</>, <function>stddev_pop()</>, and
-        <function>stddev_samp()</>.  <function>var_samp()</> and
-        <function>stddev_samp()</> are merely renamings of the
-        existing aggregates <function>variance()</> and
-        <function>stddev()</>.  The latter names have been kept
-        for backward compatibility.
+        Allow arrays to contain <literal>NULL</> elements (Tom)
        </para>
       </listitem>
 
@@ -1247,70 +1235,66 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Allow domains to be created using other domains (Tom)
-       </para>
-      </listitem>
-
-      <listitem>
-       <para>
-        Add <function>clock_timestamp()</>,
-        <function>statement_timestamp()</>, and
-        <function>transaction_timestamp()</> (Bruce)
+        Add convenient arithmetic operations on <type>INET</>/<type>CIDR</>
+        values (Stephen R. van den Berg)
        </para>
 
        <para>
-        <function>clock_timestamp()</> is the true current time,
-        and <function>statement_timestamp()</> is the time the
-        current command arrived at the server.
-        <function>transaction_timestamp()</> is the same as
-        <function>now()</>.
+        The new operators are <literal>&</> (and), <literal>|</>
+        (or), <literal>~</> (not), <literal>+</> <type>int8</>,
+        <literal>-</> <type>int8</>, and <type>inet</> <literal>-</>
+        <type>inet</>.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Allow full timezone names in <type>timestamp</> values
-        (Joachim Wieland)
+        Add new aggregate functions from SQL2003 (Neil)
        </para>
 
        <para>
-        For example, <literal>'2006-05-24 21:11
-        America/New_York'::timestamptz</>.
+        The new functions are <function>var_pop()</>,
+        <function>var_samp()</>, <function>stddev_pop()</>, and
+        <function>stddev_samp()</>.  <function>var_samp()</> and
+        <function>stddev_samp()</> are merely renamings of the
+        existing aggregates <function>variance()</> and
+        <function>stddev()</>.  The latter names have been kept
+        for backward compatibility.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Create a configuration file of timezone abbreviations
-        (Joachim Wieland)
+        Add SQL2003-standard statistical aggregates (Sergey Koposov)
        </para>
 
        <para>
-        The file name is controlled by GUC variable
-        <envar>timezone_abbreviations</>.
+        New functions:  <function>regr_intercept()</>,
+        <function>regr_slope()</>, <function>regr_r2()</>,
+        <function>corr()</>, <function>covar_samp()</>,
+        <function>covar_pop()</>, <function>regr_avgx()</>,
+        <function>regr_avgy()</>, <function>regr_sxy()</>,
+        <function>regr_sxx()</>, <function>regr_syy()</>,
+        <function>regr_count()</>
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add <envar>pg_timezone_abbrevs</> and <envar>pg_timezone_names</>
-        views to show supported timezones (Magnus Hagander)
+        Allow domains to be created using other domains (Tom)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add SQL2003-standard statistical aggregates (Sergey Koposov)
+        Properly enforce <literal>DOMAIN</> check constraints
+        everywhere (Neil, Tom)
        </para>
 
        <para>
-        New functions:  <function>regr_intercept()</>,
-        <function>regr_slope()</>, <function>regr_r2()</>,
-        <function>corr()</>, <function>covar_samp()</>,
-        <function>covar_pop()</>, <function>regr_avgx()</>,
-        <function>regr_avgy()</>, <function>regr_sxy()</>,
-        <function>regr_sxx()</>, <function>regr_syy()</>,
-        <function>regr_count()</>
+        For example, the result of a user-defined function that is
+        declared to return a domain type is now checked against
+        the constraints.
        </para>
       </listitem>
 
@@ -1332,12 +1316,36 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Interval computation improvements (Michael Glaesemann,
-        Bruce)
+        Add a server-side sleep function <function>pg_sleep()</>
+        (Joachim Wieland)
+       </para>
+      </listitem>
+
+      <listitem>
+       <para>
+        Add all comparison operators for the <type>tid</> (tuple id)
+        data type (Mark Kirkwood, Greg Stark, Tom)
+       </para>
+      </listitem>
+
+      <listitem>
+       <para>
+        Do not flatten subqueries that contain <literal>VOLATILE</>
+        functions in their target lists (Jaime Casanova) ?
+       </para>
+
+       <para>
+        This prevents surprising behavior due to multiple evaluation
+        of a <literal>volatile</> function (such as <function>random()</>
+        or <function>nextval()</>).  It may cause performance
+        degradation in the presence of functions that are unnecessarily
+        marked as <literal>volatile</>.
        </para>
       </listitem>
 
-     </sect3>
+     </itemizedlist>
+
+    </sect3>
 
     <sect3>
      <title>PL/PgSQL Server-Side Language Changes</title>
@@ -1345,22 +1353,22 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Allow <literal>FOR</> statements to return values to scalars
-        as well as records and row types (Pavel Stehule)
+        Add <literal>table_name</> and <literal>table_schema</> as
+        trigger data (Andrew)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add a <literal>BY</> clause to the <literal>FOR</> loop,
-        to control the iteration increment (Jaime Casanova)
+        Allow <literal>FOR</> statements to return values to scalars
+        as well as records and row types (Pavel Stehule)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add <literal>table_name</> and <literal>table_schema</> as
-        trigger data (Andrew)
+        Add a <literal>BY</> clause to the <literal>FOR</> loop,
+        to control the iteration increment (Jaime Casanova)
        </para>
       </listitem>
 
@@ -1377,7 +1385,9 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
-     </sect3>
+     </itemizedlist>
+
+    </sect3>
 
     <sect3>
      <title>PL/Perl Server-Side Language Changes</title>
@@ -1385,24 +1395,18 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Honor <envar>check_function_bodies</> (Tom)
+        Add <literal>table_name</> and <literal>table_schema</> as
+        trigger data (Adam Sj&oslash;gren)
        </para>
-      </listitem>
 
-      <listitem>
        <para>
-        Add prepared queries (Dmitry Karasik)
+        <literal>relname</> is kept but now deprecated
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add <literal>table_name</> and <literal>table_schema</> as
-        trigger data (Adam Sj&oslash;gren)
-       </para>
-
-       <para>
-        <literal>relname</> is kept but now deprecated
+        Add prepared queries (Dmitry Karasik)
        </para>
       </listitem>
 
@@ -1417,7 +1421,15 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
-     </sect3>
+      <listitem>
+       <para>
+        Honor <envar>check_function_bodies</> (Tom)
+       </para>
+      </listitem>
+
+     </itemizedlist>
+
+    </sect3>
 
     <sect3>
      <title>PL/Python Server-Side Language Changes</title>
@@ -1425,45 +1437,47 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Allow functions to return <literal>void</> (Neil)
+        Add <literal>table_name</> and <literal>table_schema</> as
+        trigger data (Andrew)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add named parameters to the <literal>args[]</> array (Sven
-        Suursoho)
+        Allow returning of <literal>composite types</> and
+        <literal>result sets</> (Sven Suursoho)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Return composite-types as dictionary (Sven Suursoho)
+        Return result-set as <literal>list</>, <literal>iterator</>,
+        or <literal>generator </>(Sven Suursoho)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Return result-set as <literal>list</>, <literal>iterator</>,
-        or <literal>generator </>(Sven Suursoho)
+        Return composite-types as dictionary (Sven Suursoho)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Allow returning of <literal>composite types</> and
-        <literal>result sets</> (Sven Suursoho)
+        Allow functions to return <literal>void</> (Neil)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add <literal>table_name</> and <literal>table_schema</> as
-        trigger data (Andrew)
+        Add named parameters to the <literal>args[]</> array (Sven
+        Suursoho)
        </para>
       </listitem>
 
-     </sect3>
+     </itemizedlist>
+
+    </sect3>
 
     <sect3>
      <title><application>psql</> Changes</title>
@@ -1478,26 +1492,28 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Allow multi-line values to align in the proper column
-        (Martijn van Oosterhout)
+        Allow <literal>\c</> to connect to a new host and port
+        number (David, Volkan Yaz&#305;c&#305;)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Save multi-line statements as a single entry, rather than
-        one line at a time (Sergey E. Koposov)
+        Add tablespace display to <literal>\l+</> (Philip Yarra)
        </para>
+      </listitem>
 
+      <listitem>
        <para>
-        This makes up-arrow recall of queries easier.
+        Improve <literal>\df</> slash command to include the argument
+        names and modes (<literal>OUT</> or <literal>INOUT</>) of
+        the function (David Fetter)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Allow <literal>\c</> to connect to a new host and port
-        number (David, Volkan Yaz&#305;c&#305;)
+        Support binary <command>COPY</> (Andreas Pflug)
        </para>
       </listitem>
 
@@ -1514,28 +1530,37 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Improve highlighting of error location in query in more
-        cases (Tom)
+        Support retrieving <command>SELECT</> results in batches
+        using a cursor (Chris Mair)
+       </para>
+
+       <para>
+        This is accomplished using <command>\set FETCH_COUNT</>.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add tablespace display to <literal>\l+</> (Philip Yarra)
+        Allow multi-line values to align in the proper column
+        (Martijn van Oosterhout)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Support binary <command>COPY</> (Andreas Pflug)
+        Save multi-line statements as a single entry, rather than
+        one line at a time (Sergey E. Koposov)
+       </para>
+
+       <para>
+        This makes up-arrow recall of queries easier.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Improve <literal>\df</> slash command to include the argument
-        names and modes (<literal>OUT</> or <literal>INOUT</>) of
-        the function (David Fetter)
+        Improve highlighting of error location in query in more
+        cases (Tom)
        </para>
       </listitem>
 
@@ -1554,18 +1579,9 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
-      <listitem>
-       <para>
-        Support retrieving <command>SELECT</> results in batches
-        using a cursor (Chris Mair)
-       </para>
-
-       <para>
-        This is accomplished using <command>\set FETCH_COUNT</>.
-       </para>
-      </listitem>
+     </itemizedlist>
 
-     </sect3>
+    </sect3>
 
     <sect3>
      <title><application>pg_dump</> Changes</title>
@@ -1606,7 +1622,9 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
-     </sect3>
+     </itemizedlist>
+
+    </sect3>
 
     <sect3>
      <title><application>libpq</> Changes</title>
@@ -1624,14 +1642,6 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
-      <listitem>
-       <para>
-        Allow the <filename>.pgpass</> hostname to match the default
-        socket directory, as well as a blank <literal>pghost</>
-        (Bruce)
-       </para>
-      </listitem>
-
       <listitem>
        <para>
         Add function <function>PQisthreadsafe()</> (Bruce)
@@ -1643,6 +1653,15 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
+      <listitem>
+       <para>
+        Add <function>PQdescribePrepared()</>,
+        <function>PQdescribePortal()</>, and related functions
+        return information about previously prepared statements
+        and open cursors (Volkan Yaz&#305;c&#305;)
+       </para>
+      </listitem>
+
       <listitem>
        <para>
         Allow <acronym>LDAP</> lookups from <filename>pg_service.conf</>
@@ -1652,14 +1671,15 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Add <function>PQdescribePrepared()</>,
-        <function>PQdescribePortal()</>, and related functions
-        return information about previously prepared statements
-        and open cursors (Volkan Yaz&#305;c&#305;)
+        Allow the <filename>.pgpass</> hostname to match the default
+        socket directory, as well as a blank <literal>pghost</>
+        (Bruce)
        </para>
       </listitem>
 
-     </sect3>
+     </itemizedlist>
+
+    </sect3>
 
     <sect3>
      <title><application>ecpg</> Changes</title>
@@ -1690,7 +1710,9 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
-     </sect3>
+     </itemizedlist>
+
+    </sect3>
 
     <sect3>
      <title><application>Win32</> Port</title>
@@ -1698,19 +1720,15 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Improve handling of intermittent file system and resource
-        failures (Qingqing Zhou)
+        Allow <acronym>MSVC</> to compile the <productname>PostgreSQL</>
+        server (Magnus, Hiroshi Saito)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Stability fixes (Magnus)
-       </para>
-
-       <para>
-        Particularly, prevent the postmaster from stopping if too
-        many connection requests arrive too rapidly.
+        Add <acronym>MSVC</> support for utility commands and
+        <application>pg_dump </>(Hiroshi Saito)
        </para>
       </listitem>
 
@@ -1724,15 +1742,19 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Allow <acronym>MSVC</> to compile the <productname>PostgreSQL</>
-        server (Magnus, Hiroshi Saito)
+        Improve handling of intermittent file system and resource
+        failures (Qingqing Zhou)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add <acronym>MSVC</> support for utility commands and
-        <application>pg_dump </>(Hiroshi Saito)
+        Stability fixes (Magnus)
+       </para>
+
+       <para>
+        Particularly, prevent the postmaster from stopping if too
+        many connection requests arrive too rapidly.
        </para>
       </listitem>
 
@@ -1746,12 +1768,21 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
-     </sect3>
+     </itemizedlist>
+
+    </sect3>
 
     <sect3>
      <title>Source Code Changes</title>
      <itemizedlist>
 
+      <listitem>
+       <para>
+        Add <acronym>GIN</> (Generalized Inverted iNdex) index
+        access method (Teodor) ?
+       </para>
+      </listitem>
+
       <listitem>
        <para>
         Remove R-tree indexing (Tom)
@@ -1769,14 +1800,6 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
-      <listitem>
-       <para>
-        New macro <literal>PG_VERSION_NUM</> for use by third-party
-        applications wanting to test the backend version in C using
-        &gt; and &lt; comparisons (Bruce)
-       </para>
-      </listitem>
-
       <listitem>
        <para>
         Add a configure flag to allow libedit to be preferred over
@@ -1810,6 +1833,20 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
+      <listitem>
+       <para>
+        Add <application>DTrace</> support (Robert Lor)
+       </para>
+      </listitem>
+
+      <listitem>
+       <para>
+        Add <literal>PG_VERSION_NUM</> for use by third-party
+        applications wanting to test the backend version in C using &gt;
+        and &lt; comparisons (Bruce)
+       </para>
+      </listitem>
+
       <listitem>
        <para>
         Add <literal>XLOG_BLCKSZ</> as independent from <literal>BLCKSZ</>
@@ -1826,27 +1863,29 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Add <acronym>GIN</> (Generalized Inverted iNdex) index
-        access method (Teodor)
+        Emit warnings for unknown <application>configure</> options
+        (Martijn van Oosterhout)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Emit warnings for unknown <application>configure</> options
-        (Martijn van Oosterhout)
+        Rename existing <acronym>GUC</> variable
+        <envar>preload_libraries</> to <envar>shared_preload_libraries</>
+        (Tom)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add <literal>PG_MODULE_MAGIC</> header block to all shared
-        object files (Martijn van Oosterhout)
+        Add new GUC variable <envar>server_version_num</> (Greg Sabino
+        Mullane)
        </para>
 
        <para>
-        The magic blocks prevent version mismatches between object
-        files and servers.
+        This is like server_version, but is an integer, e.g.
+        <literal>80200</>. It allows easy applications version
+        checks.
        </para>
       </listitem>
 
@@ -1864,12 +1903,6 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
-      <listitem>
-       <para>
-        Add <application>DTrace</> support (Robert Lor)
-       </para>
-      </listitem>
-
       <listitem>
        <para>
         Allow loadable modules to allocate shared memory and
@@ -1894,34 +1927,25 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Add support for libraries that enhance server-side languages
-        (Korry Douglas)
-       </para>
-
-       <para>
-        Such libraries can be used for debugging or performance
-        measurement.
+        Add <literal>PG_MODULE_MAGIC</> header block to all shared
+        object files (Martijn van Oosterhout)
        </para>
-      </listitem>
 
-      <listitem>
        <para>
-        Rename existing <acronym>GUC</> variable
-        <envar>preload_libraries</> to <envar>shared_preload_libraries</>
-        (Tom)
+        The magic blocks prevent version mismatches between object
+        files and servers.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add new variable <envar>server_version_num</> (Greg Sabino
-        Mullane)
+        Add support for libraries that enhance server-side languages
+        (Korry Douglas)
        </para>
 
        <para>
-        This is like server_version, but is an integer, e.g.
-        <literal>80200</>. It allows easy applications version
-        checks.
+        Such libraries can be used for debugging or performance
+        measurement.
        </para>
       </listitem>
 
@@ -1931,7 +1955,9 @@ For new features, add links to the documentation sections.
        </para>
       </listitem>
 
-     </sect3>
+     </itemizedlist>
+
+    </sect3>
 
     <sect3>
      <title>Contrib Changes</title>
@@ -1982,109 +2008,110 @@ For new features, add links to the documentation sections.
 
       <listitem>
        <para>
-        Add pg_freespacemap to display free space map information
-        (Mark Kirkwood)
+        Add <application>Pgadmin</> administration functions to
+        adminpack (Dave)
        </para>
-      </listitem>
 
-      <listitem>
        <para>
-        New uninstall scripts (David)
+        These functions provide additional file system access
+        routines not present in the default <productname>PostgreSQL</>
+        server.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add pgrowlocks (Tatsuo)
+        Add sslinfo (Victor Wagner)
        </para>
 
        <para>
-        This shows row locking information for a specified table.
+        Reports information about the current <acronym>SSL</>
+        certificate.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add <application>Pgadmin</> administration functions to
-        adminpack (Dave)
+        Add pgrowlocks (Tatsuo)
        </para>
 
        <para>
-        These functions provide additional file system access
-        routines not present in the default <productname>PostgreSQL</>
-        server.
+        This shows row locking information for a specified table.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add index information to pgstattuple (ITAGAKI Takahiro,
-        Satoshi Nagayasu)
+        Add hstore module (Oleg, Teodor)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        pgcrypto now has all planned functionality (Marko Kreen)
+        Add isn module, replacing isbn_issn (Jeremy Kronuz)
+       </para>
+
+       <para>
+        This now supports <acronym>EAN13</>, <acronym>UPC</>,
+        <acronym>ISBN</> (books), <acronym>ISMN</> (music), and
+        <acronym>ISSN</> (serials).
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Update cube (Joshua Reich)
+        Add index information to pgstattuple (ITAGAKI Takahiro,
+        Satoshi Nagayasu)
        </para>
+      </listitem>
 
+      <listitem>
        <para>
-        New functions are <function>cube(float[])</>,
-        <function>cube(float[], float[])</>, and
-        <function>cube_subset(cube, int4[])</>.
+        Add pg_freespacemap to display free space map information
+        (Mark Kirkwood)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Added async query capability to dblink (Kai Londenberg,
-        Joe Conway)
+        pgcrypto now has all planned functionality (Marko Kreen)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add sslinfo (Victor Wagner)
+        Update cube (Joshua Reich)
        </para>
 
        <para>
-        Reports information about the current <acronym>SSL</>
-        certificate.
+        New functions are <function>cube(float[])</>,
+        <function>cube(float[], float[])</>, and
+        <function>cube_subset(cube, int4[])</>.
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add hstore module (Oleg, Teodor)
+        Add async query capability to dblink (Kai Londenberg,
+        Joe Conway)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        Add isn module, replacing isbn_issn (Jeremy Kronuz)
-       </para>
-
-       <para>
-        This now supports <acronym>EAN13</>, <acronym>UPC</>,
-        <acronym>ISBN</> (books), <acronym>ISMN</> (music), and
-        <acronym>ISSN</> (serials).
+        New operators for array-subset comparisons (<literal>@&gt;</>,
+        <literal>&lt;@</>, <literal>&amp;&amp;</>) (Tom)
        </para>
       </listitem>
 
       <listitem>
        <para>
-        New operators for array-subset comparisons (<literal>@&gt;</>,
-        <literal>&lt;@</>, <literal>&amp;&amp;</>) (Tom)
+        New uninstall scripts (David)
        </para>
       </listitem>
 
      </itemizedlist>
+
     </sect3>
 
    </sect2>