mirror of
https://github.com/postgres/postgres.git
synced 2025-04-22 23:02:54 +03:00
Update release notes for 9.3.2, 9.2.6, 9.1.11, 9.0.15, 8.4.19.
This commit is contained in:
parent
8d1c2981f0
commit
9cb631d984
@ -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án Böszörmé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>
|
||||
|
||||
|
@ -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án Böszörmé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>
|
||||
|
||||
@ -194,7 +436,8 @@
|
||||
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.
|
||||
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>
|
||||
|
||||
|
@ -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án Böszörményi)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>ecpg</>'s processing of lists of variables
|
||||
declared <type>varchar</> (Zoltán Böszörmé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>
|
||||
|
||||
@ -255,7 +516,8 @@
|
||||
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.
|
||||
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>
|
||||
|
||||
|
@ -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án Böszörményi)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>ecpg</>'s processing of lists of variables
|
||||
declared <type>varchar</> (Zoltán Böszörmé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>
|
||||
|
||||
@ -304,7 +646,8 @@
|
||||
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.
|
||||
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>
|
||||
|
||||
|
@ -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,
|
||||
Á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,
|
||||
Á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í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án Böszörményi)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Fix <application>ecpg</>'s processing of lists of variables
|
||||
declared <type>varchar</> (Zoltán Böszörmé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>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user