<!-- doc/src/sgml/release-8.3.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-8-3-23">
+ <title>Release 8.3.23</title>
+
+ <note>
+ <title>Release Date</title>
+ <simpara>2013-02-07</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 8.3.22.
+ For information about new features in the 8.3 major release, see
+ <xref linkend="release-8-3">.
+ </para>
+
+ <para>
+ This is expected to be the last <productname>PostgreSQL</> release
+ in the 8.3.X series. Users are encouraged to update to a newer
+ release branch soon.
+ </para>
+
+ <sect2>
+ <title>Migration to Version 8.3.23</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 SQL grammar to allow subscripting or field selection from a
+ sub-SELECT result (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Protect against race conditions when scanning
+ <structname>pg_tablespace</> (Stephen Frost, Tom Lane)
+ </para>
+
+ <para>
+ <command>CREATE DATABASE</> and <command>DROP DATABASE</> could
+ misbehave if there were concurrent updates of
+ <structname>pg_tablespace</> entries.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent <command>DROP OWNED</> from trying to drop whole databases or
+ tablespaces (Álvaro Herrera)
+ </para>
+
+ <para>
+ For safety, ownership of these objects must be reassigned, not dropped.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent misbehavior when a <symbol>RowExpr</> or <symbol>XmlExpr</>
+ is parse-analyzed twice (Andres Freund, Tom Lane)
+ </para>
+
+ <para>
+ This mistake could be user-visible in contexts such as
+ <literal>CREATE TABLE LIKE INCLUDING INDEXES</>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve defenses against integer overflow in hashtable sizing
+ calculations (Jeff Davis)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure that non-ASCII prompt strings are translated to the correct
+ code page on Windows (Alexander Law, Noah Misch)
+ </para>
+
+ <para>
+ This bug affected <application>psql</> and some other client programs.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible crash in <application>psql</>'s <command>\?</> command
+ when not connected to a database (Meng Qingzhong)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix one-byte buffer overrun in <application>libpq</>'s
+ <function>PQprintTuples</> (Xi Wang)
+ </para>
+
+ <para>
+ This ancient function is not used anywhere by
+ <productname>PostgreSQL</> itself, but it might still be used by some
+ client code.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Rearrange configure's tests for supplied functions so it is not
+ fooled by bogus exports from libedit/libreadline (Christoph Berg)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure Windows build number increases over time (Magnus Hagander)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make <application>pgxs</> build executables with the right
+ <literal>.exe</> suffix when cross-compiling for Windows
+ (Zoltan Boszormenyi)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add new timezone abbreviation <literal>FET</> (Tom Lane)
+ </para>
+
+ <para>
+ This is now used in some eastern-European time zones.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-8-3-22">
<title>Release 8.3.22</title>
<!-- doc/src/sgml/release-8.4.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-8-4-16">
+ <title>Release 8.4.16</title>
+
+ <note>
+ <title>Release Date</title>
+ <simpara>2013-02-07</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 8.4.15.
+ 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.16</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>
+ Update minimum recovery point when truncating a relation file (Heikki
+ Linnakangas)
+ </para>
+
+ <para>
+ Once data has been discarded, it's no longer safe to stop recovery at
+ an earlier point in the timeline.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix SQL grammar to allow subscripting or field selection from a
+ sub-SELECT result (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Protect against race conditions when scanning
+ <structname>pg_tablespace</> (Stephen Frost, Tom Lane)
+ </para>
+
+ <para>
+ <command>CREATE DATABASE</> and <command>DROP DATABASE</> could
+ misbehave if there were concurrent updates of
+ <structname>pg_tablespace</> entries.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent <command>DROP OWNED</> from trying to drop whole databases or
+ tablespaces (Álvaro Herrera)
+ </para>
+
+ <para>
+ For safety, ownership of these objects must be reassigned, not dropped.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix error in <link
+ linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
+ implementation (Andres Freund)
+ </para>
+
+ <para>
+ The main consequence of this mistake is that lowering <link
+ linkend="guc-vacuum-freeze-min-age"><varname>vacuum_freeze_min_age</></link>
+ would cause full-table vacuuming scans to occur much more frequently
+ than intended.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent misbehavior when a <symbol>RowExpr</> or <symbol>XmlExpr</>
+ is parse-analyzed twice (Andres Freund, Tom Lane)
+ </para>
+
+ <para>
+ This mistake could be user-visible in contexts such as
+ <literal>CREATE TABLE LIKE INCLUDING INDEXES</>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve defenses against integer overflow in hashtable sizing
+ calculations (Jeff Davis)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Reject out-of-range dates in <function>to_date()</> (Hitoshi Harada)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure that non-ASCII prompt strings are translated to the correct
+ code page on Windows (Alexander Law, Noah Misch)
+ </para>
+
+ <para>
+ This bug affected <application>psql</> and some other client programs.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible crash in <application>psql</>'s <command>\?</> command
+ when not connected to a database (Meng Qingzhong)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix one-byte buffer overrun in <application>libpq</>'s
+ <function>PQprintTuples</> (Xi Wang)
+ </para>
+
+ <para>
+ This ancient function is not used anywhere by
+ <productname>PostgreSQL</> itself, but it might still be used by some
+ client code.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make <application>ecpglib</> use translated messages properly
+ (Chen Huajun)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Properly install <application>ecpg_compat</> and
+ <application>pgtypes</> libraries on MSVC (Jiang Guiqing)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Rearrange configure's tests for supplied functions so it is not
+ fooled by bogus exports from libedit/libreadline (Christoph Berg)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure Windows build number increases over time (Magnus Hagander)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make <application>pgxs</> build executables with the right
+ <literal>.exe</> suffix when cross-compiling for Windows
+ (Zoltan Boszormenyi)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add new timezone abbreviation <literal>FET</> (Tom Lane)
+ </para>
+
+ <para>
+ This is now used in some eastern-European time zones.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-8-4-15">
<title>Release 8.4.15</title>
<!-- doc/src/sgml/release-9.0.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-9-0-12">
+ <title>Release 9.0.12</title>
+
+ <note>
+ <title>Release Date</title>
+ <simpara>2013-02-07</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 9.0.11.
+ 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.12</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 problems in detection of when a consistent database
+ state has been reached during WAL replay (Fujii Masao, Heikki
+ Linnakangas, Simon Riggs, Andres Freund)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Update minimum recovery point when truncating a relation file (Heikki
+ Linnakangas)
+ </para>
+
+ <para>
+ Once data has been discarded, it's no longer safe to stop recovery at
+ an earlier point in the timeline.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix missing cancellations in hot standby mode (Noah Misch, Simon Riggs)
+ </para>
+
+ <para>
+ The need to cancel conflicting hot-standby queries would sometimes be
+ missed, allowing those queries to see inconsistent data.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix SQL grammar to allow subscripting or field selection from a
+ sub-SELECT result (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix performance problems with autovacuum truncation in busy workloads
+ (Jan Wieck)
+ </para>
+
+ <para>
+ Truncation of empty pages at the end of a table requires exclusive
+ lock, but autovacuum was coded to fail (and release the table lock)
+ when there are conflicting lock requests. Under load, it is easily
+ possible that truncation would never occur, resulting in table bloat.
+ Fix by performing a partial truncation, releasing the lock, then
+ attempting to re-acquire the lock and continue. This fix also greatly
+ reduces the average time before autovacuum releases the lock after a
+ conflicting request arrives.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Protect against race conditions when scanning
+ <structname>pg_tablespace</> (Stephen Frost, Tom Lane)
+ </para>
+
+ <para>
+ <command>CREATE DATABASE</> and <command>DROP DATABASE</> could
+ misbehave if there were concurrent updates of
+ <structname>pg_tablespace</> entries.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent <command>DROP OWNED</> from trying to drop whole databases or
+ tablespaces (Álvaro Herrera)
+ </para>
+
+ <para>
+ For safety, ownership of these objects must be reassigned, not dropped.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix error in <link
+ linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
+ implementation (Andres Freund)
+ </para>
+
+ <para>
+ The main consequence of this mistake is that lowering <link
+ linkend="guc-vacuum-freeze-min-age"><varname>vacuum_freeze_min_age</></link>
+ would cause full-table vacuuming scans to occur much more frequently
+ than intended.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent misbehavior when a <symbol>RowExpr</> or <symbol>XmlExpr</>
+ is parse-analyzed twice (Andres Freund, Tom Lane)
+ </para>
+
+ <para>
+ This mistake could be user-visible in contexts such as
+ <literal>CREATE TABLE LIKE INCLUDING INDEXES</>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve defenses against integer overflow in hashtable sizing
+ calculations (Jeff Davis)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Reject out-of-range dates in <function>to_date()</> (Hitoshi Harada)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure that non-ASCII prompt strings are translated to the correct
+ code page on Windows (Alexander Law, Noah Misch)
+ </para>
+
+ <para>
+ This bug affected <application>psql</> and some other client programs.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible crash in <application>psql</>'s <command>\?</> command
+ when not connected to a database (Meng Qingzhong)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_upgrade</> to deal with invalid indexes safely
+ (Bruce Momjian)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix one-byte buffer overrun in <application>libpq</>'s
+ <function>PQprintTuples</> (Xi Wang)
+ </para>
+
+ <para>
+ This ancient function is not used anywhere by
+ <productname>PostgreSQL</> itself, but it might still be used by some
+ client code.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make <application>ecpglib</> use translated messages properly
+ (Chen Huajun)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Properly install <application>ecpg_compat</> and
+ <application>pgtypes</> libraries on MSVC (Jiang Guiqing)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Include our version of <function>isinf()</> in
+ <application>libecpg</> if it's not provided by the system
+ (Jiang Guiqing)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Rearrange configure's tests for supplied functions so it is not
+ fooled by bogus exports from libedit/libreadline (Christoph Berg)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure Windows build number increases over time (Magnus Hagander)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make <application>pgxs</> build executables with the right
+ <literal>.exe</> suffix when cross-compiling for Windows
+ (Zoltan Boszormenyi)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add new timezone abbreviation <literal>FET</> (Tom Lane)
+ </para>
+
+ <para>
+ This is now used in some eastern-European time zones.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-9-0-11">
<title>Release 9.0.11</title>
<!-- doc/src/sgml/release-9.1.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-9-1-8">
+ <title>Release 9.1.8</title>
+
+ <note>
+ <title>Release Date</title>
+ <simpara>2013-02-07</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 9.1.7.
+ 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.8</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 problems in detection of when a consistent database
+ state has been reached during WAL replay (Fujii Masao, Heikki
+ Linnakangas, Simon Riggs, Andres Freund)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Update minimum recovery point when truncating a relation file (Heikki
+ Linnakangas)
+ </para>
+
+ <para>
+ Once data has been discarded, it's no longer safe to stop recovery at
+ an earlier point in the timeline.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix recycling of WAL segments after changing recovery target timeline
+ (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix missing cancellations in hot standby mode (Noah Misch, Simon Riggs)
+ </para>
+
+ <para>
+ The need to cancel conflicting hot-standby queries would sometimes be
+ missed, allowing those queries to see inconsistent data.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent recovery pause feature from pausing before users can connect
+ (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix SQL grammar to allow subscripting or field selection from a
+ sub-SELECT result (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix performance problems with autovacuum truncation in busy workloads
+ (Jan Wieck)
+ </para>
+
+ <para>
+ Truncation of empty pages at the end of a table requires exclusive
+ lock, but autovacuum was coded to fail (and release the table lock)
+ when there are conflicting lock requests. Under load, it is easily
+ possible that truncation would never occur, resulting in table bloat.
+ Fix by performing a partial truncation, releasing the lock, then
+ attempting to re-acquire the lock and continue. This fix also greatly
+ reduces the average time before autovacuum releases the lock after a
+ conflicting request arrives.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Protect against race conditions when scanning
+ <structname>pg_tablespace</> (Stephen Frost, Tom Lane)
+ </para>
+
+ <para>
+ <command>CREATE DATABASE</> and <command>DROP DATABASE</> could
+ misbehave if there were concurrent updates of
+ <structname>pg_tablespace</> entries.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent <command>DROP OWNED</> from trying to drop whole databases or
+ tablespaces (Álvaro Herrera)
+ </para>
+
+ <para>
+ For safety, ownership of these objects must be reassigned, not dropped.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix error in <link
+ linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
+ implementation (Andres Freund)
+ </para>
+
+ <para>
+ The main consequence of this mistake is that lowering <link
+ linkend="guc-vacuum-freeze-min-age"><varname>vacuum_freeze_min_age</></link>
+ would cause full-table vacuuming scans to occur much more frequently
+ than intended.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent misbehavior when a <symbol>RowExpr</> or <symbol>XmlExpr</>
+ is parse-analyzed twice (Andres Freund, Tom Lane)
+ </para>
+
+ <para>
+ This mistake could be user-visible in contexts such as
+ <literal>CREATE TABLE LIKE INCLUDING INDEXES</>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve defenses against integer overflow in hashtable sizing
+ calculations (Jeff Davis)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix failure to ignore leftover temporary tables after a server crash
+ (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Reject out-of-range dates in <function>to_date()</> (Hitoshi Harada)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <function>pg_extension_config_dump()</> to handle
+ extension-update cases properly (Tom Lane)
+ </para>
+
+ <para>
+ This function will now replace any existing entry for the target
+ table, making it usable in extension update scripts.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix PL/Python's handling of functions used as triggers on multiple
+ tables (Andres Freund)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure that non-ASCII prompt strings are translated to the correct
+ code page on Windows (Alexander Law, Noah Misch)
+ </para>
+
+ <para>
+ This bug affected <application>psql</> and some other client programs.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible crash in <application>psql</>'s <command>\?</> command
+ when not connected to a database (Meng Qingzhong)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible error if a relation file is removed while
+ <application>pg_basebackup</> is running (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make <application>pg_dump</> exclude data of unlogged tables when
+ running on a hot-standby server (Magnus Hagander)
+ </para>
+
+ <para>
+ This would fail anyway because the data is not available on the standby
+ server, so it seems most convenient to assume
+ <option>--no-unlogged-table-data</> automatically.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_upgrade</> to deal with invalid indexes safely
+ (Bruce Momjian)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix one-byte buffer overrun in <application>libpq</>'s
+ <function>PQprintTuples</> (Xi Wang)
+ </para>
+
+ <para>
+ This ancient function is not used anywhere by
+ <productname>PostgreSQL</> itself, but it might still be used by some
+ client code.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make <application>ecpglib</> use translated messages properly
+ (Chen Huajun)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Properly install <application>ecpg_compat</> and
+ <application>pgtypes</> libraries on MSVC (Jiang Guiqing)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Include our version of <function>isinf()</> in
+ <application>libecpg</> if it's not provided by the system
+ (Jiang Guiqing)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Rearrange configure's tests for supplied functions so it is not
+ fooled by bogus exports from libedit/libreadline (Christoph Berg)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure Windows build number increases over time (Magnus Hagander)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make <application>pgxs</> build executables with the right
+ <literal>.exe</> suffix when cross-compiling for Windows
+ (Zoltan Boszormenyi)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add new timezone abbreviation <literal>FET</> (Tom Lane)
+ </para>
+
+ <para>
+ This is now used in some eastern-European time zones.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-9-1-7">
<title>Release 9.1.7</title>
<!-- doc/src/sgml/release-9.2.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-9-2-3">
+ <title>Release 9.2.3</title>
+
+ <note>
+ <title>Release Date</title>
+ <simpara>2013-02-07</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 9.2.2.
+ 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.3</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.2,
+ see the release notes for 9.2.2.
+ </para>
+
+ </sect2>
+
+ <sect2>
+ <title>Changes</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Fix multiple problems in detection of when a consistent database
+ state has been reached during WAL replay (Fujii Masao, Heikki
+ Linnakangas, Simon Riggs, Andres Freund)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix detection of end-of-backup point when no actual redo work is
+ required (Heikki Linnakangas)
+ </para>
+
+ <para>
+ This mistake could result in incorrect <quote>WAL ends before end of
+ online backup</> errors.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Update minimum recovery point when truncating a relation file (Heikki
+ Linnakangas)
+ </para>
+
+ <para>
+ Once data has been discarded, it's no longer safe to stop recovery at
+ an earlier point in the timeline.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix recycling of WAL segments after changing recovery target timeline
+ (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Properly restore timeline history files from archive on cascading
+ standby servers (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix lock conflict detection on hot-standby servers (Andres Freund,
+ Robert Haas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix missing cancellations in hot standby mode (Noah Misch, Simon Riggs)
+ </para>
+
+ <para>
+ The need to cancel conflicting hot-standby queries would sometimes be
+ missed, allowing those queries to see inconsistent data.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent recovery pause feature from pausing before users can connect
+ (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix SQL grammar to allow subscripting or field selection from a
+ sub-SELECT result (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix performance problems with autovacuum truncation in busy workloads
+ (Jan Wieck)
+ </para>
+
+ <para>
+ Truncation of empty pages at the end of a table requires exclusive
+ lock, but autovacuum was coded to fail (and release the table lock)
+ when there are conflicting lock requests. Under load, it is easily
+ possible that truncation would never occur, resulting in table bloat.
+ Fix by performing a partial truncation, releasing the lock, then
+ attempting to re-acquire the lock and continue. This fix also greatly
+ reduces the average time before autovacuum releases the lock after a
+ conflicting request arrives.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve performance of <function>SPI_execute</> and related
+ functions, thereby improving PL/pgSQL's <literal>EXECUTE</>
+ (Heikki Linnakangas, Tom Lane)
+ </para>
+
+ <para>
+ Remove some data-copying overhead that was added in 9.2 as a
+ consequence of revisions in the plan caching mechanism. This
+ eliminates a performance regression compared to 9.1, and also saves
+ memory, especially when the query string to be executed contains many
+ SQL statements.
+ </para>
+
+ <para>
+ A side benefit is that multi-statement query strings are now
+ processed fully serially, that is we complete execution of earlier
+ statements before running parse analysis and planning on the
+ following ones. This eliminates a long-standing issue, in that DDL
+ that should affect the behavior of a later statement will now behave as
+ expected.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Restore pre-9.2 cost estimates for index usage (Tom Lane)
+ </para>
+
+ <para>
+ An ill-considered change of a fudge factor led to undesirably high
+ cost estimates for use of very large indexes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix intermittent crash in <literal>DROP INDEX CONCURRENTLY</> (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix potential corruption of shared-memory lock table during
+ <command>CREATE/DROP INDEX CONCURRENTLY</> (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <command>COPY</>'s multiple-tuple-insertion code for the case of
+ a tuple larger than page size minus fillfactor (Heikki Linnakangas)
+ </para>
+
+ <para>
+ The previous coding could get into an infinite loop.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Protect against race conditions when scanning
+ <structname>pg_tablespace</> (Stephen Frost, Tom Lane)
+ </para>
+
+ <para>
+ <command>CREATE DATABASE</> and <command>DROP DATABASE</> could
+ misbehave if there were concurrent updates of
+ <structname>pg_tablespace</> entries.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent <command>DROP OWNED</> from trying to drop whole databases or
+ tablespaces (Álvaro Herrera)
+ </para>
+
+ <para>
+ For safety, ownership of these objects must be reassigned, not dropped.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix error in <link
+ linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
+ implementation (Andres Freund)
+ </para>
+
+ <para>
+ The main consequence of this mistake is that lowering <link
+ linkend="guc-vacuum-freeze-min-age"><varname>vacuum_freeze_min_age</></link>
+ would cause full-table vacuuming scans to occur much more frequently
+ than intended.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent misbehavior when a <symbol>RowExpr</> or <symbol>XmlExpr</>
+ is parse-analyzed twice (Andres Freund, Tom Lane)
+ </para>
+
+ <para>
+ This mistake could be user-visible in contexts such as
+ <literal>CREATE TABLE LIKE INCLUDING INDEXES</>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve defenses against integer overflow in hashtable sizing
+ calculations (Jeff Davis)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix some bugs associated with privileges on datatypes (Tom Lane)
+ </para>
+
+ <para>
+ There were some issues with default privileges for types, and
+ <application>pg_dump</> failed to dump such privileges at all.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix failure to ignore leftover temporary tables after a server crash
+ (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix failure to rotate postmaster log files for size reasons on
+ Windows (Jeff Janes, Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Reject out-of-range dates in <function>to_date()</> (Hitoshi Harada)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <function>pg_extension_config_dump()</> to handle
+ extension-update cases properly (Tom Lane)
+ </para>
+
+ <para>
+ This function will now replace any existing entry for the target
+ table, making it usable in extension update scripts.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix PL/pgSQL's reporting of plan-time errors in possibly-simple
+ expressions (Tom Lane)
+ </para>
+
+ <para>
+ The previous coding resulted in sometimes omitting the first line in
+ the <literal>CONTEXT</> traceback for the error.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix PL/Python's handling of functions used as triggers on multiple
+ tables (Andres Freund)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure that non-ASCII prompt strings are translated to the correct
+ code page on Windows (Alexander Law, Noah Misch)
+ </para>
+
+ <para>
+ This bug affected <application>psql</> and some other client programs.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible crash in <application>psql</>'s <command>\?</> command
+ when not connected to a database (Meng Qingzhong)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible error if a relation file is removed while
+ <application>pg_basebackup</> is running (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Tolerate timeline switches while <literal>pg_basebackup -X fetch</>
+ is backing up a standby server (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make <application>pg_dump</> exclude data of unlogged tables when
+ running on a hot-standby server (Magnus Hagander)
+ </para>
+
+ <para>
+ This would fail anyway because the data is not available on the standby
+ server, so it seems most convenient to assume
+ <option>--no-unlogged-table-data</> automatically.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_upgrade</> to deal with invalid indexes safely
+ (Bruce Momjian)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_upgrade</>'s -O/-o options (Bruce Momjian)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix one-byte buffer overrun in <application>libpq</>'s
+ <function>PQprintTuples</> (Xi Wang)
+ </para>
+
+ <para>
+ This ancient function is not used anywhere by
+ <productname>PostgreSQL</> itself, but it might still be used by some
+ client code.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make <application>ecpglib</> use translated messages properly
+ (Chen Huajun)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Properly install <application>ecpg_compat</> and
+ <application>pgtypes</> libraries on MSVC (Jiang Guiqing)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Include our version of <function>isinf()</> in
+ <application>libecpg</> if it's not provided by the system
+ (Jiang Guiqing)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Rearrange configure's tests for supplied functions so it is not
+ fooled by bogus exports from libedit/libreadline (Christoph Berg)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure Windows build number increases over time (Magnus Hagander)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make <application>pgxs</> build executables with the right
+ <literal>.exe</> suffix when cross-compiling for Windows
+ (Zoltan Boszormenyi)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add new timezone abbreviation <literal>FET</> (Tom Lane)
+ </para>
+
+ <para>
+ This is now used in some eastern-European time zones.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-9-2-2">
<title>Release 9.2.2</title>