mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
Update release notes for 9.2.3, 9.1.8, 9.0.12, 8.4.16, 8.3.23.
This commit is contained in:
parent
f480e29449
commit
318db6b2a0
@ -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 (Á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>
|
||||
|
||||
|
@ -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 (Á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>
|
||||
|
||||
|
@ -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 (Á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>
|
||||
|
||||
|
@ -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 (Á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>
|
||||
|
||||
|
@ -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 (Á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>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user