Draft release notes for 9.1.2, 9.0.6, 8.4.10, 8.3.17, 8.2.23.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 1 Dec 2011 00:34:57 +0000 (19:34 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 1 Dec 2011 00:34:57 +0000 (19:34 -0500)
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 39bf5da2c9b33dd393c6e5bd4ae76fc9b52e0001..a75ed44981c92bd0a02e4ffdcc375ed2d921aa55 100644 (file)
@@ -1,6 +1,234 @@
 <!-- doc/src/sgml/release-8.2.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-8-2-23">
+  <title>Release 8.2.23</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2011-12-05</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 8.2.22.
+   For information about new features in the 8.2 major release, see
+   <xref linkend="release-8-2">.
+  </para>
+
+  <para>
+   This is expected to be the last <productname>PostgreSQL</> release
+   in the 8.2.X series.  Users are encouraged to update to a newer
+   release branch soon.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 8.2.23</title>
+
+   <para>
+    A dump/restore is not required for those running 8.2.X.
+   </para>
+
+   <para>
+    However, a longstanding error was discovered in the definition of the
+    <literal>information_schema.referential_constraints</> view.  If you
+    rely on correct results from that view, you should replace its
+    definition as explained in the first changelog item below.
+   </para>
+
+   <para>
+    Also, 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>
+      Fix bugs in <literal>information_schema.referential_constraints</> view
+      (Tom Lane)
+     </para>
+
+     <para>
+      This view was being insufficiently careful about matching the
+      foreign-key constraint to the depended-on primary or unique key
+      constraint.  That could result in failure to show a foreign key
+      constraint at all, or showing it multiple times, or claiming that it
+      depends on a different constraint than the one it really does.
+     </para>
+
+     <para>
+      Since the view definition is installed by <application>initdb</>,
+      merely upgrading will not fix the problem.  If you need to fix this
+      in an existing installation, you can (as a superuser) drop the
+      <literal>information_schema</> schema then re-create it by sourcing
+      <filename><replaceable>SHAREDIR</>/information_schema.sql</filename>.
+      (Run <literal>pg_config --sharedir</> if you're uncertain where
+      <replaceable>SHAREDIR</> is.)  This must be repeated in each database
+      to be fixed.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix TOAST-related data corruption during <literal>CREATE TABLE dest AS
+      SELECT * FROM src</> or <literal>INSERT INTO dest SELECT * FROM src</>
+      (Tom Lane)
+     </para>
+
+     <para>
+      If a table has been modified by <command>ALTER TABLE ADD COLUMN</>,
+      attempts to copy its data verbatim to another table could produce
+      corrupt results in certain corner cases.
+      The problem can only manifest in this precise form in 8.4 and later,
+      but we patched earlier versions as well in case there are other code
+      paths that could trigger the same bug.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix race condition during toast table access from stale syscache entries
+      (Tom Lane)
+     </para>
+
+     <para>
+      The typical symptom was transient errors like <quote>missing chunk
+      number 0 for toast value NNNNN in pg_toast_2619</>, where the cited
+      toast table would always belong to a system catalog.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve locale support in <type>money</> type's input and output
+      (Tom Lane)
+     </para>
+
+     <para>
+      Aside from not supporting all standard
+      <link linkend="guc-lc-monetary"><varname>lc_monetary</></link>
+      formatting options, the input and output functions were inconsistent,
+      meaning there were locales in which dumped <type>money</> values could
+      not be re-read.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't let <link
+      linkend="guc-transform-null-equals"><varname>transform_null_equals</></link>
+      affect <literal>CASE foo WHEN NULL ...</> constructs
+      (Heikki Linnakangas)
+     </para>
+
+     <para>
+      <varname>transform_null_equals</> is only supposed to affect
+      <literal>foo = NULL</> expressions written directly by the user, not
+      equality checks generated internally by this form of <literal>CASE</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Change foreign-key trigger creation order to better support
+      self-referential foreign keys (Tom Lane)
+     </para>
+
+     <para>
+      For a cascading foreign key that references its own table, a row update
+      will fire both the <literal>ON UPDATE</> trigger and the
+      <literal>CHECK</> trigger as one event.  The <literal>ON UPDATE</>
+      trigger must execute first, else the <literal>CHECK</> will check a
+      non-final state of the row and possibly throw an inappropriate error.
+      However, the firing order of these triggers is determined by their
+      names, which generally sort in creation order since the triggers have
+      auto-generated names following the convention
+      <quote>RI_ConstraintTrigger_NNNN</>.  A proper fix would require
+      modifying that convention, which we will do in 9.2, but it seems risky
+      to change it in existing releases.  So this patch just changes the
+      creation order of the triggers.  Users encountering this type of error
+      should drop and re-create the foreign key constraint to get its
+      triggers into the right order.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Preserve blank lines within commands in <application>psql</>'s command
+      history (Robert Haas)
+     </para>
+
+     <para>
+      The former behavior could cause problems if an empty line was removed
+      from within a string literal, for example.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Use the preferred version of <application>xsubpp</> to build PL/Perl,
+      not necessarily the operating system's main copy
+      (David Wheeler and Alex Hunsaker)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Honor query cancel interrupts promptly in <function>pgstatindex()</>
+      (Robert Haas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure VPATH builds properly install all server header files
+      (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Shorten file names reported in verbose error messages (Peter Eisentraut)
+     </para>
+
+     <para>
+      Regular builds have always reported just the name of the C file
+      containing the error message call, but VPATH builds formerly
+      reported an absolute path name.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix interpretation of Windows timezone names for Central America
+      (Tom Lane)
+     </para>
+
+     <para>
+      Map <quote>Central America Standard Time</> to <literal>CST6</>, not
+      <literal>CST6CDT</>, because DST is generally not observed anywhere in
+      Central America.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2011n
+      for DST law changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa;
+      also historical corrections for Alaska and British East Africa.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-8-2-22">
   <title>Release 8.2.22</title>
 
index 9b8090035323e91b36d1efa65207fda4b77925f9..ec1880d20fa3bbfbb9337083fdc6e878e50aa21b 100644 (file)
@@ -1,6 +1,273 @@
 <!-- doc/src/sgml/release-8.3.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-8-3-17">
+  <title>Release 8.3.17</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2011-12-05</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 8.3.16.
+   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.17</title>
+
+   <para>
+    A dump/restore is not required for those running 8.3.X.
+   </para>
+
+   <para>
+    However, a longstanding error was discovered in the definition of the
+    <literal>information_schema.referential_constraints</> view.  If you
+    rely on correct results from that view, you should replace its
+    definition as explained in the first changelog item below.
+   </para>
+
+   <para>
+    Also, 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>
+      Fix bugs in <literal>information_schema.referential_constraints</> view
+      (Tom Lane)
+     </para>
+
+     <para>
+      This view was being insufficiently careful about matching the
+      foreign-key constraint to the depended-on primary or unique key
+      constraint.  That could result in failure to show a foreign key
+      constraint at all, or showing it multiple times, or claiming that it
+      depends on a different constraint than the one it really does.
+     </para>
+
+     <para>
+      Since the view definition is installed by <application>initdb</>,
+      merely upgrading will not fix the problem.  If you need to fix this
+      in an existing installation, you can (as a superuser) drop the
+      <literal>information_schema</> schema then re-create it by sourcing
+      <filename><replaceable>SHAREDIR</>/information_schema.sql</filename>.
+      (Run <literal>pg_config --sharedir</> if you're uncertain where
+      <replaceable>SHAREDIR</> is.)  This must be repeated in each database
+      to be fixed.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix TOAST-related data corruption during <literal>CREATE TABLE dest AS
+      SELECT * FROM src</> or <literal>INSERT INTO dest SELECT * FROM src</>
+      (Tom Lane)
+     </para>
+
+     <para>
+      If a table has been modified by <command>ALTER TABLE ADD COLUMN</>,
+      attempts to copy its data verbatim to another table could produce
+      corrupt results in certain corner cases.
+      The problem can only manifest in this precise form in 8.4 and later,
+      but we patched earlier versions as well in case there are other code
+      paths that could trigger the same bug.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix race condition during toast table access from stale syscache entries
+      (Tom Lane)
+     </para>
+
+     <para>
+      The typical symptom was transient errors like <quote>missing chunk
+      number 0 for toast value NNNNN in pg_toast_2619</>, where the cited
+      toast table would always belong to a system catalog.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make <function>DatumGetInetP()</> unpack inet datums that have a 1-byte
+      header, and add a new macro, <function>DatumGetInetPP()</>, that does
+      not (Heikki Linnakangas)
+     </para>
+
+     <para>
+      This change affects no core code, but might prevent crashes in add-on
+      code that expects <function>DatumGetInetP()</> to produce an unpacked
+      datum as per usual convention.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve locale support in <type>money</> type's input and output
+      (Tom Lane)
+     </para>
+
+     <para>
+      Aside from not supporting all standard
+      <link linkend="guc-lc-monetary"><varname>lc_monetary</></link>
+      formatting options, the input and output functions were inconsistent,
+      meaning there were locales in which dumped <type>money</> values could
+      not be re-read.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't let <link
+      linkend="guc-transform-null-equals"><varname>transform_null_equals</></link>
+      affect <literal>CASE foo WHEN NULL ...</> constructs
+      (Heikki Linnakangas)
+     </para>
+
+     <para>
+      <varname>transform_null_equals</> is only supposed to affect
+      <literal>foo = NULL</> expressions written directly by the user, not
+      equality checks generated internally by this form of <literal>CASE</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Change foreign-key trigger creation order to better support
+      self-referential foreign keys (Tom Lane)
+     </para>
+
+     <para>
+      For a cascading foreign key that references its own table, a row update
+      will fire both the <literal>ON UPDATE</> trigger and the
+      <literal>CHECK</> trigger as one event.  The <literal>ON UPDATE</>
+      trigger must execute first, else the <literal>CHECK</> will check a
+      non-final state of the row and possibly throw an inappropriate error.
+      However, the firing order of these triggers is determined by their
+      names, which generally sort in creation order since the triggers have
+      auto-generated names following the convention
+      <quote>RI_ConstraintTrigger_NNNN</>.  A proper fix would require
+      modifying that convention, which we will do in 9.2, but it seems risky
+      to change it in existing releases.  So this patch just changes the
+      creation order of the triggers.  Users encountering this type of error
+      should drop and re-create the foreign key constraint to get its
+      triggers into the right order.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid floating-point underflow while tracking buffer allocation rate
+      (Greg Matthews)
+     </para>
+
+     <para>
+      While harmless in itself, on certain platforms this would result in
+      annoying kernel log messages.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Preserve blank lines within commands in <application>psql</>'s command
+      history (Robert Haas)
+     </para>
+
+     <para>
+      The former behavior could cause problems if an empty line was removed
+      from within a string literal, for example.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</> to dump user-defined casts between
+      auto-generated types, such as table rowtypes (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Use the preferred version of <application>xsubpp</> to build PL/Perl,
+      not necessarily the operating system's main copy
+      (David Wheeler and Alex Hunsaker)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect coding in <filename>contrib/dict_int</> and
+      <filename>contrib/dict_xsyn</> (Tom Lane)
+     </para>
+
+     <para>
+      Some functions incorrectly assumed that memory returned by
+      <function>palloc()</> is guaranteed zeroed.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Honor query cancel interrupts promptly in <function>pgstatindex()</>
+      (Robert Haas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure VPATH builds properly install all server header files
+      (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Shorten file names reported in verbose error messages (Peter Eisentraut)
+     </para>
+
+     <para>
+      Regular builds have always reported just the name of the C file
+      containing the error message call, but VPATH builds formerly
+      reported an absolute path name.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix interpretation of Windows timezone names for Central America
+      (Tom Lane)
+     </para>
+
+     <para>
+      Map <quote>Central America Standard Time</> to <literal>CST6</>, not
+      <literal>CST6CDT</>, because DST is generally not observed anywhere in
+      Central America.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2011n
+      for DST law changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa;
+      also historical corrections for Alaska and British East Africa.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-8-3-16">
   <title>Release 8.3.16</title>
 
index 90feb0ecc649006457378557002e8b6470b35991..27e1e6c7b1e87abac3e09cf16e40eebefc37d653 100644 (file)
@@ -1,6 +1,321 @@
 <!-- doc/src/sgml/release-8.4.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-8-4-10">
+  <title>Release 8.4.10</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2011-12-05</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 8.4.9.
+   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.10</title>
+
+   <para>
+    A dump/restore is not required for those running 8.4.X.
+   </para>
+
+   <para>
+    However, a longstanding error was discovered in the definition of the
+    <literal>information_schema.referential_constraints</> view.  If you
+    rely on correct results from that view, you should replace its
+    definition as explained in the first changelog item below.
+   </para>
+
+   <para>
+    Also, if you are upgrading from a version earlier than 8.4.8,
+    see the release notes for 8.4.8.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix bugs in <literal>information_schema.referential_constraints</> view
+      (Tom Lane)
+     </para>
+
+     <para>
+      This view was being insufficiently careful about matching the
+      foreign-key constraint to the depended-on primary or unique key
+      constraint.  That could result in failure to show a foreign key
+      constraint at all, or showing it multiple times, or claiming that it
+      depends on a different constraint than the one it really does.
+     </para>
+
+     <para>
+      Since the view definition is installed by <application>initdb</>,
+      merely upgrading will not fix the problem.  If you need to fix this
+      in an existing installation, you can (as a superuser) drop the
+      <literal>information_schema</> schema then re-create it by sourcing
+      <filename><replaceable>SHAREDIR</>/information_schema.sql</filename>.
+      (Run <literal>pg_config --sharedir</> if you're uncertain where
+      <replaceable>SHAREDIR</> is.)  This must be repeated in each database
+      to be fixed.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect replay of WAL records for GIN index updates
+      (Tom Lane)
+     </para>
+
+     <para>
+      This could result in transiently failing to find index entries after
+      a crash, or on a hot-standby server.  The problem would be repaired
+      by the next <command>VACUUM</> of the index, however.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix TOAST-related data corruption during <literal>CREATE TABLE dest AS
+      SELECT * FROM src</> or <literal>INSERT INTO dest SELECT * FROM src</>
+      (Tom Lane)
+     </para>
+
+     <para>
+      If a table has been modified by <command>ALTER TABLE ADD COLUMN</>,
+      attempts to copy its data verbatim to another table could produce
+      corrupt results in certain corner cases.
+      The problem can only manifest in this precise form in 8.4 and later,
+      but we patched earlier versions as well in case there are other code
+      paths that could trigger the same bug.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix race condition during toast table access from stale syscache entries
+      (Tom Lane)
+     </para>
+
+     <para>
+      The typical symptom was transient errors like <quote>missing chunk
+      number 0 for toast value NNNNN in pg_toast_2619</>, where the cited
+      toast table would always belong to a system catalog.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Track dependencies of functions on items used in parameter default
+      expressions (Tom Lane)
+     </para>
+
+     <para>
+      Previously, a referenced object could be dropped without having dropped
+      or modified the function, leading to misbehavior when the function was
+      used.  Note that merely installing this update will not fix the missing
+      dependency entries; to do that, you'd need to <command>CREATE OR
+      REPLACE</> each such function afterwards.  If you have functions whose
+      defaults depend on non-built-in objects, doing so is recommended.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow inlining of set-returning SQL functions with multiple OUT
+      parameters (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make <function>DatumGetInetP()</> unpack inet datums that have a 1-byte
+      header, and add a new macro, <function>DatumGetInetPP()</>, that does
+      not (Heikki Linnakangas)
+     </para>
+
+     <para>
+      This change affects no core code, but might prevent crashes in add-on
+      code that expects <function>DatumGetInetP()</> to produce an unpacked
+      datum as per usual convention.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve locale support in <type>money</> type's input and output
+      (Tom Lane)
+     </para>
+
+     <para>
+      Aside from not supporting all standard
+      <link linkend="guc-lc-monetary"><varname>lc_monetary</></link>
+      formatting options, the input and output functions were inconsistent,
+      meaning there were locales in which dumped <type>money</> values could
+      not be re-read.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't let <link
+      linkend="guc-transform-null-equals"><varname>transform_null_equals</></link>
+      affect <literal>CASE foo WHEN NULL ...</> constructs
+      (Heikki Linnakangas)
+     </para>
+
+     <para>
+      <varname>transform_null_equals</> is only supposed to affect
+      <literal>foo = NULL</> expressions written directly by the user, not
+      equality checks generated internally by this form of <literal>CASE</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Change foreign-key trigger creation order to better support
+      self-referential foreign keys (Tom Lane)
+     </para>
+
+     <para>
+      For a cascading foreign key that references its own table, a row update
+      will fire both the <literal>ON UPDATE</> trigger and the
+      <literal>CHECK</> trigger as one event.  The <literal>ON UPDATE</>
+      trigger must execute first, else the <literal>CHECK</> will check a
+      non-final state of the row and possibly throw an inappropriate error.
+      However, the firing order of these triggers is determined by their
+      names, which generally sort in creation order since the triggers have
+      auto-generated names following the convention
+      <quote>RI_ConstraintTrigger_NNNN</>.  A proper fix would require
+      modifying that convention, which we will do in 9.2, but it seems risky
+      to change it in existing releases.  So this patch just changes the
+      creation order of the triggers.  Users encountering this type of error
+      should drop and re-create the foreign key constraint to get its
+      triggers into the right order.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid floating-point underflow while tracking buffer allocation rate
+      (Greg Matthews)
+     </para>
+
+     <para>
+      While harmless in itself, on certain platforms this would result in
+      annoying kernel log messages.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Preserve configuration file name and line number values when starting
+      child processes under Windows (Tom Lane)
+     </para>
+
+     <para>
+      Formerly, these would not be displayed correctly in the
+      <structname>pg_settings</> view.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Preserve blank lines within commands in <application>psql</>'s command
+      history (Robert Haas)
+     </para>
+
+     <para>
+      The former behavior could cause problems if an empty line was removed
+      from within a string literal, for example.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</> to dump user-defined casts between
+      auto-generated types, such as table rowtypes (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Use the preferred version of <application>xsubpp</> to build PL/Perl,
+      not necessarily the operating system's main copy
+      (David Wheeler and Alex Hunsaker)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect coding in <filename>contrib/dict_int</> and
+      <filename>contrib/dict_xsyn</> (Tom Lane)
+     </para>
+
+     <para>
+      Some functions incorrectly assumed that memory returned by
+      <function>palloc()</> is guaranteed zeroed.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Honor query cancel interrupts promptly in <function>pgstatindex()</>
+      (Robert Haas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure VPATH builds properly install all server header files
+      (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Shorten file names reported in verbose error messages (Peter Eisentraut)
+     </para>
+
+     <para>
+      Regular builds have always reported just the name of the C file
+      containing the error message call, but VPATH builds formerly
+      reported an absolute path name.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix interpretation of Windows timezone names for Central America
+      (Tom Lane)
+     </para>
+
+     <para>
+      Map <quote>Central America Standard Time</> to <literal>CST6</>, not
+      <literal>CST6CDT</>, because DST is generally not observed anywhere in
+      Central America.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2011n
+      for DST law changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa;
+      also historical corrections for Alaska and British East Africa.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-8-4-9">
   <title>Release 8.4.9</title>
 
index 676191f273824bd4ff2cd506c23f76bcb5282aae..4f8ec5116a438f5f0455ddf76da9ce5d02624ed9 100644 (file)
@@ -1,6 +1,390 @@
 <!-- doc/src/sgml/release-9.0.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-0-6">
+  <title>Release 9.0.6</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2011-12-05</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 9.0.5.
+   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.6</title>
+
+   <para>
+    A dump/restore is not required for those running 9.0.X.
+   </para>
+
+   <para>
+    However, a longstanding error was discovered in the definition of the
+    <literal>information_schema.referential_constraints</> view.  If you
+    rely on correct results from that view, you should replace its
+    definition as explained in the first changelog item below.
+   </para>
+
+   <para>
+    Also, if you are upgrading from a version earlier than 9.0.4,
+    see the release notes for 9.0.4.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix bugs in <literal>information_schema.referential_constraints</> view
+      (Tom Lane)
+     </para>
+
+     <para>
+      This view was being insufficiently careful about matching the
+      foreign-key constraint to the depended-on primary or unique key
+      constraint.  That could result in failure to show a foreign key
+      constraint at all, or showing it multiple times, or claiming that it
+      depends on a different constraint than the one it really does.
+     </para>
+
+     <para>
+      Since the view definition is installed by <application>initdb</>,
+      merely upgrading will not fix the problem.  If you need to fix this
+      in an existing installation, you can (as a superuser) drop the
+      <literal>information_schema</> schema then re-create it by sourcing
+      <filename><replaceable>SHAREDIR</>/information_schema.sql</filename>.
+      (Run <literal>pg_config --sharedir</> if you're uncertain where
+      <replaceable>SHAREDIR</> is.)  This must be repeated in each database
+      to be fixed.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible crash during <command>UPDATE</> or <command>DELETE</> that
+      joins to the output of a scalar-returning function (Tom Lane)
+     </para>
+
+     <para>
+      A crash could only occur if the target row had been concurrently
+      updated, so this problem surfaced only intermittently.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect replay of WAL records for GIN index updates
+      (Tom Lane)
+     </para>
+
+     <para>
+      This could result in transiently failing to find index entries after
+      a crash, or on a hot-standby server.  The problem would be repaired
+      by the next <command>VACUUM</> of the index, however.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix TOAST-related data corruption during <literal>CREATE TABLE dest AS
+      SELECT * FROM src</> or <literal>INSERT INTO dest SELECT * FROM src</>
+      (Tom Lane)
+     </para>
+
+     <para>
+      If a table has been modified by <command>ALTER TABLE ADD COLUMN</>,
+      attempts to copy its data verbatim to another table could produce
+      corrupt results in certain corner cases.
+      The problem can only manifest in this precise form in 8.4 and later,
+      but we patched earlier versions as well in case there are other code
+      paths that could trigger the same bug.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix possible failures during hot standby startup (Simon Riggs)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Start hot standby faster when initial snapshot is incomplete
+      (Simon Riggs)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix race condition during toast table access from stale syscache entries
+      (Tom Lane)
+     </para>
+
+     <para>
+      The typical symptom was transient errors like <quote>missing chunk
+      number 0 for toast value NNNNN in pg_toast_2619</>, where the cited
+      toast table would always belong to a system catalog.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Track dependencies of functions on items used in parameter default
+      expressions (Tom Lane)
+     </para>
+
+     <para>
+      Previously, a referenced object could be dropped without having dropped
+      or modified the function, leading to misbehavior when the function was
+      used.  Note that merely installing this update will not fix the missing
+      dependency entries; to do that, you'd need to <command>CREATE OR
+      REPLACE</> each such function afterwards.  If you have functions whose
+      defaults depend on non-built-in objects, doing so is recommended.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow inlining of set-returning SQL functions with multiple OUT
+      parameters (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't trust deferred-unique indexes for join removal (Tom Lane and Marti
+      Raudsepp)
+     </para>
+
+     <para>
+      A deferred uniqueness constraint might not hold intra-transaction,
+      so assuming that it does could give incorrect query results.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make <function>DatumGetInetP()</> unpack inet datums that have a 1-byte
+      header, and add a new macro, <function>DatumGetInetPP()</>, that does
+      not (Heikki Linnakangas)
+     </para>
+
+     <para>
+      This change affects no core code, but might prevent crashes in add-on
+      code that expects <function>DatumGetInetP()</> to produce an unpacked
+      datum as per usual convention.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Improve locale support in <type>money</> type's input and output
+      (Tom Lane)
+     </para>
+
+     <para>
+      Aside from not supporting all standard
+      <link linkend="guc-lc-monetary"><varname>lc_monetary</></link>
+      formatting options, the input and output functions were inconsistent,
+      meaning there were locales in which dumped <type>money</> values could
+      not be re-read.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Don't let <link
+      linkend="guc-transform-null-equals"><varname>transform_null_equals</></link>
+      affect <literal>CASE foo WHEN NULL ...</> constructs
+      (Heikki Linnakangas)
+     </para>
+
+     <para>
+      <varname>transform_null_equals</> is only supposed to affect
+      <literal>foo = NULL</> expressions written directly by the user, not
+      equality checks generated internally by this form of <literal>CASE</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Change foreign-key trigger creation order to better support
+      self-referential foreign keys (Tom Lane)
+     </para>
+
+     <para>
+      For a cascading foreign key that references its own table, a row update
+      will fire both the <literal>ON UPDATE</> trigger and the
+      <literal>CHECK</> trigger as one event.  The <literal>ON UPDATE</>
+      trigger must execute first, else the <literal>CHECK</> will check a
+      non-final state of the row and possibly throw an inappropriate error.
+      However, the firing order of these triggers is determined by their
+      names, which generally sort in creation order since the triggers have
+      auto-generated names following the convention
+      <quote>RI_ConstraintTrigger_NNNN</>.  A proper fix would require
+      modifying that convention, which we will do in 9.2, but it seems risky
+      to change it in existing releases.  So this patch just changes the
+      creation order of the triggers.  Users encountering this type of error
+      should drop and re-create the foreign key constraint to get its
+      triggers into the right order.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid floating-point underflow while tracking buffer allocation rate
+      (Greg Matthews)
+     </para>
+
+     <para>
+      While harmless in itself, on certain platforms this would result in
+      annoying kernel log messages.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Preserve configuration file name and line number values when starting
+      child processes under Windows (Tom Lane)
+     </para>
+
+     <para>
+      Formerly, these would not be displayed correctly in the
+      <structname>pg_settings</> view.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect field alignment in <application>ecpg</>'s SQLDA area
+      (Zoltan Boszormenyi)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Preserve blank lines within commands in <application>psql</>'s command
+      history (Robert Haas)
+     </para>
+
+     <para>
+      The former behavior could cause problems if an empty line was removed
+      from within a string literal, for example.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_dump</> to dump user-defined casts between
+      auto-generated types, such as table rowtypes (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Assorted fixes for <application>pg_upgrade</> (Bruce Momjian)
+     </para>
+
+     <para>
+      Handle exclusion constraints correctly, avoid failures on Windows,
+      don't complain about mismatched toast table names in 8.4 databases.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Use the preferred version of <application>xsubpp</> to build PL/Perl,
+      not necessarily the operating system's main copy
+      (David Wheeler and Alex Hunsaker)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect coding in <filename>contrib/dict_int</> and
+      <filename>contrib/dict_xsyn</> (Tom Lane)
+     </para>
+
+     <para>
+      Some functions incorrectly assumed that memory returned by
+      <function>palloc()</> is guaranteed zeroed.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix assorted errors in <filename>contrib/unaccent</>'s configuration
+      file parsing (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Honor query cancel interrupts promptly in <function>pgstatindex()</>
+      (Robert Haas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix incorrect quoting of log file name in Mac OS X start script
+      (Sidar Lopez)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure VPATH builds properly install all server header files
+      (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Shorten file names reported in verbose error messages (Peter Eisentraut)
+     </para>
+
+     <para>
+      Regular builds have always reported just the name of the C file
+      containing the error message call, but VPATH builds formerly
+      reported an absolute path name.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix interpretation of Windows timezone names for Central America
+      (Tom Lane)
+     </para>
+
+     <para>
+      Map <quote>Central America Standard Time</> to <literal>CST6</>, not
+      <literal>CST6CDT</>, because DST is generally not observed anywhere in
+      Central America.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2011n
+      for DST law changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa;
+      also historical corrections for Alaska and British East Africa.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-0-5">
   <title>Release 9.0.5</title>