Update release notes for 9.2.3, 9.1.8, 9.0.12, 8.4.16, 8.3.23.

This commit is contained in:
Tom Lane 2013-02-04 15:50:42 -05:00
parent f480e29449
commit 318db6b2a0
5 changed files with 1349 additions and 0 deletions

View File

@ -1,6 +1,162 @@
<!-- 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 (&Aacute;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>

View File

@ -1,6 +1,203 @@
<!-- 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 (&Aacute;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>

View File

@ -1,6 +1,255 @@
<!-- 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 (&Aacute;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>

View File

@ -1,6 +1,315 @@
<!-- 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 (&Aacute;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>

View File

@ -1,6 +1,444 @@
<!-- 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 (&Aacute;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>