diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2012-05-31 19:03:39 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2012-05-31 19:03:39 -0400 |
commit | 7651ec79879d36a68c9ab32a700ee034f7367701 (patch) | |
tree | e73c0b6f18b77ad253856e3da8c1230c943d430d | |
parent | 8620f6f18eee348075f7e3430c04d7784edf1b5c (diff) | |
download | postgresql-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.sgml | 229 | ||||
-rw-r--r-- | doc/src/sgml/release-8.4.sgml | 285 | ||||
-rw-r--r-- | doc/src/sgml/release-9.0.sgml | 320 | ||||
-rw-r--r-- | doc/src/sgml/release-9.1.sgml | 490 |
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> |