]> granicus.if.org Git - postgresql/commitdiff
Update release notes for security-related releases in all active branches.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Feb 2007 00:10:23 +0000 (00:10 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Feb 2007 00:10:23 +0000 (00:10 +0000)
Security: CVE-2007-0555, CVE-2007-0556

doc/src/sgml/release.sgml

index 8c73c0472a4a18f6ddc65eb90c35cbb65c240475..0374a35809d2b9818ab97cd9fa6e35b078f724e2 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.496 2007/02/01 19:10:24 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.497 2007/02/02 00:10:23 tgl Exp $ -->
 <!--
 
 Typical markup:
@@ -35,6 +35,159 @@ do it for earlier branch release files.
 <appendix id="release">
  <title>Release Notes</title>
 
+  <sect1 id="release-8-2-2">
+   <title>Release 8.2.2</title>
+
+   <note>
+   <title>Release date</title>
+   <simpara>2007-02-05</simpara>
+   </note>
+
+   <para>
+    This release contains a variety of fixes from 8.2.1, including
+    a security fix.
+   </para>
+
+   <sect2>
+    <title>Migration to version 8.2.2</title>
+
+    <para>
+     A dump/restore is not required for those running 8.2.X.
+    </para>
+
+   </sect2>
+
+   <sect2>
+    <title>Changes</title>
+
+    <itemizedlist>
+
+     <listitem>
+     <para>
+      Remove security vulnerabilities that allowed connected users
+      to read backend memory (Tom)
+     </para>
+     <para>
+      The vulnerabilities involve suppressing the normal check that a SQL
+      function returns the data type it's declared to, and changing the
+      data type of a table column (CVE-2007-0555, CVE-2007-0556).  These
+      errors can easily be exploited to cause a backend crash, and in
+      principle might be used to read database content that the user
+      should not be able to access.
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix not-so-rare-anymore bug wherein btree index page splits could fail
+      due to choosing an infeasible split point (Heikki Linnakangas)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix Borland C compile scripts (L Bayuk)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Properly handle <function>to_char('CC')</> for years ending in
+      <literal>00</> (Tom)
+     </para>
+     <para>
+      Year 2000 is in the twentieth century, not the twenty-first.
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      <filename>/contrib/tsearch2</> localization improvements (Tatsuo, Teodor)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix incorrect permission check in
+      <literal>information_schema.key_column_usage</> view (Tom)
+     </para>
+     <para>
+      The symptom is <quote>relation with OID nnnnn does not exist</> errors.
+      To get this fix without using <command>initdb</>, use <command>CREATE OR
+      REPLACE VIEW</> to install the corrected definition found in
+      <filename>share/information_schema.sql</>.  Note you will need to do
+      this in each database.
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Improve <command>VACUUM</> performance for databases with many tables (Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix for rare Assert() crash triggered by <literal>UNION</> (Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix potentially incorrect results from index searches using
+      <literal>ROW</> inequality conditions (Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Tighten security of multi-byte character processing for UTF8 sequences
+      over three bytes long (Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix bogus <quote>permission denied</> failures occurring on Windows
+      due to attempts to fsync already-deleted files (Magnus, Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix bug that could cause the statistics collector
+      to hang on Windows (Magnus)
+     </para>
+
+     <para>
+      This would in turn lead to autovacuum not working.
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix possible crashes when an already-in-use PL/pgSQL function is
+      updated (Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Improve PL/pgSQL handling of domain types (Sergiy Vyshnevetskiy, Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix possible errors in processing PL/pgSQL exception blocks (Tom)
+     </para>
+     </listitem>
+
+    </itemizedlist>
+
+   </sect2>
+  </sect1>
+
   <sect1 id="release-8-2-1">
    <title>Release 8.2.1</title>
 
@@ -167,7 +320,7 @@ do it for earlier branch release files.
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-2">
    <title>Release 8.2</title>
 
@@ -2727,6 +2880,106 @@ do it for earlier branch release files.
    </sect2>
   </sect1>
 
+  <sect1 id="release-8-1-7">
+   <title>Release 8.1.7</title>
+
+   <note>
+   <title>Release date</title>
+   <simpara>2007-02-05</simpara>
+   </note>
+
+   <para>
+    This release contains a variety of fixes from 8.1.6, including
+    a security fix.
+   </para>
+
+   <sect2>
+    <title>Migration to version 8.1.7</title>
+
+    <para>
+     A dump/restore is not required for those running 8.1.X.
+     However, if you are upgrading from a version earlier than 8.1.2,
+     see the release notes for 8.1.2.
+    </para>
+
+   </sect2>
+
+   <sect2>
+    <title>Changes</title>
+
+    <itemizedlist>
+
+     <listitem>
+     <para>
+      Remove security vulnerabilities that allowed connected users
+      to read backend memory (Tom)
+     </para>
+     <para>
+      The vulnerabilities involve suppressing the normal check that a SQL
+      function returns the data type it's declared to, and changing the
+      data type of a table column (CVE-2007-0555, CVE-2007-0556).  These
+      errors can easily be exploited to cause a backend crash, and in
+      principle might be used to read database content that the user
+      should not be able to access.
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix rare bug wherein btree index page splits could fail
+      due to choosing an infeasible split point (Heikki Linnakangas)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Improve <command>VACUUM</> performance for databases with many tables (Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix autovacuum to avoid leaving non-permanent transaction IDs in
+      non-connectable databases (Alvaro)
+     </para>
+
+     <para>
+      This bug affects the 8.1 branch only.
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix for rare Assert() crash triggered by <literal>UNION</> (Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Tighten security of multi-byte character processing for UTF8 sequences
+      over three bytes long (Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix bogus <quote>permission denied</> failures occurring on Windows
+      due to attempts to fsync already-deleted files (Magnus, Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix possible crashes when an already-in-use PL/pgSQL function is
+      updated (Tom)
+     </para>
+     </listitem>
+
+    </itemizedlist>
+
+   </sect2>
+  </sect1>
+
   <sect1 id="release-8-1-6">
    <title>Release 8.1.6</title>
 
@@ -2876,7 +3129,7 @@ do it for earlier branch release files.
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-1-5">
    <title>Release 8.1.5</title>
 
@@ -2951,7 +3204,7 @@ compilers (Hiroshi Saito)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-1-4">
    <title>Release 8.1.4</title>
 
@@ -3103,7 +3356,7 @@ documented (Tom)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-1-3">
    <title>Release 8.1.3</title>
 
@@ -3122,7 +3375,7 @@ documented (Tom)</para></listitem>
 
     <para>
      A dump/restore is not required for those running 8.1.X.
-     However, if you are upgrading from a version earlier than 8.1.2, 
+     However, if you are upgrading from a version earlier than 8.1.2,
      see the release notes for 8.1.2.
     </para>
    </sect2>
@@ -3171,7 +3424,7 @@ constraints in the proper order (Nakano Yoshihisa)</para></listitem>
 references to custom operators or operator classes (Tom)</para></listitem>
 
 <listitem><para>Allow <application>pg_restore</> to continue properly after a
-<command>COPY</> failure; formerly it tried to treat the remaining 
+<command>COPY</> failure; formerly it tried to treat the remaining
 <command>COPY</> data as SQL commands (Stephen Frost)</para></listitem>
 
 <listitem><para>Fix <application>pg_ctl</> <literal>unregister</> crash
@@ -3223,7 +3476,7 @@ creation (Tom)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-1-2">
    <title>Release 8.1.2</title>
 
@@ -3324,7 +3577,7 @@ what's actually returned by the query (Joe)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-1-1">
    <title>Release 8.1.1</title>
 
@@ -3391,7 +3644,7 @@ on Windows depending on which version of <filename>libintl</> was used.
 (<function>to_char(interval)</> should probably use
 <literal>HH24</>.) (Bruce)</para></listitem>
 
-<listitem><para>AIX, HPUX, and MSVC compile fixes (Tom, Hiroshi 
+<listitem><para>AIX, HPUX, and MSVC compile fixes (Tom, Hiroshi
 Saito)</para></listitem>
 
 <listitem><para>Optimizer improvements (Tom)</para></listitem>
@@ -3414,7 +3667,7 @@ DISTINCT query</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-1">
    <title>Release 8.1</title>
 
@@ -3425,7 +3678,7 @@ DISTINCT query</para></listitem>
 
    <sect2>
     <title>Overview</title>
+
     <para>
      Major changes in this release:
     </para>
@@ -3480,7 +3733,7 @@ DISTINCT query</para></listitem>
       <term>
        Add two-phase commit (Heikki Linnakangas, Alvaro, Tom)
       </term>
-      
+
       <listitem>
        <para>
         Two-phase commit allows transactions to be "prepared" on several
@@ -3497,7 +3750,7 @@ DISTINCT query</para></listitem>
 
      <varlistentry>
       <term>
-       Create a new role system that replaces users and groups 
+       Create a new role system that replaces users and groups
        (Stephen Frost)
       </term>
 
@@ -3510,7 +3763,7 @@ DISTINCT query</para></listitem>
        </para>
 
        <itemizedlist>
-  
+
         <listitem>
          <para>
            Have login capability (optionally)
@@ -3542,8 +3795,8 @@ DISTINCT query</para></listitem>
         <command>SET ROLE</> to switch to other roles she is a member of.
         This feature is a generalization of the SQL standard's concept of
         roles.
-        This change also replaces <structname>pg_shadow</> and 
-        <structname>pg_group</> by new role-capable catalogs 
+        This change also replaces <structname>pg_shadow</> and
+        <structname>pg_group</> by new role-capable catalogs
         <structname>pg_authid</> and <structname>pg_auth_members</>. The old
         tables are redefined as read-only views on the new role tables.
        </para>
@@ -3555,14 +3808,14 @@ DISTINCT query</para></listitem>
        Automatically use indexes for <function>MIN()</> and
        <function>MAX()</> (Tom)
       </term>
+
       <listitem>
        <para>
         In previous releases, the only way to use an index for
         <function>MIN()</> or <function>MAX()</> was to rewrite the
         query as <command>SELECT col FROM tab ORDER BY col LIMIT 1</>.
         Index usage now happens automatically.
-       </para> 
+       </para>
       </listitem>
      </varlistentry>
 
@@ -3640,15 +3893,15 @@ DISTINCT query</para></listitem>
 
     </variablelist>
    </sect2>
+
    <sect2>
     <title>Migration to version 8.1</title>
-                                       
+
     <para>
      A dump/restore using <application>pg_dump</application> is required
      for those wishing to migrate data from any previous release.
     </para>
-    
+
     <para>
      The 8.0 release announced that the <function>to_char()</> function
      for intervals would be removed in 8.1. However, since no better API
@@ -3742,7 +3995,7 @@ DISTINCT query</para></listitem>
          treat backslashes literally in ordinary strings?
         </para>
        </listitem>
-  
+
        <listitem>
        <para>
         <varname>escape_string_warning</> &mdash; warn about backslashes in
@@ -3940,16 +4193,16 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
     </itemizedlist>
    </sect2>
+
    <sect2>
     <title>Additional Changes</title>
+
     <para>
      Below you will find a detailed account of the additional changes
      between <productname>PostgreSQL</productname> 8.1 and the
      previous major release.
     </para>
+
     <sect3>
      <title>Performance Improvements</title>
      <itemizedlist>
@@ -4095,7 +4348,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
         objects after the OID counter has wrapped around (Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add warning about the need to increase
@@ -4229,15 +4482,15 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Query Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
-        Add temporary views (Koju Iijima, Neil) 
+        Add temporary views (Koju Iijima, Neil)
        </para>
       </listitem>
 
@@ -4304,12 +4557,12 @@ psql -t -f fixseq.sql db1 | psql -e db1
       </listitem>
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Object Manipulation Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Track dependencies of shared objects (Alvaro)
@@ -4327,7 +4580,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
       <listitem>
        <para>
-        Allow limited <command>ALTER OWNER</> commands to be performed 
+        Allow limited <command>ALTER OWNER</> commands to be performed
         by the object owner (Stephen Frost)
        </para>
        <para>
@@ -4349,7 +4602,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
         This allows objects to be moved to different schemas.
        </para>
       </listitem>
-    
+
       <listitem>
        <para>
         Add <command>ALTER TABLE ENABLE/DISABLE TRIGGER</command> to
@@ -4359,12 +4612,12 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Utility Command Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Allow <command>TRUNCATE</> to truncate multiple tables in a
@@ -4475,12 +4728,12 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Data Type and Function Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Add <function>MAX()</> and <function>MIN()</> aggregates for
@@ -4673,7 +4926,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
        </para>
        <para>
         <itemizedlist>
-  
+
          <listitem>
           <para>
             <function>pg_tablespace_size()</>
@@ -4703,7 +4956,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
            <function>pg_size_pretty()</>
           </para>
          </listitem>
+
         </itemizedlist>
        </para>
        <para>
@@ -4719,7 +4972,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
        </para>
        <para>
         <itemizedlist>
-  
+
          <listitem>
           <para>
            <function>pg_stat_file()</>
@@ -4741,7 +4994,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
         </itemizedlist>
        </para>
       </listitem>
-      
+
       <listitem>
        <para>
         Add <function>pg_reload_conf()</> to force reloading of the
@@ -4764,12 +5017,12 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Encoding and Locale Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Rename some encodings to be more consistent and to follow
@@ -4777,7 +5030,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
        </para>
        <para>
         <itemizedlist>
-  
+
          <listitem>
           <para>
            <literal>UNICODE</> is now <literal>UTF8</>
@@ -4840,19 +5093,19 @@ psql -t -f fixseq.sql db1 | psql -e db1
         Allow the UTF8 encoding to work on Windows (Magnus)
        </para>
        <para>
-        This is done by mapping UTF8 to the Windows-native UTF16 
+        This is done by mapping UTF8 to the Windows-native UTF16
         implementation.
        </para>
       </listitem>
 
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>General Server-Side Language Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Fix <command>ALTER LANGUAGE RENAME</> (Sergey Yatskevich)
@@ -4907,11 +5160,11 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
      </itemizedlist>
     </sect3>
-  
+
     <sect3>
      <title>PL/PgSQL Server-Side Language Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Overhaul the memory management of PL/PgSQL functions (Neil)
@@ -4999,8 +5252,8 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>PL/Perl Server-Side Language Changes</title>
      <itemizedlist>
@@ -5075,7 +5328,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
     <sect3>
      <title><application>psql</> Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Add <command>\set ON_ERROR_ROLLBACK</> to allow statements in
@@ -5179,15 +5432,15 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title><application>pg_dump</> Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
-        Add <option>-n</> / <option>--schema</> switch to 
+        Add <option>-n</> / <option>--schema</> switch to
         <application>pg_restore</> (Richard van den Berg)
        </para>
        <para>
@@ -5197,7 +5450,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
       <listitem>
        <para>
-        Allow <application>pg_dump</> to dump large objects even in 
+        Allow <application>pg_dump</> to dump large objects even in
         text mode (Tom)
        </para>
        <para>
@@ -5208,7 +5461,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
       <listitem>
        <para>
-        Allow <application>pg_dump</> to dump a consistent snapshot of 
+        Allow <application>pg_dump</> to dump a consistent snapshot of
         large objects (Tom)
        </para>
       </listitem>
@@ -5221,7 +5474,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
       <listitem>
        <para>
-        Add <option>--encoding</> to <application>pg_dump</> 
+        Add <option>--encoding</> to <application>pg_dump</>
         (Magnus Hagander)
        </para>
        <para>
@@ -5247,12 +5500,12 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title><application>libpq</application> Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Add a <envar>PGPASSFILE</> environment variable to specify the
@@ -5277,19 +5530,19 @@ psql -t -f fixseq.sql db1 | psql -e db1
       </listitem>
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Source Code Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Fix <application>pgxs</> to support building against a relocated
         installation
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add spinlock support for the Itanium processor using Intel
@@ -5427,7 +5680,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
     <sect3>
      <title>Contrib Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Add <filename>/contrib/pg_buffercache</> contrib module (Mark
@@ -5491,7 +5744,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
        </para>
 
        <itemizedlist>
-  
+
         <listitem>
          <para>
           Implementation of OpenPGP symmetric-key and public-key encryption
@@ -5533,7 +5786,76 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
      </itemizedlist>
     </sect3>
-  
+
+   </sect2>
+  </sect1>
+
+  <sect1 id="release-8-0-11">
+   <title>Release 8.0.11</title>
+
+   <note>
+   <title>Release date</title>
+   <simpara>2007-02-05</simpara>
+   </note>
+
+   <para>
+    This release contains a variety of fixes from 8.0.10, including
+    a security fix.
+   </para>
+
+   <sect2>
+    <title>Migration to version 8.0.11</title>
+
+    <para>
+     A dump/restore is not required for those running 8.0.X.  However,
+     if you are upgrading from a version earlier than 8.0.6, see the release
+     notes for 8.0.6.
+    </para>
+
+   </sect2>
+
+   <sect2>
+    <title>Changes</title>
+
+    <itemizedlist>
+
+     <listitem>
+     <para>
+      Remove security vulnerabilities that allowed connected users
+      to read backend memory (Tom)
+     </para>
+     <para>
+      The vulnerabilities involve suppressing the normal check that a SQL
+      function returns the data type it's declared to, and changing the
+      data type of a table column (CVE-2007-0555, CVE-2007-0556).  These
+      errors can easily be exploited to cause a backend crash, and in
+      principle might be used to read database content that the user
+      should not be able to access.
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix rare bug wherein btree index page splits could fail
+      due to choosing an infeasible split point (Heikki Linnakangas)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix for rare Assert() crash triggered by <literal>UNION</> (Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Tighten security of multi-byte character processing for UTF8 sequences
+      over three bytes long (Tom)
+     </para>
+     </listitem>
+
+    </itemizedlist>
+
    </sect2>
   </sect1>
 
@@ -5655,7 +5977,7 @@ psql -t -f fixseq.sql db1 | psql -e db1
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-0-9">
    <title>Release 8.0.9</title>
 
@@ -5709,7 +6031,7 @@ Wieland)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-0-8">
    <title>Release 8.0.8</title>
 
@@ -5821,7 +6143,7 @@ Fuhr)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-0-7">
    <title>Release 8.0.7</title>
 
@@ -5846,7 +6168,7 @@ Fuhr)</para></listitem>
 
    <sect2>
     <title>Changes</title>
-  
+
 <itemizedlist>
 
 <listitem><para>Fix potential crash in <command>SET
@@ -5883,7 +6205,7 @@ constraints in the proper order (Nakano Yoshihisa)</para></listitem>
 references to custom operators or operator classes (Tom)</para></listitem>
 
 <listitem><para>Allow <application>pg_restore</> to continue properly after a
-<command>COPY</> failure; formerly it tried to treat the remaining 
+<command>COPY</> failure; formerly it tried to treat the remaining
 <command>COPY</> data as SQL commands (Stephen Frost)</para></listitem>
 
 <listitem><para>Fix <application>pg_ctl</> <literal>unregister</> crash
@@ -5918,7 +6240,7 @@ and <function>isinf</> during configure (Tom)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-0-6">
    <title>Release 8.0.6</title>
 
@@ -5946,7 +6268,7 @@ and <function>isinf</> during configure (Tom)</para></listitem>
 
    <sect2>
     <title>Changes</title>
-  
+
 <itemizedlist>
 
 <listitem><para>Fix Windows code so that postmaster will continue rather
@@ -6001,7 +6323,7 @@ what's actually returned by the query (Joe)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-0-5">
    <title>Release 8.0.5</title>
 
@@ -6026,7 +6348,7 @@ what's actually returned by the query (Joe)</para></listitem>
 
    <sect2>
     <title>Changes</title>
-  
+
 <itemizedlist>
 
 <listitem><para>Fix race condition in transaction log management</para>
@@ -6081,7 +6403,7 @@ to subquery results</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-0-4">
    <title>Release 8.0.4</title>
 
@@ -6176,7 +6498,7 @@ code</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-8-0-3">
    <title>Release 8.0.3</title>
 
@@ -6323,12 +6645,12 @@ data types</para></listitem>
     <title>Changes</title>
 
 <itemizedlist>
-<listitem><para>Increment the major version number of all interface 
+<listitem><para>Increment the major version number of all interface
  libraries (Bruce)</para>
 <para>
- This should have been done in 8.0.0.  It is required so 7.4.X versions 
+ This should have been done in 8.0.0.  It is required so 7.4.X versions
  of PostgreSQL client applications, like <application>psql</>,
- can be used on the same machine as 8.0.X applications.  This might require 
+ can be used on the same machine as 8.0.X applications.  This might require
  re-linking user applications that use these libraries.
 </para></listitem>
 <listitem><para>Add Windows-only <varname>wal_sync_method</> setting of
@@ -6342,21 +6664,21 @@ data types</para></listitem>
 </para>
 </listitem>
 <listitem><para>Enable the <varname>wal_sync_method</> setting of
- <option>open_datasync</> on Windows, and make it the default for that 
+ <option>open_datasync</> on Windows, and make it the default for that
   platform (Magnus, Bruce)</para>
 <para>
  Because the default is no longer <option>fsync_writethrough</>,
  data loss is possible during a power failure if the disk drive has
- write caching enabled. To turn off the write cache on Windows, 
- from the <application>Device Manager</>, choose the drive properties, 
+ write caching enabled. To turn off the write cache on Windows,
+ from the <application>Device Manager</>, choose the drive properties,
  then <literal>Policies</>.
 </para>
 </listitem>
-<listitem><para>New cache management algorithm <acronym>2Q</> replaces 
+<listitem><para>New cache management algorithm <acronym>2Q</> replaces
  <acronym>ARC</> (Tom)</para>
 <para>
- This was done to avoid a pending US patent on <acronym>ARC</>.  The 
- <acronym>2Q</> code might be a few percentage points slower than 
+ This was done to avoid a pending US patent on <acronym>ARC</>.  The
+ <acronym>2Q</> code might be a few percentage points slower than
  <acronym>ARC</> for some work loads.  A better cache management algorithm
  will appear in 8.1.
 </para></listitem>
@@ -6380,9 +6702,9 @@ in plpython function bodies (Michael Fuhr)</para>
 </listitem>
 <listitem><para>Allow SPI cursors to handle utility commands that return rows,
 such as <command>EXPLAIN</> (Tom)</para></listitem>
-<listitem><para>Fix <command>CLUSTER</> failure after <command>ALTER TABLE 
+<listitem><para>Fix <command>CLUSTER</> failure after <command>ALTER TABLE
  SET WITHOUT OIDS</> (Tom)</para></listitem>
-<listitem><para>Reduce memory usage of <command>ALTER TABLE ADD COLUMN</> 
+<listitem><para>Reduce memory usage of <command>ALTER TABLE ADD COLUMN</>
  (Neil)</para></listitem>
 <listitem><para>Fix <command>ALTER LANGUAGE RENAME</> (Tom)</para></listitem>
 <listitem><para>Document the Windows-only <literal>register</> and
@@ -6402,7 +6724,7 @@ statistics collector</para>
  Windows event logger rather than standard error.
 </para></listitem>
 <listitem><para>Make Kerberos authentication work on Windows (Magnus)</para></listitem>
-<listitem><para>Allow <command>ALTER DATABASE RENAME</> by superusers 
+<listitem><para>Allow <command>ALTER DATABASE RENAME</> by superusers
  who aren't flagged as having CREATEDB privilege (Tom)</para></listitem>
 <listitem><para>Modify WAL log entries for <command>CREATE</> and
 <command>DROP DATABASE</> to not specify absolute paths (Tom)</para>
@@ -6410,22 +6732,22 @@ statistics collector</para>
  different database location.  Note that <command>CREATE TABLESPACE</> still
  poses a hazard in such situations.
 </para></listitem>
-<listitem><para>Fix crash from a backend exiting with an open transaction 
+<listitem><para>Fix crash from a backend exiting with an open transaction
  that created a table and opened a cursor on it (Tom)</para></listitem>
-<listitem><para>Fix <function>array_map()</> so it can call PL functions 
+<listitem><para>Fix <function>array_map()</> so it can call PL functions
  (Tom)</para></listitem>
 <listitem><para>Several <filename>contrib/tsearch2</> and
 <filename>contrib/btree_gist</> fixes (Teodor)
  </para></listitem>
-<listitem><para>Fix crash of some <filename>contrib/pgcrypto</> 
+<listitem><para>Fix crash of some <filename>contrib/pgcrypto</>
  functions on some platforms (Marko Kreen)</para></listitem>
-<listitem><para>Fix <filename>contrib/intagg</> for 64-bit platforms 
+<listitem><para>Fix <filename>contrib/intagg</> for 64-bit platforms
  (Tom)</para></listitem>
-<listitem><para>Fix ecpg bugs in parsing of <command>CREATE</> statement 
+<listitem><para>Fix ecpg bugs in parsing of <command>CREATE</> statement
  (Michael)</para></listitem>
-<listitem><para>Work around gcc bug on powerpc and amd64 causing problems in 
+<listitem><para>Work around gcc bug on powerpc and amd64 causing problems in
  ecpg (Christof Petig)</para></listitem>
-<listitem><para>Do not use locale-aware versions of <function>upper()</>, 
+<listitem><para>Do not use locale-aware versions of <function>upper()</>,
  <function>lower()</>, and <function>initcap()</> when the locale is
  <literal>C</> (Bruce)</para>
 <para>
@@ -6433,9 +6755,9 @@ statistics collector</para>
   for non-7-bit data when the locale is <literal>C</>.
 </para></listitem>
 <listitem><para>Fix <function>quote_ident()</> to quote names that match keywords (Tom)</para></listitem>
-<listitem><para>Fix <function>to_date()</> to behave reasonably when 
+<listitem><para>Fix <function>to_date()</> to behave reasonably when
  <literal>CC</> and <literal>YY</> fields are both used (Karel)</para></listitem>
-<listitem><para>Prevent <function>to_char(interval)</> from failing 
+<listitem><para>Prevent <function>to_char(interval)</> from failing
  when given a zero-month interval (Tom)</para></listitem>
 <listitem><para>Fix wrong week returned by <function>date_trunc('week')</>
 (Bruce)</para>
@@ -6524,10 +6846,10 @@ typedefs (Michael)</para></listitem>
     <title>Release date</title>
     <simpara>2005-01-19</simpara>
    </note>
+
    <sect2>
     <title>Overview</title>
+
     <para>
      Major changes in this release:
     </para>
@@ -6681,20 +7003,20 @@ typedefs (Michael)</para></listitem>
 
     </variablelist>
    </sect2>
+
    <sect2>
     <title>Migration to version 8.0</title>
-                                       
+
     <para>
      A dump/restore using <application>pg_dump</application> is
      required for those wishing to migrate data from any previous
      release.
     </para>
-    
+
     <para>
      Observe the following incompatibilities:
     </para>
-    
+
     <itemizedlist>
 
      <listitem>
@@ -6933,7 +7255,7 @@ typedefs (Michael)</para></listitem>
      considered deprecated and will be removed in the next major
      release.
      </para>
+
     <itemizedlist>
      <listitem>
       <para>
@@ -6941,7 +7263,7 @@ typedefs (Michael)</para></listitem>
        for intervals.
       </para>
      </listitem>
+
       <listitem>
        <para>
         The server now warns of empty strings passed to
@@ -6951,7 +7273,7 @@ typedefs (Michael)</para></listitem>
         invalid input for these data types.
        </para>
       </listitem>
+
      <listitem>
       <para>
        By default, tables in <productname>PostgreSQL</productname> 8.0
@@ -6968,19 +7290,19 @@ typedefs (Michael)</para></listitem>
 
     </itemizedlist>
    </sect2>
+
    <sect2>
     <title>Changes</title>
+
     <para>
      Below you will find a detailed account of the changes between
      release 8.0 and the previous major release.
     </para>
+
     <sect3>
      <title>Performance Improvements</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Support cross-data-type index usage (Tom)
@@ -6991,7 +7313,7 @@ typedefs (Michael)</para></listitem>
         intuitive and consistent.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New buffer replacement strategy that improves caching (Jan)
@@ -7002,14 +7324,14 @@ typedefs (Michael)</para></listitem>
         did not consider the number of times a specific cache entry was
         accessed, so large table scans could force out useful cache pages.
         The new cache algorithm uses four separate lists to track most
-        recently used and most frequently used cache pages and dynamically 
+        recently used and most frequently used cache pages and dynamically
         optimize their replacement based on the work load. This should
         lead to much more efficient use of the shared buffer cache.
         Administrators who have tested shared buffer sizes in the past
         should retest with this new cache replacement policy.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add subprocess to write dirty buffers periodically to reduce
@@ -7028,7 +7350,7 @@ typedefs (Michael)</para></listitem>
         performance and minimize degradation during checkpoints.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add ability to prolong vacuum to reduce performance impact (Jan)
@@ -7041,7 +7363,7 @@ typedefs (Michael)</para></listitem>
         total duration of <command>VACUUM</command>.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Improve B-tree index performance for duplicate keys (Dmitry Tkach, Tom)
@@ -7051,7 +7373,7 @@ typedefs (Michael)</para></listitem>
         values exist in the index.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Use dynamically-generated table size estimates while planning (Tom)
@@ -7068,7 +7390,7 @@ typedefs (Michael)</para></listitem>
         changed significantly since the last housekeeping command.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Improved index usage with <literal>OR</> clauses (Tom)
@@ -7080,7 +7402,7 @@ typedefs (Michael)</para></listitem>
         column is part of an <literal>OR</> clause.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Improve matching of partial index clauses (Tom)
@@ -7090,7 +7412,7 @@ typedefs (Michael)</para></listitem>
         involving complex <option>WHERE</> clauses.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Improve performance of the GEQO optimizer (Tom)
@@ -7101,7 +7423,7 @@ typedefs (Michael)</para></listitem>
         analyzed to decrease time spent in optimization.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Miscellaneous optimizer improvements
@@ -7111,7 +7433,7 @@ typedefs (Michael)</para></listitem>
         numerous special cases work better than in prior releases.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Improve lookup speed for C functions (Tom)
@@ -7122,7 +7444,7 @@ typedefs (Michael)</para></listitem>
         quickly as functions that are built into the server executable.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add type-specific <command>ANALYZE</command> statistics
@@ -7133,7 +7455,7 @@ typedefs (Michael)</para></listitem>
         for nonstandard data types.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         <command>ANALYZE</command> now collects statistics for
@@ -7148,7 +7470,7 @@ typedefs (Michael)</para></listitem>
         relevant.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New two-stage sampling method for <command>ANALYZE</command>
@@ -7159,7 +7481,7 @@ typedefs (Michael)</para></listitem>
         different in different regions of a table.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Speed up <command>TRUNCATE</command> (Tom)
@@ -7169,27 +7491,27 @@ typedefs (Michael)</para></listitem>
         keeping <command>TRUNCATE</command> transaction-safe.
        </para>
       </listitem>
-  
+
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Server Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Add WAL file archiving and point-in-time recovery (Simon Riggs)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add tablespaces so admins can control disk layout (Gavin)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add a built-in log rotation program (Andreas Pflug)
@@ -7200,7 +7522,7 @@ typedefs (Michael)</para></listitem>
         rotation program.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add new read-only server configuration parameters to show server
@@ -7209,7 +7531,7 @@ typedefs (Michael)</para></listitem>
         <varname>max_identifier_length</>, <varname>max_index_keys</>  (Joe)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Make quoting of <literal>sameuser</>, <literal>samegroup</>, and
@@ -7217,20 +7539,20 @@ typedefs (Michael)</para></listitem>
         <filename>pg_hba.conf</> (Andrew)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Use clearer IPv6 name <literal>::1/128</> for
         <literal>localhost</> in default <filename>pg_hba.conf</> (Andrew)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Use CIDR format in <filename>pg_hba.conf</> examples (Andrew)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Rename server configuration parameters <varname>SortMem</> and
@@ -7243,14 +7565,14 @@ typedefs (Michael)</para></listitem>
         <varname>work_mem</> is for workspaces used during query execution.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow logging of session disconnections using server configuration
         <varname>log_disconnections</> (Andrew)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add new server configuration parameter <varname>log_line_prefix</> to
@@ -7261,7 +7583,7 @@ typedefs (Michael)</para></listitem>
         address, and session start time.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Remove server configuration parameters <varname>log_pid</>,
@@ -7269,7 +7591,7 @@ typedefs (Michael)</para></listitem>
         superseded by <varname>log_line_prefix</> (Andrew)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Replace the <varname>virtual_host</> and <varname>tcpip_socket</>
@@ -7282,7 +7604,7 @@ typedefs (Michael)</para></listitem>
         to be specified.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Listen on localhost by default, which eliminates the need for the
@@ -7295,7 +7617,7 @@ typedefs (Michael)</para></listitem>
         adjustments.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Remove <varname>syslog</> server configuration parameter, and add more
@@ -7303,7 +7625,7 @@ typedefs (Michael)</para></listitem>
         location (Magnus)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Change server configuration parameter <varname>log_statement</> to take
@@ -7315,7 +7637,7 @@ typedefs (Michael)</para></listitem>
         only data modification statements.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Some logging-related configuration parameters could formerly be adjusted
@@ -7327,7 +7649,7 @@ typedefs (Michael)</para></listitem>
         via <literal>PGOPTIONS</>.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow configuration files to be placed outside the data directory (mlw)
@@ -7338,7 +7660,7 @@ typedefs (Michael)</para></listitem>
         data directory, easing administration.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Plan prepared queries only when first executed so constants can be
@@ -7355,7 +7677,7 @@ typedefs (Michael)</para></listitem>
         without incurring a performance penalty.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow <command>DECLARE CURSOR</command> to take parameters
@@ -7368,7 +7690,7 @@ typedefs (Michael)</para></listitem>
         execution of the cursor's query.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Fix hash joins and aggregates of <type>inet</type> and
@@ -7381,28 +7703,28 @@ typedefs (Michael)</para></listitem>
         data type.)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Make <varname>log_duration</> print only when <varname>log_statement</>
         prints the query (Ed L.)
        </para>
       </listitem>
-  
+
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Query Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Add savepoints (nested transactions) (Alvaro)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Unsupported isolation levels are now accepted and promoted to the
@@ -7414,7 +7736,7 @@ typedefs (Michael)</para></listitem>
         This change complies with that recommendation.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow <command>BEGIN WORK</command> to specify transaction
@@ -7422,17 +7744,17 @@ typedefs (Michael)</para></listitem>
         (Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Fix table permission checking for cases in which rules generate
         a query type different from the originally submitted query (Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
-        Implement dollar quoting to simplify single-quote usage (Andrew, Tom, 
+        Implement dollar quoting to simplify single-quote usage (Andrew, Tom,
         David Fetter)
        </para>
        <para>
@@ -7446,7 +7768,7 @@ typedefs (Michael)</para></listitem>
         Dollar quoting can be used anywhere quoted text is needed.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Make <literal>CASE val WHEN compval1 THEN ...</> evaluate <literal>val</> only once (Tom)
@@ -7457,7 +7779,7 @@ typedefs (Michael)</para></listitem>
         volatile.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Test <option>HAVING</> before computing target list of an
@@ -7469,7 +7791,7 @@ typedefs (Michael)</para></listitem>
         could fail with divide-by-zero.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Replace <varname>max_expr_depth</> parameter with
@@ -7477,12 +7799,12 @@ typedefs (Michael)</para></listitem>
         size (Tom)
        </para>
        <para>
-       This gives us a fairly bulletproof defense against crashing due to 
+       This gives us a fairly bulletproof defense against crashing due to
        runaway recursive functions. Instead of measuring the depth of expression
        nesting, we now directly measure the size of the execution stack.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow arbitrary row expressions (Tom)
@@ -7493,14 +7815,14 @@ typedefs (Michael)</para></listitem>
         take rows as arguments and return row values.
        </para>
       </listitem>
-        
+
       <listitem>
        <para>
         Allow <option>LIKE</>/<option>ILIKE</> to be used as the operator
         in row and subselect comparisons (Fabien Coelho)
        </para>
       </listitem>
-        
+
       <listitem>
        <para>
         Avoid locale-specific case conversion of basic ASCII letters in
@@ -7512,7 +7834,7 @@ typedefs (Michael)</para></listitem>
         outside the 7-bit-ASCII set is still locale-aware.
        </para>
       </listitem>
-        
+
       <listitem>
        <para>
         Improve syntax error reporting (Fabien, Tom)
@@ -7521,7 +7843,7 @@ typedefs (Michael)</para></listitem>
         Syntax error reports are more useful than before.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Change <command>EXECUTE</command> to return a completion tag
@@ -7533,7 +7855,7 @@ typedefs (Michael)</para></listitem>
         returned will reflect the command executed.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Avoid emitting <option>NATURAL CROSS JOIN</> in rule listings (Tom)
@@ -7543,22 +7865,22 @@ typedefs (Michael)</para></listitem>
         decompiler formerly produced this syntax.
        </para>
       </listitem>
-  
+
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Object Manipulation Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Add <command>COMMENT ON</> for casts, conversions, languages,
         operator classes, and large objects (Christopher)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add new server configuration parameter <varname>default_with_oids</> to
@@ -7572,14 +7894,14 @@ typedefs (Michael)</para></listitem>
         will become <literal>FALSE</> in future releases.)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <option>WITH</> / <option>WITHOUT OIDS</> clause to
         <command>CREATE TABLE AS</command> (Neil)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow <command>ALTER TABLE DROP COLUMN</> to drop an <type>OID</>
@@ -7587,13 +7909,13 @@ typedefs (Michael)</para></listitem>
         (Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow composite types as table columns (Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow <command>ALTER ... ADD COLUMN</> with defaults and
@@ -7605,7 +7927,7 @@ typedefs (Michael)</para></listitem>
         default value.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <command>ALTER COLUMN TYPE</> to change column's type (Rod)
@@ -7615,7 +7937,7 @@ typedefs (Michael)</para></listitem>
         and re-adding the column.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow multiple <command>ALTER</> actions in a single <command>ALTER
@@ -7629,7 +7951,7 @@ typedefs (Michael)</para></listitem>
         only once.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow <command>ALTER TABLE</command> to add <type>SERIAL</type>
@@ -7640,7 +7962,7 @@ typedefs (Michael)</para></listitem>
         columns.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow changing the owners of aggregates, conversions, databases,
@@ -7651,14 +7973,14 @@ typedefs (Michael)</para></listitem>
         Previously this required modifying the system tables directly.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow temporary object creation to be limited to <option>SECURITY
         DEFINER</> functions (Sean Chittenden)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <option>ALTER TABLE ... SET WITHOUT CLUSTER</> (Christopher)
@@ -7668,7 +7990,7 @@ typedefs (Michael)</para></listitem>
         specification except to modify the system tables.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Constraint/Index/<type>SERIAL</> names are now
@@ -7681,7 +8003,7 @@ typedefs (Michael)</para></listitem>
         within a schema.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <function>pg_get_serial_sequence()</> to return a
@@ -7692,43 +8014,43 @@ typedefs (Michael)</para></listitem>
         sequence name.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Warn when primary/foreign key data type mismatch requires costly lookup
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New <command>ALTER INDEX</> command to allow moving of indexes
         between tablespaces (Gavin)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Make <command>ALTER TABLE OWNER</> change dependent sequence
         ownership too (Alvaro)
        </para>
       </listitem>
-  
-  
+
+
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Utility Command Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Allow <command>CREATE SCHEMA</command> to create triggers,
         indexes, and sequences (Neil)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <option>ALSO</> keyword to <command>CREATE RULE</command> (Fabien
@@ -7739,7 +8061,7 @@ typedefs (Michael)</para></listitem>
         <option>INSTEAD</> rules.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <option>NOWAIT</> option to <command>LOCK</command> (Tatsuo)
@@ -7749,28 +8071,28 @@ typedefs (Michael)</para></listitem>
         would have to wait for the requested lock.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow <command>COPY</command> to read and write
         comma-separated-value (CSV) files (Andrew, Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Generate error if the <command>COPY</command> delimiter and NULL
         string conflict (Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         <command>GRANT</command>/<command>REVOKE</command> behavior
         follows the SQL spec more closely
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Avoid locking conflict between <command>CREATE INDEX</command>
@@ -7782,7 +8104,7 @@ typedefs (Michael)</para></listitem>
         WAL log could not be recycled.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Database-wide <command>ANALYZE</command> does not hold locks
@@ -7797,7 +8119,7 @@ typedefs (Michael)</para></listitem>
         table.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         <command>REINDEX</command> does not exclusively lock the index's
@@ -7809,7 +8131,7 @@ typedefs (Michael)</para></listitem>
         being rebuilt.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Erase MD5 user passwords when a user is renamed (Bruce)
@@ -7823,7 +8145,7 @@ typedefs (Michael)</para></listitem>
         be assigned if the user is to be able to log in with a password.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New <application>pg_ctl</> <option>kill</> option for Windows (Andrew)
@@ -7833,13 +8155,13 @@ typedefs (Michael)</para></listitem>
         backends so this capability was added to <application>pg_ctl</>.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Information schema improvements
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <option>--pwfile</> option to
@@ -7847,29 +8169,29 @@ typedefs (Michael)</para></listitem>
         set by GUI tools (Magnus)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Detect locale/encoding mismatch in
         <application>initdb</application> (Peter)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <option>register</> command to <application>pg_ctl</> to
         register Windows operating system service (Dave Page)
        </para>
       </listitem>
-  
+
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Data Type and Function Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         More complete support for composite types (row types)  (Tom)
@@ -7879,7 +8201,7 @@ typedefs (Michael)</para></listitem>
         worked before.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Reject nonrectangular array values as erroneous (Joe)
@@ -7889,13 +8211,13 @@ typedefs (Michael)</para></listitem>
         surprising result.
        </para>
       </listitem>
-  
+
        <listitem>
         <para>
          Overflow in integer arithmetic operations is now detected (Tom)
         </para>
        </listitem>
-  
+
        <listitem>
         <para>
          The arithmetic operators associated with the single-byte
@@ -7909,7 +8231,7 @@ typedefs (Michael)</para></listitem>
          integer explicitly.
         </para>
        </listitem>
-  
+
       <listitem>
         <para>
          Syntax checking of array input values considerably tightened up (Joe)
@@ -7920,7 +8242,7 @@ typedefs (Michael)</para></listitem>
          after the closing right brace.
         </para>
       </listitem>
-  
+
       <listitem>
         <para>
          Empty-string array element values must now be written as
@@ -7933,7 +8255,7 @@ typedefs (Michael)</para></listitem>
          element value in some future release.
         </para>
       </listitem>
-  
+
       <listitem>
         <para>
          Array element trailing whitespace is now ignored (Joe)
@@ -7944,27 +8266,27 @@ typedefs (Michael)</para></listitem>
          significant.  Now trailing whitespace is also ignored.
         </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Emit array values with explicit array bounds when lower bound is not one
         (Joe)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Accept <literal>YYYY-monthname-DD</> as a date string (Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Make <function>netmask</> and <function>hostmask</> functions
         return maximum-length mask length (Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Change factorial function to return <type>numeric</type> (Gavin)
@@ -7974,14 +8296,14 @@ typedefs (Michael)</para></listitem>
         work for a wider range of input values.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         <function>to_char</>/<function>to_date()</> date conversion
         improvements (Kurt Roeckx, Fabien Coelho)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Make <function>length()</> disregard trailing spaces in
@@ -7993,7 +8315,7 @@ typedefs (Michael)</para></listitem>
         should not be counted by <function>length()</>.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Warn about empty string being passed to
@@ -8003,7 +8325,7 @@ typedefs (Michael)</para></listitem>
         8.1 will throw an error instead.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow leading or trailing whitespace in
@@ -8012,7 +8334,7 @@ typedefs (Michael)</para></listitem>
         (Neil)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Better support for IEEE <literal>Infinity</> and <literal>NaN</>
@@ -8023,27 +8345,27 @@ typedefs (Michael)</para></listitem>
         floating point arithmetic.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <option>week</> option to <function>date_trunc()</> (Robert Creager)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Fix <function>to_char</function> for <literal>1 BC</>
         (previously it returned <literal>1 AD</>) (Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Fix <function>date_part(year)</> for BC dates (previously it
         returned one less than the correct year) (Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Fix <function>date_part()</> to return the proper millennium and
@@ -8055,7 +8377,7 @@ typedefs (Michael)</para></listitem>
         reckoning of such things.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <function>ceiling()</> as an alias for <function>ceil()</>,
@@ -8063,7 +8385,7 @@ typedefs (Michael)</para></listitem>
         standards compliance (Neil)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Change <function>ln()</>, <function>log()</>,
@@ -8072,53 +8394,53 @@ typedefs (Michael)</para></listitem>
         specified by SQL:2003 (Neil)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <function>width_bucket()</> function as defined by SQL:2003 (Neil)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <function>generate_series()</> functions to simplify working
         with numeric sets (Joe)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Fix <function>upper/lower/initcap()</> functions to work with
         multibyte encodings (Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add boolean and bitwise integer <option>AND</>/<option>OR</>
         aggregates (Fabien Coelho)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New session information functions to return network addresses for client
         and server (Sean Chittenden)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add function to determine the area of a closed path (Sean Chittenden)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add function to send cancel request to other backends (Magnus)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <type>interval</> plus <type>datetime</> operators (Tom)
@@ -8128,7 +8450,7 @@ typedefs (Michael)</para></listitem>
         was already supported, but both are required by the SQL standard.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Casting an integer to <type>BIT(N)</> selects the rightmost N bits
@@ -8141,22 +8463,22 @@ typedefs (Michael)</para></listitem>
         to int.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Require <type>CIDR</> values to have all nonmasked bits be zero
         (Kevin Brintnall)
        </para>
       </listitem>
-  
+
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Server-Side Language Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         In <literal>READ COMMITTED</> serialization mode, volatile functions
@@ -8165,7 +8487,7 @@ typedefs (Michael)</para></listitem>
         beginning of the interactive command that called the function.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Functions declared <literal>STABLE</> or <literal>IMMUTABLE</> always
@@ -8178,7 +8500,7 @@ typedefs (Michael)</para></listitem>
         rather than <literal>VOLATILE</>.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Nondeferred <option>AFTER</> triggers are now fired immediately
@@ -8191,7 +8513,7 @@ typedefs (Michael)</para></listitem>
         function.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow function parameters to be declared with names (Dennis Bj&ouml;rklund)
@@ -8202,7 +8524,7 @@ typedefs (Michael)</para></listitem>
         being used.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow PL/pgSQL parameter names to be referenced in the function (Dennis Bj&ouml;rklund)
@@ -8211,7 +8533,7 @@ typedefs (Michael)</para></listitem>
         This basically creates an automatic alias for each named parameter.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Do minimal syntax checking of PL/pgSQL functions at creation time (Tom)
@@ -8220,7 +8542,7 @@ typedefs (Michael)</para></listitem>
         This allows us to catch simple syntax errors sooner.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         More support for composite types (row and record variables) in PL/pgSQL
@@ -8230,14 +8552,14 @@ typedefs (Michael)</para></listitem>
         as a single variable.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Default values for PL/pgSQL variables can now reference previously
         declared variables
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Improve parsing of PL/pgSQL FOR loops (Tom)
@@ -8249,13 +8571,13 @@ typedefs (Michael)</para></listitem>
         messages when a mistake is made.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Major overhaul of PL/Perl server-side language (Command Prompt, Andrew Dunstan)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         In PL/Tcl, SPI commands are now run in subtransactions.  If an error
@@ -8264,7 +8586,7 @@ typedefs (Michael)</para></listitem>
         Formerly, it was not possible to catch such errors.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Accept <command>ELSEIF</> in PL/pgSQL (Neil)
@@ -8274,63 +8596,63 @@ typedefs (Michael)</para></listitem>
         are accustomed to spelling this keyword <command>ELSEIF</>.
        </para>
       </listitem>
-  
+
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title><application>psql</> Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Improve <application>psql</> information display about database
         objects (Christopher)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow <application>psql</> to display group membership in
         <command>\du</> and <command>\dg</> (Markus Bertheau)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Prevent <application>psql</> <command>\dn</command> from showing
         temporary schemas (Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow <application>psql</> to handle tilde user expansion for file
         names (Zach Irmen)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow <application>psql</> to display fancy prompts, including
         color, via <application>readline</> (Reece Hart, Chet Ramey)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Make <application>psql</> <command>\copy</> match <command>COPY</command> command syntax
         fully (Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Show the location of syntax errors (Fabien Coelho, Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <command>CLUSTER</command> information to <application>psql</>
@@ -8338,14 +8660,14 @@ typedefs (Michael)</para></listitem>
         (Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Change <application>psql</> <command>\copy stdin/stdout</> to read
         from command input/output (Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <option>pstdin</>/<option>pstdout</> to read from
@@ -8353,7 +8675,7 @@ typedefs (Michael)</para></listitem>
         Feit)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add global <application>psql</> configuration file, <filename>psqlrc.sample</filename>
@@ -8364,48 +8686,48 @@ typedefs (Michael)</para></listitem>
         be stored.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Have <application>psql</> <command>\d+</> indicate if the table
         has an <type>OID</> column (Neil)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         On Windows, use binary mode in <application>psql</> when reading files so control-Z
         is not seen as end-of-file
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Have <command>\dn+</> show permissions and description for schemas (Dennis
         Bj&ouml;rklund)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Improve tab completion support (Stefan Kaltenbrunn, Greg Sabino Mullane)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow boolean settings to be set using upper or lower case (Michael Paesold)
        </para>
       </listitem>
-  
+
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title><application>pg_dump</> Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Use dependency information to improve the reliability of
@@ -8416,7 +8738,7 @@ typedefs (Michael)</para></listitem>
         sometimes being dumped in the wrong order.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Have <application>pg_dump</> output objects in alphabetical order if possible (Tom)
@@ -8426,7 +8748,7 @@ typedefs (Michael)</para></listitem>
         dump files.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow <application>pg_restore</> to ignore some SQL errors (Fabien Coelho)
@@ -8439,20 +8761,20 @@ typedefs (Michael)</para></listitem>
         option to give the old behavior of exiting on an error.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         <application>pg_restore</> <option>-l</> display now includes
         objects' schema names
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New begin/end markers in <application>pg_dump</> text output (Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add start/stop times for
@@ -8460,14 +8782,14 @@ typedefs (Michael)</para></listitem>
         (Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow most <application>pg_dump</> options in
         <application>pg_dumpall</> (Christopher)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Have <application>pg_dump</> use <command>ALTER OWNER</> rather
@@ -8475,35 +8797,35 @@ typedefs (Michael)</para></listitem>
         (Christopher)
        </para>
       </listitem>
-  
+
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>libpq Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Make libpq's <option>SIGPIPE</> handling thread-safe (Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <function>PQmbdsplen()</> which returns the display length
         of a character (Tatsuo)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add thread locking to <application>SSL</> and
         <application>Kerberos</> connections (Manfred Spraul)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow <function>PQoidValue()</>, <function>PQcmdTuples()</>, and
@@ -8511,14 +8833,14 @@ typedefs (Michael)</para></listitem>
         commands (Neil)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <function>PQserverVersion()</> to provide more convenient
         access to the server version number (Greg Sabino Mullane)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <function>PQprepare/PQsendPrepared()</> functions to support
@@ -8526,33 +8848,33 @@ typedefs (Michael)</para></listitem>
         of their parameters (Abhijit Menon-Sen)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Many ECPG improvements, including <command>SET DESCRIPTOR</> (Michael)
        </para>
       </listitem>
-  
+
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Source Code Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Allow the database server to run natively on Windows (Claudio, Magnus, Andrew)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Shell script commands converted to C versions for Windows support (Andrew)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Create an extension makefile framework (Fabien Coelho, Peter)
@@ -8562,7 +8884,7 @@ typedefs (Michael)</para></listitem>
         source tree.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Support relocatable installations (Bruce)
@@ -8575,26 +8897,26 @@ typedefs (Michael)</para></listitem>
         rebuilding.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Use <option>--with-docdir</> to choose installation location of documentation; also
         allow <option>--infodir</> (Peter)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add <option>--without-docdir</> to prevent installation of documentation (Peter)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Upgrade to <application>DocBook</> V4.2 SGML (Peter)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New <literal>PostgreSQL</> <application>CVS</> tag (Marc)
@@ -8607,116 +8929,116 @@ typedefs (Michael)</para></listitem>
         repository.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Clarify locking code (Manfred Koizar)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Buffer manager cleanup (Neil)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Decouple platform tests from CPU spinlock code (Bruce, Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add inlined test-and-set code on PA-RISC for <application>gcc</>
         (ViSolve, Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Improve i386 spinlock code (Manfred Spraul)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Clean up spinlock assembly code to avoid warnings from newer
         <application>gcc</> releases (Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Remove JDBC from source tree; now a separate project
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Remove the libpgtcl client interface; now a separate project
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         More accurately estimate memory and file descriptor usage (Tom)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Improvements to the Mac OS X startup scripts (Ray A.)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New <function>fsync()</> test program (Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Major documentation improvements (Neil, Peter)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Remove <application>pg_encoding</application>; not needed
         anymore
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Remove <application>pg_id</application>; not needed anymore
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Remove <application>initlocation</application>; not needed
         anymore
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Auto-detect thread flags (no more manual testing) (Bruce)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Use Olson's public domain <application>timezone</> library (Magnus)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
-        With threading enabled, use thread flags on Unixware for 
+        With threading enabled, use thread flags on Unixware for
         backend executables too (Bruce)
        </para>
        <para>
@@ -8724,14 +9046,14 @@ typedefs (Michael)</para></listitem>
         same executable, so everything must be compiled as threaded.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         <application>psql</> now uses a <application>flex</>-generated
         lexical analyzer to process command strings
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Reimplement the linked list data structure used throughout the
@@ -8742,123 +9064,192 @@ typedefs (Michael)</para></listitem>
         operations to be more efficient.
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow dynamically loaded modules to create their own server configuration
         parameters (Thomas Hallgren)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New Brazilian version of FAQ (Euler Taveira de Oliveira)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add French FAQ (Guillaume Lelarge)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New <application>pgevent</> for Windows logging
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Make libpq and ECPG build as proper shared libraries on OS X (Tom)
        </para>
       </listitem>
-  
+
      </itemizedlist>
     </sect3>
-  
-  
+
+
     <sect3>
      <title>Contrib Changes</title>
      <itemizedlist>
-  
+
       <listitem>
        <para>
         Overhaul of <filename>contrib/dblink</> (Joe)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         <filename>contrib/dbmirror</> improvements (Steven Singer)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New <filename>contrib/xml2</> (John Gray, Torchbox)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Updated <filename>contrib/mysql</filename>
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New version of <filename>contrib/btree_gist</> (Teodor)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         New <filename>contrib/trgm</>, trigram matching for
         <productname>PostgreSQL</productname> (Teodor)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Many <filename>contrib/tsearch2</> improvements (Teodor)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add double metaphone to <filename>contrib/fuzzystrmatch</> (Andrew)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Allow <filename>contrib/pg_autovacuum</> to run as a Windows service (Dave Page)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Add functions to <filename>contrib/dbsize</> (Andreas Pflug)
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Removed <filename>contrib/pg_logger</>: obsoleted by integrated logging
         subprocess
        </para>
       </listitem>
-  
+
       <listitem>
        <para>
         Removed <filename>contrib/rserv</>: obsoleted by various separate projects
        </para>
       </listitem>
-  
+
      </itemizedlist>
     </sect3>
-  
+
+   </sect2>
+  </sect1>
+
+  <sect1 id="release-7-4-16">
+   <title>Release 7.4.16</title>
+
+   <note>
+   <title>Release date</title>
+   <simpara>2007-02-05</simpara>
+   </note>
+
+   <para>
+    This release contains a variety of fixes from 7.4.15, including
+    a security fix.
+   </para>
+
+   <sect2>
+    <title>Migration to version 7.4.16</title>
+
+    <para>
+     A dump/restore is not required for those running 7.4.X.  However,
+     if you are upgrading from a version earlier than 7.4.11, see the release
+     notes for 7.4.11.
+    </para>
+
+   </sect2>
+
+   <sect2>
+    <title>Changes</title>
+
+    <itemizedlist>
+
+     <listitem>
+     <para>
+      Remove security vulnerability that allowed connected users
+      to read backend memory (Tom)
+     </para>
+     <para>
+      The vulnerability involves suppressing the normal check that a SQL
+      function returns the data type it's declared to, or changing the
+      data type of a table column used in a SQL function (CVE-2007-0555).
+      This error can easily be exploited to cause a backend crash, and in
+      principle might be used to read database content that the user
+      should not be able to access.
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix rare bug wherein btree index page splits could fail
+      due to choosing an infeasible split point (Heikki Linnakangas)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix for rare Assert() crash triggered by <literal>UNION</> (Tom)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Tighten security of multi-byte character processing for UTF8 sequences
+      over three bytes long (Tom)
+     </para>
+     </listitem>
+
+    </itemizedlist>
+
    </sect2>
   </sect1>
 
@@ -8950,7 +9341,7 @@ typedefs (Michael)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-4-14">
    <title>Release 7.4.14</title>
 
@@ -8995,7 +9386,7 @@ ANYARRAY</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-4-13">
    <title>Release 7.4.13</title>
 
@@ -9100,7 +9491,7 @@ Fuhr)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-4-12">
    <title>Release 7.4.12</title>
 
@@ -9125,7 +9516,7 @@ Fuhr)</para></listitem>
 
    <sect2>
     <title>Changes</title>
-  
+
 <itemizedlist>
 
 <listitem><para>Fix potential crash in <command>SET
@@ -9161,7 +9552,7 @@ and <function>isinf</> during configure (Tom)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-4-11">
    <title>Release 7.4.11</title>
 
@@ -9189,7 +9580,7 @@ and <function>isinf</> during configure (Tom)</para></listitem>
 
    <sect2>
     <title>Changes</title>
-  
+
 <itemizedlist>
 
 <listitem><para>Fix for protocol-level Describe messages issued
@@ -9226,7 +9617,7 @@ what's actually returned by the query (Joe)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-4-10">
    <title>Release 7.4.10</title>
 
@@ -9251,7 +9642,7 @@ what's actually returned by the query (Joe)</para></listitem>
 
    <sect2>
     <title>Changes</title>
-  
+
 <itemizedlist>
 
 <listitem><para>Fix race condition in transaction log management</para>
@@ -9277,7 +9668,7 @@ table has been dropped</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-4-9">
    <title>Release 7.4.9</title>
 
@@ -9344,7 +9735,7 @@ code</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-4-8">
    <title>Release 7.4.8</title>
 
@@ -9612,7 +10003,7 @@ GMT</para></listitem>
 <itemizedlist>
 <listitem><para>Repair possible failure to update hint bits on disk</para>
 <para>
-Under rare circumstances this oversight could lead to 
+Under rare circumstances this oversight could lead to
 <quote>could not access transaction status</> failures, which qualifies
 it as a potential-data-loss bug.
 </para></listitem>
@@ -9772,7 +10163,7 @@ aggregate plan</para></listitem>
 <listitem><para>Fix error in COPY IN termination when using the old network protocol (ljb)</para></listitem>
 <listitem><para>Several important fixes in pg_autovacuum, including fixes for
 large tables, unsigned oids, stability, temp tables, and debug mode
-(Matthew T. O'Connor)</para></listitem> 
+(Matthew T. O'Connor)</para></listitem>
 <listitem><para>Fix problem with reading tar-format dumps on NetBSD and BSD/OS (Bruce)</para></listitem>
 <listitem><para>Several JDBC fixes</para></listitem>
 <listitem><para>Fix ALTER SEQUENCE RESTART where last_value equals the restart value (Tom)</para></listitem>
@@ -9855,7 +10246,7 @@ VACUUM pg_statistic;
 UPDATE pg_type SET typalign = 'd' WHERE oid = 2277;
 -- this should update 6 rows:
 UPDATE pg_attribute SET attalign = 'd' WHERE atttypid = 2277;
---     
+--
 -- At this point you MUST start a fresh backend to avoid a crash!
 --
 -- repopulate pg_statistic:
@@ -9926,7 +10317,7 @@ inconveniences associated with the <literal>i/I</> problem.</para></listitem>
 <listitem><para>Other minor pg_dump fixes</para></listitem>
 <listitem><para>Allow ecpg to again use C keywords as column names (Michael)</para></listitem>
 <listitem><para>Added ecpg <literal>WHENEVER NOT_FOUND</> to
-<literal>SELECT/INSERT/UPDATE/DELETE</> (Michael)</para></listitem> 
+<literal>SELECT/INSERT/UPDATE/DELETE</> (Michael)</para></listitem>
 <listitem><para>Fix ecpg crash for queries calling set-returning functions (Michael)</para></listitem>
 <listitem><para>Various other ecpg fixes (Michael)</para></listitem>
 <listitem><para>Fixes for Borland compiler</para></listitem>
@@ -10333,13 +10724,13 @@ DROP SCHEMA information_schema CASCADE;
 
   <sect2>
    <title>Migration to version 7.4</title>
-                                      
+
    <para>
     A dump/restore using <application>pg_dump</application> is
     required for those wishing to migrate data from any previous
     release.
    </para>
-   
+
    <para>
     Observe the following incompatibilities:
    </para>
@@ -11910,6 +12301,68 @@ DROP SCHEMA information_schema CASCADE;
   </sect2>
  </sect1>
 
+  <sect1 id="release-7-3-18">
+   <title>Release 7.3.18</title>
+
+   <note>
+   <title>Release date</title>
+   <simpara>2007-02-05</simpara>
+   </note>
+
+   <para>
+    This release contains a variety of fixes from 7.3.17, including
+    a security fix.
+   </para>
+
+   <sect2>
+    <title>Migration to version 7.3.18</title>
+
+    <para>
+     A dump/restore is not required for those running 7.3.X.  However,
+     if you are upgrading from a version earlier than 7.3.13, see the release
+     notes for 7.3.13.
+    </para>
+
+   </sect2>
+
+   <sect2>
+    <title>Changes</title>
+
+    <itemizedlist>
+
+     <listitem>
+     <para>
+      Remove security vulnerability that allowed connected users
+      to read backend memory (Tom)
+     </para>
+     <para>
+      The vulnerability involves changing the
+      data type of a table column used in a SQL function (CVE-2007-0555).
+      This error can easily be exploited to cause a backend crash, and in
+      principle might be used to read database content that the user
+      should not be able to access.
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Fix rare bug wherein btree index page splits could fail
+      due to choosing an infeasible split point (Heikki Linnakangas)
+     </para>
+     </listitem>
+
+     <listitem>
+     <para>
+      Tighten security of multi-byte character processing for UTF8 sequences
+      over three bytes long (Tom)
+     </para>
+     </listitem>
+
+    </itemizedlist>
+
+   </sect2>
+  </sect1>
+
   <sect1 id="release-7-3-17">
    <title>Release 7.3.17</title>
 
@@ -11967,7 +12420,7 @@ DROP SCHEMA information_schema CASCADE;
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-3-16">
    <title>Release 7.3.16</title>
 
@@ -11994,7 +12447,7 @@ DROP SCHEMA information_schema CASCADE;
    <sect2>
     <title>Changes</title>
 
-<itemizedlist> 
+<itemizedlist>
 <listitem><para>Fix corner cases in pattern matching for
   <application>psql</>'s <literal>\d</> commands</para></listitem>
 <listitem><para>Fix index-corrupting bugs in /contrib/ltree
@@ -12009,7 +12462,7 @@ DROP SCHEMA information_schema CASCADE;
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-3-15">
    <title>Release 7.3.15</title>
 
@@ -12101,7 +12554,7 @@ Fuhr)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-3-14">
    <title>Release 7.3.14</title>
 
@@ -12126,7 +12579,7 @@ Fuhr)</para></listitem>
 
    <sect2>
     <title>Changes</title>
-  
+
 <itemizedlist>
 
 <listitem><para>Fix potential crash in <command>SET
@@ -12158,7 +12611,7 @@ and <function>isinf</> during configure (Tom)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-3-13">
    <title>Release 7.3.13</title>
 
@@ -12186,7 +12639,7 @@ and <function>isinf</> during configure (Tom)</para></listitem>
 
    <sect2>
     <title>Changes</title>
-  
+
 <itemizedlist>
 
 <listitem><para>Fix character string comparison for locales that consider
@@ -12220,7 +12673,7 @@ what's actually returned by the query (Joe)</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-3-12">
    <title>Release 7.3.12</title>
 
@@ -12245,7 +12698,7 @@ what's actually returned by the query (Joe)</para></listitem>
 
    <sect2>
     <title>Changes</title>
-  
+
 <itemizedlist>
 
 <listitem><para>Fix race condition in transaction log management</para>
@@ -12267,7 +12720,7 @@ table has been dropped</para></listitem>
 
    </sect2>
   </sect1>
+
   <sect1 id="release-7-3-11">
    <title>Release 7.3.11</title>
 
@@ -12528,7 +12981,7 @@ datestyles</para></listitem>
 <itemizedlist>
 <listitem><para>Repair possible failure to update hint bits on disk</para>
 <para>
-Under rare circumstances this oversight could lead to 
+Under rare circumstances this oversight could lead to
 <quote>could not access transaction status</> failures, which qualifies
 it as a potential-data-loss bug.
 </para></listitem>
@@ -12966,8 +13419,8 @@ operations on bytea columns (Joe)</para></listitem>
 </itemizedlist>
   </sect2>
  </sect1>
-  
-  
+
+
  <sect1 id="release-7-3">
   <title>Release 7.3</title>
 
@@ -13730,7 +14183,7 @@ datestyles</para></listitem>
 <itemizedlist>
 <listitem><para>Repair possible failure to update hint bits on disk</para>
 <para>
-Under rare circumstances this oversight could lead to 
+Under rare circumstances this oversight could lead to
 <quote>could not access transaction status</> failures, which qualifies
 it as a potential-data-loss bug.
 </para></listitem>
@@ -13871,8 +14324,8 @@ since <productname>PostgreSQL</productname> 7.1.
 </itemizedlist>
   </sect2>
  </sect1>
-  
-  
+
+
  <sect1 id="release-7-2-2">
   <title>Release 7.2.2</title>
 
@@ -13914,8 +14367,8 @@ since <productname>PostgreSQL</productname> 7.1.
 </itemizedlist>
   </sect2>
  </sect1>
-  
-  
+
+
  <sect1 id="release-7-2-1">
   <title>Release 7.2.1</title>
 
@@ -14115,7 +14568,7 @@ since <productname>PostgreSQL</productname> 7.1.
      <para>
       The <literal>timestamp()</literal>, <literal>time()</literal>,
       and <literal>interval()</literal> functions are no longer
-      available.  Instead of <literal>timestamp()</literal>, use 
+      available.  Instead of <literal>timestamp()</literal>, use
       <literal>timestamp 'string'</literal> or <literal>CAST</literal>.
      </para>
     </listitem>
@@ -14587,7 +15040,7 @@ Fix PL/pgSQL SELECTs when returning no rows
 Fix for psql backslash core dump
 Referential integrity privilege fix
 Optimizer fixes
-pg_dump cleanups 
+pg_dump cleanups
      </programlisting>
     </para>
    </sect2>
@@ -14726,7 +15179,7 @@ function manager call interface.
 A large number of complex queries that were
 unsupported in previous releases now work.  Many combinations of views,
 aggregates, UNION, LIMIT, cursors, subqueries, and inherited tables
-now work properly. Inherited tables are now accessed by default. 
+now work properly. Inherited tables are now accessed by default.
 Subqueries in FROM are now supported.
       </para>
      </listitem>
@@ -14756,7 +15209,7 @@ Kerberos V fixes (David Wragg)
 Fix for INSERT INTO...SELECT where targetlist has subqueries (Tom)
 Prompt username/password on standard error (Bruce)
 Large objects inv_read/inv_write fixes (Tom)
-Fixes for to_char(), to_date(), to_ascii(), and to_timestamp() (Karel, 
+Fixes for to_char(), to_date(), to_ascii(), and to_timestamp() (Karel,
     Daniel Baldoni)
 Prevent query expressions from leaking memory (Tom)
 Allow UPDATE of arrays elements (Tom)
@@ -14772,7 +15225,7 @@ Disallow DROP RULE, CREATE INDEX, TRUNCATE on views (Mark Hollomon)
 Allow PL/pgSQL accept non-ASCII identifiers (Tatsuo)
 Allow views to proper handle GROUP BY, aggregates, DISTINCT (Tom)
 Fix rare failure with TRUNCATE command (Tom)
-Allow UNION/INTERSECT/EXCEPT to be used with ALL, subqueries, views, 
+Allow UNION/INTERSECT/EXCEPT to be used with ALL, subqueries, views,
     DISTINCT, ORDER BY, SELECT...INTO (Tom)
 Fix parser failures during aborted transactions (Tom)
 Allow temporary relations to properly clean up indexes (Bruce)
@@ -14808,14 +15261,14 @@ Improve ps status display for more platforms (Peter E, Marc)
 Improve CREATE FUNCTION failure message (Ross)
 JDBC improvements (Peter, Travis Bauer, Christopher Cain, William Webber,
     Gunnar)
-Grand Unified Configuration scheme/GUC.  Many options can now be set in 
+Grand Unified Configuration scheme/GUC.  Many options can now be set in
     data/postgresql.conf, postmaster/postgres flags, or SET commands (Peter E)
 Improved handling of file descriptor cache (Tom)
 New warning code about auto-created table alias entries (Bruce)
 Overhaul initdb process (Tom, Peter E)
 Overhaul of inherited tables; inherited tables now accessed by default;
    new ONLY key word prevents it (Chris Bitmead, Tom)
-ODBC cleanups/improvements (Nick Gorham, Stephan Szabo, Zoltan Kovacs, 
+ODBC cleanups/improvements (Nick Gorham, Stephan Szabo, Zoltan Kovacs,
     Michael Fork)
 Allow renaming of temp tables (Tom)
 Overhaul memory manager contexts (Tom)
@@ -14886,7 +15339,7 @@ New CIDR abbrev() function (Tom)
 
 Performance
 -----------
-Write-Ahead Log (WAL) to provide crash recovery with less performance 
+Write-Ahead Log (WAL) to provide crash recovery with less performance
     overhead (Vadim)
 ANALYZE stage of VACUUM no longer exclusively locks table (Bruce)
 Reduced file seeks (Denis Perchine)
@@ -15108,7 +15561,7 @@ ecpg changes (Michael)
    <simpara>2000-05-08</simpara>
    </note>
 
-   <para> 
+   <para>
     This release contains improvements in many areas, demonstrating
     the continued growth of <productname>PostgreSQL</productname>.
     There are more improvements and fixes in 7.0 than in any previous
@@ -15184,7 +15637,7 @@ ecpg changes (Michael)
      A dump/restore using <application>pg_dump</application>
      is required for those wishing to migrate data from any
      previous release of <productname>PostgreSQL</productname>.
-     For those upgrading from 6.5.*, you can instead use 
+     For those upgrading from 6.5.*, you can instead use
      <application>pg_upgrade</application> to upgrade to this
      release; however, a full dump/reload installation is always the
      most robust method for upgrades.
@@ -15361,8 +15814,8 @@ Force permissions on PGDATA directory to be secure, even if it exists (Tom)
 Added psql LASTOID variable to return last inserted oid (Peter E)
 Allow concurrent vacuum and remove pg_vlock vacuum lock file (Tom)
 Add privilege check for vacuum (Peter E)
-New libpq functions to allow asynchronous connections: PQconnectStart(), 
-   PQconnectPoll(), PQresetStart(), PQresetPoll(), PQsetenvStart(), 
+New libpq functions to allow asynchronous connections: PQconnectStart(),
+   PQconnectPoll(), PQresetStart(), PQresetPoll(), PQsetenvStart(),
    PQsetenvPoll(), PQsetenvAbort (Ewan Mellor)
 New libpq PQsetenv() function (Ewan Mellor)
 create/alter user extension (Peter E)
@@ -15380,7 +15833,7 @@ Add CREATE/ALTER/DROP GROUP (Peter E)
 All administration scripts now support --long options (Peter E, Karel)
 Vacuumdb script now supports --all option (Peter E)
 ecpg new portable FETCH syntax
-Add ecpg EXEC SQL IFDEF, EXEC SQL IFNDEF, EXEC SQL ELSE, EXEC SQL ELIF 
+Add ecpg EXEC SQL IFDEF, EXEC SQL IFNDEF, EXEC SQL ELSE, EXEC SQL ELIF
         and EXEC SQL ENDIF directives
 Add pg_ctl script to control backend start-up (Tatsuo)
 Add postmaster.opts.default file to store start-up flags (Tatsuo)
@@ -15455,7 +15908,7 @@ Cleanups for int8 inputs, range checking, and type conversion (Tom)
 Fix for SELECT timespan('21:11:26'::time) (Tom)
 netmask('x.x.x.x/0') is 255.255.255.255 instead of 0.0.0.0 (Oleg Sharoiko)
 Add btree index on NUMERIC (Jan)
-Perl fix for large objects containing NUL characters (Douglas Thomson) 
+Perl fix for large objects containing NUL characters (Douglas Thomson)
 ODBC fix for for large objects (free)
 Fix indexing of cidr data type
 Fix for Ethernet MAC addresses (macaddr type) comparisons
@@ -15864,10 +16317,10 @@ Add Win1250 (Czech) support (Pavel Behal)
         The <citetitle>Administrator's Guide</citetitle> has a new
         chapter on troubleshooting from Tom Lane.
         And the <citetitle>Programmer's Guide</citetitle> has a
-        description of query processing, also from Stefan, and details 
+        description of query processing, also from Stefan, and details
         on obtaining the <productname>PostgreSQL</productname> source
         tree via anonymous <productname>CVS</productname> and
-        <productname>CVSup</productname>. 
+        <productname>CVSup</productname>.
        </para>
       </listitem>
      </varlistentry>
@@ -15889,7 +16342,7 @@ Add Win1250 (Czech) support (Pavel Behal)
     <para>
      The new Multiversion Concurrency Control (MVCC) features can
      give somewhat different behaviors in multiuser
-     environments. <emphasis>Read and understand the following section 
+     environments. <emphasis>Read and understand the following section
       to ensure that your existing applications will give you the
       behavior you need.</emphasis>
     </para>
@@ -16069,7 +16522,7 @@ JDBC fixes/features, see src/interfaces/jdbc/CHANGELOG(Peter)
 Make % operator have precedence like /(Bruce)
 Add new postgres -O option to allow system table structure changes(Bruce)
 Update contrib/pginterface/findoidjoins script(Tom)
-Major speedup in vacuum of deleted rows with indexes(Vadim) 
+Major speedup in vacuum of deleted rows with indexes(Vadim)
 Allow non-SQL functions to run different versions based on arguments(Tom)
 Add -E option that shows actual queries sent by \dt and friends(Masaaki Sakaida)
 Add version number in start-up banners for psql(Masaaki Sakaida)
@@ -16233,7 +16686,7 @@ Here is a brief, incomplete summary:
 <itemizedlist>
 <listitem>
 <para>
-Views and rules are now functional thanks to extensive new code in the 
+Views and rules are now functional thanks to extensive new code in the
 rewrite rules system from Jan Wieck. He also wrote a chapter on it
 for the <citetitle>Programmer's Guide</citetitle>.
 </para>
@@ -16272,7 +16725,7 @@ which covers this topic.
 
 <listitem>
 <para>
-Three new data types have been added. 
+Three new data types have been added.
 Two types, <type>inet</type> and <type>cidr</type>, support various forms
 of IP network, subnet, and machine addressing. There is now an 8-byte integer
 type available on some platforms. See the chapter on data types
@@ -16304,7 +16757,7 @@ been.
 <title>Migration to version 6.4</title>
 
 <para>
-A dump/restore using <application>pg_dump</application> 
+A dump/restore using <application>pg_dump</application>
 or <application>pg_dumpall</application>
 is required for those wishing to migrate data from any
 previous release of <productname>PostgreSQL</productname>.
@@ -16374,7 +16827,7 @@ Readline cleanups(Tom)
 Allow psql  \f \ to make spaces as delimiter(Bruce)
 Pass pg_attribute.atttypmod to the frontend for column field lengths(Tom,Bruce)
 Msql compatibility library in /contrib(Aldrin)
-Remove the requirement that ORDER/GROUP BY clause identifiers be 
+Remove the requirement that ORDER/GROUP BY clause identifiers be
 included in the target list(David)
 Convert columns to match columns in UNION clauses(Thomas)
 Remove fork()/exec() and only do fork()(Bruce)
@@ -16545,7 +16998,7 @@ Correctly handles function calls on the left side of BETWEEN and LIKE clauses.
 </itemizedlist>
 </para>
 <para>
-A dump/restore is NOT required for those running 6.3 or 6.3.1.  A 
+A dump/restore is NOT required for those running 6.3 or 6.3.1.  A
 <literal>make distclean</>, <literal>make</>, and <literal>make install</> is all that is required.
 This last step should be performed while the postmaster is not running.
 You should re-link any custom applications that use <productname>PostgreSQL</productname> libraries.
@@ -16622,7 +17075,7 @@ Improvements to the configuration autodetection for installation.
 </itemizedlist>
 </para>
 <para>
-A dump/restore is NOT required for those running 6.3.  A 
+A dump/restore is NOT required for those running 6.3.  A
 <literal>make distclean</>, <literal>make</>, and <literal>make install</> is all that is required.
 This last step should be performed while the postmaster is not running.
 You should re-link any custom applications that use <productname>PostgreSQL</productname> libraries.
@@ -16768,7 +17221,7 @@ Better identify tcl and tk libs and includes(Bruce)
    <para>
     User-created tables now no longer have SELECT privilege to PUBLIC by
     default.  This was done because the ANSI standard requires it.  You can
-    of course GRANT any privileges you want after the table is created. 
+    of course GRANT any privileges you want after the table is created.
     System tables continue to be SELECT-able by PUBLIC.
    </para>
    <para>
@@ -16800,7 +17253,7 @@ Better identify tcl and tk libs and includes(Bruce)
     <title>Migration to version 6.3</title>
 
     <para>
-     A dump/restore using <application>pg_dump</application> 
+     A dump/restore using <application>pg_dump</application>
      or <application>pg_dumpall</application>
      is required for those wishing to migrate data from any
      previous release of <productname>PostgreSQL</productname>.
@@ -16854,7 +17307,7 @@ Subselects with EXISTS, IN, ALL, ANY key words (Vadim, Bruce, Thomas)
 New User Manual(Thomas, others)
 Speedup by inlining some frequently-called functions
 Real deadlock detection, no more timeouts(Bruce)
-Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, 
+Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP,
         CURRENT_USER(Thomas)
 Modify constraint syntax to be SQL92-compliant(Thomas)
 Implement SQL92 PRIMARY KEY and UNIQUE clauses using indexes(Thomas)
@@ -16934,7 +17387,7 @@ Reduce system column overhead(Vadmin)
 Remove pg_time table(Vadim)
 Add pg_type attribute to identify types that need length (bpchar, varchar)
 Add report of offending line when COPY command fails
-Allow VIEW privileges to be set separately from the underlying tables. 
+Allow VIEW privileges to be set separately from the underlying tables.
         For security, use GRANT/REVOKE on views as appropriate(Jan)
 Tables now have no default GRANT SELECT TO PUBLIC.  You must
         explicitly grant such privileges.
@@ -17011,8 +17464,8 @@ Include example trigger function for inserting user names on table updates.
 </itemizedlist>
 </para>
 <para>
-This is a minor bug-fix release on 6.2. 
-For upgrades from pre-6.2 systems, a full dump/reload is required. 
+This is a minor bug-fix release on 6.2.
+For upgrades from pre-6.2 systems, a full dump/reload is required.
 Refer to the 6.2 release notes for instructions.
 </para>
 
@@ -17114,14 +17567,14 @@ Catch non-functional delete attempts(Vadim)
 Change time function names to be more consistent(Michael Reifenberg)
 Check for zero divides(Michael Reifenberg)
 Fix very old bug which made rows changed/inserted by a command
-        visible to the command itself (so we had multiple update of 
+        visible to the command itself (so we had multiple update of
         updated rows, etc.)(Vadim)
 Fix for SELECT null, 'fail' FROM pg_am (Patrick)
 SELECT NULL as EMPTY_FIELD now allowed(Patrick)
 Remove un-needed signal stuff from contrib/pginterface
 Fix OR (where x != 1 or x isnull didn't return rows with x NULL) (Vadim)
 Fix time_cmp function (Vadim)
-Fix handling of functions with non-attribute first argument in 
+Fix handling of functions with non-attribute first argument in
         WHERE clauses (Vadim)
 Fix GROUP BY when order of entries is different from order
         in target list (Vadim)
@@ -17135,7 +17588,7 @@ Added JDBC driver as an interface(Adrian & Peter)
 pg_password utility
 Return number of rows inserted/affected by INSERT/UPDATE/DELETE etc.(Vadim)
 Triggers implemented with CREATE TRIGGER (SQL3)(Vadim)
-SPI (Server Programming Interface) allows execution of queries inside 
+SPI (Server Programming Interface) allows execution of queries inside
         C-functions (Vadim)
 NOT NULL implemented (SQL92)(Robson Paniago de Miranda)
 Include reserved words for string handling, outer joins, and unions(Thomas)
@@ -17368,7 +17821,7 @@ Enhancements
 ------------
 attribute optimization statistics(Bruce)
 much faster new btree bulk load code(Paul)
-BTREE UNIQUE added to bulk load code(Vadim) 
+BTREE UNIQUE added to bulk load code(Vadim)
 new lock debug code(Massimo)
 massive changes to libpg++(Leo)
 new GEQO optimizer speeds table multitable optimization(Martin)
@@ -17712,7 +18165,7 @@ New Ports
 </para>
 <!--
 Contributors (apologies to any missed)
- * Kurt J. Lidl &lt;lidl@va.pubnix.com&gt; 
+ * Kurt J. Lidl &lt;lidl@va.pubnix.com&gt;
         (missed in first run, but no less important)
  * Erich Stamberger &lt;eberger@gewi.kfunigraz.ac.at&gt;
  * Jason Wright &lt;jason@shiloh.vnet.net&gt;
@@ -17755,7 +18208,7 @@ Contributors (apologies to any missed)
 
 <para>
 The following notes are for the benefit of users who want to migrate
-databases from <productname>Postgres95</> 1.0 to <productname>Postgres95</> 1.01.  
+databases from <productname>Postgres95</> 1.0 to <productname>Postgres95</> 1.01.
 </para>
 <para>
 If you are starting afresh with <productname>Postgres95</> 1.01 and do not need
@@ -17763,7 +18216,7 @@ to migrate old databases, you do not need to read any further.
 </para>
 <para>
 In order to <productname>Postgres95</> version 1.01 with databases created with
-<productname>Postgres95</> version 1.0, the following steps are required:  
+<productname>Postgres95</> version 1.0, the following steps are required:
 </para>
 <procedure>
 <step>
@@ -17774,7 +18227,7 @@ Set the definition of <symbol>NAMEDATALEN</symbol> in <filename>src/Makefile.glo
 </step>
 <step>
 <para>
-Decide whether you want to use Host based authentication.  
+Decide whether you want to use Host based authentication.
 </para>
 <substeps>
 <step>
@@ -17810,7 +18263,7 @@ Compile and install 1.01, but DO NOT do the <command>initdb</command> step.
 <step>
 <para>
 Before doing anything else, terminate your 1.0 postmaster, and
-   backup your existing <envar>$PGDATA</envar> directory.   
+   backup your existing <envar>$PGDATA</envar> directory.
 </para>
 </step>
 <step>
@@ -17833,7 +18286,7 @@ Start up a new 1.01 postmaster
 <para>
 Add the new built-in functions and operators of 1.01 to 1.0
    databases.  This is done by running the new 1.01 server against
-   your own 1.0 database and applying the queries attached and saving 
+   your own 1.0 database and applying the queries attached and saving
    in the file 1.0_to_1.01.sql.   This can be done easily through <command>psql</command>.
    If your 1.0 database is name <literal>testdb</literal>:
 
@@ -17918,12 +18371,12 @@ Enhancements:
    is not desired, comment out HBA=1 in src/Makefile.global.
  * changed regex handling to be uniform use of Henry Spencer's regex code
    regardless of platform.  The regex code is included in the distribution
- * added functions and operators for case-insensitive regular expressions. 
+ * added functions and operators for case-insensitive regular expressions.
    The operators are ~* and !~*.
  * pg_dump uses COPY instead of SELECT loop for better performance
 
 Bug fixes:
- * fixed an optimizer bug that was causing core dumps when 
+ * fixed an optimizer bug that was causing core dumps when
    functions calls were used in comparisons in the WHERE clause
  * changed all uses of getuid to geteuid so that effective uids are used
  * psql now returns non-zero status on errors when using -c
@@ -17959,11 +18412,11 @@ Incompatibilities:
 Enhancements:
  *  sql LIKE syntax has been added
  *  copy command now takes an optional USING DELIMITER specification.
-   delimiters can be any single-character string. 
+   delimiters can be any single-character string.
  *  IRIX 5.3 port has been added.
    Thanks to Paul Walmsley and others.
  *  updated pg_dump to work with new libpq
- *  \d has been added psql 
+ *  \d has been added psql
    Thanks to Keith Parks
  *  regexp performance for architectures that use POSIX regex has been
    improved due to caching of precompiled patterns.
@@ -18032,34 +18485,34 @@ more compliant to the SQL-92 standard):
                 integer, int -&gt; int4
                 float, real  -&gt; float4
    char(N) and varchar(N) are implemented as truncated text types. In
-   addition, char(N) does blank-padding. 
+   addition, char(N) does blank-padding.
  * single-quote (') is used for quoting string literals; '' (in addition to
    \') is supported as means of inserting a single quote in a string
  * SQL standard aggregate names (MAX, MIN, AVG, SUM, COUNT) are used
    (Also, aggregates can now be overloaded, i.e. you can define your
    own MAX aggregate to take in a user-defined type.)
- * CHANGE ACL removed. GRANT/REVOKE syntax added.  
+ * CHANGE ACL removed. GRANT/REVOKE syntax added.
    - Privileges can be given to a group using the "GROUP" key word.
         For example:
                 GRANT SELECT ON foobar TO GROUP my_group;
-        The key word 'PUBLIC' is also supported to mean all users.      
+        The key word 'PUBLIC' is also supported to mean all users.
 
         Privileges can only be granted or revoked to one user or group
-        at a time.  
+        at a time.
 
         "WITH GRANT OPTION" is not supported.  Only class owners can change
         access control
    - The default access control is to to grant users readonly access.
      You must explicitly grant insert/update access to users.  To change
-     this, modify the line in 
-                src/backend/utils/acl.h 
-     that defines ACL_WORLD_DEFAULT 
+     this, modify the line in
+                src/backend/utils/acl.h
+     that defines ACL_WORLD_DEFAULT
 
 Bug fixes:
  * the bug where aggregates of empty tables were not run has been fixed. Now,
    aggregates run on empty tables will return the initial conditions of the
    aggregates. Thus, COUNT of an empty  table will now properly return 0.
-   MAX/MIN of an empty table will return a row of value NULL. 
+   MAX/MIN of an empty table will return a row of value NULL.
  * allow the use of \; inside the monitor
  * the LISTEN/NOTIFY asynchronous notification mechanism now work
  * NOTIFY in rule action bodies now work
@@ -18074,7 +18527,7 @@ Other changes and enhancements:
  * WARN and NOTICE messages no longer have timestamps on them. To turn on
    timestamps of error messages, uncomment the line in
    src/backend/utils/elog.h:
-        /* define ELOG_TIMESTAMPS */ 
+        /* define ELOG_TIMESTAMPS */
  * On an access control violation, the message
         "Either no such class or insufficient privilege"
    will be given.  This is the same message that is returned when
@@ -18093,8 +18546,8 @@ libpgtcl changes:
 Portability enhancements and New Ports:
  * flex/lex problems have been cleared up.  Now, you should be able to use
    flex instead of lex on any platforms.  We no longer make assumptions of
-   what lexer you use based on the platform you use. 
- * The Linux-ELF port is now supported.  Various configuration have been 
+   what lexer you use based on the platform you use.
+ * The Linux-ELF port is now supported.  Various configuration have been
    tested:  The following configuration is known to work:
         kernel 1.2.10, gcc 2.6.3, libc 4.7.2, flex 2.5.2, bison 1.24
    with everything in ELF format,
@@ -18128,9 +18581,9 @@ New documentation:
 Incompatible changes:
  * The SQL statement for creating a database is 'CREATE DATABASE' instead
    of 'CREATEDB'. Similarly, dropping a database is 'DROP DATABASE' instead
-   of 'DESTROYDB'. However, the names of the executables 'createdb' and 
+   of 'DESTROYDB'. However, the names of the executables 'createdb' and
    'destroydb' remain the same.
+
 New tools:
  * pgperl - a Perl (4.036) interface to Postgres95
  * pg_dump - a utility for dumping out a postgres database into a
@@ -18147,7 +18600,7 @@ The following ports have been incorporated into postgres95-beta-0.02:
 
 The following bugs have been fixed in postgres95-beta-0.02:
  * new lines not escaped in COPY OUT and problem with COPY OUT when first
-   attribute is a '.' 
+   attribute is a '.'
  * cannot type return to use the default user id in createuser
  * SELECT DISTINCT on big tables crashes
  * Linux installation problems