diff --git a/doc/src/sgml/release-9.0.sgml b/doc/src/sgml/release-9.0.sgml index 80cd1c43cdcc4c944d29a9eb9a1e064c9711c647..736b6dda637514d9b13b93f3d86f13c117efeb2b 100644 --- a/doc/src/sgml/release-9.0.sgml +++ b/doc/src/sgml/release-9.0.sgml @@ -1,6 +1,80 @@ <!-- doc/src/sgml/release-9.0.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-0-22"> + <title>Release 9.0.22</title> + + <note> + <title>Release Date</title> + <simpara>2015-06-12</simpara> + </note> + + <para> + This release contains a small number of fixes from 9.0.21. + For information about new features in the 9.0 major release, see + <xref linkend="release-9-0">. + </para> + + <para> + The <productname>PostgreSQL</> community will stop releasing updates + for the 9.0.X release series in September 2015. + Users are encouraged to update to a newer release branch soon. + </para> + + <sect2> + <title>Migration to Version 9.0.22</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.18, + see <xref linkend="release-9-0-18">. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix rare failure to invalidate relation cache init file (Tom Lane) + </para> + + <para> + With just the wrong timing of concurrent activity, a <command>VACUUM + FULL</> on a system catalog might fail to update the <quote>init file</> + that's used to avoid cache-loading work for new sessions. This would + result in later sessions being unable to access that catalog at all. + This is a very ancient bug, but it's so hard to trigger that no + reproducible case had been seen until recently. + </para> + </listitem> + + <listitem> + <para> + Avoid deadlock between incoming sessions and <literal>CREATE/DROP + DATABASE</> (Tom Lane) + </para> + + <para> + A new session starting in a database that is the target of + a <command>DROP DATABASE</> command, or is the template for + a <command>CREATE DATABASE</> command, could cause the command to wait + for five seconds and then fail, even if the new session would have + exited before that. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-0-21"> <title>Release 9.0.21</title> diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index 8306cfab0394444ee02ceb5c535ba1bd7d013f54..a97ec57276f9cccad478c9e0cbd7af33bc015ee2 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -1,6 +1,74 @@ <!-- doc/src/sgml/release-9.1.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-1-18"> + <title>Release 9.1.18</title> + + <note> + <title>Release Date</title> + <simpara>2015-06-12</simpara> + </note> + + <para> + This release contains a small number of fixes from 9.1.17. + 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.18</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.16, + see <xref linkend="release-9-1-16">. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix rare failure to invalidate relation cache init file (Tom Lane) + </para> + + <para> + With just the wrong timing of concurrent activity, a <command>VACUUM + FULL</> on a system catalog might fail to update the <quote>init file</> + that's used to avoid cache-loading work for new sessions. This would + result in later sessions being unable to access that catalog at all. + This is a very ancient bug, but it's so hard to trigger that no + reproducible case had been seen until recently. + </para> + </listitem> + + <listitem> + <para> + Avoid deadlock between incoming sessions and <literal>CREATE/DROP + DATABASE</> (Tom Lane) + </para> + + <para> + A new session starting in a database that is the target of + a <command>DROP DATABASE</> command, or is the template for + a <command>CREATE DATABASE</> command, could cause the command to wait + for five seconds and then fail, even if the new session would have + exited before that. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-1-17"> <title>Release 9.1.17</title> diff --git a/doc/src/sgml/release-9.2.sgml b/doc/src/sgml/release-9.2.sgml index ef4ce98e5385c4a553d923ffd623c7616f04487e..d91328e7c1efd1bc752ff1727a68dc7abf13d56c 100644 --- a/doc/src/sgml/release-9.2.sgml +++ b/doc/src/sgml/release-9.2.sgml @@ -1,6 +1,74 @@ <!-- doc/src/sgml/release-9.2.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-2-13"> + <title>Release 9.2.13</title> + + <note> + <title>Release Date</title> + <simpara>2015-06-12</simpara> + </note> + + <para> + This release contains a small number of fixes from 9.2.12. + 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.13</title> + + <para> + A dump/restore is not required for those running 9.2.X. + </para> + + <para> + However, if you are upgrading from a version earlier than 9.2.11, + see <xref linkend="release-9-2-11">. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix rare failure to invalidate relation cache init file (Tom Lane) + </para> + + <para> + With just the wrong timing of concurrent activity, a <command>VACUUM + FULL</> on a system catalog might fail to update the <quote>init file</> + that's used to avoid cache-loading work for new sessions. This would + result in later sessions being unable to access that catalog at all. + This is a very ancient bug, but it's so hard to trigger that no + reproducible case had been seen until recently. + </para> + </listitem> + + <listitem> + <para> + Avoid deadlock between incoming sessions and <literal>CREATE/DROP + DATABASE</> (Tom Lane) + </para> + + <para> + A new session starting in a database that is the target of + a <command>DROP DATABASE</> command, or is the template for + a <command>CREATE DATABASE</> command, could cause the command to wait + for five seconds and then fail, even if the new session would have + exited before that. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-2-12"> <title>Release 9.2.12</title> diff --git a/doc/src/sgml/release-9.3.sgml b/doc/src/sgml/release-9.3.sgml index 8f1bc7e1472d51ae5929c5e424d583332be3345e..6aafbd73071ab916e13ca5c381f4a2c9651caf86 100644 --- a/doc/src/sgml/release-9.3.sgml +++ b/doc/src/sgml/release-9.3.sgml @@ -1,6 +1,155 @@ <!-- doc/src/sgml/release-9.3.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-3-9"> + <title>Release 9.3.9</title> + + <note> + <title>Release Date</title> + <simpara>2015-06-12</simpara> + </note> + + <para> + This release contains a small number of fixes from 9.3.8. + For information about new features in the 9.3 major release, see + <xref linkend="release-9-3">. + </para> + + <sect2> + <title>Migration to Version 9.3.9</title> + + <para> + A dump/restore is not required for those running 9.3.X. + </para> + + <para> + However, if you are upgrading an installation that was previously + upgraded using a <application>pg_upgrade</> version between 9.3.0 and + 9.3.4 inclusive, see the first changelog entry below. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.3.7, + see <xref linkend="release-9-3-7">. + </para> + + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix possible failure to recover from an inconsistent database state + (Robert Haas) + </para> + + <para> + Recent <productname>PostgreSQL</> releases introduced mechanisms to + protect against multixact wraparound, but some of that code did not + account for the possibility that it would need to run during crash + recovery, when the database may not be in a consistent state. This + could result in failure to restart after a crash, or failure to start + up a secondary server. The lingering effects of a previously-fixed + bug in <application>pg_upgrade</> could also cause such a failure, in + installations that had used <application>pg_upgrade</> versions + between 9.3.0 and 9.3.4. + </para> + + <para> + The <application>pg_upgrade</> bug in question was that it would + set <literal>oldestMultiXid</> to 1 in <filename>pg_control</> even + if the true value should be higher. With the fixes introduced in + this release, such a situation will result in immediate emergency + autovacuuming until a correct <literal>oldestMultiXid</> value can be + determined. If that would pose a hardship, users can avoid it by + doing manual vacuuming <emphasis>before</> upgrading to this release. + In detail: + + <orderedlist> + <listitem> + <para> + Check whether <application>pg_controldata</> reports <quote>Latest + checkpoint's oldestMultiXid</> to be 1. If not, there's nothing + to do. + </para> + </listitem> + <listitem> + <para> + Look in <filename>PGDATA/pg_multixact/offsets</> to see if there's a + file named <filename>0000</>. If there is, there's nothing to do. + </para> + </listitem> + <listitem> + <para> + Otherwise, for each table that has + <structname>pg_class</>.<structfield>relminmxid</> equal to 1, + <command>VACUUM</> that table with + both <xref linkend="guc-vacuum-multixact-freeze-min-age"> + and <xref linkend="guc-vacuum-multixact-freeze-table-age"> set to + zero. (You can use the vacuum cost delay parameters described + in <xref linkend="runtime-config-resource-vacuum-cost"> to reduce + the performance consequences for concurrent sessions.) You must + use <productname>PostgreSQL</> 9.3.5 or later to perform this step. + </para> + </listitem> + </orderedlist> + </para> + </listitem> + + <listitem> + <para> + Fix rare failure to invalidate relation cache init file (Tom Lane) + </para> + + <para> + With just the wrong timing of concurrent activity, a <command>VACUUM + FULL</> on a system catalog might fail to update the <quote>init file</> + that's used to avoid cache-loading work for new sessions. This would + result in later sessions being unable to access that catalog at all. + This is a very ancient bug, but it's so hard to trigger that no + reproducible case had been seen until recently. + </para> + </listitem> + + <listitem> + <para> + Avoid deadlock between incoming sessions and <literal>CREATE/DROP + DATABASE</> (Tom Lane) + </para> + + <para> + A new session starting in a database that is the target of + a <command>DROP DATABASE</> command, or is the template for + a <command>CREATE DATABASE</> command, could cause the command to wait + for five seconds and then fail, even if the new session would have + exited before that. + </para> + </listitem> + + <listitem> + <para> + Improve planner's cost estimates for semi-joins and anti-joins with + inner indexscans (Tom Lane, Tomas Vondra) + </para> + + <para> + This type of plan is quite cheap when all the join clauses are used + as index scan conditions, even if the inner scan would nominally + fetch many rows, because the executor will stop after obtaining one + row. The planner only partially accounted for that effect, and would + therefore overestimate the cost, leading it to possibly choose some + other much less efficient plan type. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-3-8"> <title>Release 9.3.8</title>