]> granicus.if.org Git - postgresql/commitdiff
Update release notes for 9.1.4, 9.0.8, 8.4.12, 8.3.19.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 31 May 2012 23:03:32 +0000 (19:03 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 31 May 2012 23:03:32 +0000 (19:03 -0400)
doc/src/sgml/release-8.3.sgml
doc/src/sgml/release-8.4.sgml
doc/src/sgml/release-9.0.sgml
doc/src/sgml/release-9.1.sgml

index 09f867b527dd7150e13edde1c3cdf7ed3631d4a7..b28e6dfecc01c2fb0742bf76b42950763fdd8dcd 100644 (file)
@@ -1,6 +1,235 @@
 <!-- doc/src/sgml/release-8.3.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-8-3-19">
+  <title>Release 8.3.19</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2012-06-04</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 8.3.18.
+   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.19</title>
+
+   <para>
+    A dump/restore is not required for those running 8.3.X.
+   </para>
+
+   <para>
+    However, if you are upgrading from a version earlier than 8.3.17,
+    see the release notes for 8.3.17.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix incorrect password transformation in
+      <filename>contrib/pgcrypto</>'s DES <function>crypt()</> function
+      (Solar Designer)
+     </para>
+
+     <para>
+      If a password string contained the byte value <literal>0x80</>, the
+      remainder of the password was ignored, causing the password to be much
+      weaker than it appeared.  With this fix, the rest of the string is
+      properly included in the DES hash.  Any stored password values that are
+      affected by this bug will thus no longer match, so the stored values may
+      need to be updated.  (CVE-2012-2143)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ignore <literal>SECURITY DEFINER</> and <literal>SET</> attributes for
+      a procedural language's call handler (Tom Lane)
+     </para>
+
+     <para>
+      Applying such attributes to a call handler could crash the server.
+      (CVE-2012-2655)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow numeric timezone offsets in <type>timestamp</> input to be up to
+      16 hours away from UTC (Tom Lane)
+     </para>
+
+     <para>
+      Some historical time zones have offsets larger than 15 hours, the
+      previous limit.  This could result in dumped data values being rejected
+      during reload.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix timestamp conversion to cope when the given time is exactly the
+      last DST transition time for the current timezone (Tom Lane)
+     </para>
+
+     <para>
+      This oversight has been there a long time, but was not noticed
+      previously because most DST-using zones are presumed to have an
+      indefinite sequence of future DST transitions.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <type>text</> to <type>name</> and <type>char</> to <type>name</>
+      casts to perform string truncation correctly in multibyte encodings
+      (Karl Schnaitter)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix memory copying bug in <function>to_tsquery()</> (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix slow session startup when <structname>pg_attribute</> is very large
+      (Tom Lane)
+     </para>
+
+     <para>
+      If <structname>pg_attribute</> exceeds one-fourth of
+      <varname>shared_buffers</>, cache rebuilding code that is sometimes
+      needed during session start would trigger the synchronized-scan logic,
+      causing it to take many times longer than normal.  The problem was
+      particularly acute if many new sessions were starting at once.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure sequential scans check for query cancel reasonably often (Merlin
+      Moncure)
+     </para>
+
+     <para>
+      A scan encountering many consecutive pages that contain no live tuples
+      would not respond to interrupts meanwhile.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure the Windows implementation of <function>PGSemaphoreLock()</>
+      clears <varname>ImmediateInterruptOK</> before returning (Tom Lane)
+     </para>
+
+     <para>
+      This oversight meant that a query-cancel interrupt received later
+      in the same query could be accepted at an unsafe time, with
+      unpredictable but not good consequences.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Show whole-row variables safely when printing views or rules
+      (Abbas Butt, Tom Lane)
+     </para>
+
+     <para>
+      Corner cases involving ambiguous names (that is, the name could be
+      either a table or column name of the query) were printed in an
+      ambiguous way, risking that the view or rule would be interpreted
+      differently after dump and reload.  Avoid the ambiguous case by
+      attaching a no-op cast.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure autovacuum worker processes perform stack depth checking
+      properly (Heikki Linnakangas)
+     </para>
+
+     <para>
+      Previously, infinite recursion in a function invoked by
+      auto-<command>ANALYZE</> could crash worker processes.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix logging collector to not lose log coherency under high load (Andrew
+      Dunstan)
+     </para>
+
+     <para>
+      The collector previously could fail to reassemble large messages if it
+      got too busy.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix logging collector to ensure it will restart file rotation
+      after receiving <systemitem>SIGHUP</> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix PL/pgSQL's <command>GET DIAGNOSTICS</> command when the target
+      is the function's first variable (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix several performance problems in <application>pg_dump</> when
+      the database contains many objects (Jeff Janes, Tom Lane)
+     </para>
+
+     <para>
+      <application>pg_dump</> could get very slow if the database contained
+      many schemas, or if many objects are in dependency loops, or if there
+      are many owned sequences.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <filename>contrib/dblink</>'s <function>dblink_exec()</> to not leak
+      temporary database connections upon error (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2012c
+      for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland
+      Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands;
+      also historical corrections for Canada.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-8-3-18">
   <title>Release 8.3.18</title>
 
index 7dbc78e500c000490d2162b6e109aaa94c2b59ee..213c52e61c6c132acf218f951a4565af5796c23a 100644 (file)
@@ -1,6 +1,291 @@
 <!-- doc/src/sgml/release-8.4.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-8-4-12">
+  <title>Release 8.4.12</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2012-06-04</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 8.4.11.
+   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.12</title>
+
+   <para>
+    A dump/restore is not required for those running 8.4.X.
+   </para>
+
+   <para>
+    However, if you are upgrading from a version earlier than 8.4.10,
+    see the release notes for 8.4.10.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix incorrect password transformation in
+      <filename>contrib/pgcrypto</>'s DES <function>crypt()</> function
+      (Solar Designer)
+     </para>
+
+     <para>
+      If a password string contained the byte value <literal>0x80</>, the
+      remainder of the password was ignored, causing the password to be much
+      weaker than it appeared.  With this fix, the rest of the string is
+      properly included in the DES hash.  Any stored password values that are
+      affected by this bug will thus no longer match, so the stored values may
+      need to be updated.  (CVE-2012-2143)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ignore <literal>SECURITY DEFINER</> and <literal>SET</> attributes for
+      a procedural language's call handler (Tom Lane)
+     </para>
+
+     <para>
+      Applying such attributes to a call handler could crash the server.
+      (CVE-2012-2655)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow numeric timezone offsets in <type>timestamp</> input to be up to
+      16 hours away from UTC (Tom Lane)
+     </para>
+
+     <para>
+      Some historical time zones have offsets larger than 15 hours, the
+      previous limit.  This could result in dumped data values being rejected
+      during reload.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix timestamp conversion to cope when the given time is exactly the
+      last DST transition time for the current timezone (Tom Lane)
+     </para>
+
+     <para>
+      This oversight has been there a long time, but was not noticed
+      previously because most DST-using zones are presumed to have an
+      indefinite sequence of future DST transitions.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <type>text</> to <type>name</> and <type>char</> to <type>name</>
+      casts to perform string truncation correctly in multibyte encodings
+      (Karl Schnaitter)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix memory copying bug in <function>to_tsquery()</> (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix planner's handling of outer PlaceHolderVars within subqueries (Tom
+      Lane)
+     </para>
+
+     <para>
+      This bug concerns sub-SELECTs that reference variables coming from the
+      nullable side of an outer join of the surrounding query.
+      In 9.1, queries affected by this bug would fail with <quote>ERROR:
+      Upper-level PlaceHolderVar found where not expected</>.  But in 9.0 and
+      8.4, you'd silently get possibly-wrong answers, since the value
+      transmitted into the subquery wouldn't go to null when it should.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix slow session startup when <structname>pg_attribute</> is very large
+      (Tom Lane)
+     </para>
+
+     <para>
+      If <structname>pg_attribute</> exceeds one-fourth of
+      <varname>shared_buffers</>, cache rebuilding code that is sometimes
+      needed during session start would trigger the synchronized-scan logic,
+      causing it to take many times longer than normal.  The problem was
+      particularly acute if many new sessions were starting at once.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure sequential scans check for query cancel reasonably often (Merlin
+      Moncure)
+     </para>
+
+     <para>
+      A scan encountering many consecutive pages that contain no live tuples
+      would not respond to interrupts meanwhile.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure the Windows implementation of <function>PGSemaphoreLock()</>
+      clears <varname>ImmediateInterruptOK</> before returning (Tom Lane)
+     </para>
+
+     <para>
+      This oversight meant that a query-cancel interrupt received later
+      in the same query could be accepted at an unsafe time, with
+      unpredictable but not good consequences.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Show whole-row variables safely when printing views or rules
+      (Abbas Butt, Tom Lane)
+     </para>
+
+     <para>
+      Corner cases involving ambiguous names (that is, the name could be
+      either a table or column name of the query) were printed in an
+      ambiguous way, risking that the view or rule would be interpreted
+      differently after dump and reload.  Avoid the ambiguous case by
+      attaching a no-op cast.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <command>COPY FROM</> to properly handle null marker strings that
+      correspond to invalid encoding (Tom Lane)
+     </para>
+
+     <para>
+      A null marker string such as <literal>E'\\0'</> should work, and did
+      work in the past, but the case got broken in 8.4.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure autovacuum worker processes perform stack depth checking
+      properly (Heikki Linnakangas)
+     </para>
+
+     <para>
+      Previously, infinite recursion in a function invoked by
+      auto-<command>ANALYZE</> could crash worker processes.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix logging collector to not lose log coherency under high load (Andrew
+      Dunstan)
+     </para>
+
+     <para>
+      The collector previously could fail to reassemble large messages if it
+      got too busy.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix logging collector to ensure it will restart file rotation
+      after receiving <systemitem>SIGHUP</> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix WAL replay logic for GIN indexes to not fail if the index was
+      subsequently dropped (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix memory leak in PL/pgSQL's <command>RETURN NEXT</> command (Joe
+      Conway)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix PL/pgSQL's <command>GET DIAGNOSTICS</> command when the target
+      is the function's first variable (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix potential access off the end of memory in <application>psql</>'s
+      expanded display (<command>\x</>) mode (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix several performance problems in <application>pg_dump</> when
+      the database contains many objects (Jeff Janes, Tom Lane)
+     </para>
+
+     <para>
+      <application>pg_dump</> could get very slow if the database contained
+      many schemas, or if many objects are in dependency loops, or if there
+      are many owned sequences.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <filename>contrib/dblink</>'s <function>dblink_exec()</> to not leak
+      temporary database connections upon error (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <filename>contrib/dblink</> to report the correct connection name in
+      error messages (Kyotaro Horiguchi)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2012c
+      for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland
+      Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands;
+      also historical corrections for Canada.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-8-4-11">
   <title>Release 8.4.11</title>
 
index 16de221dc117d44f6e4f74d72e8f978d3156108c..c5f7d8190988106732e5c681f0e5afa4f2232fea 100644 (file)
@@ -1,6 +1,326 @@
 <!-- doc/src/sgml/release-9.0.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-0-8">
+  <title>Release 9.0.8</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2012-06-04</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 9.0.7.
+   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.8</title>
+
+   <para>
+    A dump/restore is not required for those running 9.0.X.
+   </para>
+
+   <para>
+    However, if you are upgrading from a version earlier than 9.0.6,
+    see the release notes for 9.0.6.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix incorrect password transformation in
+      <filename>contrib/pgcrypto</>'s DES <function>crypt()</> function
+      (Solar Designer)
+     </para>
+
+     <para>
+      If a password string contained the byte value <literal>0x80</>, the
+      remainder of the password was ignored, causing the password to be much
+      weaker than it appeared.  With this fix, the rest of the string is
+      properly included in the DES hash.  Any stored password values that are
+      affected by this bug will thus no longer match, so the stored values may
+      need to be updated.  (CVE-2012-2143)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ignore <literal>SECURITY DEFINER</> and <literal>SET</> attributes for
+      a procedural language's call handler (Tom Lane)
+     </para>
+
+     <para>
+      Applying such attributes to a call handler could crash the server.
+      (CVE-2012-2655)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow numeric timezone offsets in <type>timestamp</> input to be up to
+      16 hours away from UTC (Tom Lane)
+     </para>
+
+     <para>
+      Some historical time zones have offsets larger than 15 hours, the
+      previous limit.  This could result in dumped data values being rejected
+      during reload.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix timestamp conversion to cope when the given time is exactly the
+      last DST transition time for the current timezone (Tom Lane)
+     </para>
+
+     <para>
+      This oversight has been there a long time, but was not noticed
+      previously because most DST-using zones are presumed to have an
+      indefinite sequence of future DST transitions.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <type>text</> to <type>name</> and <type>char</> to <type>name</>
+      casts to perform string truncation correctly in multibyte encodings
+      (Karl Schnaitter)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix memory copying bug in <function>to_tsquery()</> (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure <function>txid_current()</> reports the correct epoch when
+      executed in hot standby (Simon Riggs)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix planner's handling of outer PlaceHolderVars within subqueries (Tom
+      Lane)
+     </para>
+
+     <para>
+      This bug concerns sub-SELECTs that reference variables coming from the
+      nullable side of an outer join of the surrounding query.
+      In 9.1, queries affected by this bug would fail with <quote>ERROR:
+      Upper-level PlaceHolderVar found where not expected</>.  But in 9.0 and
+      8.4, you'd silently get possibly-wrong answers, since the value
+      transmitted into the subquery wouldn't go to null when it should.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix slow session startup when <structname>pg_attribute</> is very large
+      (Tom Lane)
+     </para>
+
+     <para>
+      If <structname>pg_attribute</> exceeds one-fourth of
+      <varname>shared_buffers</>, cache rebuilding code that is sometimes
+      needed during session start would trigger the synchronized-scan logic,
+      causing it to take many times longer than normal.  The problem was
+      particularly acute if many new sessions were starting at once.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure sequential scans check for query cancel reasonably often (Merlin
+      Moncure)
+     </para>
+
+     <para>
+      A scan encountering many consecutive pages that contain no live tuples
+      would not respond to interrupts meanwhile.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure the Windows implementation of <function>PGSemaphoreLock()</>
+      clears <varname>ImmediateInterruptOK</> before returning (Tom Lane)
+     </para>
+
+     <para>
+      This oversight meant that a query-cancel interrupt received later
+      in the same query could be accepted at an unsafe time, with
+      unpredictable but not good consequences.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Show whole-row variables safely when printing views or rules
+      (Abbas Butt, Tom Lane)
+     </para>
+
+     <para>
+      Corner cases involving ambiguous names (that is, the name could be
+      either a table or column name of the query) were printed in an
+      ambiguous way, risking that the view or rule would be interpreted
+      differently after dump and reload.  Avoid the ambiguous case by
+      attaching a no-op cast.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <command>COPY FROM</> to properly handle null marker strings that
+      correspond to invalid encoding (Tom Lane)
+     </para>
+
+     <para>
+      A null marker string such as <literal>E'\\0'</> should work, and did
+      work in the past, but the case got broken in 8.4.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure autovacuum worker processes perform stack depth checking
+      properly (Heikki Linnakangas)
+     </para>
+
+     <para>
+      Previously, infinite recursion in a function invoked by
+      auto-<command>ANALYZE</> could crash worker processes.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix logging collector to not lose log coherency under high load (Andrew
+      Dunstan)
+     </para>
+
+     <para>
+      The collector previously could fail to reassemble large messages if it
+      got too busy.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix logging collector to ensure it will restart file rotation
+      after receiving <systemitem>SIGHUP</> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix WAL replay logic for GIN indexes to not fail if the index was
+      subsequently dropped (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix memory leak in PL/pgSQL's <command>RETURN NEXT</> command (Joe
+      Conway)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix PL/pgSQL's <command>GET DIAGNOSTICS</> command when the target
+      is the function's first variable (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix potential access off the end of memory in <application>psql</>'s
+      expanded display (<command>\x</>) mode (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix several performance problems in <application>pg_dump</> when
+      the database contains many objects (Jeff Janes, Tom Lane)
+     </para>
+
+     <para>
+      <application>pg_dump</> could get very slow if the database contained
+      many schemas, or if many objects are in dependency loops, or if there
+      are many owned sequences.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_upgrade</> for the case that a database stored in a
+      non-default tablespace contains a table in the cluster's default
+      tablespace (Bruce Momjian)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>ecpg</>, fix rare memory leaks and possible overwrite
+      of one byte after the <structname>sqlca_t</> structure (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <filename>contrib/dblink</>'s <function>dblink_exec()</> to not leak
+      temporary database connections upon error (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <filename>contrib/dblink</> to report the correct connection name in
+      error messages (Kyotaro Horiguchi)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <filename>contrib/vacuumlo</> to use multiple transactions when
+      dropping many large objects (Tim Lewis, Robert Haas, Tom Lane)
+     </para>
+
+     <para>
+      This change avoids exceeding <varname>max_locks_per_transaction</> when
+      many objects need to be dropped.  The behavior can be adjusted with the
+      new <literal>-l</> (limit) option.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2012c
+      for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland
+      Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands;
+      also historical corrections for Canada.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-0-7">
   <title>Release 9.0.7</title>
 
index 9fb9fb7908a7637a0756ec19723b7e090e4f893e..b65e8daa133bebdb1aa7f42ce0779b04a44731fd 100644 (file)
@@ -1,6 +1,496 @@
 <!-- doc/src/sgml/release-9.1.sgml -->
 <!-- See header comment in release.sgml about typical markup -->
 
+ <sect1 id="release-9-1-4">
+  <title>Release 9.1.4</title>
+
+  <note>
+  <title>Release Date</title>
+  <simpara>2012-06-04</simpara>
+  </note>
+
+  <para>
+   This release contains a variety of fixes from 9.1.3.
+   For information about new features in the 9.1 major release, see
+   <xref linkend="release-9-1">.
+  </para>
+
+  <sect2>
+   <title>Migration to Version 9.1.4</title>
+
+   <para>
+    A dump/restore is not required for those running 9.1.X.
+   </para>
+
+   <para>
+    However, if you use the <type>citext</> data type, and you upgraded
+    from a previous major release by running <application>pg_upgrade</>,
+    you should run <literal>CREATE EXTENSION citext FROM unpackaged</>
+    to avoid collation-related failures in <type>citext</> operations.
+    The same is necessary if you restore a dump from a pre-9.1 database
+    that contains an instance of the <type>citext</> data type.
+    If you've already run the <command>CREATE EXTENSION</> command before
+    upgrading to 9.1.4, you will instead need to do manual catalog updates
+    as explained in the third changelog item below.
+   </para>
+
+   <para>
+    Also, if you are upgrading from a version earlier than 9.1.2,
+    see the release notes for 9.1.2.
+   </para>
+
+  </sect2>
+
+  <sect2>
+   <title>Changes</title>
+
+   <itemizedlist>
+
+    <listitem>
+     <para>
+      Fix incorrect password transformation in
+      <filename>contrib/pgcrypto</>'s DES <function>crypt()</> function
+      (Solar Designer)
+     </para>
+
+     <para>
+      If a password string contained the byte value <literal>0x80</>, the
+      remainder of the password was ignored, causing the password to be much
+      weaker than it appeared.  With this fix, the rest of the string is
+      properly included in the DES hash.  Any stored password values that are
+      affected by this bug will thus no longer match, so the stored values may
+      need to be updated.  (CVE-2012-2143)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ignore <literal>SECURITY DEFINER</> and <literal>SET</> attributes for
+      a procedural language's call handler (Tom Lane)
+     </para>
+
+     <para>
+      Applying such attributes to a call handler could crash the server.
+      (CVE-2012-2655)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Make <filename>contrib/citext</>'s upgrade script fix collations of
+      <type>citext</> arrays and domains over <type>citext</>
+      (Tom Lane)
+     </para>
+
+     <para>
+      Release 9.1.2 provided a fix for collations of <type>citext</> columns
+      and indexes in databases upgraded or reloaded from pre-9.1
+      installations, but that fix was incomplete: it neglected to handle arrays
+      and domains over <type>citext</>.  This release extends the module's
+      upgrade script to handle these cases.  As before, if you have already
+      run the upgrade script, you'll need to run the collation update
+      commands by hand instead.  See the 9.1.2 release notes for more
+      information about doing this.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Allow numeric timezone offsets in <type>timestamp</> input to be up to
+      16 hours away from UTC (Tom Lane)
+     </para>
+
+     <para>
+      Some historical time zones have offsets larger than 15 hours, the
+      previous limit.  This could result in dumped data values being rejected
+      during reload.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix timestamp conversion to cope when the given time is exactly the
+      last DST transition time for the current timezone (Tom Lane)
+     </para>
+
+     <para>
+      This oversight has been there a long time, but was not noticed
+      previously because most DST-using zones are presumed to have an
+      indefinite sequence of future DST transitions.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <type>text</> to <type>name</> and <type>char</> to <type>name</>
+      casts to perform string truncation correctly in multibyte encodings
+      (Karl Schnaitter)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix memory copying bug in <function>to_tsquery()</> (Heikki Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure <function>txid_current()</> reports the correct epoch when
+      executed in hot standby (Simon Riggs)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix planner's handling of outer PlaceHolderVars within subqueries (Tom
+      Lane)
+     </para>
+
+     <para>
+      This bug concerns sub-SELECTs that reference variables coming from the
+      nullable side of an outer join of the surrounding query.
+      In 9.1, queries affected by this bug would fail with <quote>ERROR:
+      Upper-level PlaceHolderVar found where not expected</>.  But in 9.0 and
+      8.4, you'd silently get possibly-wrong answers, since the value
+      transmitted into the subquery wouldn't go to null when it should.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix planning of <literal>UNION ALL</> subqueries with output columns
+      that are not simple variables (Tom Lane)
+     </para>
+
+     <para>
+      Planning of such cases got noticeably worse in 9.1 as a result of a
+      misguided fix for <quote>MergeAppend child's targetlist doesn't match
+      MergeAppend</> errors.  Revert that fix and do it another way.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix slow session startup when <structname>pg_attribute</> is very large
+      (Tom Lane)
+     </para>
+
+     <para>
+      If <structname>pg_attribute</> exceeds one-fourth of
+      <varname>shared_buffers</>, cache rebuilding code that is sometimes
+      needed during session start would trigger the synchronized-scan logic,
+      causing it to take many times longer than normal.  The problem was
+      particularly acute if many new sessions were starting at once.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure sequential scans check for query cancel reasonably often (Merlin
+      Moncure)
+     </para>
+
+     <para>
+      A scan encountering many consecutive pages that contain no live tuples
+      would not respond to interrupts meanwhile.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure the Windows implementation of <function>PGSemaphoreLock()</>
+      clears <varname>ImmediateInterruptOK</> before returning (Tom Lane)
+     </para>
+
+     <para>
+      This oversight meant that a query-cancel interrupt received later
+      in the same query could be accepted at an unsafe time, with
+      unpredictable but not good consequences.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Show whole-row variables safely when printing views or rules
+      (Abbas Butt, Tom Lane)
+     </para>
+
+     <para>
+      Corner cases involving ambiguous names (that is, the name could be
+      either a table or column name of the query) were printed in an
+      ambiguous way, risking that the view or rule would be interpreted
+      differently after dump and reload.  Avoid the ambiguous case by
+      attaching a no-op cast.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <command>COPY FROM</> to properly handle null marker strings that
+      correspond to invalid encoding (Tom Lane)
+     </para>
+
+     <para>
+      A null marker string such as <literal>E'\\0'</> should work, and did
+      work in the past, but the case got broken in 8.4.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <command>EXPLAIN VERBOSE</> for writable CTEs containing
+      <literal>RETURNING</> clauses (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <command>PREPARE TRANSACTION</> to work correctly in the presence
+      of advisory locks (Tom Lane)
+     </para>
+
+     <para>
+      Historically, <command>PREPARE TRANSACTION</> has simply ignored any
+      session-level advisory locks the session holds, but this case was
+      accidentally broken in 9.1.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix truncation of unlogged tables (Robert Haas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ignore missing schemas during non-interactive assignments of
+      <varname>search_path</> (Tom Lane)
+     </para>
+
+     <para>
+      This re-aligns 9.1's behavior with that of older branches.  Previously
+      9.1 would throw an error for nonexistent schemas mentioned in
+      <varname>search_path</> settings obtained from places such as
+      <command>ALTER DATABASE SET</>.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix bugs with temporary or transient tables used in extension scripts
+      (Tom Lane)
+     </para>
+
+     <para>
+      This includes cases such as a rewriting <command>ALTER TABLE</> within
+      an extension update script, since that uses a transient table behind
+      the scenes.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure autovacuum worker processes perform stack depth checking
+      properly (Heikki Linnakangas)
+     </para>
+
+     <para>
+      Previously, infinite recursion in a function invoked by
+      auto-<command>ANALYZE</> could crash worker processes.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix logging collector to not lose log coherency under high load (Andrew
+      Dunstan)
+     </para>
+
+     <para>
+      The collector previously could fail to reassemble large messages if it
+      got too busy.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix logging collector to ensure it will restart file rotation
+      after receiving <systemitem>SIGHUP</> (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <quote>too many LWLocks taken</> failure in GiST indexes (Heikki
+      Linnakangas)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix WAL replay logic for GIN indexes to not fail if the index was
+      subsequently dropped (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Correctly detect SSI conflicts of prepared transactions after a crash
+      (Dan Ports)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Avoid synchronous replication delay when committing a transaction that
+      only modified temporary tables (Heikki Linnakangas)
+     </para>
+
+     <para>
+      In such a case the transaction's commit record need not be flushed to
+      standby servers, but some of the code didn't know that and waited for
+      it to happen anyway.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix error handling in <application>pg_basebackup</>
+      (Thomas Ogrisegg, Fujii Masao)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>walsender</> to not go into a busy loop if connection
+      is terminated (Fujii Masao)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix memory leak in PL/pgSQL's <command>RETURN NEXT</> command (Joe
+      Conway)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix PL/pgSQL's <command>GET DIAGNOSTICS</> command when the target
+      is the function's first variable (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Ensure that PL/Perl package-qualifies the <varname>_TD</> variable
+      (Alex Hunsaker)
+     </para>
+
+     <para>
+      This bug caused trigger invocations to fail when they are nested
+      within a function invocation that changes the current package.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix PL/Python functions returning composite types to accept a string
+      for their result value (Jan Urbanski)
+     </para>
+
+     <para>
+      This case was accidentally broken by the 9.1 additions to allow a
+      composite result value to be supplied in other formats, such as
+      dictionaries.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix potential access off the end of memory in <application>psql</>'s
+      expanded display (<command>\x</>) mode (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix several performance problems in <application>pg_dump</> when
+      the database contains many objects (Jeff Janes, Tom Lane)
+     </para>
+
+     <para>
+      <application>pg_dump</> could get very slow if the database contained
+      many schemas, or if many objects are in dependency loops, or if there
+      are many owned sequences.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix memory and file descriptor leaks in <application>pg_restore</>
+      when reading a directory-format archive (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <application>pg_upgrade</> for the case that a database stored in a
+      non-default tablespace contains a table in the cluster's default
+      tablespace (Bruce Momjian)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      In <application>ecpg</>, fix rare memory leaks and possible overwrite
+      of one byte after the <structname>sqlca_t</> structure (Peter Eisentraut)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <filename>contrib/dblink</>'s <function>dblink_exec()</> to not leak
+      temporary database connections upon error (Tom Lane)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <filename>contrib/dblink</> to report the correct connection name in
+      error messages (Kyotaro Horiguchi)
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Fix <filename>contrib/vacuumlo</> to use multiple transactions when
+      dropping many large objects (Tim Lewis, Robert Haas, Tom Lane)
+     </para>
+
+     <para>
+      This change avoids exceeding <varname>max_locks_per_transaction</> when
+      many objects need to be dropped.  The behavior can be adjusted with the
+      new <literal>-l</> (limit) option.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Update time zone data files to <application>tzdata</> release 2012c
+      for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland
+      Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands;
+      also historical corrections for Canada.
+     </para>
+    </listitem>
+
+   </itemizedlist>
+
+  </sect2>
+ </sect1>
+
  <sect1 id="release-9-1-3">
   <title>Release 9.1.3</title>