aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2012-05-31 19:03:39 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2012-05-31 19:03:39 -0400
commit7651ec79879d36a68c9ab32a700ee034f7367701 (patch)
treee73c0b6f18b77ad253856e3da8c1230c943d430d
parent8620f6f18eee348075f7e3430c04d7784edf1b5c (diff)
downloadpostgresql-7651ec79879d36a68c9ab32a700ee034f7367701.tar.gz
postgresql-7651ec79879d36a68c9ab32a700ee034f7367701.zip
Update release notes for 9.1.4, 9.0.8, 8.4.12, 8.3.19.
-rw-r--r--doc/src/sgml/release-8.3.sgml229
-rw-r--r--doc/src/sgml/release-8.4.sgml285
-rw-r--r--doc/src/sgml/release-9.0.sgml320
-rw-r--r--doc/src/sgml/release-9.1.sgml490
4 files changed, 1324 insertions, 0 deletions
diff --git a/doc/src/sgml/release-8.3.sgml b/doc/src/sgml/release-8.3.sgml
index 09f867b527d..b28e6dfecc0 100644
--- a/doc/src/sgml/release-8.3.sgml
+++ b/doc/src/sgml/release-8.3.sgml
@@ -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>
diff --git a/doc/src/sgml/release-8.4.sgml b/doc/src/sgml/release-8.4.sgml
index 7dbc78e500c..213c52e61c6 100644
--- a/doc/src/sgml/release-8.4.sgml
+++ b/doc/src/sgml/release-8.4.sgml
@@ -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>
diff --git a/doc/src/sgml/release-9.0.sgml b/doc/src/sgml/release-9.0.sgml
index 16de221dc11..c5f7d819098 100644
--- a/doc/src/sgml/release-9.0.sgml
+++ b/doc/src/sgml/release-9.0.sgml
@@ -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>
diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml
index 9fb9fb7908a..b65e8daa133 100644
--- a/doc/src/sgml/release-9.1.sgml
+++ b/doc/src/sgml/release-9.1.sgml
@@ -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>