8.0.26, and 7.4.30.
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-7.4.sgml,v 1.1.2.7 2010/05/13 21:27:15 tgl Exp $ -->
+<!-- doc/src/sgml/release-7.4.sgml -->
<!-- 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">
<title>Release 7.4.29</title>
files during postmaster startup</para></listitem>
<listitem><para>Various memory leakage fixes</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>
<listitem><para>Update <filename>contrib/tsearch2</> to use current Snowball
code</para></listitem>
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.0.sgml,v 1.1.2.7 2010/05/13 21:27:15 tgl Exp $ -->
+<!-- doc/src/sgml/release-8.0.sgml -->
<!-- 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">
<title>Release 8.0.25</title>
constraints more reliably</para></listitem>
<listitem><para>Fix password prompting in <application>pg_restore</> on
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>
<listitem><para>Fix PL/Perl <literal>%_SHARED</> so it's actually
shared</para></listitem>
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.1.sgml,v 1.1.2.7 2010/05/13 21:27:15 tgl Exp $ -->
+<!-- doc/src/sgml/release-8.1.sgml -->
<!-- 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">
<title>Release 8.1.21</title>
<listitem>
<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)
</para>
</listitem>
Previously, only a predefined list of time zone names were
supported by <command>AT TIME ZONE</>. Now any supported time
zone name can be used, e.g.:
- <programlisting>
- SELECT CURRENT_TIMESTAMP AT TIME ZONE 'Europe/London';
- </programlisting>
+<programlisting>
+SELECT CURRENT_TIMESTAMP AT TIME ZONE 'Europe/London';
+</programlisting>
In the above query, the time zone used is adjusted based on the
daylight saving time rules that were in effect on the supplied
date.
the next day even if a daylight saving time adjustment occurs
between, whereas adding <literal>24 hours</> will give a different
local time when this happens. For example, under US DST rules:
- <programlisting>
- '2005-04-03 00:00:00-05' + '1 day' = '2005-04-04 00:00:00-04'
- '2005-04-03 00:00:00-05' + '24 hours' = '2005-04-04 01:00:00-04'
- </programlisting>
+<programlisting>
+'2005-04-03 00:00:00-05' + '1 day' = '2005-04-04 00:00:00-04'
+'2005-04-03 00:00:00-05' + '24 hours' = '2005-04-04 01:00:00-04'
+</programlisting>
</para>
</listitem>
<listitem>
<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)
</para>
<para>
</sect3>
<sect3>
- <title>PL/PgSQL Server-Side Language Changes</title>
+ <title>PL/pgSQL Server-Side Language Changes</title>
<itemizedlist>
<listitem>
<para>
- Overhaul the memory management of PL/PgSQL functions (Neil)
+ Overhaul the memory management of PL/pgSQL functions (Neil)
</para>
<para>
The parsetree of each function is now stored in a separate
<listitem>
<para>
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>
</listitem>
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.2.sgml,v 1.1.2.7 2010/05/13 21:27:15 tgl Exp $ -->
+<!-- doc/src/sgml/release-8.2.sgml -->
<!-- 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">
<title>Release 8.2.17</title>
<listitem>
<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)
</para>
</listitem>
</sect3>
<sect3>
- <title>PL/PgSQL Server-Side Language Changes</title>
+ <title>PL/pgSQL Server-Side Language Changes</title>
<itemizedlist>
<listitem>
linkend="guc-local-preload-libraries"><varname>local_preload_libraries</></link>
that allows libraries to be loaded into specific sessions without
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>
</listitem>
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.3.sgml,v 1.1.2.7 2010/05/13 21:27:15 tgl Exp $ -->
+<!-- doc/src/sgml/release-8.3.sgml -->
<!-- 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">
<title>Release 8.3.11</title>
<listitem>
<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)
</para>
</listitem>
</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
between function invocations, unless <literal>EXECUTE</> was
used. This improvement fixes that problem and many related issues.
The first request for statistics in a transaction takes a statistics
snapshot that does not change during the transaction. This function
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.
</para>
</listitem>
</sect3>
<sect3>
- <title>PL/PgSQL Server-Side Language</title>
+ <title>PL/pgSQL Server-Side Language</title>
<itemizedlist>
<listitem>
<listitem>
<para>
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
<command>FETCH</command> command (Pavel Stehule)
</para>
<listitem>
<para>
- Add <command>MOVE</command> to PL/PgSQL (Magnus, Pavel Stehule,
+ Add <command>MOVE</command> to PL/pgSQL (Magnus, Pavel Stehule,
Neil)
</para>
</listitem>
</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</>
is easier and more efficient than a loop
around <command>RETURN NEXT</command>.