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:
Tom Lane 2010-09-30 14:27:28 -04:00
parent 3689583d5a
commit 9caf5a841b
7 changed files with 1640 additions and 30 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>=&gt;</> 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>

View File

@ -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>=&gt;</> 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 &lt; 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 &lt; 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 &lt; 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 &lt; 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 &lt; 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 &lt; 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>.

View File

@ -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>=&gt;</> 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>

View File

@ -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>