mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
Update release notes for releases 9.0.1, 8.4.5, 8.3.12, 8.2.18, 8.1.22,
8.0.26, and 7.4.30.
This commit is contained in:
parent
3689583d5a
commit
9caf5a841b
@ -1,6 +1,103 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-7.4.sgml,v 1.7 2010/05/13 21:26:59 tgl Exp $ -->
|
<!-- doc/src/sgml/release-7.4.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-7-4-30">
|
||||||
|
<title>Release 7.4.30</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release date</title>
|
||||||
|
<simpara>2010-10-04</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 7.4.29.
|
||||||
|
For information about new features in the 7.4 major release, see
|
||||||
|
<xref linkend="release-7-4">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is expected to be the last <productname>PostgreSQL</> release
|
||||||
|
in the 7.4.X series. Users are encouraged to update to a newer
|
||||||
|
release branch soon.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Migration to Version 7.4.30</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 7.4.X.
|
||||||
|
However, if you are upgrading from a version earlier than 7.4.26,
|
||||||
|
see the release notes for 7.4.26.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent possible crashes in <function>pg_get_expr()</> by disallowing
|
||||||
|
it from being called with an argument that is not one of the system
|
||||||
|
catalog columns it's intended to be used with
|
||||||
|
(Heikki Linnakangas, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>cannot handle unplanned sub-select</quote> error (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This occurred when a sub-select contains a join alias reference that
|
||||||
|
expands into an expression containing another sub-select.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Take care to fsync the contents of lockfiles (both
|
||||||
|
<filename>postmaster.pid</> and the socket lockfile) while writing them
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This omission could result in corrupted lockfile contents if the
|
||||||
|
machine crashes shortly after postmaster start. That could in turn
|
||||||
|
prevent subsequent attempts to start the postmaster from succeeding,
|
||||||
|
until the lockfile is manually removed.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <filename>contrib/dblink</>'s handling of tables containing
|
||||||
|
dropped columns (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix connection leak after <quote>duplicate connection name</quote>
|
||||||
|
errors in <filename>contrib/dblink</> (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update build infrastructure and documentation to reflect the source code
|
||||||
|
repository's move from CVS to Git (Magnus Hagander and others)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-7-4-29">
|
<sect1 id="release-7-4-29">
|
||||||
<title>Release 7.4.29</title>
|
<title>Release 7.4.29</title>
|
||||||
|
|
||||||
@ -1897,7 +1994,7 @@ enabled</para></listitem>
|
|||||||
files during postmaster startup</para></listitem>
|
files during postmaster startup</para></listitem>
|
||||||
<listitem><para>Various memory leakage fixes</para></listitem>
|
<listitem><para>Various memory leakage fixes</para></listitem>
|
||||||
<listitem><para>Various portability improvements</para></listitem>
|
<listitem><para>Various portability improvements</para></listitem>
|
||||||
<listitem><para>Fix PL/PgSQL to handle <literal>var := var</> correctly when
|
<listitem><para>Fix PL/pgSQL to handle <literal>var := var</> correctly when
|
||||||
the variable is of pass-by-reference type</para></listitem>
|
the variable is of pass-by-reference type</para></listitem>
|
||||||
<listitem><para>Update <filename>contrib/tsearch2</> to use current Snowball
|
<listitem><para>Update <filename>contrib/tsearch2</> to use current Snowball
|
||||||
code</para></listitem>
|
code</para></listitem>
|
||||||
|
@ -1,6 +1,173 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.0.sgml,v 1.7 2010/05/13 21:26:59 tgl Exp $ -->
|
<!-- doc/src/sgml/release-8.0.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-8-0-26">
|
||||||
|
<title>Release 8.0.26</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release date</title>
|
||||||
|
<simpara>2010-10-04</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 8.0.25.
|
||||||
|
For information about new features in the 8.0 major release, see
|
||||||
|
<xref linkend="release-8-0">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is expected to be the last <productname>PostgreSQL</> release
|
||||||
|
in the 8.0.X series. Users are encouraged to update to a newer
|
||||||
|
release branch soon.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Migration to Version 8.0.26</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 8.0.X.
|
||||||
|
However, if you are upgrading from a version earlier than 8.0.22,
|
||||||
|
see the release notes for 8.0.22.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent possible crashes in <function>pg_get_expr()</> by disallowing
|
||||||
|
it from being called with an argument that is not one of the system
|
||||||
|
catalog columns it's intended to be used with
|
||||||
|
(Heikki Linnakangas, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>cannot handle unplanned sub-select</quote> error (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This occurred when a sub-select contains a join alias reference that
|
||||||
|
expands into an expression containing another sub-select.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Defend against functions returning setof record where not all the
|
||||||
|
returned rows are actually of the same rowtype (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Take care to fsync the contents of lockfiles (both
|
||||||
|
<filename>postmaster.pid</> and the socket lockfile) while writing them
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This omission could result in corrupted lockfile contents if the
|
||||||
|
machine crashes shortly after postmaster start. That could in turn
|
||||||
|
prevent subsequent attempts to start the postmaster from succeeding,
|
||||||
|
until the lockfile is manually removed.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid recursion while assigning XIDs to heavily-nested
|
||||||
|
subtransactions (Andres Freund, Robert Haas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The original coding could result in a crash if there was limited
|
||||||
|
stack space.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <varname>log_line_prefix</>'s <literal>%i</> escape,
|
||||||
|
which could produce junk early in backend startup (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible data corruption in <command>ALTER TABLE ... SET
|
||||||
|
TABLESPACE</> when archiving is enabled (Jeff Davis)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow <command>CREATE DATABASE</> and <command>ALTER DATABASE ... SET
|
||||||
|
TABLESPACE</> to be interrupted by query-cancel (Guillaume Lelarge)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In PL/Python, defend against null pointer results from
|
||||||
|
<function>PyCObject_AsVoidPtr</> and <function>PyCObject_FromVoidPtr</>
|
||||||
|
(Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <filename>contrib/dblink</>'s handling of tables containing
|
||||||
|
dropped columns (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix connection leak after <quote>duplicate connection name</quote>
|
||||||
|
errors in <filename>contrib/dblink</> (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <filename>contrib/dblink</> to handle connection names longer than
|
||||||
|
62 bytes correctly (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update build infrastructure and documentation to reflect the source code
|
||||||
|
repository's move from CVS to Git (Magnus Hagander and others)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2010l
|
||||||
|
for DST law changes in Egypt and Palestine; also historical corrections
|
||||||
|
for Finland.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change also adds new names for two Micronesian timezones:
|
||||||
|
Pacific/Chuuk is now preferred over Pacific/Truk (and the preferred
|
||||||
|
abbreviation is CHUT not TRUT) and Pacific/Pohnpei is preferred over
|
||||||
|
Pacific/Ponape.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-8-0-25">
|
<sect1 id="release-8-0-25">
|
||||||
<title>Release 8.0.25</title>
|
<title>Release 8.0.25</title>
|
||||||
|
|
||||||
@ -2512,7 +2679,7 @@ when opening the file fails</para></listitem>
|
|||||||
constraints more reliably</para></listitem>
|
constraints more reliably</para></listitem>
|
||||||
<listitem><para>Fix password prompting in <application>pg_restore</> on
|
<listitem><para>Fix password prompting in <application>pg_restore</> on
|
||||||
Windows</para></listitem>
|
Windows</para></listitem>
|
||||||
<listitem><para>Fix PL/PgSQL to handle <literal>var := var</> correctly when
|
<listitem><para>Fix PL/pgSQL to handle <literal>var := var</> correctly when
|
||||||
the variable is of pass-by-reference type</para></listitem>
|
the variable is of pass-by-reference type</para></listitem>
|
||||||
<listitem><para>Fix PL/Perl <literal>%_SHARED</> so it's actually
|
<listitem><para>Fix PL/Perl <literal>%_SHARED</> so it's actually
|
||||||
shared</para></listitem>
|
shared</para></listitem>
|
||||||
|
@ -1,6 +1,187 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.1.sgml,v 1.7.2.1 2010/07/29 19:34:37 petere Exp $ -->
|
<!-- 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-22">
|
||||||
|
<title>Release 8.1.22</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release date</title>
|
||||||
|
<simpara>2010-10-04</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 8.1.21.
|
||||||
|
For information about new features in the 8.1 major release, see
|
||||||
|
<xref linkend="release-8-1">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The <productname>PostgreSQL</> community will stop releasing updates
|
||||||
|
for the 8.1.X release series in November 2010.
|
||||||
|
Users are encouraged to update to a newer release branch soon.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Migration to Version 8.1.22</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>
|
||||||
|
Prevent possible crashes in <function>pg_get_expr()</> by disallowing
|
||||||
|
it from being called with an argument that is not one of the system
|
||||||
|
catalog columns it's intended to be used with
|
||||||
|
(Heikki Linnakangas, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>cannot handle unplanned sub-select</quote> error (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This occurred when a sub-select contains a join alias reference that
|
||||||
|
expands into an expression containing another sub-select.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent show_session_authorization() from crashing within autovacuum
|
||||||
|
processes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Defend against functions returning setof record where not all the
|
||||||
|
returned rows are actually of the same rowtype (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible failure when hashing a pass-by-reference function result
|
||||||
|
(Tao Ma, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Take care to fsync the contents of lockfiles (both
|
||||||
|
<filename>postmaster.pid</> and the socket lockfile) while writing them
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This omission could result in corrupted lockfile contents if the
|
||||||
|
machine crashes shortly after postmaster start. That could in turn
|
||||||
|
prevent subsequent attempts to start the postmaster from succeeding,
|
||||||
|
until the lockfile is manually removed.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid recursion while assigning XIDs to heavily-nested
|
||||||
|
subtransactions (Andres Freund, Robert Haas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The original coding could result in a crash if there was limited
|
||||||
|
stack space.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <varname>log_line_prefix</>'s <literal>%i</> escape,
|
||||||
|
which could produce junk early in backend startup (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible data corruption in <command>ALTER TABLE ... SET
|
||||||
|
TABLESPACE</> when archiving is enabled (Jeff Davis)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow <command>CREATE DATABASE</> and <command>ALTER DATABASE ... SET
|
||||||
|
TABLESPACE</> to be interrupted by query-cancel (Guillaume Lelarge)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In PL/Python, defend against null pointer results from
|
||||||
|
<function>PyCObject_AsVoidPtr</> and <function>PyCObject_FromVoidPtr</>
|
||||||
|
(Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <filename>contrib/dblink</>'s handling of tables containing
|
||||||
|
dropped columns (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix connection leak after <quote>duplicate connection name</quote>
|
||||||
|
errors in <filename>contrib/dblink</> (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <filename>contrib/dblink</> to handle connection names longer than
|
||||||
|
62 bytes correctly (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update build infrastructure and documentation to reflect the source code
|
||||||
|
repository's move from CVS to Git (Magnus Hagander and others)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2010l
|
||||||
|
for DST law changes in Egypt and Palestine; also historical corrections
|
||||||
|
for Finland.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change also adds new names for two Micronesian timezones:
|
||||||
|
Pacific/Chuuk is now preferred over Pacific/Truk (and the preferred
|
||||||
|
abbreviation is CHUT not TRUT) and Pacific/Pohnpei is preferred over
|
||||||
|
Pacific/Ponape.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-8-1-21">
|
<sect1 id="release-8-1-21">
|
||||||
<title>Release 8.1.21</title>
|
<title>Release 8.1.21</title>
|
||||||
|
|
||||||
@ -1212,7 +1393,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Fix PL/PgSQL to not fail when a <literal>FOR</> loop's target variable
|
Fix PL/pgSQL to not fail when a <literal>FOR</> loop's target variable
|
||||||
is a record containing composite-type fields (Tom)
|
is a record containing composite-type fields (Tom)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -4343,7 +4524,7 @@ SELECT CURRENT_TIMESTAMP AT TIME ZONE 'Europe/London';
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow SQL and PL/PgSQL functions to use <command>OUT</> and
|
Allow SQL and PL/pgSQL functions to use <command>OUT</> and
|
||||||
<command>INOUT</> parameters (Tom)
|
<command>INOUT</> parameters (Tom)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
@ -4378,12 +4559,12 @@ SELECT CURRENT_TIMESTAMP AT TIME ZONE 'Europe/London';
|
|||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>PL/PgSQL Server-Side Language Changes</title>
|
<title>PL/pgSQL Server-Side Language Changes</title>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Overhaul the memory management of PL/PgSQL functions (Neil)
|
Overhaul the memory management of PL/pgSQL functions (Neil)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The parsetree of each function is now stored in a separate
|
The parsetree of each function is now stored in a separate
|
||||||
@ -4426,7 +4607,7 @@ SELECT CURRENT_TIMESTAMP AT TIME ZONE 'Europe/London';
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add support for an optional <command>INTO</> clause to
|
Add support for an optional <command>INTO</> clause to
|
||||||
PL/PgSQL's <command>EXECUTE</> statement (Pavel Stehule, Neil)
|
PL/pgSQL's <command>EXECUTE</> statement (Pavel Stehule, Neil)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
@ -1,6 +1,255 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.2.sgml,v 1.7 2010/05/13 21:26:59 tgl Exp $ -->
|
<!-- 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-18">
|
||||||
|
<title>Release 8.2.18</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release date</title>
|
||||||
|
<simpara>2010-10-04</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 8.2.17.
|
||||||
|
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.18</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>
|
||||||
|
Prevent possible crashes in <function>pg_get_expr()</> by disallowing
|
||||||
|
it from being called with an argument that is not one of the system
|
||||||
|
catalog columns it's intended to be used with
|
||||||
|
(Heikki Linnakangas, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix Windows shared-memory allocation code
|
||||||
|
(Tsutomu Yamada, Magnus Hagander)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This bug led to the often-reported <quote>could not reattach to shared
|
||||||
|
memory</quote> error message. This is a back-patch of a fix that was
|
||||||
|
applied to newer branches some time ago.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Treat exit code 128 (<literal>ERROR_WAIT_NO_CHILDREN</>) as non-fatal on
|
||||||
|
Windows (Magnus Hagander)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Under high load, Windows processes will sometimes fail at startup with
|
||||||
|
this error code. Formerly the postmaster treated this as a panic
|
||||||
|
condition and restarted the whole database, but that seems to be
|
||||||
|
an overreaction.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible duplicate scans of <literal>UNION ALL</> member relations
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>cannot handle unplanned sub-select</quote> error (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This occurred when a sub-select contains a join alias reference that
|
||||||
|
expands into an expression containing another sub-select.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce PANIC to ERROR in some occasionally-reported btree failure cases,
|
||||||
|
and provide additional detail in the resulting error messages
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This should improve the system's robustness with corrupted indexes.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent show_session_authorization() from crashing within autovacuum
|
||||||
|
processes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Defend against functions returning setof record where not all the
|
||||||
|
returned rows are actually of the same rowtype (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible failure when hashing a pass-by-reference function result
|
||||||
|
(Tao Ma, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Take care to fsync the contents of lockfiles (both
|
||||||
|
<filename>postmaster.pid</> and the socket lockfile) while writing them
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This omission could result in corrupted lockfile contents if the
|
||||||
|
machine crashes shortly after postmaster start. That could in turn
|
||||||
|
prevent subsequent attempts to start the postmaster from succeeding,
|
||||||
|
until the lockfile is manually removed.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid recursion while assigning XIDs to heavily-nested
|
||||||
|
subtransactions (Andres Freund, Robert Haas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The original coding could result in a crash if there was limited
|
||||||
|
stack space.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <varname>log_line_prefix</>'s <literal>%i</> escape,
|
||||||
|
which could produce junk early in backend startup (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible data corruption in <command>ALTER TABLE ... SET
|
||||||
|
TABLESPACE</> when archiving is enabled (Jeff Davis)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow <command>CREATE DATABASE</> and <command>ALTER DATABASE ... SET
|
||||||
|
TABLESPACE</> to be interrupted by query-cancel (Guillaume Lelarge)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In PL/Python, defend against null pointer results from
|
||||||
|
<function>PyCObject_AsVoidPtr</> and <function>PyCObject_FromVoidPtr</>
|
||||||
|
(Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <filename>contrib/dblink</>'s handling of tables containing
|
||||||
|
dropped columns (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix connection leak after <quote>duplicate connection name</quote>
|
||||||
|
errors in <filename>contrib/dblink</> (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <filename>contrib/dblink</> to handle connection names longer than
|
||||||
|
62 bytes correctly (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add <function>hstore(text, text)</>
|
||||||
|
function to <filename>contrib/hstore</> (Robert Haas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This function is the recommended substitute for the now-deprecated
|
||||||
|
<literal>=></> operator. It was back-patched so that future-proofed
|
||||||
|
code can be used with older server versions. Note that the patch will
|
||||||
|
be effective only after <filename>contrib/hstore</> is installed or
|
||||||
|
reinstalled in a particular database. Users might prefer to execute
|
||||||
|
the <command>CREATE FUNCTION</> command by hand, instead.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update build infrastructure and documentation to reflect the source code
|
||||||
|
repository's move from CVS to Git (Magnus Hagander and others)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2010l
|
||||||
|
for DST law changes in Egypt and Palestine; also historical corrections
|
||||||
|
for Finland.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change also adds new names for two Micronesian timezones:
|
||||||
|
Pacific/Chuuk is now preferred over Pacific/Truk (and the preferred
|
||||||
|
abbreviation is CHUT not TRUT) and Pacific/Pohnpei is preferred over
|
||||||
|
Pacific/Ponape.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make Windows' <quote>N. Central Asia Standard Time</> timezone map to
|
||||||
|
Asia/Novosibirsk, not Asia/Almaty (Magnus Hagander)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Microsoft changed the DST behavior of this zone in the timezone update
|
||||||
|
from KB976098. Asia/Novosibirsk is a better match to its new behavior.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-8-2-17">
|
<sect1 id="release-8-2-17">
|
||||||
<title>Release 8.2.17</title>
|
<title>Release 8.2.17</title>
|
||||||
|
|
||||||
@ -1661,7 +1910,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Fix PL/PgSQL to not fail when a <literal>FOR</> loop's target variable
|
Fix PL/pgSQL to not fail when a <literal>FOR</> loop's target variable
|
||||||
is a record containing composite-type fields (Tom)
|
is a record containing composite-type fields (Tom)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -4883,7 +5132,7 @@
|
|||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>PL/PgSQL Server-Side Language Changes</title>
|
<title>PL/pgSQL Server-Side Language Changes</title>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -5448,7 +5697,7 @@
|
|||||||
linkend="guc-local-preload-libraries"><varname>local_preload_libraries</></link>
|
linkend="guc-local-preload-libraries"><varname>local_preload_libraries</></link>
|
||||||
that allows libraries to be loaded into specific sessions without
|
that allows libraries to be loaded into specific sessions without
|
||||||
explicit cooperation from the client application. This allows
|
explicit cooperation from the client application. This allows
|
||||||
external add-ons to implement features such as a PL/PgSQL debugger.
|
external add-ons to implement features such as a PL/pgSQL debugger.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
@ -1,6 +1,332 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.3.sgml,v 1.7 2010/05/13 21:26:59 tgl Exp $ -->
|
<!-- 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-12">
|
||||||
|
<title>Release 8.3.12</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release date</title>
|
||||||
|
<simpara>2010-10-04</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 8.3.11.
|
||||||
|
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.12</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>
|
||||||
|
Prevent possible crashes in <function>pg_get_expr()</> by disallowing
|
||||||
|
it from being called with an argument that is not one of the system
|
||||||
|
catalog columns it's intended to be used with
|
||||||
|
(Heikki Linnakangas, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Treat exit code 128 (<literal>ERROR_WAIT_NO_CHILDREN</>) as non-fatal on
|
||||||
|
Windows (Magnus Hagander)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Under high load, Windows processes will sometimes fail at startup with
|
||||||
|
this error code. Formerly the postmaster treated this as a panic
|
||||||
|
condition and restarted the whole database, but that seems to be
|
||||||
|
an overreaction.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect usage of non-strict OR joinclauses in Append indexscans
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is a back-patch of an 8.4 fix that was missed in the 8.3 branch.
|
||||||
|
This corrects an error introduced in 8.3.8 that could cause incorrect
|
||||||
|
results for outer joins when the inner relation is an inheritance tree
|
||||||
|
or <literal>UNION ALL</> subquery.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible duplicate scans of <literal>UNION ALL</> member relations
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>cannot handle unplanned sub-select</quote> error (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This occurred when a sub-select contains a join alias reference that
|
||||||
|
expands into an expression containing another sub-select.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix failure to mark cached plans as transient (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If a plan is prepared while <command>CREATE INDEX CONCURRENTLY</> is
|
||||||
|
in progress for one of the referenced tables, it is supposed to be
|
||||||
|
re-planned once the index is ready for use. This was not happening
|
||||||
|
reliably.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce PANIC to ERROR in some occasionally-reported btree failure cases,
|
||||||
|
and provide additional detail in the resulting error messages
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This should improve the system's robustness with corrupted indexes.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent show_session_authorization() from crashing within autovacuum
|
||||||
|
processes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Defend against functions returning setof record where not all the
|
||||||
|
returned rows are actually of the same rowtype (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible failure when hashing a pass-by-reference function result
|
||||||
|
(Tao Ma, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve merge join's handling of NULLs in the join columns (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A merge join can now stop entirely upon reaching the first NULL,
|
||||||
|
if the sort order is such that NULLs sort high.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Take care to fsync the contents of lockfiles (both
|
||||||
|
<filename>postmaster.pid</> and the socket lockfile) while writing them
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This omission could result in corrupted lockfile contents if the
|
||||||
|
machine crashes shortly after postmaster start. That could in turn
|
||||||
|
prevent subsequent attempts to start the postmaster from succeeding,
|
||||||
|
until the lockfile is manually removed.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid recursion while assigning XIDs to heavily-nested
|
||||||
|
subtransactions (Andres Freund, Robert Haas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The original coding could result in a crash if there was limited
|
||||||
|
stack space.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid holding open old WAL segments in the walwriter process
|
||||||
|
(Magnus Hagander, Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The previous coding would prevent removal of no-longer-needed segments.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <varname>log_line_prefix</>'s <literal>%i</> escape,
|
||||||
|
which could produce junk early in backend startup (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible data corruption in <command>ALTER TABLE ... SET
|
||||||
|
TABLESPACE</> when archiving is enabled (Jeff Davis)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow <command>CREATE DATABASE</> and <command>ALTER DATABASE ... SET
|
||||||
|
TABLESPACE</> to be interrupted by query-cancel (Guillaume Lelarge)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <command>REASSIGN OWNED</> to handle operator classes and families
|
||||||
|
(Asko Tiidumaa)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible core dump when comparing two empty <type>tsquery</> values
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <literal>LIKE</>'s handling of patterns containing <literal>%</>
|
||||||
|
followed by <literal>_</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
We've fixed this before, but there were still some incorrectly-handled
|
||||||
|
cases.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In PL/Python, defend against null pointer results from
|
||||||
|
<function>PyCObject_AsVoidPtr</> and <function>PyCObject_FromVoidPtr</>
|
||||||
|
(Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make psql recognize <command>DISCARD ALL</> as a command that should
|
||||||
|
not be encased in a transaction block in autocommit-off mode
|
||||||
|
(Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>ecpg</> to process data from <literal>RETURNING</>
|
||||||
|
clauses correctly (Michael Meskes)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <filename>contrib/dblink</>'s handling of tables containing
|
||||||
|
dropped columns (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix connection leak after <quote>duplicate connection name</quote>
|
||||||
|
errors in <filename>contrib/dblink</> (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <filename>contrib/dblink</> to handle connection names longer than
|
||||||
|
62 bytes correctly (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add <function>hstore(text, text)</>
|
||||||
|
function to <filename>contrib/hstore</> (Robert Haas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This function is the recommended substitute for the now-deprecated
|
||||||
|
<literal>=></> operator. It was back-patched so that future-proofed
|
||||||
|
code can be used with older server versions. Note that the patch will
|
||||||
|
be effective only after <filename>contrib/hstore</> is installed or
|
||||||
|
reinstalled in a particular database. Users might prefer to execute
|
||||||
|
the <command>CREATE FUNCTION</> command by hand, instead.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update build infrastructure and documentation to reflect the source code
|
||||||
|
repository's move from CVS to Git (Magnus Hagander and others)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2010l
|
||||||
|
for DST law changes in Egypt and Palestine; also historical corrections
|
||||||
|
for Finland.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change also adds new names for two Micronesian timezones:
|
||||||
|
Pacific/Chuuk is now preferred over Pacific/Truk (and the preferred
|
||||||
|
abbreviation is CHUT not TRUT) and Pacific/Pohnpei is preferred over
|
||||||
|
Pacific/Ponape.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make Windows' <quote>N. Central Asia Standard Time</> timezone map to
|
||||||
|
Asia/Novosibirsk, not Asia/Almaty (Magnus Hagander)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Microsoft changed the DST behavior of this zone in the timezone update
|
||||||
|
from KB976098. Asia/Novosibirsk is a better match to its new behavior.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-8-3-11">
|
<sect1 id="release-8-3-11">
|
||||||
<title>Release 8.3.11</title>
|
<title>Release 8.3.11</title>
|
||||||
|
|
||||||
@ -2239,7 +2565,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Fix PL/PgSQL to not fail when a <literal>FOR</> loop's target variable
|
Fix PL/pgSQL to not fail when a <literal>FOR</> loop's target variable
|
||||||
is a record containing composite-type fields (Tom)
|
is a record containing composite-type fields (Tom)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -3914,7 +4240,7 @@ current_date < 2017-11-17
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Previously PL/PgSQL functions that referenced temporary tables
|
Previously PL/pgSQL functions that referenced temporary tables
|
||||||
would fail if the temporary table was dropped and recreated
|
would fail if the temporary table was dropped and recreated
|
||||||
between function invocations, unless <literal>EXECUTE</> was
|
between function invocations, unless <literal>EXECUTE</> was
|
||||||
used. This improvement fixes that problem and many related issues.
|
used. This improvement fixes that problem and many related issues.
|
||||||
@ -4740,7 +5066,7 @@ current_date < 2017-11-17
|
|||||||
The first request for statistics in a transaction takes a statistics
|
The first request for statistics in a transaction takes a statistics
|
||||||
snapshot that does not change during the transaction. This function
|
snapshot that does not change during the transaction. This function
|
||||||
allows the snapshot to be discarded and a new snapshot loaded during
|
allows the snapshot to be discarded and a new snapshot loaded during
|
||||||
the next statistics query. This is particularly useful for PL/PgSQL
|
the next statistics query. This is particularly useful for PL/pgSQL
|
||||||
functions, which are confined to a single transaction.
|
functions, which are confined to a single transaction.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -4835,7 +5161,7 @@ current_date < 2017-11-17
|
|||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
<title>PL/PgSQL Server-Side Language</title>
|
<title>PL/pgSQL Server-Side Language</title>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -4848,7 +5174,7 @@ current_date < 2017-11-17
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Allow <literal>IN</literal> as an alternative to
|
Allow <literal>IN</literal> as an alternative to
|
||||||
<literal>FROM</literal> in PL/PgSQL's <command>FETCH</command>
|
<literal>FROM</literal> in PL/pgSQL's <command>FETCH</command>
|
||||||
statement, for consistency with the backend's
|
statement, for consistency with the backend's
|
||||||
<command>FETCH</command> command (Pavel Stehule)
|
<command>FETCH</command> command (Pavel Stehule)
|
||||||
</para>
|
</para>
|
||||||
@ -4856,7 +5182,7 @@ current_date < 2017-11-17
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Add <command>MOVE</command> to PL/PgSQL (Magnus, Pavel Stehule,
|
Add <command>MOVE</command> to PL/pgSQL (Magnus, Pavel Stehule,
|
||||||
Neil)
|
Neil)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -4867,7 +5193,7 @@ current_date < 2017-11-17
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This adds convenient syntax for PL/PgSQL set-returning functions
|
This adds convenient syntax for PL/pgSQL set-returning functions
|
||||||
that want to return the result of a query. <command>RETURN QUERY</>
|
that want to return the result of a query. <command>RETURN QUERY</>
|
||||||
is easier and more efficient than a loop
|
is easier and more efficient than a loop
|
||||||
around <command>RETURN NEXT</command>.
|
around <command>RETURN NEXT</command>.
|
||||||
|
@ -1,6 +1,491 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.4.sgml,v 1.19 2010/05/13 21:26:59 tgl Exp $ -->
|
<!-- 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-5">
|
||||||
|
<title>Release 8.4.5</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release date</title>
|
||||||
|
<simpara>2010-10-04</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 8.4.4.
|
||||||
|
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.5</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>
|
||||||
|
Prevent possible crashes in <function>pg_get_expr()</> by disallowing
|
||||||
|
it from being called with an argument that is not one of the system
|
||||||
|
catalog columns it's intended to be used with
|
||||||
|
(Heikki Linnakangas, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Treat exit code 128 (<literal>ERROR_WAIT_NO_CHILDREN</>) as non-fatal on
|
||||||
|
Windows (Magnus Hagander)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Under high load, Windows processes will sometimes fail at startup with
|
||||||
|
this error code. Formerly the postmaster treated this as a panic
|
||||||
|
condition and restarted the whole database, but that seems to be
|
||||||
|
an overreaction.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect placement of placeholder evaluation (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This bug could result in query outputs being non-null when they
|
||||||
|
should be null, in cases where the inner side of an outer join
|
||||||
|
is a sub-select with non-strict expressions in its output list.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible duplicate scans of <literal>UNION ALL</> member relations
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <quote>cannot handle unplanned sub-select</quote> error (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This occurred when a sub-select contains a join alias reference that
|
||||||
|
expands into an expression containing another sub-select.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix mishandling of whole-row Vars that reference a view or sub-select
|
||||||
|
and appear within a nested sub-select (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix mishandling of cross-type <literal>IN</> comparisons (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This could result in failures if the planner tried to implement an
|
||||||
|
<literal>IN</> join with a sort-then-unique-then-plain-join plan.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix computation of <command>ANALYZE</> statistics for <type>tsvector</>
|
||||||
|
columns (Jan Urbanski)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The original coding could produce incorrect statistics, leading to
|
||||||
|
poor plan choices later.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve planner's estimate of memory used by <function>array_agg()</>,
|
||||||
|
<function>string_agg()</>, and similar aggregate functions
|
||||||
|
(Hitoshi Harada)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The previous drastic underestimate could lead to out-of-memory failures
|
||||||
|
due to inappropriate choice of a hash-aggregation plan.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix failure to mark cached plans as transient (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If a plan is prepared while <command>CREATE INDEX CONCURRENTLY</> is
|
||||||
|
in progress for one of the referenced tables, it is supposed to be
|
||||||
|
re-planned once the index is ready for use. This was not happening
|
||||||
|
reliably.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce PANIC to ERROR in some occasionally-reported btree failure cases,
|
||||||
|
and provide additional detail in the resulting error messages
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This should improve the system's robustness with corrupted indexes.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect search logic for partial-match queries with GIN indexes
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Cases involving AND/OR combination of several GIN index conditions
|
||||||
|
didn't always give the right answer, and were sometimes much slower
|
||||||
|
than necessary.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent show_session_authorization() from crashing within autovacuum
|
||||||
|
processes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Defend against functions returning setof record where not all the
|
||||||
|
returned rows are actually of the same rowtype (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible corruption of pending trigger event lists during
|
||||||
|
subtransaction rollback (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This could lead to a crash or incorrect firing of triggers.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible failure when hashing a pass-by-reference function result
|
||||||
|
(Tao Ma, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve merge join's handling of NULLs in the join columns (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A merge join can now stop entirely upon reaching the first NULL,
|
||||||
|
if the sort order is such that NULLs sort high.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Take care to fsync the contents of lockfiles (both
|
||||||
|
<filename>postmaster.pid</> and the socket lockfile) while writing them
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This omission could result in corrupted lockfile contents if the
|
||||||
|
machine crashes shortly after postmaster start. That could in turn
|
||||||
|
prevent subsequent attempts to start the postmaster from succeeding,
|
||||||
|
until the lockfile is manually removed.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid recursion while assigning XIDs to heavily-nested
|
||||||
|
subtransactions (Andres Freund, Robert Haas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The original coding could result in a crash if there was limited
|
||||||
|
stack space.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid holding open old WAL segments in the walwriter process
|
||||||
|
(Magnus Hagander, Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The previous coding would prevent removal of no-longer-needed segments.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <varname>log_line_prefix</>'s <literal>%i</> escape,
|
||||||
|
which could produce junk early in backend startup (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent misinterpretation of partially-specified relation options
|
||||||
|
for TOAST tables (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In particular, <literal>fillfactor</> would be read as zero if any
|
||||||
|
other reloption had been set for the table, leading to serious bloat.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix inheritance count tracking in <command>ALTER TABLE ... ADD
|
||||||
|
CONSTRAINT</> (Robert Haas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible data corruption in <command>ALTER TABLE ... SET
|
||||||
|
TABLESPACE</> when archiving is enabled (Jeff Davis)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow <command>CREATE DATABASE</> and <command>ALTER DATABASE ... SET
|
||||||
|
TABLESPACE</> to be interrupted by query-cancel (Guillaume Lelarge)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <command>CREATE INDEX</>'s checking of whether proposed index
|
||||||
|
expressions are immutable (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <command>REASSIGN OWNED</> to handle operator classes and families
|
||||||
|
(Asko Tiidumaa)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible core dump when comparing two empty <type>tsquery</> values
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <literal>LIKE</>'s handling of patterns containing <literal>%</>
|
||||||
|
followed by <literal>_</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
We've fixed this before, but there were still some incorrectly-handled
|
||||||
|
cases.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Re-allow input of Julian dates prior to 0001-01-01 AD (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Input such as <literal>'J100000'::date</> worked before 8.4,
|
||||||
|
but was unintentionally broken by added error-checking.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix PL/pgSQL to throw an error, not crash, if a cursor is closed within
|
||||||
|
a <literal>FOR</> loop that is iterating over that cursor
|
||||||
|
(Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In PL/Python, defend against null pointer results from
|
||||||
|
<function>PyCObject_AsVoidPtr</> and <function>PyCObject_FromVoidPtr</>
|
||||||
|
(Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <application>libpq</>, fix full SSL certificate verification for the
|
||||||
|
case where both <literal>host</> and <literal>hostaddr</> are specified
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make psql recognize <command>DISCARD ALL</> as a command that should
|
||||||
|
not be encased in a transaction block in autocommit-off mode
|
||||||
|
(Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix some issues in <application>pg_dump</>'s handling of SQL/MED objects
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Notably, <application>pg_dump</> would always fail if run by a
|
||||||
|
non-superuser, which was not intended.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <application>pg_dump</> and <application>pg_restore</>'s
|
||||||
|
handling of non-seekable archive files (Tom Lane, Robert Haas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is important for proper functioning of parallel restore.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve parallel pg_restore's ability to cope with selective restore
|
||||||
|
(<literal>-L</> option) (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The original code tended to fail if the <literal>-L</> file commanded
|
||||||
|
a non-default restore ordering.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>ecpg</> to process data from <literal>RETURNING</>
|
||||||
|
clauses correctly (Michael Meskes)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix some memory leaks in <application>ecpg</> (Zoltan Boszormenyi)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <filename>contrib/dblink</>'s handling of tables containing
|
||||||
|
dropped columns (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix connection leak after <quote>duplicate connection name</quote>
|
||||||
|
errors in <filename>contrib/dblink</> (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <filename>contrib/dblink</> to handle connection names longer than
|
||||||
|
62 bytes correctly (Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Add <function>hstore(text, text)</>
|
||||||
|
function to <filename>contrib/hstore</> (Robert Haas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This function is the recommended substitute for the now-deprecated
|
||||||
|
<literal>=></> operator. It was back-patched so that future-proofed
|
||||||
|
code can be used with older server versions. Note that the patch will
|
||||||
|
be effective only after <filename>contrib/hstore</> is installed or
|
||||||
|
reinstalled in a particular database. Users might prefer to execute
|
||||||
|
the <command>CREATE FUNCTION</> command by hand, instead.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update build infrastructure and documentation to reflect the source code
|
||||||
|
repository's move from CVS to Git (Magnus Hagander and others)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update time zone data files to <application>tzdata</> release 2010l
|
||||||
|
for DST law changes in Egypt and Palestine; also historical corrections
|
||||||
|
for Finland.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change also adds new names for two Micronesian timezones:
|
||||||
|
Pacific/Chuuk is now preferred over Pacific/Truk (and the preferred
|
||||||
|
abbreviation is CHUT not TRUT) and Pacific/Pohnpei is preferred over
|
||||||
|
Pacific/Ponape.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make Windows' <quote>N. Central Asia Standard Time</> timezone map to
|
||||||
|
Asia/Novosibirsk, not Asia/Almaty (Magnus Hagander)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Microsoft changed the DST behavior of this zone in the timezone update
|
||||||
|
from KB976098. Asia/Novosibirsk is a better match to its new behavior.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-8-4-4">
|
<sect1 id="release-8-4-4">
|
||||||
<title>Release 8.4.4</title>
|
<title>Release 8.4.4</title>
|
||||||
|
|
||||||
@ -2689,7 +3174,7 @@ WITH w AS (SELECT * FROM foo) SELECT * FROM w, bar ... FOR UPDATE
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
In particular, this means that functions written in PL/PgSQL
|
In particular, this means that functions written in PL/pgSQL
|
||||||
and other PL languages can now be called this way.
|
and other PL languages can now be called this way.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -3815,7 +4300,7 @@ WITH w AS (SELECT * FROM foo) SELECT * FROM w, bar ... FOR UPDATE
|
|||||||
</sect4>
|
</sect4>
|
||||||
|
|
||||||
<sect4>
|
<sect4>
|
||||||
<title>PL/PgSQL Server-Side Language</title>
|
<title>PL/pgSQL Server-Side Language</title>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -1,6 +1,111 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.39.2.14 2010/09/16 18:15:28 tgl Exp $ -->
|
<!-- 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-1">
|
||||||
|
<title>Release 9.0.1</title>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<title>Release date</title>
|
||||||
|
<simpara>2010-10-04</simpara>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.0.0.
|
||||||
|
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.1</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 9.0.X.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <function>pg_get_expr()</> security fix so that the function
|
||||||
|
can still be used on the output of a sub-select (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix incorrect placement of placeholder evaluation (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This bug could result in query outputs being non-null when they
|
||||||
|
should be null, in cases where the inner side of an outer join
|
||||||
|
is a sub-select with non-strict expressions in its output list.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix join removal's handling of placeholder expressions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible duplicate scans of <literal>UNION ALL</> member relations
|
||||||
|
(Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent infinite loop in ProcessIncomingNotify() after unlistening
|
||||||
|
(Jeff Davis)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent show_session_authorization() from crashing within autovacuum
|
||||||
|
processes (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Re-allow input of Julian dates prior to 0001-01-01 AD (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Input such as <literal>'J100000'::date</> worked before 8.4,
|
||||||
|
but was unintentionally broken by added error-checking.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Make psql recognize <command>DISCARD ALL</> as a command that should
|
||||||
|
not be encased in a transaction block in autocommit-off mode
|
||||||
|
(Itagaki Takahiro)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Update build infrastructure and documentation to reflect the source code
|
||||||
|
repository's move from CVS to Git (Magnus Hagander and others)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-0">
|
<sect1 id="release-9-0">
|
||||||
<title>Release 9.0</title>
|
<title>Release 9.0</title>
|
||||||
|
|
||||||
@ -66,7 +171,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Full support for <link linkend="install-win32">64-bit
|
Full support for <link linkend="install-windows">64-bit
|
||||||
<productname>Windows</></link>.
|
<productname>Windows</></link>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -1948,7 +2053,7 @@
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<sect4>
|
<sect4>
|
||||||
<title><link linkend="plpgsql">PL/PgSQL</link> Server-Side
|
<title><link linkend="plpgsql">PL/pgSQL</link> Server-Side
|
||||||
Language</title>
|
Language</title>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
@ -2781,7 +2886,7 @@ if TG_OP = 'INSERT' and NEW.col1 = ... then
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Support compiling on <link
|
Support compiling on <link
|
||||||
linkend="install-win32">64-bit
|
linkend="install-windows">64-bit
|
||||||
<productname>Windows</></link> and running in 64-bit
|
<productname>Windows</></link> and running in 64-bit
|
||||||
mode (Tsutomu Yamada, Magnus Hagander)
|
mode (Tsutomu Yamada, Magnus Hagander)
|
||||||
</para>
|
</para>
|
||||||
@ -2794,7 +2899,7 @@ if TG_OP = 'INSERT' and NEW.col1 = ... then
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Support server builds using <link
|
Support server builds using <link
|
||||||
linkend="install-win32-full"><productname>Visual Studio
|
linkend="install-windows-full"><productname>Visual Studio
|
||||||
2008</></link> (Magnus Hagander)
|
2008</></link> (Magnus Hagander)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
Loading…
Reference in New Issue
Block a user