8.0.26, and 7.4.30.
<!-- 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>
<!-- 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>
<!-- 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>
<!-- 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>
<!-- 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>
<!-- doc/src/sgml/release-8.4.sgml -->
<!-- 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">
<title>Release 8.4.4</title>
<!-- doc/src/sgml/release-9.0.sgml -->
<!-- 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">
<title>Release 9.0</title>