diff --git a/doc/src/sgml/release-8.3.sgml b/doc/src/sgml/release-8.3.sgml index d3b163a4d3227baef26dee63b24a19eb135bce8a..082dc349bca09986150045e275522a7e7fb3d2b2 100644 --- a/doc/src/sgml/release-8.3.sgml +++ b/doc/src/sgml/release-8.3.sgml @@ -1,6 +1,302 @@ <!-- doc/src/sgml/release-8.3.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-8-3-22"> + <title>Release 8.3.22</title> + + <note> + <title>Release Date</title> + <simpara>2012-12-06</simpara> + </note> + + <para> + This release contains a variety of fixes from 8.3.21. + For information about new features in the 8.3 major release, see + <xref linkend="release-8-3">. + </para> + + <para> + The <productname>PostgreSQL</> community will stop releasing updates + for the 8.3.X release series in February 2013. + Users are encouraged to update to a newer release branch soon. + </para> + + <sect2> + <title>Migration to Version 8.3.22</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 multiple bugs associated with <command>CREATE INDEX + CONCURRENTLY</> (Andres Freund, Tom Lane) + </para> + + <para> + Fix <command>CREATE INDEX CONCURRENTLY</> to use + in-place updates when changing the state of an index's + <structname>pg_index</> row. This prevents race conditions that could + cause concurrent sessions to miss updating the target index, thus + resulting in corrupt concurrently-created indexes. + </para> + + <para> + Also, fix various other operations to ensure that they ignore + invalid indexes resulting from a failed <command>CREATE INDEX + CONCURRENTLY</> command. The most important of these is + <command>VACUUM</>, because an auto-vacuum could easily be launched + on the table before corrective action can be taken to fix or remove + the invalid index. + </para> + </listitem> + + <listitem> + <para> + Avoid corruption of internal hash tables when out of memory + (Hitoshi Harada) + </para> + </listitem> + + <listitem> + <para> + Fix planning of non-strict equivalence clauses above outer joins + (Tom Lane) + </para> + + <para> + The planner could derive incorrect constraints from a clause equating + a non-strict construct to something else, for example + <literal>WHERE COALESCE(foo, 0) = 0</> + when <literal>foo</> is coming from the nullable side of an outer join. + </para> + </listitem> + + <listitem> + <para> + Improve planner's ability to prove exclusion constraints from + equivalence classes (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix partial-row matching in hashed subplans to handle cross-type cases + correctly (Tom Lane) + </para> + + <para> + This affects multicolumn <literal>NOT IN</> subplans, such as + <literal>WHERE (a, b) NOT IN (SELECT x, y FROM ...)</> + when for instance <literal>b</> and <literal>y</> are <type>int4</> + and <type>int8</> respectively. This mistake led to wrong answers + or crashes depending on the specific datatypes involved. + </para> + </listitem> + + <listitem> + <para> + Acquire buffer lock when re-fetching the old tuple for an + <literal>AFTER ROW UPDATE/DELETE</> trigger (Andres Freund) + </para> + + <para> + In very unusual circumstances, this oversight could result in passing + incorrect data to the precheck logic for a foreign-key enforcement + trigger. That could result in a crash, or in an incorrect decision + about whether to fire the trigger. + </para> + </listitem> + + <listitem> + <para> + Fix <command>REASSIGN OWNED</> to handle grants on tablespaces + (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Ignore incorrect <structname>pg_attribute</> entries for system + columns for views (Tom Lane) + </para> + + <para> + Views do not have any system columns. However, we forgot to + remove such entries when converting a table to a view. That's fixed + properly for 9.3 and later, but in previous branches we need to defend + against existing mis-converted views. + </para> + </listitem> + + <listitem> + <para> + Fix rule printing to dump <literal>INSERT INTO <replaceable>table</> + DEFAULT VALUES</literal> correctly (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Guard against stack overflow when there are too many + <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</> clauses + in a query (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Prevent platform-dependent failures when dividing the minimum possible + integer value by -1 (Xi Wang, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible access past end of string in date parsing + (Hitoshi Harada) + </para> + </listitem> + + <listitem> + <para> + Produce an understandable error message if the length of the path name + for a Unix-domain socket exceeds the platform-specific limit + (Tom Lane, Andrew Dunstan) + </para> + + <para> + Formerly, this would result in something quite unhelpful, such as + <quote>Non-recoverable failure in name resolution</>. + </para> + </listitem> + + <listitem> + <para> + Fix memory leaks when sending composite column values to the client + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_ctl</> more robust about reading the + <filename>postmaster.pid</> file (Heikki Linnakangas) + </para> + + <para> + Fix race conditions and possible file descriptor leakage. + </para> + </listitem> + + <listitem> + <para> + Fix possible crash in <application>psql</> if incorrectly-encoded data + is presented and the <varname>client_encoding</> setting is a + client-only encoding, such as SJIS (Jiang Guiqing) + </para> + </listitem> + + <listitem> + <para> + Fix bugs in the <filename>restore.sql</> script emitted by + <application>pg_dump</> in <literal>tar</> output format (Tom Lane) + </para> + + <para> + The script would fail outright on tables whose names include + upper-case characters. Also, make the script capable of restoring + data in <option>--inserts</> mode as well as the regular COPY mode. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_restore</> to accept POSIX-conformant + <literal>tar</> files (Brian Weaver, Tom Lane) + </para> + + <para> + The original coding of <application>pg_dump</>'s <literal>tar</> + output mode produced files that are not fully conformant with the + POSIX standard. This has been corrected for version 9.3. This + patch updates previous branches so that they will accept both the + incorrect and the corrected formats, in hopes of avoiding + compatibility problems when 9.3 comes out. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_resetxlog</> to locate <filename>postmaster.pid</> + correctly when given a relative path to the data directory (Tom Lane) + </para> + + <para> + This mistake could lead to <application>pg_resetxlog</> not noticing + that there is an active postmaster using the data directory. + </para> + </listitem> + + <listitem> + <para> + Fix <application>libpq</>'s <function>lo_import()</> and + <function>lo_export()</> functions to report file I/O errors properly + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</>'s processing of nested structure pointer + variables (Muhammad Usama) + </para> + </listitem> + + <listitem> + <para> + Make <filename>contrib/pageinspect</>'s btree page inspection + functions take buffer locks while examining pages (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pgxs</> support for building loadable modules on AIX + (Tom Lane) + </para> + + <para> + Building modules outside the original source tree didn't work on AIX. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2012j + for DST law changes in Cuba, Israel, Jordan, Libya, Palestine, Western + Samoa, and portions of Brazil. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-8-3-21"> <title>Release 8.3.21</title> diff --git a/doc/src/sgml/release-8.4.sgml b/doc/src/sgml/release-8.4.sgml index 54f5c131af974d79ed69fd5c9f9ce51b938a7a78..f6a938c2ce687c2aac7f061e176bbdd7381e8e10 100644 --- a/doc/src/sgml/release-8.4.sgml +++ b/doc/src/sgml/release-8.4.sgml @@ -1,6 +1,308 @@ <!-- doc/src/sgml/release-8.4.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-8-4-15"> + <title>Release 8.4.15</title> + + <note> + <title>Release Date</title> + <simpara>2012-12-06</simpara> + </note> + + <para> + This release contains a variety of fixes from 8.4.14. + 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.15</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 multiple bugs associated with <command>CREATE INDEX + CONCURRENTLY</> (Andres Freund, Tom Lane) + </para> + + <para> + Fix <command>CREATE INDEX CONCURRENTLY</> to use + in-place updates when changing the state of an index's + <structname>pg_index</> row. This prevents race conditions that could + cause concurrent sessions to miss updating the target index, thus + resulting in corrupt concurrently-created indexes. + </para> + + <para> + Also, fix various other operations to ensure that they ignore + invalid indexes resulting from a failed <command>CREATE INDEX + CONCURRENTLY</> command. The most important of these is + <command>VACUUM</>, because an auto-vacuum could easily be launched + on the table before corrective action can be taken to fix or remove + the invalid index. + </para> + </listitem> + + <listitem> + <para> + Avoid corruption of internal hash tables when out of memory + (Hitoshi Harada) + </para> + </listitem> + + <listitem> + <para> + Fix planning of non-strict equivalence clauses above outer joins + (Tom Lane) + </para> + + <para> + The planner could derive incorrect constraints from a clause equating + a non-strict construct to something else, for example + <literal>WHERE COALESCE(foo, 0) = 0</> + when <literal>foo</> is coming from the nullable side of an outer join. + </para> + </listitem> + + <listitem> + <para> + Improve planner's ability to prove exclusion constraints from + equivalence classes (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix partial-row matching in hashed subplans to handle cross-type cases + correctly (Tom Lane) + </para> + + <para> + This affects multicolumn <literal>NOT IN</> subplans, such as + <literal>WHERE (a, b) NOT IN (SELECT x, y FROM ...)</> + when for instance <literal>b</> and <literal>y</> are <type>int4</> + and <type>int8</> respectively. This mistake led to wrong answers + or crashes depending on the specific datatypes involved. + </para> + </listitem> + + <listitem> + <para> + Acquire buffer lock when re-fetching the old tuple for an + <literal>AFTER ROW UPDATE/DELETE</> trigger (Andres Freund) + </para> + + <para> + In very unusual circumstances, this oversight could result in passing + incorrect data to the precheck logic for a foreign-key enforcement + trigger. That could result in a crash, or in an incorrect decision + about whether to fire the trigger. + </para> + </listitem> + + <listitem> + <para> + Fix <command>ALTER COLUMN TYPE</> to handle inherited check + constraints properly (Pavan Deolasee) + </para> + + <para> + This worked correctly in pre-8.4 releases, and now works correctly + in 8.4 and later. + </para> + </listitem> + + <listitem> + <para> + Fix <command>REASSIGN OWNED</> to handle grants on tablespaces + (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Ignore incorrect <structname>pg_attribute</> entries for system + columns for views (Tom Lane) + </para> + + <para> + Views do not have any system columns. However, we forgot to + remove such entries when converting a table to a view. That's fixed + properly for 9.3 and later, but in previous branches we need to defend + against existing mis-converted views. + </para> + </listitem> + + <listitem> + <para> + Fix rule printing to dump <literal>INSERT INTO <replaceable>table</> + DEFAULT VALUES</literal> correctly (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Guard against stack overflow when there are too many + <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</> clauses + in a query (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Prevent platform-dependent failures when dividing the minimum possible + integer value by -1 (Xi Wang, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible access past end of string in date parsing + (Hitoshi Harada) + </para> + </listitem> + + <listitem> + <para> + Produce an understandable error message if the length of the path name + for a Unix-domain socket exceeds the platform-specific limit + (Tom Lane, Andrew Dunstan) + </para> + + <para> + Formerly, this would result in something quite unhelpful, such as + <quote>Non-recoverable failure in name resolution</>. + </para> + </listitem> + + <listitem> + <para> + Fix memory leaks when sending composite column values to the client + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_ctl</> more robust about reading the + <filename>postmaster.pid</> file (Heikki Linnakangas) + </para> + + <para> + Fix race conditions and possible file descriptor leakage. + </para> + </listitem> + + <listitem> + <para> + Fix possible crash in <application>psql</> if incorrectly-encoded data + is presented and the <varname>client_encoding</> setting is a + client-only encoding, such as SJIS (Jiang Guiqing) + </para> + </listitem> + + <listitem> + <para> + Fix bugs in the <filename>restore.sql</> script emitted by + <application>pg_dump</> in <literal>tar</> output format (Tom Lane) + </para> + + <para> + The script would fail outright on tables whose names include + upper-case characters. Also, make the script capable of restoring + data in <option>--inserts</> mode as well as the regular COPY mode. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_restore</> to accept POSIX-conformant + <literal>tar</> files (Brian Weaver, Tom Lane) + </para> + + <para> + The original coding of <application>pg_dump</>'s <literal>tar</> + output mode produced files that are not fully conformant with the + POSIX standard. This has been corrected for version 9.3. This + patch updates previous branches so that they will accept both the + incorrect and the corrected formats, in hopes of avoiding + compatibility problems when 9.3 comes out. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_resetxlog</> to locate <filename>postmaster.pid</> + correctly when given a relative path to the data directory (Tom Lane) + </para> + + <para> + This mistake could lead to <application>pg_resetxlog</> not noticing + that there is an active postmaster using the data directory. + </para> + </listitem> + + <listitem> + <para> + Fix <application>libpq</>'s <function>lo_import()</> and + <function>lo_export()</> functions to report file I/O errors properly + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</>'s processing of nested structure pointer + variables (Muhammad Usama) + </para> + </listitem> + + <listitem> + <para> + Make <filename>contrib/pageinspect</>'s btree page inspection + functions take buffer locks while examining pages (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pgxs</> support for building loadable modules on AIX + (Tom Lane) + </para> + + <para> + Building modules outside the original source tree didn't work on AIX. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2012j + for DST law changes in Cuba, Israel, Jordan, Libya, Palestine, Western + Samoa, and portions of Brazil. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-8-4-14"> <title>Release 8.4.14</title> diff --git a/doc/src/sgml/release-9.0.sgml b/doc/src/sgml/release-9.0.sgml index af99af82bec39c980056e5f2b3920a36729d9a80..495738cd3cf42ecd402761f6c744284e94ca34cb 100644 --- a/doc/src/sgml/release-9.0.sgml +++ b/doc/src/sgml/release-9.0.sgml @@ -1,6 +1,384 @@ <!-- doc/src/sgml/release-9.0.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-0-11"> + <title>Release 9.0.11</title> + + <note> + <title>Release Date</title> + <simpara>2012-12-06</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.0.10. + 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.11</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 multiple bugs associated with <command>CREATE INDEX + CONCURRENTLY</> (Andres Freund, Tom Lane) + </para> + + <para> + Fix <command>CREATE INDEX CONCURRENTLY</> to use + in-place updates when changing the state of an index's + <structname>pg_index</> row. This prevents race conditions that could + cause concurrent sessions to miss updating the target index, thus + resulting in corrupt concurrently-created indexes. + </para> + + <para> + Also, fix various other operations to ensure that they ignore + invalid indexes resulting from a failed <command>CREATE INDEX + CONCURRENTLY</> command. The most important of these is + <command>VACUUM</>, because an auto-vacuum could easily be launched + on the table before corrective action can be taken to fix or remove + the invalid index. + </para> + </listitem> + + <listitem> + <para> + Fix buffer locking during WAL replay (Tom Lane) + </para> + + <para> + The WAL replay code was insufficiently careful about locking buffers + when replaying WAL records that affect more than one page. This could + result in hot standby queries transiently seeing inconsistent states, + resulting in wrong answers or unexpected failures. + </para> + </listitem> + + <listitem> + <para> + Fix an error in WAL generation logic for GIN indexes (Tom Lane) + </para> + + <para> + This could result in index corruption, if a torn-page failure occurred. + </para> + </listitem> + + <listitem> + <para> + Properly remove startup process's virtual XID lock when promoting a + hot standby server to normal running (Simon Riggs) + </para> + + <para> + This oversight could prevent subsequent execution of certain + operations such as <command>CREATE INDEX CONCURRENTLY</>. + </para> + </listitem> + + <listitem> + <para> + Avoid bogus <quote>out-of-sequence timeline ID</> errors in standby + mode (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Prevent the postmaster from launching new child processes after it's + received a shutdown signal (Tom Lane) + </para> + + <para> + This mistake could result in shutdown taking longer than it should, or + even never completing at all without additional user action. + </para> + </listitem> + + <listitem> + <para> + Avoid corruption of internal hash tables when out of memory + (Hitoshi Harada) + </para> + </listitem> + + <listitem> + <para> + Fix planning of non-strict equivalence clauses above outer joins + (Tom Lane) + </para> + + <para> + The planner could derive incorrect constraints from a clause equating + a non-strict construct to something else, for example + <literal>WHERE COALESCE(foo, 0) = 0</> + when <literal>foo</> is coming from the nullable side of an outer join. + </para> + </listitem> + + <listitem> + <para> + Improve planner's ability to prove exclusion constraints from + equivalence classes (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix partial-row matching in hashed subplans to handle cross-type cases + correctly (Tom Lane) + </para> + + <para> + This affects multicolumn <literal>NOT IN</> subplans, such as + <literal>WHERE (a, b) NOT IN (SELECT x, y FROM ...)</> + when for instance <literal>b</> and <literal>y</> are <type>int4</> + and <type>int8</> respectively. This mistake led to wrong answers + or crashes depending on the specific datatypes involved. + </para> + </listitem> + + <listitem> + <para> + Acquire buffer lock when re-fetching the old tuple for an + <literal>AFTER ROW UPDATE/DELETE</> trigger (Andres Freund) + </para> + + <para> + In very unusual circumstances, this oversight could result in passing + incorrect data to the precheck logic for a foreign-key enforcement + trigger. That could result in a crash, or in an incorrect decision + about whether to fire the trigger. + </para> + </listitem> + + <listitem> + <para> + Fix <command>ALTER COLUMN TYPE</> to handle inherited check + constraints properly (Pavan Deolasee) + </para> + + <para> + This worked correctly in pre-8.4 releases, and now works correctly + in 8.4 and later. + </para> + </listitem> + + <listitem> + <para> + Fix <command>REASSIGN OWNED</> to handle grants on tablespaces + (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Ignore incorrect <structname>pg_attribute</> entries for system + columns for views (Tom Lane) + </para> + + <para> + Views do not have any system columns. However, we forgot to + remove such entries when converting a table to a view. That's fixed + properly for 9.3 and later, but in previous branches we need to defend + against existing mis-converted views. + </para> + </listitem> + + <listitem> + <para> + Fix rule printing to dump <literal>INSERT INTO <replaceable>table</> + DEFAULT VALUES</literal> correctly (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Guard against stack overflow when there are too many + <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</> clauses + in a query (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Prevent platform-dependent failures when dividing the minimum possible + integer value by -1 (Xi Wang, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible access past end of string in date parsing + (Hitoshi Harada) + </para> + </listitem> + + <listitem> + <para> + Fix failure to advance XID epoch if XID wraparound happens during a + checkpoint and <varname>wal_level</> is <literal>hot_standby</> + (Tom Lane, Andres Freund) + </para> + + <para> + While this mistake had no particular impact on + <productname>PostgreSQL</productname> itself, it was bad for + applications that rely on <function>txid_current()</> and related + functions: the TXID value would appear to go backwards. + </para> + </listitem> + + <listitem> + <para> + Produce an understandable error message if the length of the path name + for a Unix-domain socket exceeds the platform-specific limit + (Tom Lane, Andrew Dunstan) + </para> + + <para> + Formerly, this would result in something quite unhelpful, such as + <quote>Non-recoverable failure in name resolution</>. + </para> + </listitem> + + <listitem> + <para> + Fix memory leaks when sending composite column values to the client + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_ctl</> more robust about reading the + <filename>postmaster.pid</> file (Heikki Linnakangas) + </para> + + <para> + Fix race conditions and possible file descriptor leakage. + </para> + </listitem> + + <listitem> + <para> + Fix possible crash in <application>psql</> if incorrectly-encoded data + is presented and the <varname>client_encoding</> setting is a + client-only encoding, such as SJIS (Jiang Guiqing) + </para> + </listitem> + + <listitem> + <para> + Fix bugs in the <filename>restore.sql</> script emitted by + <application>pg_dump</> in <literal>tar</> output format (Tom Lane) + </para> + + <para> + The script would fail outright on tables whose names include + upper-case characters. Also, make the script capable of restoring + data in <option>--inserts</> mode as well as the regular COPY mode. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_restore</> to accept POSIX-conformant + <literal>tar</> files (Brian Weaver, Tom Lane) + </para> + + <para> + The original coding of <application>pg_dump</>'s <literal>tar</> + output mode produced files that are not fully conformant with the + POSIX standard. This has been corrected for version 9.3. This + patch updates previous branches so that they will accept both the + incorrect and the corrected formats, in hopes of avoiding + compatibility problems when 9.3 comes out. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_resetxlog</> to locate <filename>postmaster.pid</> + correctly when given a relative path to the data directory (Tom Lane) + </para> + + <para> + This mistake could lead to <application>pg_resetxlog</> not noticing + that there is an active postmaster using the data directory. + </para> + </listitem> + + <listitem> + <para> + Fix <application>libpq</>'s <function>lo_import()</> and + <function>lo_export()</> functions to report file I/O errors properly + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</>'s processing of nested structure pointer + variables (Muhammad Usama) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</>'s <function>ecpg_get_data</> function to + handle arrays properly (Michael Meskes) + </para> + </listitem> + + <listitem> + <para> + Make <filename>contrib/pageinspect</>'s btree page inspection + functions take buffer locks while examining pages (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pgxs</> support for building loadable modules on AIX + (Tom Lane) + </para> + + <para> + Building modules outside the original source tree didn't work on AIX. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2012j + for DST law changes in Cuba, Israel, Jordan, Libya, Palestine, Western + Samoa, and portions of Brazil. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-0-10"> <title>Release 9.0.10</title> diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index 5fbdd7a19521578c512fe5cefee8573bf42a153c..1143fdfdcd09fc71164d4ef654807b1134b9e945 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -1,6 +1,469 @@ <!-- doc/src/sgml/release-9.1.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-1-7"> + <title>Release 9.1.7</title> + + <note> + <title>Release Date</title> + <simpara>2012-12-06</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.1.6. + 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.7</title> + + <para> + A dump/restore is not required for those running 9.1.X. + </para> + + <para> + However, if you are upgrading from a version earlier than 9.1.6, + see the release notes for 9.1.6. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix multiple bugs associated with <command>CREATE INDEX + CONCURRENTLY</> (Andres Freund, Tom Lane) + </para> + + <para> + Fix <command>CREATE INDEX CONCURRENTLY</> to use + in-place updates when changing the state of an index's + <structname>pg_index</> row. This prevents race conditions that could + cause concurrent sessions to miss updating the target index, thus + resulting in corrupt concurrently-created indexes. + </para> + + <para> + Also, fix various other operations to ensure that they ignore + invalid indexes resulting from a failed <command>CREATE INDEX + CONCURRENTLY</> command. The most important of these is + <command>VACUUM</>, because an auto-vacuum could easily be launched + on the table before corrective action can be taken to fix or remove + the invalid index. + </para> + </listitem> + + <listitem> + <para> + Fix buffer locking during WAL replay (Tom Lane) + </para> + + <para> + The WAL replay code was insufficiently careful about locking buffers + when replaying WAL records that affect more than one page. This could + result in hot standby queries transiently seeing inconsistent states, + resulting in wrong answers or unexpected failures. + </para> + </listitem> + + <listitem> + <para> + Fix an error in WAL generation logic for GIN indexes (Tom Lane) + </para> + + <para> + This could result in index corruption, if a torn-page failure occurred. + </para> + </listitem> + + <listitem> + <para> + Properly remove startup process's virtual XID lock when promoting a + hot standby server to normal running (Simon Riggs) + </para> + + <para> + This oversight could prevent subsequent execution of certain + operations such as <command>CREATE INDEX CONCURRENTLY</>. + </para> + </listitem> + + <listitem> + <para> + Avoid bogus <quote>out-of-sequence timeline ID</> errors in standby + mode (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Prevent the postmaster from launching new child processes after it's + received a shutdown signal (Tom Lane) + </para> + + <para> + This mistake could result in shutdown taking longer than it should, or + even never completing at all without additional user action. + </para> + </listitem> + + <listitem> + <para> + Avoid corruption of internal hash tables when out of memory + (Hitoshi Harada) + </para> + </listitem> + + <listitem> + <para> + Prevent file descriptors for dropped tables from being held open past + transaction end (Tom Lane) + </para> + + <para> + This should reduce problems with long-since-dropped tables continuing + to occupy disk space. + </para> + </listitem> + + <listitem> + <para> + Prevent database-wide crash and restart when a new child process is + unable to create a pipe for its latch (Tom Lane) + </para> + + <para> + Although the new process must fail, there is no good reason to force a + database-wide restart, so avoid that. This improves robustness when + the kernel is nearly out of file descriptors. + </para> + </listitem> + + <listitem> + <para> + Fix planning of non-strict equivalence clauses above outer joins + (Tom Lane) + </para> + + <para> + The planner could derive incorrect constraints from a clause equating + a non-strict construct to something else, for example + <literal>WHERE COALESCE(foo, 0) = 0</> + when <literal>foo</> is coming from the nullable side of an outer join. + </para> + </listitem> + + <listitem> + <para> + Fix <command>SELECT DISTINCT</> with index-optimized + <function>MIN</>/<function>MAX</> on an inheritance tree (Tom Lane) + </para> + + <para> + The planner would fail with <quote>failed to re-find MinMaxAggInfo + record</> given this combination of factors. + </para> + </listitem> + + <listitem> + <para> + Improve planner's ability to prove exclusion constraints from + equivalence classes (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix partial-row matching in hashed subplans to handle cross-type cases + correctly (Tom Lane) + </para> + + <para> + This affects multicolumn <literal>NOT IN</> subplans, such as + <literal>WHERE (a, b) NOT IN (SELECT x, y FROM ...)</> + when for instance <literal>b</> and <literal>y</> are <type>int4</> + and <type>int8</> respectively. This mistake led to wrong answers + or crashes depending on the specific datatypes involved. + </para> + </listitem> + + <listitem> + <para> + Acquire buffer lock when re-fetching the old tuple for an + <literal>AFTER ROW UPDATE/DELETE</> trigger (Andres Freund) + </para> + + <para> + In very unusual circumstances, this oversight could result in passing + incorrect data to a trigger <literal>WHEN</> condition, or to the + precheck logic for a foreign-key enforcement trigger. That could + result in a crash, or in an incorrect decision about whether to + fire the trigger. + </para> + </listitem> + + <listitem> + <para> + Fix <command>ALTER COLUMN TYPE</> to handle inherited check + constraints properly (Pavan Deolasee) + </para> + + <para> + This worked correctly in pre-8.4 releases, and now works correctly + in 8.4 and later. + </para> + </listitem> + + <listitem> + <para> + Fix <command>ALTER EXTENSION SET SCHEMA</>'s failure to move some + subsidiary objects into the new schema (Álvaro Herrera, Dimitri + Fontaine) + </para> + </listitem> + + <listitem> + <para> + Fix <command>REASSIGN OWNED</> to handle grants on tablespaces + (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Ignore incorrect <structname>pg_attribute</> entries for system + columns for views (Tom Lane) + </para> + + <para> + Views do not have any system columns. However, we forgot to + remove such entries when converting a table to a view. That's fixed + properly for 9.3 and later, but in previous branches we need to defend + against existing mis-converted views. + </para> + </listitem> + + <listitem> + <para> + Fix rule printing to dump <literal>INSERT INTO <replaceable>table</> + DEFAULT VALUES</literal> correctly (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Guard against stack overflow when there are too many + <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</> clauses + in a query (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Prevent platform-dependent failures when dividing the minimum possible + integer value by -1 (Xi Wang, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible access past end of string in date parsing + (Hitoshi Harada) + </para> + </listitem> + + <listitem> + <para> + Fix failure to advance XID epoch if XID wraparound happens during a + checkpoint and <varname>wal_level</> is <literal>hot_standby</> + (Tom Lane, Andres Freund) + </para> + + <para> + While this mistake had no particular impact on + <productname>PostgreSQL</productname> itself, it was bad for + applications that rely on <function>txid_current()</> and related + functions: the TXID value would appear to go backwards. + </para> + </listitem> + + <listitem> + <para> + Fix display of + <structname>pg_stat_replication</>.<structfield>sync_state</> at a + page boundary (Kyotaro Horiguchi) + </para> + </listitem> + + <listitem> + <para> + Produce an understandable error message if the length of the path name + for a Unix-domain socket exceeds the platform-specific limit + (Tom Lane, Andrew Dunstan) + </para> + + <para> + Formerly, this would result in something quite unhelpful, such as + <quote>Non-recoverable failure in name resolution</>. + </para> + </listitem> + + <listitem> + <para> + Fix memory leaks when sending composite column values to the client + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_ctl</> more robust about reading the + <filename>postmaster.pid</> file (Heikki Linnakangas) + </para> + + <para> + Fix race conditions and possible file descriptor leakage. + </para> + </listitem> + + <listitem> + <para> + Fix possible crash in <application>psql</> if incorrectly-encoded data + is presented and the <varname>client_encoding</> setting is a + client-only encoding, such as SJIS (Jiang Guiqing) + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_dump</> dump <literal>SEQUENCE SET</> items in + the data not pre-data section of the archive (Tom Lane) + </para> + + <para> + This change fixes dumping of sequences that are marked as extension + configuration tables. + </para> + </listitem> + + <listitem> + <para> + Fix bugs in the <filename>restore.sql</> script emitted by + <application>pg_dump</> in <literal>tar</> output format (Tom Lane) + </para> + + <para> + The script would fail outright on tables whose names include + upper-case characters. Also, make the script capable of restoring + data in <option>--inserts</> mode as well as the regular COPY mode. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_restore</> to accept POSIX-conformant + <literal>tar</> files (Brian Weaver, Tom Lane) + </para> + + <para> + The original coding of <application>pg_dump</>'s <literal>tar</> + output mode produced files that are not fully conformant with the + POSIX standard. This has been corrected for version 9.3. This + patch updates previous branches so that they will accept both the + incorrect and the corrected formats, in hopes of avoiding + compatibility problems when 9.3 comes out. + </para> + </listitem> + + <listitem> + <para> + Fix <literal>tar</> files emitted by <application>pg_basebackup</> to + be POSIX conformant (Brian Weaver, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_resetxlog</> to locate <filename>postmaster.pid</> + correctly when given a relative path to the data directory (Tom Lane) + </para> + + <para> + This mistake could lead to <application>pg_resetxlog</> not noticing + that there is an active postmaster using the data directory. + </para> + </listitem> + + <listitem> + <para> + Fix <application>libpq</>'s <function>lo_import()</> and + <function>lo_export()</> functions to report file I/O errors properly + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</>'s processing of nested structure pointer + variables (Muhammad Usama) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</>'s <function>ecpg_get_data</> function to + handle arrays properly (Michael Meskes) + </para> + </listitem> + + <listitem> + <para> + Make <filename>contrib/pageinspect</>'s btree page inspection + functions take buffer locks while examining pages (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Ensure that <literal>make install</> for an extension creates the + <filename>extension</> installation directory (Cédric Villemain) + </para> + + <para> + Previously, this step was missed if <varname>MODULEDIR</> was set in + the extension's Makefile. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pgxs</> support for building loadable modules on AIX + (Tom Lane) + </para> + + <para> + Building modules outside the original source tree didn't work on AIX. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2012j + for DST law changes in Cuba, Israel, Jordan, Libya, Palestine, Western + Samoa, and portions of Brazil. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-1-6"> <title>Release 9.1.6</title> @@ -146,7 +609,7 @@ <listitem> <para> Disallow extensions from containing the schema they are assigned to - (Thom Brown) + (Thom Brown) </para> <para> diff --git a/doc/src/sgml/release-9.2.sgml b/doc/src/sgml/release-9.2.sgml index c641606fd52010611d292bba95ebc81fcff1df71..5f4f4baff3e9f13b03c53b1a19b323ea44a5fd73 100644 --- a/doc/src/sgml/release-9.2.sgml +++ b/doc/src/sgml/release-9.2.sgml @@ -1,6 +1,730 @@ <!-- doc/src/sgml/release-9.2.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-2-2"> + <title>Release 9.2.2</title> + + <note> + <title>Release Date</title> + <simpara>2012-12-06</simpara> + </note> + + <para> + This release contains a variety of fixes from 9.2.1. + For information about new features in the 9.2 major release, see + <xref linkend="release-9-2">. + </para> + + <sect2> + <title>Migration to Version 9.2.2</title> + + <para> + A dump/restore is not required for those running 9.2.X. + </para> + + <para> + However, you may need to perform <command>REINDEX</> operations to + correct problems in concurrently-built indexes, as described in the first + changelog item below. + </para> + + <para> + Also, if you are upgrading from version 9.2.0, + see the release notes for 9.2.1. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix multiple bugs associated with <command>CREATE/DROP INDEX + CONCURRENTLY</> (Andres Freund, Tom Lane, Simon Riggs, Pavan Deolasee) + </para> + + <para> + An error introduced while adding <command>DROP INDEX CONCURRENTLY</> + allowed incorrect indexing decisions to be made during the initial + phase of <command>CREATE INDEX CONCURRENTLY</>; so that indexes built + by that command could be corrupt. It is recommended that indexes + built in 9.2.X with <command>CREATE INDEX CONCURRENTLY</> be rebuilt + after applying this update. + </para> + + <para> + In addition, fix <command>CREATE/DROP INDEX CONCURRENTLY</> to use + in-place updates when changing the state of an index's + <structname>pg_index</> row. This prevents race conditions that could + cause concurrent sessions to miss updating the target index, thus + again resulting in corrupt concurrently-created indexes. + </para> + + <para> + Also, fix various other operations to ensure that they ignore + invalid indexes resulting from a failed <command>CREATE INDEX + CONCURRENTLY</> command. The most important of these is + <command>VACUUM</>, because an auto-vacuum could easily be launched + on the table before corrective action can be taken to fix or remove + the invalid index. + </para> + + <para> + Also fix <command>DROP INDEX CONCURRENTLY</> to not disable + insertions into the target index until all queries using it are done. + </para> + + <para> + Also fix misbehavior if <command>DROP INDEX CONCURRENTLY</> is + canceled: the previous coding could leave an un-droppable index behind. + </para> + </listitem> + + <listitem> + <para> + Correct predicate locking for <command>DROP INDEX CONCURRENTLY</> + (Kevin Grittner) + </para> + + <para> + Previously, SSI predicate locks were processed at the wrong time, + possibly leading to incorrect behavior of serializable transactions + executing in parallel with the <command>DROP</>. + </para> + </listitem> + + <listitem> + <para> + Fix buffer locking during WAL replay (Tom Lane) + </para> + + <para> + The WAL replay code was insufficiently careful about locking buffers + when replaying WAL records that affect more than one page. This could + result in hot standby queries transiently seeing inconsistent states, + resulting in wrong answers or unexpected failures. + </para> + </listitem> + + <listitem> + <para> + Fix an error in WAL generation logic for GIN indexes (Tom Lane) + </para> + + <para> + This could result in index corruption, if a torn-page failure occurred. + </para> + </listitem> + + <listitem> + <para> + Fix an error in WAL replay logic for SP-GiST indexes (Tom Lane) + </para> + + <para> + This could result in index corruption after a crash, or on a standby + server. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect detection of end-of-base-backup location during WAL + recovery (Heikki Linnakangas) + </para> + + <para> + This mistake allowed hot standby mode to start up before the database + reaches a consistent state. + </para> + </listitem> + + <listitem> + <para> + Properly remove startup process's virtual XID lock when promoting a + hot standby server to normal running (Simon Riggs) + </para> + + <para> + This oversight could prevent subsequent execution of certain + operations such as <command>CREATE INDEX CONCURRENTLY</>. + </para> + </listitem> + + <listitem> + <para> + Avoid bogus <quote>out-of-sequence timeline ID</> errors in standby + mode (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Prevent the postmaster from launching new child processes after it's + received a shutdown signal (Tom Lane) + </para> + + <para> + This mistake could result in shutdown taking longer than it should, or + even never completing at all without additional user action. + </para> + </listitem> + + <listitem> + <para> + Fix the syslogger process to not fail when + <varname>log_rotation_age</> exceeds 2^31 milliseconds (about 25 days) + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <function>WaitLatch()</> to return promptly when the requested + timeout expires (Jeff Janes, Tom Lane) + </para> + + <para> + With the previous coding, a steady stream of non-wait-terminating + interrupts could delay return from <function>WaitLatch()</> + indefinitely. This has been shown to be a problem for the autovacuum + launcher process, and might cause trouble elsewhere as well. + </para> + </listitem> + + <listitem> + <para> + Avoid corruption of internal hash tables when out of memory + (Hitoshi Harada) + </para> + </listitem> + + <listitem> + <para> + Prevent file descriptors for dropped tables from being held open past + transaction end (Tom Lane) + </para> + + <para> + This should reduce problems with long-since-dropped tables continuing + to occupy disk space. + </para> + </listitem> + + <listitem> + <para> + Prevent database-wide crash and restart when a new child process is + unable to create a pipe for its latch (Tom Lane) + </para> + + <para> + Although the new process must fail, there is no good reason to force a + database-wide restart, so avoid that. This improves robustness when + the kernel is nearly out of file descriptors. + </para> + </listitem> + + <listitem> + <para> + Avoid planner crash with joins to unflattened subqueries (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix planning of non-strict equivalence clauses above outer joins + (Tom Lane) + </para> + + <para> + The planner could derive incorrect constraints from a clause equating + a non-strict construct to something else, for example + <literal>WHERE COALESCE(foo, 0) = 0</> + when <literal>foo</> is coming from the nullable side of an outer join. + 9.2 showed this type of error in more cases than previous releases, + but the basic bug has been there for a long time. + </para> + </listitem> + + <listitem> + <para> + Fix <command>SELECT DISTINCT</> with index-optimized + <function>MIN</>/<function>MAX</> on an inheritance tree (Tom Lane) + </para> + + <para> + The planner would fail with <quote>failed to re-find MinMaxAggInfo + record</> given this combination of factors. + </para> + </listitem> + + <listitem> + <para> + Make sure the planner sees implicit and explicit casts as equivalent + for all purposes, except in the minority of cases where there's + actually a semantic difference (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Include join clauses when considering whether partial indexes can be + used for a query (Tom Lane) + </para> + + <para> + A strict join clause can be sufficient to establish an + <replaceable>x</> <literal>IS NOT NULL</> predicate, for example. + This fixes a planner regression in 9.2, since previous versions could + make comparable deductions. + </para> + </listitem> + + <listitem> + <para> + Limit growth of planning time when there are many indexable join + clauses for the same index (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Improve planner's ability to prove exclusion constraints from + equivalence classes (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix partial-row matching in hashed subplans to handle cross-type cases + correctly (Tom Lane) + </para> + + <para> + This affects multicolumn <literal>NOT IN</> subplans, such as + <literal>WHERE (a, b) NOT IN (SELECT x, y FROM ...)</> + when for instance <literal>b</> and <literal>y</> are <type>int4</> + and <type>int8</> respectively. This mistake led to wrong answers + or crashes depending on the specific datatypes involved. + </para> + </listitem> + + <listitem> + <para> + Fix btree mark/restore functions to handle array keys (Tom Lane) + </para> + + <para> + This oversight could result in wrong answers from merge joins whose + inner side is an index scan using an + <literal><replaceable>indexed_column</> = + ANY(<replaceable>array</>)</literal> condition. + </para> + </listitem> + + <listitem> + <para> + Revert patch for taking fewer snapshots (Tom Lane) + </para> + + <para> + The 9.2 change to reduce the number of snapshots taken during query + execution led to some anomalous behaviors not seen in previous + releases, because execution would proceed with a snapshot acquired + before locking the tables used by the query. Thus, for example, + a query would not be guaranteed to see updates committed by a + preceding transaction even if that transaction had exclusive lock. + We'll probably revisit this in future releases, but meanwhile put it + back the way it was before 9.2. + </para> + </listitem> + + <listitem> + <para> + Acquire buffer lock when re-fetching the old tuple for an + <literal>AFTER ROW UPDATE/DELETE</> trigger (Andres Freund) + </para> + + <para> + In very unusual circumstances, this oversight could result in passing + incorrect data to a trigger <literal>WHEN</> condition, or to the + precheck logic for a foreign-key enforcement trigger. That could + result in a crash, or in an incorrect decision about whether to + fire the trigger. + </para> + </listitem> + + <listitem> + <para> + Fix <command>ALTER COLUMN TYPE</> to handle inherited check + constraints properly (Pavan Deolasee) + </para> + + <para> + This worked correctly in pre-8.4 releases, and now works correctly + in 8.4 and later. + </para> + </listitem> + + <listitem> + <para> + Fix <command>ALTER EXTENSION SET SCHEMA</>'s failure to move some + subsidiary objects into the new schema (Álvaro Herrera, Dimitri + Fontaine) + </para> + </listitem> + + <listitem> + <para> + Handle <command>CREATE TABLE AS EXECUTE</> correctly in extended query + protocol (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Don't modify the input parse tree in <command>DROP RULE IF NOT + EXISTS</> and <command>DROP TRIGGER IF NOT EXISTS</> (Tom Lane) + </para> + + <para> + This mistake would cause errors if a cached statement of one of these + types was re-executed. + </para> + </listitem> + + <listitem> + <para> + Fix <command>REASSIGN OWNED</> to handle grants on tablespaces + (Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Ignore incorrect <structname>pg_attribute</> entries for system + columns for views (Tom Lane) + </para> + + <para> + Views do not have any system columns. However, we forgot to + remove such entries when converting a table to a view. That's fixed + properly for 9.3 and later, but in previous branches we need to defend + against existing mis-converted views. + </para> + </listitem> + + <listitem> + <para> + Fix rule printing to dump <literal>INSERT INTO <replaceable>table</> + DEFAULT VALUES</literal> correctly (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Guard against stack overflow when there are too many + <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</> clauses + in a query (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Prevent platform-dependent failures when dividing the minimum possible + integer value by -1 (Xi Wang, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible access past end of string in date parsing + (Hitoshi Harada) + </para> + </listitem> + + <listitem> + <para> + Fix failure to advance XID epoch if XID wraparound happens during a + checkpoint and <varname>wal_level</> is <literal>hot_standby</> + (Tom Lane, Andres Freund) + </para> + + <para> + While this mistake had no particular impact on + <productname>PostgreSQL</productname> itself, it was bad for + applications that rely on <function>txid_current()</> and related + functions: the TXID value would appear to go backwards. + </para> + </listitem> + + <listitem> + <para> + Fix <function>pg_terminate_backend()</> and + <function>pg_cancel_backend()</> to not throw error for a non-existent + target process (Josh Kupershmidt) + </para> + + <para> + This case already worked as intended when called by a superuser, + but not so much when called by ordinary users. + </para> + </listitem> + + <listitem> + <para> + Fix display of + <structname>pg_stat_replication</>.<structfield>sync_state</> at a + page boundary (Kyotaro Horiguchi) + </para> + </listitem> + + <listitem> + <para> + Produce an understandable error message if the length of the path name + for a Unix-domain socket exceeds the platform-specific limit + (Tom Lane, Andrew Dunstan) + </para> + + <para> + Formerly, this would result in something quite unhelpful, such as + <quote>Non-recoverable failure in name resolution</>. + </para> + </listitem> + + <listitem> + <para> + Fix memory leaks when sending composite column values to the client + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Save some cycles by not searching for subtransaction locks at commit + (Simon Riggs) + </para> + + <para> + In a transaction holding many exclusive locks, this useless activity + could be quite costly. + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_ctl</> more robust about reading the + <filename>postmaster.pid</> file (Heikki Linnakangas) + </para> + + <para> + This fixes race conditions and possible file descriptor leakage. + </para> + </listitem> + + <listitem> + <para> + Fix possible crash in <application>psql</> if incorrectly-encoded data + is presented and the <varname>client_encoding</> setting is a + client-only encoding, such as SJIS (Jiang Guiqing) + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_dump</> dump <literal>SEQUENCE SET</> items in + the data not pre-data section of the archive (Tom Lane) + </para> + + <para> + This fixes an undesirable inconsistency between the meanings of + <option>--data-only</> and <option>--section=data</>, and also fixes + dumping of sequences that are marked as extension configuration tables. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</>'s handling of <command>DROP DATABASE</> + commands in <option>--clean</> mode (Guillaume Lelarge) + </para> + + <para> + Beginning in 9.2.0, <literal>pg_dump --clean</> would issue a + <command>DROP DATABASE</> command, which was either useless or + dangerous depending on the usage scenario. It no longer does that. + This change also fixes the combination of <option>--clean</> and + <option>--create</> to work sensibly, i.e., emit <command>DROP + DATABASE</> then <command>CREATE DATABASE</> before reconnecting to the + target database. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</> for views with circular dependencies and + no relation options (Tom Lane) + </para> + + <para> + The previous fix to dump relation options when a view is + involved in a circular dependency didn't work right for the case + that the view has no options; it emitted <literal>ALTER VIEW foo + SET ()</> which is invalid syntax. + </para> + </listitem> + + <listitem> + <para> + Fix bugs in the <filename>restore.sql</> script emitted by + <application>pg_dump</> in <literal>tar</> output format (Tom Lane) + </para> + + <para> + The script would fail outright on tables whose names include + upper-case characters. Also, make the script capable of restoring + data in <option>--inserts</> mode as well as the regular COPY mode. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_restore</> to accept POSIX-conformant + <literal>tar</> files (Brian Weaver, Tom Lane) + </para> + + <para> + The original coding of <application>pg_dump</>'s <literal>tar</> + output mode produced files that are not fully conformant with the + POSIX standard. This has been corrected for version 9.3. This + patch updates previous branches so that they will accept both the + incorrect and the corrected formats, in hopes of avoiding + compatibility problems when 9.3 comes out. + </para> + </listitem> + + <listitem> + <para> + Fix <literal>tar</> files emitted by <application>pg_basebackup</> to + be POSIX conformant (Brian Weaver, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_resetxlog</> to locate <filename>postmaster.pid</> + correctly when given a relative path to the data directory (Tom Lane) + </para> + + <para> + This mistake could lead to <application>pg_resetxlog</> not noticing + that there is an active postmaster using the data directory. + </para> + </listitem> + + <listitem> + <para> + Fix <application>libpq</>'s <function>lo_import()</> and + <function>lo_export()</> functions to report file I/O errors properly + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</>'s processing of nested structure pointer + variables (Muhammad Usama) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</>'s <function>ecpg_get_data</> function to + handle arrays properly (Michael Meskes) + </para> + </listitem> + + <listitem> + <para> + Prevent <application>pg_upgrade</> from trying to process TOAST tables + for system catalogs (Bruce Momjian) + </para> + + <para> + This fixes an error seen when the <literal>information_schema</> has + been dropped and recreated. Other failures were also possible. + </para> + </listitem> + + <listitem> + <para> + Improve <application>pg_upgrade</> performance by setting + <varname>synchronous_commit</> to <literal>off</> in the new cluster + (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + Make <filename>contrib/pageinspect</>'s btree page inspection + functions take buffer locks while examining pages (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Work around unportable behavior of <literal>malloc(0)</> and + <literal>realloc(NULL, 0)</> (Tom Lane) + </para> + + <para> + On platforms where these calls return <literal>NULL</>, some code + mistakenly thought that meant out-of-memory. + This is known to have broken <application>pg_dump</> for databases + containing no user-defined aggregates. There might be other cases + as well. + </para> + </listitem> + + <listitem> + <para> + Ensure that <literal>make install</> for an extension creates the + <filename>extension</> installation directory (Cédric Villemain) + </para> + + <para> + Previously, this step was missed if <varname>MODULEDIR</> was set in + the extension's Makefile. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pgxs</> support for building loadable modules on AIX + (Tom Lane) + </para> + + <para> + Building modules outside the original source tree didn't work on AIX. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</> release 2012j + for DST law changes in Cuba, Israel, Jordan, Libya, Palestine, Western + Samoa, and portions of Brazil. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-2-1"> <title>Release 9.2.1</title>