Update release notes for releases 9.0.2, 8.4.6, 8.3.13, 8.2.19, and 8.1.23.
This commit is contained in:
parent
d368e1a2a7
commit
f9224c8ec2
@ -1,6 +1,225 @@
|
|||||||
<!-- doc/src/sgml/release-8.1.sgml -->
|
<!-- doc/src/sgml/release-8.1.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-8-1-23">
|
||||||
|
<title>Release 8.1.23</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release date</title>
|
||||||
|
<simpara>2010-12-16</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 8.1.22.
|
||||||
|
For information about new features in the 8.1 major release, see
|
||||||
|
<xref linkend="release-8-1">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is expected to be the last <productname>PostgreSQL</> release
|
||||||
|
in the 8.1.X series. Users are encouraged to update to a newer
|
||||||
|
release branch soon.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Migration to Version 8.1.23</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 8.1.X.
|
||||||
|
However, if you are upgrading from a version earlier than 8.1.18,
|
||||||
|
see the release notes for 8.1.18.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Force the default
|
||||||
|
<link linkend="guc-wal-sync-method"><varname>wal_sync_method</></link>
|
||||||
|
to be <literal>fdatasync</> on Linux (Tom Lane, Marti Raudsepp)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The default on Linux has actually been <literal>fdatasync</> for many
|
||||||
|
years, but recent kernel changes caused <productname>PostgreSQL</> to
|
||||||
|
choose <literal>open_datasync</> instead. This choice did not result
|
||||||
|
in any performance improvement, and caused outright failures on
|
||||||
|
certain filesystems, notably <literal>ext4</> with the
|
||||||
|
<literal>data=journal</> mount option.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix recovery from base backup when the starting checkpoint WAL record
|
||||||
|
is not in the same WAL segment as its redo point (Jeff Davis)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add support for detecting register-stack overrun on <literal>IA64</>
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The <literal>IA64</> architecture has two hardware stacks. Full
|
||||||
|
prevention of stack-overrun failures requires checking both.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add a check for stack overflow in <function>copyObject()</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Certain code paths could crash due to stack overflow given a
|
||||||
|
sufficiently complex query.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix detection of page splits in temporary GiST indexes (Heikki
|
||||||
|
Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
It is possible to have a <quote>concurrent</> page split in a
|
||||||
|
temporary index, if for example there is an open cursor scanning the
|
||||||
|
index when an insertion is done. GiST failed to detect this case and
|
||||||
|
hence could deliver wrong results when execution of the cursor
|
||||||
|
continued.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid memory leakage while <command>ANALYZE</>'ing complex index
|
||||||
|
expressions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure an index that uses a whole-row Var still depends on its table
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
An index declared like <literal>create index i on t (foo(t.*))</>
|
||||||
|
would not automatically get dropped when its table was dropped.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Do not <quote>inline</> a SQL function with multiple <literal>OUT</>
|
||||||
|
parameters (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids a possible crash due to loss of information about the
|
||||||
|
expected result rowtype.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix constant-folding of <literal>COALESCE()</> expressions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The planner would sometimes attempt to evaluate sub-expressions that
|
||||||
|
in fact could never be reached, possibly leading to unexpected errors.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add print functionality for <structname>InhRelation</> nodes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids a failure when <varname>debug_print_parse</> is enabled
|
||||||
|
and certain types of query are executed.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect calculation of distance from a point to a horizontal
|
||||||
|
line segment (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This bug affected several different geometric distance-measurement
|
||||||
|
operators.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/pgSQL</>'s handling of <quote>simple</>
|
||||||
|
expressions to not fail in recursion or error-recovery cases (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix bug in <filename>contrib/cube</>'s GiST picksplit algorithm
|
||||||
|
(Alexander Korotkov)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This could result in considerable inefficiency, though not actually
|
||||||
|
incorrect answers, in a GiST index on a <type>cube</> column.
|
||||||
|
If you have such an index, consider <command>REINDEX</>ing it after
|
||||||
|
installing this update.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Don't emit <quote>identifier will be truncated</> notices in
|
||||||
|
<filename>contrib/dblink</> except when creating new connections
|
||||||
|
(Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix potential coredump on missing public key in
|
||||||
|
<filename>contrib/pgcrypto</> (Marti Raudsepp)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix memory leak in <filename>contrib/xml2</>'s XPath query functions
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2010o
|
||||||
|
for DST law changes in Fiji and Samoa;
|
||||||
|
also historical corrections for Hong Kong.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-8-1-22">
|
<sect1 id="release-8-1-22">
|
||||||
<title>Release 8.1.22</title>
|
<title>Release 8.1.22</title>
|
||||||
|
|
||||||
|
@ -1,6 +1,250 @@
|
|||||||
<!-- doc/src/sgml/release-8.2.sgml -->
|
<!-- doc/src/sgml/release-8.2.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-8-2-19">
|
||||||
|
<title>Release 8.2.19</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release date</title>
|
||||||
|
<simpara>2010-12-16</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 8.2.18.
|
||||||
|
For information about new features in the 8.2 major release, see
|
||||||
|
<xref linkend="release-8-2">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Migration to Version 8.2.19</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 8.2.X.
|
||||||
|
However, if you are upgrading from a version earlier than 8.2.14,
|
||||||
|
see the release notes for 8.2.14.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Force the default
|
||||||
|
<link linkend="guc-wal-sync-method"><varname>wal_sync_method</></link>
|
||||||
|
to be <literal>fdatasync</> on Linux (Tom Lane, Marti Raudsepp)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The default on Linux has actually been <literal>fdatasync</> for many
|
||||||
|
years, but recent kernel changes caused <productname>PostgreSQL</> to
|
||||||
|
choose <literal>open_datasync</> instead. This choice did not result
|
||||||
|
in any performance improvement, and caused outright failures on
|
||||||
|
certain filesystems, notably <literal>ext4</> with the
|
||||||
|
<literal>data=journal</> mount option.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix assorted bugs in WAL replay logic for GIN indexes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This could result in <quote>bad buffer id: 0</> failures or
|
||||||
|
corruption of index contents during replication.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix recovery from base backup when the starting checkpoint WAL record
|
||||||
|
is not in the same WAL segment as its redo point (Jeff Davis)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add support for detecting register-stack overrun on <literal>IA64</>
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The <literal>IA64</> architecture has two hardware stacks. Full
|
||||||
|
prevention of stack-overrun failures requires checking both.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add a check for stack overflow in <function>copyObject()</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Certain code paths could crash due to stack overflow given a
|
||||||
|
sufficiently complex query.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix detection of page splits in temporary GiST indexes (Heikki
|
||||||
|
Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
It is possible to have a <quote>concurrent</> page split in a
|
||||||
|
temporary index, if for example there is an open cursor scanning the
|
||||||
|
index when an insertion is done. GiST failed to detect this case and
|
||||||
|
hence could deliver wrong results when execution of the cursor
|
||||||
|
continued.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid memory leakage while <command>ANALYZE</>'ing complex index
|
||||||
|
expressions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure an index that uses a whole-row Var still depends on its table
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
An index declared like <literal>create index i on t (foo(t.*))</>
|
||||||
|
would not automatically get dropped when its table was dropped.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Do not <quote>inline</> a SQL function with multiple <literal>OUT</>
|
||||||
|
parameters (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids a possible crash due to loss of information about the
|
||||||
|
expected result rowtype.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Behave correctly if <literal>ORDER BY</>, <literal>LIMIT</>,
|
||||||
|
<literal>FOR UPDATE</>, or <literal>WITH</> is attached to the
|
||||||
|
<literal>VALUES</> part of <literal>INSERT ... VALUES</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix constant-folding of <literal>COALESCE()</> expressions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The planner would sometimes attempt to evaluate sub-expressions that
|
||||||
|
in fact could never be reached, possibly leading to unexpected errors.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add print functionality for <structname>InhRelation</> nodes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids a failure when <varname>debug_print_parse</> is enabled
|
||||||
|
and certain types of query are executed.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect calculation of distance from a point to a horizontal
|
||||||
|
line segment (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This bug affected several different geometric distance-measurement
|
||||||
|
operators.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/pgSQL</>'s handling of <quote>simple</>
|
||||||
|
expressions to not fail in recursion or error-recovery cases (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/Python</>'s handling of set-returning functions
|
||||||
|
(Jan Urbanski)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Attempts to call SPI functions within the iterator generating a set
|
||||||
|
result would fail.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix bug in <filename>contrib/cube</>'s GiST picksplit algorithm
|
||||||
|
(Alexander Korotkov)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This could result in considerable inefficiency, though not actually
|
||||||
|
incorrect answers, in a GiST index on a <type>cube</> column.
|
||||||
|
If you have such an index, consider <command>REINDEX</>ing it after
|
||||||
|
installing this update.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Don't emit <quote>identifier will be truncated</> notices in
|
||||||
|
<filename>contrib/dblink</> except when creating new connections
|
||||||
|
(Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix potential coredump on missing public key in
|
||||||
|
<filename>contrib/pgcrypto</> (Marti Raudsepp)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix memory leak in <filename>contrib/xml2</>'s XPath query functions
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2010o
|
||||||
|
for DST law changes in Fiji and Samoa;
|
||||||
|
also historical corrections for Hong Kong.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-8-2-18">
|
<sect1 id="release-8-2-18">
|
||||||
<title>Release 8.2.18</title>
|
<title>Release 8.2.18</title>
|
||||||
|
|
||||||
|
@ -1,6 +1,284 @@
|
|||||||
<!-- doc/src/sgml/release-8.3.sgml -->
|
<!-- doc/src/sgml/release-8.3.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-8-3-13">
|
||||||
|
<title>Release 8.3.13</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release date</title>
|
||||||
|
<simpara>2010-12-16</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 8.3.12.
|
||||||
|
For information about new features in the 8.3 major release, see
|
||||||
|
<xref linkend="release-8-3">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Migration to Version 8.3.13</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 8.3.X.
|
||||||
|
However, if you are upgrading from a version earlier than 8.3.8,
|
||||||
|
see the release notes for 8.3.8.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Force the default
|
||||||
|
<link linkend="guc-wal-sync-method"><varname>wal_sync_method</></link>
|
||||||
|
to be <literal>fdatasync</> on Linux (Tom Lane, Marti Raudsepp)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The default on Linux has actually been <literal>fdatasync</> for many
|
||||||
|
years, but recent kernel changes caused <productname>PostgreSQL</> to
|
||||||
|
choose <literal>open_datasync</> instead. This choice did not result
|
||||||
|
in any performance improvement, and caused outright failures on
|
||||||
|
certain filesystems, notably <literal>ext4</> with the
|
||||||
|
<literal>data=journal</> mount option.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix assorted bugs in WAL replay logic for GIN indexes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This could result in <quote>bad buffer id: 0</> failures or
|
||||||
|
corruption of index contents during replication.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix recovery from base backup when the starting checkpoint WAL record
|
||||||
|
is not in the same WAL segment as its redo point (Jeff Davis)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix persistent slowdown of autovacuum workers when multiple workers
|
||||||
|
remain active for a long time (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The effective <varname>vacuum_cost_limit</> for an autovacuum worker
|
||||||
|
could drop to nearly zero if it processed enough tables, causing it
|
||||||
|
to run extremely slowly.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add support for detecting register-stack overrun on <literal>IA64</>
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The <literal>IA64</> architecture has two hardware stacks. Full
|
||||||
|
prevention of stack-overrun failures requires checking both.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add a check for stack overflow in <function>copyObject()</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Certain code paths could crash due to stack overflow given a
|
||||||
|
sufficiently complex query.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix detection of page splits in temporary GiST indexes (Heikki
|
||||||
|
Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
It is possible to have a <quote>concurrent</> page split in a
|
||||||
|
temporary index, if for example there is an open cursor scanning the
|
||||||
|
index when an insertion is done. GiST failed to detect this case and
|
||||||
|
hence could deliver wrong results when execution of the cursor
|
||||||
|
continued.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid memory leakage while <command>ANALYZE</>'ing complex index
|
||||||
|
expressions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure an index that uses a whole-row Var still depends on its table
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
An index declared like <literal>create index i on t (foo(t.*))</>
|
||||||
|
would not automatically get dropped when its table was dropped.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Do not <quote>inline</> a SQL function with multiple <literal>OUT</>
|
||||||
|
parameters (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids a possible crash due to loss of information about the
|
||||||
|
expected result rowtype.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Behave correctly if <literal>ORDER BY</>, <literal>LIMIT</>,
|
||||||
|
<literal>FOR UPDATE</>, or <literal>WITH</> is attached to the
|
||||||
|
<literal>VALUES</> part of <literal>INSERT ... VALUES</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix constant-folding of <literal>COALESCE()</> expressions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The planner would sometimes attempt to evaluate sub-expressions that
|
||||||
|
in fact could never be reached, possibly leading to unexpected errors.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix postmaster crash when connection acceptance
|
||||||
|
(<function>accept()</> or one of the calls made immediately after it)
|
||||||
|
fails, and the postmaster was compiled with GSSAPI support (Alexander
|
||||||
|
Chernikov)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix missed unlink of temporary files when <varname>log_temp_files</>
|
||||||
|
is active (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If an error occurred while attempting to emit the log message, the
|
||||||
|
unlink was not done, resulting in accumulation of temp files.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add print functionality for <structname>InhRelation</> nodes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids a failure when <varname>debug_print_parse</> is enabled
|
||||||
|
and certain types of query are executed.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect calculation of distance from a point to a horizontal
|
||||||
|
line segment (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This bug affected several different geometric distance-measurement
|
||||||
|
operators.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/pgSQL</>'s handling of <quote>simple</>
|
||||||
|
expressions to not fail in recursion or error-recovery cases (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/Python</>'s handling of set-returning functions
|
||||||
|
(Jan Urbanski)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Attempts to call SPI functions within the iterator generating a set
|
||||||
|
result would fail.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix bug in <filename>contrib/cube</>'s GiST picksplit algorithm
|
||||||
|
(Alexander Korotkov)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This could result in considerable inefficiency, though not actually
|
||||||
|
incorrect answers, in a GiST index on a <type>cube</> column.
|
||||||
|
If you have such an index, consider <command>REINDEX</>ing it after
|
||||||
|
installing this update.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Don't emit <quote>identifier will be truncated</> notices in
|
||||||
|
<filename>contrib/dblink</> except when creating new connections
|
||||||
|
(Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix potential coredump on missing public key in
|
||||||
|
<filename>contrib/pgcrypto</> (Marti Raudsepp)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix memory leak in <filename>contrib/xml2</>'s XPath query functions
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2010o
|
||||||
|
for DST law changes in Fiji and Samoa;
|
||||||
|
also historical corrections for Hong Kong.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-8-3-12">
|
<sect1 id="release-8-3-12">
|
||||||
<title>Release 8.3.12</title>
|
<title>Release 8.3.12</title>
|
||||||
|
|
||||||
|
@ -1,6 +1,317 @@
|
|||||||
<!-- doc/src/sgml/release-8.4.sgml -->
|
<!-- doc/src/sgml/release-8.4.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-8-4-6">
|
||||||
|
<title>Release 8.4.6</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release date</title>
|
||||||
|
<simpara>2010-12-16</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 8.4.5.
|
||||||
|
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.6</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 8.4.X.
|
||||||
|
However, if you are upgrading from a version earlier than 8.4.2,
|
||||||
|
see the release notes for 8.4.2.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Force the default
|
||||||
|
<link linkend="guc-wal-sync-method"><varname>wal_sync_method</></link>
|
||||||
|
to be <literal>fdatasync</> on Linux (Tom Lane, Marti Raudsepp)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The default on Linux has actually been <literal>fdatasync</> for many
|
||||||
|
years, but recent kernel changes caused <productname>PostgreSQL</> to
|
||||||
|
choose <literal>open_datasync</> instead. This choice did not result
|
||||||
|
in any performance improvement, and caused outright failures on
|
||||||
|
certain filesystems, notably <literal>ext4</> with the
|
||||||
|
<literal>data=journal</> mount option.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix assorted bugs in WAL replay logic for GIN indexes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This could result in <quote>bad buffer id: 0</> failures or
|
||||||
|
corruption of index contents during replication.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix recovery from base backup when the starting checkpoint WAL record
|
||||||
|
is not in the same WAL segment as its redo point (Jeff Davis)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix persistent slowdown of autovacuum workers when multiple workers
|
||||||
|
remain active for a long time (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The effective <varname>vacuum_cost_limit</> for an autovacuum worker
|
||||||
|
could drop to nearly zero if it processed enough tables, causing it
|
||||||
|
to run extremely slowly.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add support for detecting register-stack overrun on <literal>IA64</>
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The <literal>IA64</> architecture has two hardware stacks. Full
|
||||||
|
prevention of stack-overrun failures requires checking both.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add a check for stack overflow in <function>copyObject()</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Certain code paths could crash due to stack overflow given a
|
||||||
|
sufficiently complex query.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix detection of page splits in temporary GiST indexes (Heikki
|
||||||
|
Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
It is possible to have a <quote>concurrent</> page split in a
|
||||||
|
temporary index, if for example there is an open cursor scanning the
|
||||||
|
index when an insertion is done. GiST failed to detect this case and
|
||||||
|
hence could deliver wrong results when execution of the cursor
|
||||||
|
continued.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix error checking during early connection processing (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The check for too many child processes was skipped in some cases,
|
||||||
|
possibly leading to postmaster crash when attempting to add the new
|
||||||
|
child process to fixed-size arrays.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve efficiency of window functions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Certain cases where a large number of tuples needed to be read in
|
||||||
|
advance, but <varname>work_mem</> was large enough to allow them all
|
||||||
|
to be held in memory, were unexpectedly slow.
|
||||||
|
<function>percent_rank()</>, <function>cume_dist()</> and
|
||||||
|
<function>ntile()</> in particular were subject to this problem.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid memory leakage while <command>ANALYZE</>'ing complex index
|
||||||
|
expressions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure an index that uses a whole-row Var still depends on its table
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
An index declared like <literal>create index i on t (foo(t.*))</>
|
||||||
|
would not automatically get dropped when its table was dropped.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Do not <quote>inline</> a SQL function with multiple <literal>OUT</>
|
||||||
|
parameters (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids a possible crash due to loss of information about the
|
||||||
|
expected result rowtype.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Behave correctly if <literal>ORDER BY</>, <literal>LIMIT</>,
|
||||||
|
<literal>FOR UPDATE</>, or <literal>WITH</> is attached to the
|
||||||
|
<literal>VALUES</> part of <literal>INSERT ... VALUES</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix constant-folding of <literal>COALESCE()</> expressions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The planner would sometimes attempt to evaluate sub-expressions that
|
||||||
|
in fact could never be reached, possibly leading to unexpected errors.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix postmaster crash when connection acceptance
|
||||||
|
(<function>accept()</> or one of the calls made immediately after it)
|
||||||
|
fails, and the postmaster was compiled with GSSAPI support (Alexander
|
||||||
|
Chernikov)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix missed unlink of temporary files when <varname>log_temp_files</>
|
||||||
|
is active (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If an error occurred while attempting to emit the log message, the
|
||||||
|
unlink was not done, resulting in accumulation of temp files.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add print functionality for <structname>InhRelation</> nodes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids a failure when <varname>debug_print_parse</> is enabled
|
||||||
|
and certain types of query are executed.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect calculation of distance from a point to a horizontal
|
||||||
|
line segment (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This bug affected several different geometric distance-measurement
|
||||||
|
operators.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect calculation of transaction status in
|
||||||
|
<application>ecpg</> (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/pgSQL</>'s handling of <quote>simple</>
|
||||||
|
expressions to not fail in recursion or error-recovery cases (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/Python</>'s handling of set-returning functions
|
||||||
|
(Jan Urbanski)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Attempts to call SPI functions within the iterator generating a set
|
||||||
|
result would fail.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix bug in <filename>contrib/cube</>'s GiST picksplit algorithm
|
||||||
|
(Alexander Korotkov)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This could result in considerable inefficiency, though not actually
|
||||||
|
incorrect answers, in a GiST index on a <type>cube</> column.
|
||||||
|
If you have such an index, consider <command>REINDEX</>ing it after
|
||||||
|
installing this update.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Don't emit <quote>identifier will be truncated</> notices in
|
||||||
|
<filename>contrib/dblink</> except when creating new connections
|
||||||
|
(Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix potential coredump on missing public key in
|
||||||
|
<filename>contrib/pgcrypto</> (Marti Raudsepp)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix memory leak in <filename>contrib/xml2</>'s XPath query functions
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2010o
|
||||||
|
for DST law changes in Fiji and Samoa;
|
||||||
|
also historical corrections for Hong Kong.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-8-4-5">
|
<sect1 id="release-8-4-5">
|
||||||
<title>Release 8.4.5</title>
|
<title>Release 8.4.5</title>
|
||||||
|
|
||||||
|
@ -1,6 +1,453 @@
|
|||||||
<!-- doc/src/sgml/release-9.0.sgml -->
|
<!-- doc/src/sgml/release-9.0.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-9-0-2">
|
||||||
|
<title>Release 9.0.2</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release date</title>
|
||||||
|
<simpara>2010-12-16</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.0.1.
|
||||||
|
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.2</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 9.0.X.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Force the default
|
||||||
|
<link linkend="guc-wal-sync-method"><varname>wal_sync_method</></link>
|
||||||
|
to be <literal>fdatasync</> on Linux (Tom Lane, Marti Raudsepp)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The default on Linux has actually been <literal>fdatasync</> for many
|
||||||
|
years, but recent kernel changes caused <productname>PostgreSQL</> to
|
||||||
|
choose <literal>open_datasync</> instead. This choice did not result
|
||||||
|
in any performance improvement, and caused outright failures on
|
||||||
|
certain filesystems, notably <literal>ext4</> with the
|
||||||
|
<literal>data=journal</> mount option.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>too many KnownAssignedXids</> error during Hot Standby
|
||||||
|
replay (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix race condition in lock acquisition during Hot Standby (Simon Riggs)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid unnecessary conflicts during Hot Standby (Simon Riggs)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This fixes some cases where replay was considered to conflict with
|
||||||
|
standby queries (causing delay of replay or possibly cancellation of
|
||||||
|
the queries), but there was no real conflict.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix assorted bugs in WAL replay logic for GIN indexes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This could result in <quote>bad buffer id: 0</> failures or
|
||||||
|
corruption of index contents during replication.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix recovery from base backup when the starting checkpoint WAL record
|
||||||
|
is not in the same WAL segment as its redo point (Jeff Davis)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix corner-case bug when streaming replication is enabled immediately
|
||||||
|
after creating the master database cluster (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix persistent slowdown of autovacuum workers when multiple workers
|
||||||
|
remain active for a long time (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The effective <varname>vacuum_cost_limit</> for an autovacuum worker
|
||||||
|
could drop to nearly zero if it processed enough tables, causing it
|
||||||
|
to run extremely slowly.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix long-term memory leak in autovacuum launcher (Alvaro Herrera)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid failure when trying to report an impending transaction
|
||||||
|
wraparound condition from outside a transaction (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This oversight prevented recovery after transaction wraparound got
|
||||||
|
too close, because database startup processing would fail.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add support for detecting register-stack overrun on <literal>IA64</>
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The <literal>IA64</> architecture has two hardware stacks. Full
|
||||||
|
prevention of stack-overrun failures requires checking both.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add a check for stack overflow in <function>copyObject()</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Certain code paths could crash due to stack overflow given a
|
||||||
|
sufficiently complex query.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix detection of page splits in temporary GiST indexes (Heikki
|
||||||
|
Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
It is possible to have a <quote>concurrent</> page split in a
|
||||||
|
temporary index, if for example there is an open cursor scanning the
|
||||||
|
index when an insertion is done. GiST failed to detect this case and
|
||||||
|
hence could deliver wrong results when execution of the cursor
|
||||||
|
continued.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix error checking during early connection processing (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The check for too many child processes was skipped in some cases,
|
||||||
|
possibly leading to postmaster crash when attempting to add the new
|
||||||
|
child process to fixed-size arrays.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve efficiency of window functions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Certain cases where a large number of tuples needed to be read in
|
||||||
|
advance, but <varname>work_mem</> was large enough to allow them all
|
||||||
|
to be held in memory, were unexpectedly slow.
|
||||||
|
<function>percent_rank()</>, <function>cume_dist()</> and
|
||||||
|
<function>ntile()</> in particular were subject to this problem.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid memory leakage while <command>ANALYZE</>'ing complex index
|
||||||
|
expressions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure an index that uses a whole-row Var still depends on its table
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
An index declared like <literal>create index i on t (foo(t.*))</>
|
||||||
|
would not automatically get dropped when its table was dropped.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add missing support in <command>DROP OWNED BY</> for removing foreign
|
||||||
|
data wrapper/server privileges belonging to a user (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Do not <quote>inline</> a SQL function with multiple <literal>OUT</>
|
||||||
|
parameters (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids a possible crash due to loss of information about the
|
||||||
|
expected result rowtype.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix crash when inline-ing a set-returning function whose argument list
|
||||||
|
contains a reference to an inline-able user function (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Behave correctly if <literal>ORDER BY</>, <literal>LIMIT</>,
|
||||||
|
<literal>FOR UPDATE</>, or <literal>WITH</> is attached to the
|
||||||
|
<literal>VALUES</> part of <literal>INSERT ... VALUES</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make the <literal>OFF</> keyword unreserved (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This prevents problems with using <literal>off</> as a variable name in
|
||||||
|
<application>PL/pgSQL</>. That worked before 9.0, but was now broken
|
||||||
|
because <application>PL/pgSQL</> now treats all core reserved words
|
||||||
|
as reserved.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix constant-folding of <literal>COALESCE()</> expressions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The planner would sometimes attempt to evaluate sub-expressions that
|
||||||
|
in fact could never be reached, possibly leading to unexpected errors.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>could not find pathkey item to sort</> planner failure
|
||||||
|
with comparison of whole-row Vars (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix postmaster crash when connection acceptance
|
||||||
|
(<function>accept()</> or one of the calls made immediately after it)
|
||||||
|
fails, and the postmaster was compiled with GSSAPI support (Alexander
|
||||||
|
Chernikov)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Retry after receiving an invalid response packet from a RADIUS
|
||||||
|
authentication server (Magnus Hagander)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This fixes a low-risk potential denial of service condition.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix missed unlink of temporary files when <varname>log_temp_files</>
|
||||||
|
is active (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If an error occurred while attempting to emit the log message, the
|
||||||
|
unlink was not done, resulting in accumulation of temp files.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add print functionality for <structname>InhRelation</> nodes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids a failure when <varname>debug_print_parse</> is enabled
|
||||||
|
and certain types of query are executed.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect calculation of distance from a point to a horizontal
|
||||||
|
line segment (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This bug affected several different geometric distance-measurement
|
||||||
|
operators.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect calculation of transaction status in
|
||||||
|
<application>ecpg</> (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix errors in <application>psql</>'s Unicode-escape support (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Speed up parallel <application>pg_restore</> when the archive
|
||||||
|
contains many large objects (blobs) (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/pgSQL</>'s handling of <quote>simple</>
|
||||||
|
expressions to not fail in recursion or error-recovery cases (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/pgSQL</>'s error reporting for no-such-column
|
||||||
|
cases (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
As of 9.0, it would sometimes report <quote>missing FROM-clause entry
|
||||||
|
for table foo</> when <quote>record foo has no field bar</> would be
|
||||||
|
more appropriate.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/Python</> to honor typmod (i.e., length or
|
||||||
|
precision restrictions) when assigning to tuple fields (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This fixes a regression from 8.4.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>PL/Python</>'s handling of set-returning functions
|
||||||
|
(Jan Urbanski)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Attempts to call SPI functions within the iterator generating a set
|
||||||
|
result would fail.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix bug in <filename>contrib/cube</>'s GiST picksplit algorithm
|
||||||
|
(Alexander Korotkov)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This could result in considerable inefficiency, though not actually
|
||||||
|
incorrect answers, in a GiST index on a <type>cube</> column.
|
||||||
|
If you have such an index, consider <command>REINDEX</>ing it after
|
||||||
|
installing this update.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Don't emit <quote>identifier will be truncated</> notices in
|
||||||
|
<filename>contrib/dblink</> except when creating new connections
|
||||||
|
(Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix potential coredump on missing public key in
|
||||||
|
<filename>contrib/pgcrypto</> (Marti Raudsepp)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix buffer overrun in <filename>contrib/pg_upgrade</> (Hernan Gonzalez)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix memory leak in <filename>contrib/xml2</>'s XPath query functions
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2010o
|
||||||
|
for DST law changes in Fiji and Samoa;
|
||||||
|
also historical corrections for Hong Kong.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-0-1">
|
<sect1 id="release-9-0-1">
|
||||||
<title>Release 9.0.1</title>
|
<title>Release 9.0.1</title>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user