Update release notes for 9.3.2, 9.2.6, 9.1.11, 9.0.15, 8.4.19.

This commit is contained in:
Tom Lane 2013-12-02 15:53:58 -05:00
parent 8d1c2981f0
commit 9cb631d984
5 changed files with 1659 additions and 95 deletions

View File

@ -1,6 +1,207 @@
<!-- doc/src/sgml/release-8.4.sgml -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-8-4-19">
<title>Release 8.4.19</title>
<note>
<title>Release Date</title>
<simpara>2013-12-05</simpara>
</note>
<para>
This release contains a variety of fixes from 8.4.18.
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.19</title>
<para>
A dump/restore is not required for those running 8.4.X.
</para>
<para>
However, this release corrects a potential data corruption
issue. See the first changelog entry below to find out whether
your installation has been affected and what steps you can take if so.
</para>
<para>
Also, if you are upgrading from a version earlier than 8.4.17,
see the release notes for 8.4.17.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<para>
Fix <command>VACUUM</>'s tests to see whether it can
update <structfield>relfrozenxid</> (Andres Freund)
</para>
<para>
In some cases <command>VACUUM</> (either manual or autovacuum) could
incorrectly advance a table's <structfield>relfrozenxid</> value,
allowing tuples to escape freezing, causing those rows to become
invisible once 2^31 transactions have elapsed. The probability of
data loss is fairly low since multiple incorrect advancements would
need to happen before actual loss occurs, but it's not zero. Users
upgrading from release 8.4.8 or earlier are not affected, but all later
versions contain the bug.
</para>
<para>
The issue can be ameliorated by, after upgrading, vacuuming all tables
in all databases while having <link
linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
set to zero. This will fix any latent corruption but will not be able
to fix all pre-existing data errors. However, an installation can be
presumed safe after performing this vacuuming if it has executed fewer
than 2^31 update transactions in its lifetime (check this with
<literal>SELECT txid_current() < 2^31</>).
</para>
</listitem>
<listitem>
<para>
Fix race condition in GIN index posting tree page deletion (Heikki
Linnakangas)
</para>
<para>
This could lead to transient wrong answers or query failures.
</para>
</listitem>
<listitem>
<para>
Avoid flattening a subquery whose <literal>SELECT</> list contains a
volatile function wrapped inside a sub-<literal>SELECT</> (Tom Lane)
</para>
<para>
This avoids unexpected results due to extra evaluations of the
volatile function.
</para>
</listitem>
<listitem>
<para>
Fix planner's processing of non-simple-variable subquery outputs
nested within outer joins (Tom Lane)
</para>
<para>
This error could lead to incorrect plans for queries involving
multiple levels of subqueries within <literal>JOIN</> syntax.
</para>
</listitem>
<listitem>
<para>
Fix premature deletion of temporary files (Andres Freund)
</para>
</listitem>
<listitem>
<para>
Fix possible read past end of memory in rule printing (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Fix array slicing of <type>int2vector</> and <type>oidvector</> values
(Tom Lane)
</para>
<para>
Expressions of this kind are now implicitly promoted to
regular <type>int2</> or <type>oid</> arrays.
</para>
</listitem>
<listitem>
<para>
Fix incorrect behaviors when using a SQL-standard, simple GMT offset
timezone (Tom Lane)
</para>
<para>
In some cases, the system would use the simple GMT offset value when
it should have used the regular timezone setting that had prevailed
before the simple offset was selected. This change also causes
the <function>timeofday</> function to honor the simple GMT offset
zone.
</para>
</listitem>
<listitem>
<para>
Prevent possible misbehavior when logging translations of Windows
error codes (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Properly quote generated command lines in <application>pg_ctl</>
(Naoya Anzai and Tom Lane)
</para>
<para>
This fix applies only to Windows.
</para>
</listitem>
<listitem>
<para>
Fix <application>pg_dumpall</> to work when a source database
sets <link
linkend="guc-default-transaction-read-only"><varname>default_transaction_read_only</></link>
via <command>ALTER DATABASE SET</> (Kevin Grittner)
</para>
<para>
Previously, the generated script would fail during restore.
</para>
</listitem>
<listitem>
<para>
Fix <application>ecpg</>'s processing of lists of variables
declared <type>varchar</> (Zolt&aacute;n B&ouml;sz&ouml;rm&eacute;nyi)
</para>
</listitem>
<listitem>
<para>
Make <filename>contrib/lo</> defend against incorrect trigger definitions
(Marc Cousin)
</para>
</listitem>
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2013h
for DST law changes in Argentina, Brazil, Jordan, Libya,
Liechtenstein, Morocco, and Palestine. Also, new timezone
abbreviations WIB, WIT, WITA for Indonesia.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-8-4-18">
<title>Release 8.4.18</title>
@ -23,8 +224,8 @@
</para>
<para>
Also, if you are upgrading from a version earlier than 8.4.10,
see the release notes for 8.4.10.
However, if you are upgrading from a version earlier than 8.4.17,
see the release notes for 8.4.17.
</para>
</sect2>
@ -36,12 +237,13 @@
<listitem>
<para>
Prevent downcasing of non-ASCII non-double-quoted identifiers in
multi-byte encodings (Andrew Dunstan)
Prevent corruption of multi-byte characters when attempting to
case-fold identifiers (Andrew Dunstan)
</para>
<para>
The previous behavior was wrong and confusing.
<productname>PostgreSQL</> case-folds non-ASCII characters only
when using a single-byte server encoding.
</para>
</listitem>
@ -61,7 +263,7 @@
<listitem>
<para>
Fix libpq SSL deadlock bug (Stephen Frost)
Fix deadlock bug in libpq when using SSL (Stephen Frost)
</para>
</listitem>
@ -85,21 +287,24 @@
</para>
<para>
Previously such push downs could generate errors.
Subqueries of a <literal>UNION</> or <literal>INTERSECT</> that
contain set-returning functions or volatile functions in their
<literal>SELECT</> lists could be improperly optimized, leading to
run-time errors or incorrect query results.
</para>
</listitem>
<listitem>
<para>
Fix rare <literal>GROUP BY</> query error caused by improperly
processed data type modifiers (Tom Lane)
Fix rare case of <quote>failed to locate grouping columns</>
planner failure (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Allow view dump code to better handle dropped columns on base tables
(Tom Lane)
Improve view dumping code's handling of dropped columns in referenced
tables (Tom Lane)
</para>
</listitem>
@ -164,12 +369,16 @@
<listitem>
<para>
Allow various spellings of infinity on all platforms (Tom Lane)
Ensure that floating-point data input accepts standard spellings
of <quote>infinity</> on all platforms (Tom Lane)
</para>
<para>
Supported infinity values are "inf", "+inf", "-inf", "infinity",
"+infinity", and "-infinity".
The C99 standard says that allowable spellings are <literal>inf</>,
<literal>+inf</>, <literal>-inf</>, <literal>infinity</>,
<literal>+infinity</>, and <literal>-infinity</>. Make sure we
recognize these even if the platform's <function>strtod</> function
doesn't.
</para>
</listitem>
@ -183,9 +392,8 @@
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2013d
for DST law changes in DST law changes in Israel, Morocco, Palestine,
Paraguay. Also, historical zone data corrections for Macquarie Island
(Tom Lane)
for DST law changes in Israel, Morocco, Palestine, and Paraguay.
Also, historical zone data corrections for Macquarie Island.
</para>
</listitem>

View File

@ -1,6 +1,244 @@
<!-- doc/src/sgml/release-9.0.sgml -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-9-0-15">
<title>Release 9.0.15</title>
<note>
<title>Release Date</title>
<simpara>2013-12-05</simpara>
</note>
<para>
This release contains a variety of fixes from 9.0.14.
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.15</title>
<para>
A dump/restore is not required for those running 9.0.X.
</para>
<para>
However, this release corrects a number of potential data corruption
issues. See the first two changelog entries below to find out whether
your installation has been affected and what steps you can take if so.
</para>
<para>
Also, if you are upgrading from a version earlier than 9.0.13,
see the release notes for 9.0.13.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<para>
Fix <command>VACUUM</>'s tests to see whether it can
update <structfield>relfrozenxid</> (Andres Freund)
</para>
<para>
In some cases <command>VACUUM</> (either manual or autovacuum) could
incorrectly advance a table's <structfield>relfrozenxid</> value,
allowing tuples to escape freezing, causing those rows to become
invisible once 2^31 transactions have elapsed. The probability of
data loss is fairly low since multiple incorrect advancements would
need to happen before actual loss occurs, but it's not zero. Users
upgrading from releases 9.0.4 or 8.4.8 or earlier are not affected, but
all later versions contain the bug.
</para>
<para>
The issue can be ameliorated by, after upgrading, vacuuming all tables
in all databases while having <link
linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
set to zero. This will fix any latent corruption but will not be able
to fix all pre-existing data errors. However, an installation can be
presumed safe after performing this vacuuming if it has executed fewer
than 2^31 update transactions in its lifetime (check this with
<literal>SELECT txid_current() < 2^31</>).
</para>
</listitem>
<listitem>
<para>
Fix initialization of <filename>pg_clog</> and <filename>pg_subtrans</>
during hot standby startup (Andres Freund, Heikki Linnakangas)
</para>
<para>
This bug can cause data loss on standby servers at the moment they
start to accept hot-standby queries, by marking committed transactions
as uncommitted. The likelihood of such corruption is small unless, at
the time of standby startup, the primary server has executed many
updating transactions since its last checkpoint. Symptoms include
missing rows, rows that should have been deleted being still visible,
and obsolete versions of updated rows being still visible alongside
their newer versions.
</para>
<para>
This bug was introduced in versions 9.3.0, 9.2.5, 9.1.10, and 9.0.14.
Standby servers that have only been running earlier releases are not
at risk. It's recommended that standby servers that have ever run any
of the buggy releases be re-cloned from the primary (e.g., with a new
base backup) after upgrading.
</para>
</listitem>
<listitem>
<para>
Truncate <filename>pg_multixact</> contents during WAL replay
(Andres Freund)
</para>
<para>
This avoids ever-increasing disk space consumption in standby servers.
</para>
</listitem>
<listitem>
<para>
Fix race condition in GIN index posting tree page deletion (Heikki
Linnakangas)
</para>
<para>
This could lead to transient wrong answers or query failures.
</para>
</listitem>
<listitem>
<para>
Avoid flattening a subquery whose <literal>SELECT</> list contains a
volatile function wrapped inside a sub-<literal>SELECT</> (Tom Lane)
</para>
<para>
This avoids unexpected results due to extra evaluations of the
volatile function.
</para>
</listitem>
<listitem>
<para>
Fix planner's processing of non-simple-variable subquery outputs
nested within outer joins (Tom Lane)
</para>
<para>
This error could lead to incorrect plans for queries involving
multiple levels of subqueries within <literal>JOIN</> syntax.
</para>
</listitem>
<listitem>
<para>
Fix premature deletion of temporary files (Andres Freund)
</para>
</listitem>
<listitem>
<para>
Fix possible read past end of memory in rule printing (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Fix array slicing of <type>int2vector</> and <type>oidvector</> values
(Tom Lane)
</para>
<para>
Expressions of this kind are now implicitly promoted to
regular <type>int2</> or <type>oid</> arrays.
</para>
</listitem>
<listitem>
<para>
Fix incorrect behaviors when using a SQL-standard, simple GMT offset
timezone (Tom Lane)
</para>
<para>
In some cases, the system would use the simple GMT offset value when
it should have used the regular timezone setting that had prevailed
before the simple offset was selected. This change also causes
the <function>timeofday</> function to honor the simple GMT offset
zone.
</para>
</listitem>
<listitem>
<para>
Prevent possible misbehavior when logging translations of Windows
error codes (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Properly quote generated command lines in <application>pg_ctl</>
(Naoya Anzai and Tom Lane)
</para>
<para>
This fix applies only to Windows.
</para>
</listitem>
<listitem>
<para>
Fix <application>pg_dumpall</> to work when a source database
sets <link
linkend="guc-default-transaction-read-only"><varname>default_transaction_read_only</></link>
via <command>ALTER DATABASE SET</> (Kevin Grittner)
</para>
<para>
Previously, the generated script would fail during restore.
</para>
</listitem>
<listitem>
<para>
Fix <application>ecpg</>'s processing of lists of variables
declared <type>varchar</> (Zolt&aacute;n B&ouml;sz&ouml;rm&eacute;nyi)
</para>
</listitem>
<listitem>
<para>
Make <filename>contrib/lo</> defend against incorrect trigger definitions
(Marc Cousin)
</para>
</listitem>
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2013h
for DST law changes in Argentina, Brazil, Jordan, Libya,
Liechtenstein, Morocco, and Palestine. Also, new timezone
abbreviations WIB, WIT, WITA for Indonesia.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-9-0-14">
<title>Release 9.0.14</title>
@ -23,8 +261,8 @@
</para>
<para>
Also, if you are upgrading from a version earlier than 9.0.6,
see the release notes for 9.0.6.
However, if you are upgrading from a version earlier than 9.0.13,
see the release notes for 9.0.13.
</para>
</sect2>
@ -36,12 +274,13 @@
<listitem>
<para>
Prevent downcasing of non-ASCII non-double-quoted identifiers in
multi-byte encodings (Andrew Dunstan)
Prevent corruption of multi-byte characters when attempting to
case-fold identifiers (Andrew Dunstan)
</para>
<para>
The previous behavior was wrong and confusing.
<productname>PostgreSQL</> case-folds non-ASCII characters only
when using a single-byte server encoding.
</para>
</listitem>
@ -68,13 +307,13 @@
<listitem>
<para>
Fix libpq SSL deadlock bug (Stephen Frost)
Fix deadlock bug in libpq when using SSL (Stephen Frost)
</para>
</listitem>
<listitem>
<para>
Fix possible SSL network stack corruption in threaded libpq applications
Fix possible SSL state corruption in threaded libpq applications
(Nick Phillips, Stephen Frost)
</para>
</listitem>
@ -99,21 +338,24 @@
</para>
<para>
Previously such push downs could generate errors.
Subqueries of a <literal>UNION</> or <literal>INTERSECT</> that
contain set-returning functions or volatile functions in their
<literal>SELECT</> lists could be improperly optimized, leading to
run-time errors or incorrect query results.
</para>
</listitem>
<listitem>
<para>
Fix rare <literal>GROUP BY</> query error caused by improperly
processed data type modifiers (Tom Lane)
Fix rare case of <quote>failed to locate grouping columns</>
planner failure (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Allow view dump code to better handle dropped columns on base tables
(Tom Lane)
Improve view dumping code's handling of dropped columns in referenced
tables (Tom Lane)
</para>
</listitem>
@ -193,8 +435,9 @@
<para>
Specifically, lessen keyword restrictions for role names, language
names, <command>EXPLAIN</> and <command>COPY</> options, and
<command>SET</> values. This allows <literal>COPY ... (FORMAT
BINARY)</> previously <literal>BINARY</> required single-quotes.
<command>SET</> values. This allows <literal>COPY ... (FORMAT
BINARY)</> to work as expected; previously <literal>BINARY</> needed
to be quoted.
</para>
</listitem>
@ -214,8 +457,9 @@
<listitem>
<para>
Improve analyze statistics generation after a cancelled file truncate
request (Kevin Grittner)
Ensure that <command>VACUUM ANALYZE</> still runs the ANALYZE phase
if its attempt to truncate the file is cancelled due to lock conflicts
(Kevin Grittner)
</para>
</listitem>
@ -228,12 +472,16 @@
<listitem>
<para>
Allow various spellings of infinity on all platforms (Tom Lane)
Ensure that floating-point data input accepts standard spellings
of <quote>infinity</> on all platforms (Tom Lane)
</para>
<para>
Supported infinity values are "inf", "+inf", "-inf", "infinity",
"+infinity", and "-infinity".
The C99 standard says that allowable spellings are <literal>inf</>,
<literal>+inf</>, <literal>-inf</>, <literal>infinity</>,
<literal>+infinity</>, and <literal>-infinity</>. Make sure we
recognize these even if the platform's <function>strtod</> function
doesn't.
</para>
</listitem>
@ -247,9 +495,8 @@
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2013d
for DST law changes in DST law changes in Israel, Morocco, Palestine,
Paraguay. Also, historical zone data corrections for Macquarie Island
(Tom Lane)
for DST law changes in Israel, Morocco, Palestine, and Paraguay.
Also, historical zone data corrections for Macquarie Island.
</para>
</listitem>

View File

@ -1,6 +1,263 @@
<!-- doc/src/sgml/release-9.1.sgml -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-9-1-11">
<title>Release 9.1.11</title>
<note>
<title>Release Date</title>
<simpara>2013-12-05</simpara>
</note>
<para>
This release contains a variety of fixes from 9.1.10.
For information about new features in the 9.1 major release, see
<xref linkend="release-9-1">.
</para>
<sect2>
<title>Migration to Version 9.1.11</title>
<para>
A dump/restore is not required for those running 9.1.X.
</para>
<para>
However, this release corrects a number of potential data corruption
issues. See the first two changelog entries below to find out whether
your installation has been affected and what steps you can take if so.
</para>
<para>
Also, if you are upgrading from a version earlier than 9.1.9,
see the release notes for 9.1.9.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<para>
Fix <command>VACUUM</>'s tests to see whether it can
update <structfield>relfrozenxid</> (Andres Freund)
</para>
<para>
In some cases <command>VACUUM</> (either manual or autovacuum) could
incorrectly advance a table's <structfield>relfrozenxid</> value,
allowing tuples to escape freezing, causing those rows to become
invisible once 2^31 transactions have elapsed. The probability of
data loss is fairly low since multiple incorrect advancements would
need to happen before actual loss occurs, but it's not zero. Users
upgrading from releases 9.0.4 or 8.4.8 or earlier are not affected, but
all later versions contain the bug.
</para>
<para>
The issue can be ameliorated by, after upgrading, vacuuming all tables
in all databases while having <link
linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
set to zero. This will fix any latent corruption but will not be able
to fix all pre-existing data errors. However, an installation can be
presumed safe after performing this vacuuming if it has executed fewer
than 2^31 update transactions in its lifetime (check this with
<literal>SELECT txid_current() < 2^31</>).
</para>
</listitem>
<listitem>
<para>
Fix initialization of <filename>pg_clog</> and <filename>pg_subtrans</>
during hot standby startup (Andres Freund, Heikki Linnakangas)
</para>
<para>
This bug can cause data loss on standby servers at the moment they
start to accept hot-standby queries, by marking committed transactions
as uncommitted. The likelihood of such corruption is small unless, at
the time of standby startup, the primary server has executed many
updating transactions since its last checkpoint. Symptoms include
missing rows, rows that should have been deleted being still visible,
and obsolete versions of updated rows being still visible alongside
their newer versions.
</para>
<para>
This bug was introduced in versions 9.3.0, 9.2.5, 9.1.10, and 9.0.14.
Standby servers that have only been running earlier releases are not
at risk. It's recommended that standby servers that have ever run any
of the buggy releases be re-cloned from the primary (e.g., with a new
base backup) after upgrading.
</para>
</listitem>
<listitem>
<para>
Truncate <filename>pg_multixact</> contents during WAL replay
(Andres Freund)
</para>
<para>
This avoids ever-increasing disk space consumption in standby servers.
</para>
</listitem>
<listitem>
<para>
Fix race condition in GIN index posting tree page deletion (Heikki
Linnakangas)
</para>
<para>
This could lead to transient wrong answers or query failures.
</para>
</listitem>
<listitem>
<para>
Avoid flattening a subquery whose <literal>SELECT</> list contains a
volatile function wrapped inside a sub-<literal>SELECT</> (Tom Lane)
</para>
<para>
This avoids unexpected results due to extra evaluations of the
volatile function.
</para>
</listitem>
<listitem>
<para>
Fix planner's processing of non-simple-variable subquery outputs
nested within outer joins (Tom Lane)
</para>
<para>
This error could lead to incorrect plans for queries involving
multiple levels of subqueries within <literal>JOIN</> syntax.
</para>
</listitem>
<listitem>
<para>
Fix incorrect generation of optimized MIN()/MAX() plans for
inheritance trees (Tom Lane)
</para>
<para>
The planner could fail in cases where the MIN()/MAX() argument was an
expression rather than a simple variable.
</para>
</listitem>
<listitem>
<para>
Fix premature deletion of temporary files (Andres Freund)
</para>
</listitem>
<listitem>
<para>
Fix possible read past end of memory in rule printing (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Fix array slicing of <type>int2vector</> and <type>oidvector</> values
(Tom Lane)
</para>
<para>
Expressions of this kind are now implicitly promoted to
regular <type>int2</> or <type>oid</> arrays.
</para>
</listitem>
<listitem>
<para>
Fix incorrect behaviors when using a SQL-standard, simple GMT offset
timezone (Tom Lane)
</para>
<para>
In some cases, the system would use the simple GMT offset value when
it should have used the regular timezone setting that had prevailed
before the simple offset was selected. This change also causes
the <function>timeofday</> function to honor the simple GMT offset
zone.
</para>
</listitem>
<listitem>
<para>
Prevent possible misbehavior when logging translations of Windows
error codes (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Properly quote generated command lines in <application>pg_ctl</>
(Naoya Anzai and Tom Lane)
</para>
<para>
This fix applies only to Windows.
</para>
</listitem>
<listitem>
<para>
Fix <application>pg_dumpall</> to work when a source database
sets <link
linkend="guc-default-transaction-read-only"><varname>default_transaction_read_only</></link>
via <command>ALTER DATABASE SET</> (Kevin Grittner)
</para>
<para>
Previously, the generated script would fail during restore.
</para>
</listitem>
<listitem>
<para>
Make <application>ecpg</> search for quoted cursor names
case-sensitively (Zolt&aacute;n B&ouml;sz&ouml;rm&eacute;nyi)
</para>
</listitem>
<listitem>
<para>
Fix <application>ecpg</>'s processing of lists of variables
declared <type>varchar</> (Zolt&aacute;n B&ouml;sz&ouml;rm&eacute;nyi)
</para>
</listitem>
<listitem>
<para>
Make <filename>contrib/lo</> defend against incorrect trigger definitions
(Marc Cousin)
</para>
</listitem>
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2013h
for DST law changes in Argentina, Brazil, Jordan, Libya,
Liechtenstein, Morocco, and Palestine. Also, new timezone
abbreviations WIB, WIT, WITA for Indonesia.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-9-1-10">
<title>Release 9.1.10</title>
@ -23,8 +280,8 @@
</para>
<para>
Also, if you are upgrading from a version earlier than 9.1.6,
see the release notes for 9.1.6.
However, if you are upgrading from a version earlier than 9.1.9,
see the release notes for 9.1.9.
</para>
</sect2>
@ -36,12 +293,13 @@
<listitem>
<para>
Prevent downcasing of non-ASCII non-double-quoted identifiers in
multi-byte encodings (Andrew Dunstan)
Prevent corruption of multi-byte characters when attempting to
case-fold identifiers (Andrew Dunstan)
</para>
<para>
The previous behavior was wrong and confusing.
<productname>PostgreSQL</> case-folds non-ASCII characters only
when using a single-byte server encoding.
</para>
</listitem>
@ -74,13 +332,13 @@
<listitem>
<para>
Fix libpq SSL deadlock bug (Stephen Frost)
Fix deadlock bug in libpq when using SSL (Stephen Frost)
</para>
</listitem>
<listitem>
<para>
Fix possible SSL network stack corruption in threaded libpq applications
Fix possible SSL state corruption in threaded libpq applications
(Nick Phillips, Stephen Frost)
</para>
</listitem>
@ -105,14 +363,17 @@
</para>
<para>
Previously such push downs could generate errors.
Subqueries of a <literal>UNION</> or <literal>INTERSECT</> that
contain set-returning functions or volatile functions in their
<literal>SELECT</> lists could be improperly optimized, leading to
run-time errors or incorrect query results.
</para>
</listitem>
<listitem>
<para>
Fix rare <literal>GROUP BY</> query error caused by improperly
processed data type modifiers (Tom Lane)
Fix rare case of <quote>failed to locate grouping columns</>
planner failure (Tom Lane)
</para>
</listitem>
@ -142,8 +403,8 @@
<listitem>
<para>
Allow view dump code to better handle dropped columns on base tables
(Tom Lane)
Improve view dumping code's handling of dropped columns in referenced
tables (Tom Lane)
</para>
</listitem>
@ -254,8 +515,9 @@
<para>
Specifically, lessen keyword restrictions for role names, language
names, <command>EXPLAIN</> and <command>COPY</> options, and
<command>SET</> values. This allows <literal>COPY ... (FORMAT
BINARY)</> previously <literal>BINARY</> required single-quotes.
<command>SET</> values. This allows <literal>COPY ... (FORMAT
BINARY)</> to work as expected; previously <literal>BINARY</> needed
to be quoted.
</para>
</listitem>
@ -268,7 +530,7 @@
<listitem>
<para>
Have <application>pg_upgrade</> use <command>pg_dump
Make <application>pg_upgrade</> use <literal>pg_dump
--quote-all-identifiers</> to avoid problems with keyword changes
between releases (Tom Lane)
</para>
@ -283,8 +545,9 @@
<listitem>
<para>
Improve analyze statistics generation after a cancelled file truncate
request (Kevin Grittner)
Ensure that <command>VACUUM ANALYZE</> still runs the ANALYZE phase
if its attempt to truncate the file is cancelled due to lock conflicts
(Kevin Grittner)
</para>
</listitem>
@ -297,12 +560,16 @@
<listitem>
<para>
Allow various spellings of infinity on all platforms (Tom Lane)
Ensure that floating-point data input accepts standard spellings
of <quote>infinity</> on all platforms (Tom Lane)
</para>
<para>
Supported infinity values are "inf", "+inf", "-inf", "infinity",
"+infinity", and "-infinity".
The C99 standard says that allowable spellings are <literal>inf</>,
<literal>+inf</>, <literal>-inf</>, <literal>infinity</>,
<literal>+infinity</>, and <literal>-infinity</>. Make sure we
recognize these even if the platform's <function>strtod</> function
doesn't.
</para>
</listitem>
@ -316,9 +583,8 @@
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2013d
for DST law changes in DST law changes in Israel, Morocco, Palestine,
Paraguay. Also, historical zone data corrections for Macquarie Island
(Tom Lane)
for DST law changes in Israel, Morocco, Palestine, and Paraguay.
Also, historical zone data corrections for Macquarie Island.
</para>
</listitem>

View File

@ -1,6 +1,343 @@
<!-- doc/src/sgml/release-9.2.sgml -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-9-2-6">
<title>Release 9.2.6</title>
<note>
<title>Release Date</title>
<simpara>2013-12-05</simpara>
</note>
<para>
This release contains a variety of fixes from 9.2.5.
For information about new features in the 9.2 major release, see
<xref linkend="release-9-2">.
</para>
<sect2>
<title>Migration to Version 9.2.6</title>
<para>
A dump/restore is not required for those running 9.2.X.
</para>
<para>
However, this release corrects a number of potential data corruption
issues. See the first two changelog entries below to find out whether
your installation has been affected and what steps you can take if so.
</para>
<para>
Also, if you are upgrading from a version earlier than 9.2.4,
see the release notes for 9.2.4.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<para>
Fix <command>VACUUM</>'s tests to see whether it can
update <structfield>relfrozenxid</> (Andres Freund)
</para>
<para>
In some cases <command>VACUUM</> (either manual or autovacuum) could
incorrectly advance a table's <structfield>relfrozenxid</> value,
allowing tuples to escape freezing, causing those rows to become
invisible once 2^31 transactions have elapsed. The probability of
data loss is fairly low since multiple incorrect advancements would
need to happen before actual loss occurs, but it's not zero. In 9.2.0
and later, the probability of loss is higher, and it's also possible
to get <quote>could not access status of transaction</> errors as a
consequence of this bug. Users upgrading from releases 9.0.4 or 8.4.8
or earlier are not affected, but all later versions contain the bug.
</para>
<para>
The issue can be ameliorated by, after upgrading, vacuuming all tables
in all databases while having <link
linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
set to zero. This will fix any latent corruption but will not be able
to fix all pre-existing data errors. However, an installation can be
presumed safe after performing this vacuuming if it has executed fewer
than 2^31 update transactions in its lifetime (check this with
<literal>SELECT txid_current() < 2^31</>).
</para>
</listitem>
<listitem>
<para>
Fix initialization of <filename>pg_clog</> and <filename>pg_subtrans</>
during hot standby startup (Andres Freund, Heikki Linnakangas)
</para>
<para>
This bug can cause data loss on standby servers at the moment they
start to accept hot-standby queries, by marking committed transactions
as uncommitted. The likelihood of such corruption is small unless, at
the time of standby startup, the primary server has executed many
updating transactions since its last checkpoint. Symptoms include
missing rows, rows that should have been deleted being still visible,
and obsolete versions of updated rows being still visible alongside
their newer versions.
</para>
<para>
This bug was introduced in versions 9.3.0, 9.2.5, 9.1.10, and 9.0.14.
Standby servers that have only been running earlier releases are not
at risk. It's recommended that standby servers that have ever run any
of the buggy releases be re-cloned from the primary (e.g., with a new
base backup) after upgrading.
</para>
</listitem>
<listitem>
<para>
Fix dangling-pointer problem in fast-path locking (Tom Lane)
</para>
<para>
This could lead to corruption of the lock data structures in shared
memory, causing <quote>lock already held</> and other odd errors.
</para>
</listitem>
<listitem>
<para>
Truncate <filename>pg_multixact</> contents during WAL replay
(Andres Freund)
</para>
<para>
This avoids ever-increasing disk space consumption in standby servers.
</para>
</listitem>
<listitem>
<para>
Ensure an anti-wraparound <command>VACUUM</> counts a page as scanned
when it's only verified that no tuples need freezing (Sergey
Burladyan, Jeff Janes)
</para>
<para>
This bug could result in failing to
advance <structfield>relfrozenxid</>, so that the table would still be
thought to need another anti-wraparound vacuum. In the worst case the
database might even shut down to prevent wraparound.
</para>
</listitem>
<listitem>
<para>
Fix race condition in GIN index posting tree page deletion (Heikki
Linnakangas)
</para>
<para>
This could lead to transient wrong answers or query failures.
</para>
</listitem>
<listitem>
<para>
Fix <quote>unexpected spgdoinsert() failure</> error during SP-GiST
index creation (Teodor Sigaev)
</para>
</listitem>
<listitem>
<para>
Avoid flattening a subquery whose <literal>SELECT</> list contains a
volatile function wrapped inside a sub-<literal>SELECT</> (Tom Lane)
</para>
<para>
This avoids unexpected results due to extra evaluations of the
volatile function.
</para>
</listitem>
<listitem>
<para>
Fix planner's processing of non-simple-variable subquery outputs
nested within outer joins (Tom Lane)
</para>
<para>
This error could lead to incorrect plans for queries involving
multiple levels of subqueries within <literal>JOIN</> syntax.
</para>
</listitem>
<listitem>
<para>
Fix incorrect planning in cases where the same non-strict expression
appears in multiple <literal>WHERE</> and outer <literal>JOIN</>
equality clauses (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Fix planner crash with whole-row reference to a subquery (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Fix incorrect generation of optimized MIN()/MAX() plans for
inheritance trees (Tom Lane)
</para>
<para>
The planner could fail in cases where the MIN()/MAX() argument was an
expression rather than a simple variable.
</para>
</listitem>
<listitem>
<para>
Fix premature deletion of temporary files (Andres Freund)
</para>
</listitem>
<listitem>
<para>
Prevent intra-transaction memory leak when printing range values
(Tom Lane)
</para>
<para>
This fix actually cures transient memory leaks in any datatype output
function, but range types are the only ones known to have had a
significant problem.
</para>
</listitem>
<listitem>
<para>
Prevent incorrect display of dropped columns in NOT NULL and CHECK
constraint violation messages (Michael Paquier and Tom Lane)
</para>
</listitem>
<listitem>
<para>
Allow default arguments and named-argument notation for window
functions (Tom Lane)
</para>
<para>
Previously, these cases were likely to crash.
</para>
</listitem>
<listitem>
<para>
Fix possible read past end of memory in rule printing (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Fix array slicing of <type>int2vector</> and <type>oidvector</> values
(Tom Lane)
</para>
<para>
Expressions of this kind are now implicitly promoted to
regular <type>int2</> or <type>oid</> arrays.
</para>
</listitem>
<listitem>
<para>
Fix incorrect behaviors when using a SQL-standard, simple GMT offset
timezone (Tom Lane)
</para>
<para>
In some cases, the system would use the simple GMT offset value when
it should have used the regular timezone setting that had prevailed
before the simple offset was selected. This change also causes
the <function>timeofday</> function to honor the simple GMT offset
zone.
</para>
</listitem>
<listitem>
<para>
Prevent possible misbehavior when logging translations of Windows
error codes (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Properly quote generated command lines in <application>pg_ctl</>
(Naoya Anzai and Tom Lane)
</para>
<para>
This fix applies only to Windows.
</para>
</listitem>
<listitem>
<para>
Fix <application>pg_dumpall</> to work when a source database
sets <link
linkend="guc-default-transaction-read-only"><varname>default_transaction_read_only</></link>
via <command>ALTER DATABASE SET</> (Kevin Grittner)
</para>
<para>
Previously, the generated script would fail during restore.
</para>
</listitem>
<listitem>
<para>
Make <application>ecpg</> search for quoted cursor names
case-sensitively (Zolt&aacute;n B&ouml;sz&ouml;rm&eacute;nyi)
</para>
</listitem>
<listitem>
<para>
Fix <application>ecpg</>'s processing of lists of variables
declared <type>varchar</> (Zolt&aacute;n B&ouml;sz&ouml;rm&eacute;nyi)
</para>
</listitem>
<listitem>
<para>
Make <filename>contrib/lo</> defend against incorrect trigger definitions
(Marc Cousin)
</para>
</listitem>
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2013h
for DST law changes in Argentina, Brazil, Jordan, Libya,
Liechtenstein, Morocco, and Palestine. Also, new timezone
abbreviations WIB, WIT, WITA for Indonesia.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-9-2-5">
<title>Release 9.2.5</title>
@ -23,8 +360,8 @@
</para>
<para>
Also, if you are upgrading from a version earlier than 9.2.2,
see the release notes for 9.2.2.
However, if you are upgrading from a version earlier than 9.2.4,
see the release notes for 9.2.4.
</para>
</sect2>
@ -36,18 +373,20 @@
<listitem>
<para>
Prevent downcasing of non-ASCII non-double-quoted identifiers in
multi-byte encodings (Andrew Dunstan)
Prevent corruption of multi-byte characters when attempting to
case-fold identifiers (Andrew Dunstan)
</para>
<para>
The previous behavior was wrong and confusing.
<productname>PostgreSQL</> case-folds non-ASCII characters only
when using a single-byte server encoding.
</para>
</listitem>
<listitem>
<para>
Fix memory leak when creating range indexes (Heikki Linnakangas)
Fix memory leak when creating B-tree indexes on range columns
(Heikki Linnakangas)
</para>
</listitem>
@ -80,13 +419,13 @@
<listitem>
<para>
Fix libpq SSL deadlock bug (Stephen Frost)
Fix deadlock bug in libpq when using SSL (Stephen Frost)
</para>
</listitem>
<listitem>
<para>
Fix possible SSL network stack corruption in threaded libpq applications
Fix possible SSL state corruption in threaded libpq applications
(Nick Phillips, Stephen Frost)
</para>
</listitem>
@ -117,13 +456,13 @@
<listitem>
<para>
Fix <literal>UNION ALL</> and inheritance queries to properly
recheck parameterized paths (Tom Lane)
Fix accounting for qualifier evaluation costs in <literal>UNION ALL</>
and inheritance queries (Tom Lane)
</para>
<para>
This fixes cases where suboptimal query plans could potentially be
chosen.
This fixes cases where suboptimal query plans could be chosen if
some <literal>WHERE</> clauses are expensive to calculate.
</para>
</listitem>
@ -134,14 +473,17 @@
</para>
<para>
Previously such push downs could generate errors.
Subqueries of a <literal>UNION</> or <literal>INTERSECT</> that
contain set-returning functions or volatile functions in their
<literal>SELECT</> lists could be improperly optimized, leading to
run-time errors or incorrect query results.
</para>
</listitem>
<listitem>
<para>
Fix rare <literal>GROUP BY</> query error caused by improperly
processed data type modifiers (Tom Lane)
Fix rare case of <quote>failed to locate grouping columns</>
planner failure (Tom Lane)
</para>
</listitem>
@ -171,8 +513,8 @@
<listitem>
<para>
Allow view dump code to better handle dropped columns on base tables
(Tom Lane)
Improve view dumping code's handling of dropped columns in referenced
tables (Tom Lane)
</para>
</listitem>
@ -303,8 +645,9 @@
<para>
Specifically, lessen keyword restrictions for role names, language
names, <command>EXPLAIN</> and <command>COPY</> options, and
<command>SET</> values. This allows <literal>COPY ... (FORMAT
BINARY)</> previously <literal>BINARY</> required single-quotes.
<command>SET</> values. This allows <literal>COPY ... (FORMAT
BINARY)</> to work as expected; previously <literal>BINARY</> needed
to be quoted.
</para>
</listitem>
@ -324,7 +667,7 @@
<listitem>
<para>
Have <application>pg_upgrade</> use <command>>pg_dump
Make <application>pg_upgrade</> use <literal>pg_dump
--quote-all-identifiers</> to avoid problems with keyword changes
between releases (Tom Lane)
</para>
@ -339,8 +682,9 @@
<listitem>
<para>
Improve analyze statistics generation after a cancelled file truncate
request (Kevin Grittner)
Ensure that <command>VACUUM ANALYZE</> still runs the ANALYZE phase
if its attempt to truncate the file is cancelled due to lock conflicts
(Kevin Grittner)
</para>
</listitem>
@ -353,12 +697,16 @@
<listitem>
<para>
Allow various spellings of infinity on all platforms (Tom Lane)
Ensure that floating-point data input accepts standard spellings
of <quote>infinity</> on all platforms (Tom Lane)
</para>
<para>
Supported infinity values are "inf", "+inf", "-inf", "infinity",
"+infinity", and "-infinity".
The C99 standard says that allowable spellings are <literal>inf</>,
<literal>+inf</>, <literal>-inf</>, <literal>infinity</>,
<literal>+infinity</>, and <literal>-infinity</>. Make sure we
recognize these even if the platform's <function>strtod</> function
doesn't.
</para>
</listitem>
@ -392,9 +740,8 @@
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2013d
for DST law changes in DST law changes in Israel, Morocco, Palestine,
Paraguay. Also, historical zone data corrections for Macquarie Island
(Tom Lane)
for DST law changes in Israel, Morocco, Palestine, and Paraguay.
Also, historical zone data corrections for Macquarie Island.
</para>
</listitem>

View File

@ -1,6 +1,485 @@
<!-- doc/src/sgml/release-9.3.sgml -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-9-3-2">
<title>Release 9.3.2</title>
<note>
<title>Release Date</title>
<simpara>2013-12-05</simpara>
</note>
<para>
This release contains a variety of fixes from 9.3.1.
For information about new features in the 9.3 major release, see
<xref linkend="release-9-3">.
</para>
<sect2>
<title>Migration to Version 9.3.2</title>
<para>
A dump/restore is not required for those running 9.3.X.
</para>
<para>
However, this release corrects a number of potential data corruption
issues. See the first three changelog entries below to find out whether
your installation has been affected and what steps you can take if so.
</para>
<para>
Also, if you are upgrading from a version earlier than 9.3.1,
see the release notes for 9.3.1.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<listitem>
<para>
Fix <command>VACUUM</>'s tests to see whether it can
update <structfield>relfrozenxid</> (Andres Freund)
</para>
<para>
In some cases <command>VACUUM</> (either manual or autovacuum) could
incorrectly advance a table's <structfield>relfrozenxid</> value,
allowing tuples to escape freezing, causing those rows to become
invisible once 2^31 transactions have elapsed. The probability of
data loss is fairly low since multiple incorrect advancements would
need to happen before actual loss occurs, but it's not zero. In 9.2.0
and later, the probability of loss is higher, and it's also possible
to get <quote>could not access status of transaction</> errors as a
consequence of this bug. Users upgrading from releases 9.0.4 or 8.4.8
or earlier are not affected, but all later versions contain the bug.
</para>
<para>
The issue can be ameliorated by, after upgrading, vacuuming all tables
in all databases while having <link
linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
set to zero. This will fix any latent corruption but will not be able
to fix all pre-existing data errors. However, an installation can be
presumed safe after performing this vacuuming if it has executed fewer
than 2^31 update transactions in its lifetime (check this with
<literal>SELECT txid_current() < 2^31</>).
</para>
</listitem>
<listitem>
<para>
Fix multiple bugs in MultiXactId freezing (Andres Freund,
&Aacute;lvaro Herrera)
</para>
<para>
These bugs could lead to <quote>could not access status of
transaction</> errors, or to duplicate or vanishing rows.
Users upgrading from releases prior to 9.3.0 are not affected.
</para>
<para>
The issue can be ameliorated by, after upgrading, vacuuming all tables
in all databases while having <link
linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
set to zero. This will fix latent corruption but will not be able to
fix all pre-existing data errors.
</para>
<para>
As a separate issue, these bugs can also cause standby servers to get
out of sync with the primary, thus exhibiting data errors that are not
in the primary. Therefore, it's recommended that 9.3.0 and 9.3.1
standby servers be re-cloned from the primary (e.g., with a new base
backup) after upgrading.
</para>
</listitem>
<listitem>
<para>
Fix initialization of <filename>pg_clog</> and <filename>pg_subtrans</>
during hot standby startup (Andres Freund, Heikki Linnakangas)
</para>
<para>
This bug can cause data loss on standby servers at the moment they
start to accept hot-standby queries, by marking committed transactions
as uncommitted. The likelihood of such corruption is small unless, at
the time of standby startup, the primary server has executed many
updating transactions since its last checkpoint. Symptoms include
missing rows, rows that should have been deleted being still visible,
and obsolete versions of updated rows being still visible alongside
their newer versions.
</para>
<para>
This bug was introduced in versions 9.3.0, 9.2.5, 9.1.10, and 9.0.14.
Standby servers that have only been running earlier releases are not
at risk. It's recommended that standby servers that have ever run any
of the buggy releases be re-cloned from the primary (e.g., with a new
base backup) after upgrading.
</para>
</listitem>
<listitem>
<para>
Fix multiple bugs in update chain traversal (Andres Freund,
&Aacute;lvaro Herrera)
</para>
<para>
These bugs could result in incorrect behavior, such as locking or even
updating the wrong row, in the presence of concurrent updates.
Spurious <quote>unable to fetch updated version of tuple</> errors
were also possible.
</para>
</listitem>
<listitem>
<para>
Fix dangling-pointer problem in fast-path locking (Tom Lane)
</para>
<para>
This could lead to corruption of the lock data structures in shared
memory, causing <quote>lock already held</> and other odd errors.
</para>
</listitem>
<listitem>
<para>
Fix assorted race conditions in timeout management (Tom Lane)
</para>
<para>
These errors could result in a server process becoming unresponsive
because it had blocked SIGALRM and/or SIGINT.
</para>
</listitem>
<listitem>
<para>
Truncate <filename>pg_multixact</> contents during WAL replay
(Andres Freund)
</para>
<para>
This avoids ever-increasing disk space consumption in standby servers.
</para>
</listitem>
<listitem>
<para>
Ensure an anti-wraparound <command>VACUUM</> counts a page as scanned
when it's only verified that no tuples need freezing (Sergey
Burladyan, Jeff Janes)
</para>
<para>
This bug could result in failing to
advance <structfield>relfrozenxid</>, so that the table would still be
thought to need another anti-wraparound vacuum. In the worst case the
database might even shut down to prevent wraparound.
</para>
</listitem>
<listitem>
<para>
Fix full-table-vacuum request mechanism for MultiXactIds (Andres Freund)
</para>
<para>
This bug could result in large amounts of useless autovacuum activity.
</para>
</listitem>
<listitem>
<para>
Fix race condition in GIN index posting tree page deletion (Heikki
Linnakangas)
</para>
<para>
This could lead to transient wrong answers or query failures.
</para>
</listitem>
<listitem>
<para>
Fix <quote>unexpected spgdoinsert() failure</> error during SP-GiST
index creation (Teodor Sigaev)
</para>
</listitem>
<listitem>
<para>
Fix assorted bugs in materialized views (Kevin Grittner, Andres Freund)
</para>
</listitem>
<listitem>
<para>
Re-allow duplicate table aliases if they're within aliased JOINs
(Tom Lane)
</para>
<para>
Historically <productname>PostgreSQL</> has accepted queries like
<programlisting>
SELECT ... FROM tab1 x CROSS JOIN (tab2 x CROSS JOIN tab3 y) z
</programlisting>
although a strict reading of the SQL standard would forbid the
duplicate usage of table alias <literal>x</>. A misguided change in
9.3.0 caused it to reject some such cases that were formerly accepted.
Restore the previous behavior.
</para>
</listitem>
<listitem>
<para>
Avoid flattening a subquery whose <literal>SELECT</> list contains a
volatile function wrapped inside a sub-<literal>SELECT</> (Tom Lane)
</para>
<para>
This avoids unexpected results due to extra evaluations of the
volatile function.
</para>
</listitem>
<listitem>
<para>
Fix planner's processing of non-simple-variable subquery outputs
nested within outer joins (Tom Lane)
</para>
<para>
This error could lead to incorrect plans for queries involving
multiple levels of subqueries within <literal>JOIN</> syntax.
</para>
</listitem>
<listitem>
<para>
Fix incorrect planning in cases where the same non-strict expression
appears in multiple <literal>WHERE</> and outer <literal>JOIN</>
equality clauses (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Fix planner crash with whole-row reference to a subquery (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Fix incorrect generation of optimized MIN()/MAX() plans for
inheritance trees (Tom Lane)
</para>
<para>
The planner could fail in cases where the MIN()/MAX() argument was an
expression rather than a simple variable.
</para>
</listitem>
<listitem>
<para>
Fix premature deletion of temporary files (Andres Freund)
</para>
</listitem>
<listitem>
<para>
Prevent intra-transaction memory leak when printing range values
(Tom Lane)
</para>
<para>
This fix actually cures transient memory leaks in any datatype output
function, but range types are the only ones known to have had a
significant problem.
</para>
</listitem>
<listitem>
<para>
Fix memory leaks when reloading configuration files (Heikki
Linnakangas, Hari Babu)
</para>
</listitem>
<listitem>
<para>
Prevent incorrect display of dropped columns in NOT NULL and CHECK
constraint violation messages (Michael Paquier and Tom Lane)
</para>
</listitem>
<listitem>
<para>
Allow default arguments and named-argument notation for window
functions (Tom Lane)
</para>
<para>
Previously, these cases were likely to crash.
</para>
</listitem>
<listitem>
<para>
Suppress trailing whitespace on each line when pretty-printing rules
and views (Tom Lane)
</para>
<para>
9.3.0 generated such whitespace in many more cases than previous
versions did. To reduce unexpected behavioral changes, suppress
unnecessary whitespace in all cases.
</para>
</listitem>
<listitem>
<para>
Fix possible read past end of memory in rule printing (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Fix array slicing of <type>int2vector</> and <type>oidvector</> values
(Tom Lane)
</para>
<para>
Expressions of this kind are now implicitly promoted to
regular <type>int2</> or <type>oid</> arrays.
</para>
</listitem>
<listitem>
<para>
Return a valid JSON value when converting an empty <type>hstore</> value
to <type>json</>
(Oskari Saarenmaa)
</para>
</listitem>
<listitem>
<para>
Fix incorrect behaviors when using a SQL-standard, simple GMT offset
timezone (Tom Lane)
</para>
<para>
In some cases, the system would use the simple GMT offset value when
it should have used the regular timezone setting that had prevailed
before the simple offset was selected. This change also causes
the <function>timeofday</> function to honor the simple GMT offset
zone.
</para>
</listitem>
<listitem>
<para>
Prevent possible misbehavior when logging translations of Windows
error codes (Tom Lane)
</para>
</listitem>
<listitem>
<para>
Properly quote generated command lines in <application>pg_ctl</>
(Naoya Anzai and Tom Lane)
</para>
<para>
This fix applies only to Windows.
</para>
</listitem>
<listitem>
<para>
Fix <application>pg_dumpall</> to work when a source database
sets <link
linkend="guc-default-transaction-read-only"><varname>default_transaction_read_only</></link>
via <command>ALTER DATABASE SET</> (Kevin Grittner)
</para>
<para>
Previously, the generated script would fail during restore.
</para>
</listitem>
<listitem>
<para>
Fix <application>pg_isready</> to handle its <option>-d</> option
properly (Fabr&iacute;zio de Royes Mello and Fujii Masao)
</para>
</listitem>
<listitem>
<para>
Fix parsing of WAL file names in <application>pg_receivexlog</>
(Heikki Linnakangas)
</para>
<para>
This error made <application>pg_receivexlog</> unable to restart
streaming after stopping, once at least 4 GB of WAL had been written.
</para>
</listitem>
<listitem>
<para>
Report out-of-disk-space failures properly
in <application>pg_upgrade</> (Peter Eisentraut)
</para>
</listitem>
<listitem>
<para>
Make <application>ecpg</> search for quoted cursor names
case-sensitively (Zolt&aacute;n B&ouml;sz&ouml;rm&eacute;nyi)
</para>
</listitem>
<listitem>
<para>
Fix <application>ecpg</>'s processing of lists of variables
declared <type>varchar</> (Zolt&aacute;n B&ouml;sz&ouml;rm&eacute;nyi)
</para>
</listitem>
<listitem>
<para>
Make <filename>contrib/lo</> defend against incorrect trigger definitions
(Marc Cousin)
</para>
</listitem>
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2013h
for DST law changes in Argentina, Brazil, Jordan, Libya,
Liechtenstein, Morocco, and Palestine. Also, new timezone
abbreviations WIB, WIT, WITA for Indonesia.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-9-3-1">
<title>Release 9.3.1</title>
@ -22,6 +501,11 @@
A dump/restore is not required for those running 9.3.X.
</para>
<para>
However, if you use the <literal>hstore</> extension, see the
first changelog entry.
</para>
</sect2>
<sect2>
@ -31,21 +515,33 @@
<listitem>
<para>
Update hstore extension with JSON functionality (Andrew Dunstan)
Ensure new-in-9.3 JSON functionality is added to the <literal>hstore</>
extension during an update (Andrew Dunstan)
</para>
<para>
Users who installed hstore prior to 9.3.1 must execute:
Users who upgraded a pre-9.3 database containing <literal>hstore</>
should execute
<programlisting>
ALTER EXTENSION hstore UPDATE;
</programlisting>
to add two new JSON functions and a cast.
after installing 9.3.1, to add two new JSON functions and a cast.
(If <literal>hstore</> is already up to date, this command does
nothing.)
</para>
</listitem>
<listitem>
<para>
Fix memory leak when creating range indexes (Heikki Linnakangas)
Fix memory leak when creating B-tree indexes on range columns
(Heikki Linnakangas)
</para>
</listitem>
<listitem>
<para>
Fix memory leak caused by <function>lo_open()</function> failure
(Heikki Linnakangas)
</para>
</listitem>
@ -57,7 +553,7 @@ ALTER EXTENSION hstore UPDATE;
<listitem>
<para>
Fix libpq SSL deadlock bug (Stephen Frost)
Fix deadlock bug in libpq when using SSL (Stephen Frost)
</para>
</listitem>