OSDN Git Service

Update release notes for releases 9.0.4, 8.4.8, 8.3.15, and 8.2.21.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 14 Apr 2011 19:51:41 +0000 (15:51 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 14 Apr 2011 19:51:41 +0000 (15:51 -0400)
doc/src/sgml/release-8.2.sgml
doc/src/sgml/release-8.3.sgml
doc/src/sgml/release-8.4.sgml
doc/src/sgml/release-9.0.sgml

index 2dd49d6..0a9ee50 100644 (file)
 <!-- doc/src/sgml/release-8.2.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-8-2-21">
+  <title>Release 8.2.21</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2011-04-18</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 8.2.20.
+   For information about new features in the 8.2 major release, see
+   <xref linkend="release-8-2">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 8.2.21</title>
+
+   <para>
+    A dump/restore is not required for those running 8.2.X.
+    However, if you are upgrading from a version earlier than 8.2.14,
+    see the release notes for 8.2.14.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Avoid potential deadlock during catalog cache initialization
+      (Nikhil Sontakke)
+     </para>
+
+     <para>
+      In some cases the cache loading code would acquire share lock on a
+      system index before locking the index's catalog.  This could deadlock
+      against processes trying to acquire exclusive locks in the other,
+      more standard order.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix dangling-pointer problem in <literal>BEFORE ROW UPDATE</> trigger
+      handling when there was a concurrent update to the target tuple
+      (Tom Lane)
+     </para>
+
+     <para>
+      This bug has been observed to result in intermittent <quote>cannot
+      extract system attribute from virtual tuple</> failures while trying to
+      do <literal>UPDATE RETURNING ctid</>.  There is a very small probability
+      of more serious errors, such as generating incorrect index entries for
+      the updated tuple.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Disallow <command>DROP TABLE</> when there are pending deferred trigger
+      events for the table (Tom Lane)
+     </para>
+
+     <para>
+      Formerly the <command>DROP</> would go through, leading to
+      <quote>could not open relation with OID nnn</> errors when the
+      triggers were eventually fired.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix PL/Python memory leak involving array slices (Daniel Popowich)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_restore</> to cope with long lines (over 1KB) in
+      TOC files (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Put in more safeguards against crashing due to division-by-zero
+      with overly enthusiastic compiler optimization (Aurelien Jarno)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support use of dlopen() in FreeBSD and OpenBSD on MIPS (Tom Lane)
+     </para>
+
+     <para>
+      There was a hard-wired assumption that this system function was not
+      available on MIPS hardware on these systems.  Use a compile-time test
+      instead, since more recent versions have it.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix compilation failures on HP-UX (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix path separator used by <application>pg_regress</> on Cygwin
+      (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2011f
+      for DST law changes in Chile, Cuba, Falkland Islands, Morocco, Samoa,
+      and Turkey; also historical corrections for South Australia, Alaska,
+      and Hawaii.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-8-2-20">
   <title>Release 8.2.20</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2011-01-31</simpara>
   </note>
 
   <title>Release 8.2.19</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-12-16</simpara>
   </note>
 
   <title>Release 8.2.18</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-10-04</simpara>
   </note>
 
   <title>Release 8.2.17</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-05-17</simpara>
   </note>
 
   <title>Release 8.2.16</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-03-15</simpara>
   </note>
 
   <title>Release 8.2.15</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2009-12-14</simpara>
   </note>
 
   <title>Release 8.2.14</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2009-09-09</simpara>
   </note>
 
   <title>Release 8.2.13</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2009-03-16</simpara>
   </note>
 
   <title>Release 8.2.12</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2009-02-02</simpara>
   </note>
 
   <title>Release 8.2.11</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2008-11-03</simpara>
   </note>
 
   <title>Release 8.2.10</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2008-09-22</simpara>
   </note>
 
   <title>Release 8.2.9</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2008-06-12</simpara>
   </note>
 
   <title>Release 8.2.8</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>never released</simpara>
   </note>
 
   <title>Release 8.2.7</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2008-03-17</simpara>
   </note>
 
   <title>Release 8.2.6</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2008-01-07</simpara>
   </note>
 
   <title>Release 8.2.5</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2007-09-17</simpara>
   </note>
 
   <title>Release 8.2.4</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2007-04-23</simpara>
   </note>
 
   <title>Release 8.2.3</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2007-02-07</simpara>
   </note>
 
   <title>Release 8.2.2</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2007-02-05</simpara>
   </note>
 
   <title>Release 8.2.1</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2007-01-08</simpara>
   </note>
 
   <title>Release 8.2</title>
 
   <note>
-   <title>Release date</title>
+   <title>Release Date</title>
    <simpara>2006-12-05</simpara>
   </note>
 
index c0595ab..bccc141 100644 (file)
 <!-- doc/src/sgml/release-8.3.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-8-3-15">
+  <title>Release 8.3.15</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2011-04-18</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 8.3.14.
+   For information about new features in the 8.3 major release, see
+   <xref linkend="release-8-3">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 8.3.15</title>
+
+   <para>
+    A dump/restore is not required for those running 8.3.X.
+    However, if you are upgrading from a version earlier than 8.3.8,
+    see the release notes for 8.3.8.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Disallow including a composite type in itself (Tom Lane)
+     </para>
+
+     <para>
+      This prevents scenarios wherein the server could recurse infinitely
+      while processing the composite type.  While there are some possible
+      uses for such a structure, they don't seem compelling enough to
+      justify the effort required to make sure it always works safely.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid potential deadlock during catalog cache initialization
+      (Nikhil Sontakke)
+     </para>
+
+     <para>
+      In some cases the cache loading code would acquire share lock on a
+      system index before locking the index's catalog.  This could deadlock
+      against processes trying to acquire exclusive locks in the other,
+      more standard order.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix dangling-pointer problem in <literal>BEFORE ROW UPDATE</> trigger
+      handling when there was a concurrent update to the target tuple
+      (Tom Lane)
+     </para>
+
+     <para>
+      This bug has been observed to result in intermittent <quote>cannot
+      extract system attribute from virtual tuple</> failures while trying to
+      do <literal>UPDATE RETURNING ctid</>.  There is a very small probability
+      of more serious errors, such as generating incorrect index entries for
+      the updated tuple.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Disallow <command>DROP TABLE</> when there are pending deferred trigger
+      events for the table (Tom Lane)
+     </para>
+
+     <para>
+      Formerly the <command>DROP</> would go through, leading to
+      <quote>could not open relation with OID nnn</> errors when the
+      triggers were eventually fired.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix PL/Python memory leak involving array slices (Daniel Popowich)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_restore</> to cope with long lines (over 1KB) in
+      TOC files (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Put in more safeguards against crashing due to division-by-zero
+      with overly enthusiastic compiler optimization (Aurelien Jarno)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support use of dlopen() in FreeBSD and OpenBSD on MIPS (Tom Lane)
+     </para>
+
+     <para>
+      There was a hard-wired assumption that this system function was not
+      available on MIPS hardware on these systems.  Use a compile-time test
+      instead, since more recent versions have it.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix compilation failures on HP-UX (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix version-incompatibility problem with <application>libintl</> on
+      Windows (Hiroshi Inoue)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix usage of <application>xcopy</> in Windows build scripts to
+      work correctly under Windows 7 (Andrew Dunstan)
+     </para>
+
+     <para>
+      This affects the build scripts only, not installation or usage.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix path separator used by <application>pg_regress</> on Cygwin
+      (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2011f
+      for DST law changes in Chile, Cuba, Falkland Islands, Morocco, Samoa,
+      and Turkey; also historical corrections for South Australia, Alaska,
+      and Hawaii.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-8-3-14">
   <title>Release 8.3.14</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2011-01-31</simpara>
   </note>
 
   <title>Release 8.3.13</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-12-16</simpara>
   </note>
 
   <title>Release 8.3.12</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-10-04</simpara>
   </note>
 
   <title>Release 8.3.11</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-05-17</simpara>
   </note>
 
   <title>Release 8.3.10</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-03-15</simpara>
   </note>
 
   <title>Release 8.3.9</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2009-12-14</simpara>
   </note>
 
   <title>Release 8.3.8</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2009-09-09</simpara>
   </note>
 
   <title>Release 8.3.7</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2009-03-16</simpara>
   </note>
 
   <title>Release 8.3.6</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2009-02-02</simpara>
   </note>
 
   <title>Release 8.3.5</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2008-11-03</simpara>
   </note>
 
   <title>Release 8.3.4</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2008-09-22</simpara>
   </note>
 
   <title>Release 8.3.3</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2008-06-12</simpara>
   </note>
 
   <title>Release 8.3.2</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>never released</simpara>
   </note>
 
   <title>Release 8.3.1</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2008-03-17</simpara>
   </note>
 
   <title>Release 8.3</title>
 
   <note>
-   <title>Release date</title>
+   <title>Release Date</title>
    <simpara>2008-02-04</simpara>
   </note>
 
index 5cabfb4..ba1afca 100644 (file)
 <!-- doc/src/sgml/release-8.4.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-8-4-8">
+  <title>Release 8.4.8</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2011-04-18</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 8.4.7.
+   For information about new features in the 8.4 major release, see
+   <xref linkend="release-8-4">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 8.4.8</title>
+
+   <para>
+    A dump/restore is not required for those running 8.4.X.
+   </para>
+
+   <para>
+    However, if your installation was upgraded from a previous major
+    release by running <application>pg_upgrade</>, you should take
+    action to prevent possible data loss due to a now-fixed bug in
+    <application>pg_upgrade</>.  The recommended solution is to run
+    <command>VACUUM FREEZE</> on all TOAST tables.
+    More information is available at <ulink
+    url="http://wiki.postgresql.org/wiki/20110408pg_upgrade_fix">
+    http://wiki.postgresql.org/wiki/20110408pg_upgrade_fix</ulink>.
+   </para>
+
+   <para>
+    Also, if you are upgrading from a version earlier than 8.4.2,
+    see the release notes for 8.4.2.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix <application>pg_upgrade</>'s handling of TOAST tables
+      (Bruce Momjian)
+     </para>
+
+     <para>
+      The <structname>pg_class</>.<structfield>relfrozenxid</> value for
+      TOAST tables was not correctly copied into the new installation
+      during <application>pg_upgrade</>.  This could later result in
+      <literal>pg_clog</> files being discarded while they were still
+      needed to validate tuples in the TOAST tables, leading to
+      <quote>could not access status of transaction</> failures.
+     </para>
+
+     <para>
+      This error poses a significant risk of data loss for installations
+      that have been upgraded with <application>pg_upgrade</>.  This patch
+      corrects the problem for future uses of <application>pg_upgrade</>,
+      but does not in itself cure the issue in installations that have been
+      processed with a buggy version of <application>pg_upgrade</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Suppress incorrect <quote>PD_ALL_VISIBLE flag was incorrectly set</>
+      warning (Heikki Linnakangas)
+     </para>
+
+     <para>
+      <command>VACUUM</> would sometimes issue this warning in cases that
+      are actually valid.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Disallow including a composite type in itself (Tom Lane)
+     </para>
+
+     <para>
+      This prevents scenarios wherein the server could recurse infinitely
+      while processing the composite type.  While there are some possible
+      uses for such a structure, they don't seem compelling enough to
+      justify the effort required to make sure it always works safely.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid potential deadlock during catalog cache initialization
+      (Nikhil Sontakke)
+     </para>
+
+     <para>
+      In some cases the cache loading code would acquire share lock on a
+      system index before locking the index's catalog.  This could deadlock
+      against processes trying to acquire exclusive locks in the other,
+      more standard order.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix dangling-pointer problem in <literal>BEFORE ROW UPDATE</> trigger
+      handling when there was a concurrent update to the target tuple
+      (Tom Lane)
+     </para>
+
+     <para>
+      This bug has been observed to result in intermittent <quote>cannot
+      extract system attribute from virtual tuple</> failures while trying to
+      do <literal>UPDATE RETURNING ctid</>.  There is a very small probability
+      of more serious errors, such as generating incorrect index entries for
+      the updated tuple.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Disallow <command>DROP TABLE</> when there are pending deferred trigger
+      events for the table (Tom Lane)
+     </para>
+
+     <para>
+      Formerly the <command>DROP</> would go through, leading to
+      <quote>could not open relation with OID nnn</> errors when the
+      triggers were eventually fired.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent crash triggered by constant-false WHERE conditions during
+      GEQO optimization (Tom Lane)
+     </para>
+
+     <para>
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve planner's handling of semi-join and anti-join cases
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix selectivity estimation for text search to account for NULLs
+      (Jesper Krogh)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve PL/pgSQL's ability to handle row types with dropped columns
+      (Pavel Stehule)
+     </para>
+
+     <para>
+      This is a back-patch of fixes previously made in 9.0.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix PL/Python memory leak involving array slices (Daniel Popowich)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_restore</> to cope with long lines (over 1KB) in
+      TOC files (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Put in more safeguards against crashing due to division-by-zero
+      with overly enthusiastic compiler optimization (Aurelien Jarno)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support use of dlopen() in FreeBSD and OpenBSD on MIPS (Tom Lane)
+     </para>
+
+     <para>
+      There was a hard-wired assumption that this system function was not
+      available on MIPS hardware on these systems.  Use a compile-time test
+      instead, since more recent versions have it.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix compilation failures on HP-UX (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix version-incompatibility problem with <application>libintl</> on
+      Windows (Hiroshi Inoue)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix usage of <application>xcopy</> in Windows build scripts to
+      work correctly under Windows 7 (Andrew Dunstan)
+     </para>
+
+     <para>
+      This affects the build scripts only, not installation or usage.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix path separator used by <application>pg_regress</> on Cygwin
+      (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2011f
+      for DST law changes in Chile, Cuba, Falkland Islands, Morocco, Samoa,
+      and Turkey; also historical corrections for South Australia, Alaska,
+      and Hawaii.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-8-4-7">
   <title>Release 8.4.7</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2011-01-31</simpara>
   </note>
 
   <title>Release 8.4.6</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-12-16</simpara>
   </note>
 
   <title>Release 8.4.5</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-10-04</simpara>
   </note>
 
   <title>Release 8.4.4</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-05-17</simpara>
   </note>
 
   <title>Release 8.4.3</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-03-15</simpara>
   </note>
 
   <title>Release 8.4.2</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2009-12-14</simpara>
   </note>
 
@@ -2259,7 +2507,7 @@ WITH w AS (SELECT * FROM foo) SELECT * FROM w, bar ... FOR UPDATE
   <title>Release 8.4.1</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2009-09-09</simpara>
   </note>
 
@@ -2558,7 +2806,7 @@ WITH w AS (SELECT * FROM foo) SELECT * FROM w, bar ... FOR UPDATE
   <title>Release 8.4</title>
 
   <note>
-   <title>Release date</title>
+   <title>Release Date</title>
    <simpara>2009-07-01</simpara>
   </note>
 
index 8fe18cc..4b232f0 100644 (file)
 <!-- doc/src/sgml/release-9.0.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-0-4">
+  <title>Release 9.0.4</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2011-04-18</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 9.0.3.
+   For information about new features in the 9.0 major release, see
+   <xref linkend="release-9-0">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 9.0.4</title>
+
+   <para>
+    A dump/restore is not required for those running 9.0.X.
+   </para>
+
+   <para>
+    However, if your installation was upgraded from a previous major
+    release by running <application>pg_upgrade</>, you should take
+    action to prevent possible data loss due to a now-fixed bug in
+    <application>pg_upgrade</>.  The recommended solution is to run
+    <command>VACUUM FREEZE</> on all TOAST tables.
+    More information is available at <ulink
+    url="http://wiki.postgresql.org/wiki/20110408pg_upgrade_fix">
+    http://wiki.postgresql.org/wiki/20110408pg_upgrade_fix</ulink>.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix <application>pg_upgrade</>'s handling of TOAST tables
+      (Bruce Momjian)
+     </para>
+
+     <para>
+      The <structname>pg_class</>.<structfield>relfrozenxid</> value for
+      TOAST tables was not correctly copied into the new installation
+      during <application>pg_upgrade</>.  This could later result in
+      <literal>pg_clog</> files being discarded while they were still
+      needed to validate tuples in the TOAST tables, leading to
+      <quote>could not access status of transaction</> failures.
+     </para>
+
+     <para>
+      This error poses a significant risk of data loss for installations
+      that have been upgraded with <application>pg_upgrade</>.  This patch
+      corrects the problem for future uses of <application>pg_upgrade</>,
+      but does not in itself cure the issue in installations that have been
+      processed with a buggy version of <application>pg_upgrade</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Suppress incorrect <quote>PD_ALL_VISIBLE flag was incorrectly set</>
+      warning (Heikki Linnakangas)
+     </para>
+
+     <para>
+      <command>VACUUM</> would sometimes issue this warning in cases that
+      are actually valid.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Use better SQLSTATE error codes for hot standby conflict cases
+      (Tatsuo Ishii and Simon Riggs)
+     </para>
+
+     <para>
+      All retryable conflict errors now have an error code that indicates
+      that a retry is possible.  Also, session closure due to the database
+      being dropped on the master is now reported as
+      <literal>ERRCODE_DATABASE_DROPPED</>, rather than
+      <literal>ERRCODE_ADMIN_SHUTDOWN</>, so that connection poolers can
+      handle the situation correctly.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent intermittent hang in interactions of startup process with
+      bgwriter process (Simon Riggs)
+     </para>
+
+     <para>
+      This affected recovery in non-hot-standby cases.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Disallow including a composite type in itself (Tom Lane)
+     </para>
+
+     <para>
+      This prevents scenarios wherein the server could recurse infinitely
+      while processing the composite type.  While there are some possible
+      uses for such a structure, they don't seem compelling enough to
+      justify the effort required to make sure it always works safely.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid potential deadlock during catalog cache initialization
+      (Nikhil Sontakke)
+     </para>
+
+     <para>
+      In some cases the cache loading code would acquire share lock on a
+      system index before locking the index's catalog.  This could deadlock
+      against processes trying to acquire exclusive locks in the other,
+      more standard order.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix dangling-pointer problem in <literal>BEFORE ROW UPDATE</> trigger
+      handling when there was a concurrent update to the target tuple
+      (Tom Lane)
+     </para>
+
+     <para>
+      This bug has been observed to result in intermittent <quote>cannot
+      extract system attribute from virtual tuple</> failures while trying to
+      do <literal>UPDATE RETURNING ctid</>.  There is a very small probability
+      of more serious errors, such as generating incorrect index entries for
+      the updated tuple.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Disallow <command>DROP TABLE</> when there are pending deferred trigger
+      events for the table (Tom Lane)
+     </para>
+
+     <para>
+      Formerly the <command>DROP</> would go through, leading to
+      <quote>could not open relation with OID nnn</> errors when the
+      triggers were eventually fired.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow <quote>replication</> as a user name in
+      <filename>pg_hba.conf</> (Andrew Dunstan)
+     </para>
+
+     <para>
+      <quote>replication</> is special in the database name column, but it
+      was mistakenly also treated as special in the user name column.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Prevent crash triggered by constant-false WHERE conditions during
+      GEQO optimization (Tom Lane)
+     </para>
+
+     <para>
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve planner's handling of semi-join and anti-join cases
+      (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix handling of <literal>SELECT FOR UPDATE</> in a sub-SELECT
+      (Tom Lane)
+     </para>
+
+     <para>
+      This bug typically led to <quote>cannot extract system attribute from
+      virtual tuple</> errors.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix selectivity estimation for text search to account for NULLs
+      (Jesper Krogh)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix get_actual_variable_range() to support hypothetical indexes
+      injected by an index adviser plugin (Gurjeet Singh)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix PL/Python memory leak involving array slices (Daniel Popowich)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow <application>libpq</>'s SSL initialization to succeed when
+      user's home directory is unavailable (Tom Lane)
+     </para>
+
+     <para>
+      If the SSL mode is such that a root certificate file is not required,
+      there is no need to fail.  This change restores the behavior to what
+      it was in pre-9.0 releases.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>libpq</> to return a useful error message for errors
+      detected in <function>conninfo_array_parse</> (Joseph Adams)
+     </para>
+
+     <para>
+      A typo caused the library to return NULL, rather than the
+      <structname>PGconn</> structure containing the error message, to the
+      application.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>ecpg</> preprocessor's handling of float constants
+      (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix parallel <application>pg_restore</> to handle comments on
+      POST_DATA items correctly (Arnd Hannemann)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_restore</> to cope with long lines (over 1KB) in
+      TOC files (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Put in more safeguards against crashing due to division-by-zero
+      with overly enthusiastic compiler optimization (Aurelien Jarno)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support use of dlopen() in FreeBSD and OpenBSD on MIPS (Tom Lane)
+     </para>
+
+     <para>
+      There was a hard-wired assumption that this system function was not
+      available on MIPS hardware on these systems.  Use a compile-time test
+      instead, since more recent versions have it.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix compilation failures on HP-UX (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid crash when trying to write to the Windows console very early
+      in process startup (Rushabh Lathia)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Support building with MinGW 64 bit compiler for Windows
+      (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix version-incompatibility problem with <application>libintl</> on
+      Windows (Hiroshi Inoue)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix usage of <application>xcopy</> in Windows build scripts to
+      work correctly under Windows 7 (Andrew Dunstan)
+     </para>
+
+     <para>
+      This affects the build scripts only, not installation or usage.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix path separator used by <application>pg_regress</> on Cygwin
+      (Andrew Dunstan)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2011f
+      for DST law changes in Chile, Cuba, Falkland Islands, Morocco, Samoa,
+      and Turkey; also historical corrections for South Australia, Alaska,
+      and Hawaii.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-0-3">
   <title>Release 9.0.3</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2011-01-31</simpara>
   </note>
 
   <title>Release 9.0.2</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-12-16</simpara>
   </note>
 
   <title>Release 9.0.1</title>
 
   <note>
-  <title>Release date</title>
+  <title>Release Date</title>
   <simpara>2010-10-04</simpara>
   </note>
 
   <title>Release 9.0</title>
 
   <note>
-   <title>Release date</title>
+   <title>Release Date</title>
    <simpara>2010-09-20</simpara>
   </note>
 
@@ -3521,9 +3865,8 @@ if TG_OP = 'INSERT' and NEW.col1 = ... then
 
      <listitem>
       <para>
-       Add data and documentation installation location control to <link
-       linkend="xfunc-c-pgxs"><acronym>PGXS</></link> Makefiles
-       (Mark Cave-Ayland)
+       Add data and documentation installation location control to
+       <acronym>PGXS</> Makefiles (Mark Cave-Ayland)
       </para>
      </listitem>