Commit cefd3e50 authored by Tom Lane's avatar Tom Lane

First-draft release notes for 9.3.3.

As usual, the release notes for older branches will be made by cutting
these down, but put them up for community review first.
parent 643f75ca
<!-- doc/src/sgml/release-9.3.sgml -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-9-3-3">
<title>Release 9.3.3</title>
<note>
<title>Release Date</title>
<simpara>2014-02-20</simpara>
</note>
<para>
This release contains a variety of fixes from 9.3.2.
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.3</title>
<para>
A dump/restore is not required for those running 9.3.X.
</para>
<para>
However, several of the issues corrected in this release could have
resulted in corruption of foreign-key constraints; that is, there
might now be referencing rows for which there is no matching row in
the referenced table. It may be worthwhile to recheck such
constraints after installing this update. The simplest way to do that
is to drop and recreate each suspect constraint; however, that will
require taking an exclusive lock on both tables, so it is unlikely to
be acceptable in production databases. Alternatively, you can do a
manual join query between the two tables to look for unmatched rows.
</para>
<para>
Note also the requirement for replication standby servers to be
upgraded before their master server is upgraded.
</para>
<para>
Also, if you are upgrading from a version earlier than 9.3.2,
see <xref linkend="release-9-3-2">.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [3b97e6823] 2013-12-16 11:29:50 -0300
Branch: REL9_3_STABLE [8e9a16ab8] 2013-12-16 11:29:51 -0300
-->
<listitem>
<para>
Rework tuple freezing protocol
(&Aacute;lvaro Herrera, Andres Freund)
</para>
<para>
The method for tuple freezing was unable to handle some cases
involving freezing of <quote>multixact</> IDs, with the practical
effect that shared row-level locks might be forgotten once old enough.
</para>
<para>
Fixing this required changing the WAL logging format for tuple freezing.
While this is unimportant for standalone servers, in replication
environments it means that <emphasis>standby servers must be upgraded
to 9.3.3 or later before their masters are</>. An older standby will
be unable to interpret freeze records generated by a newer master,
and will fail with a PANIC message. (In such a case, upgrading the
standby should be sufficient to let it resume execution.)
</para>
</listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [801c2dc72] 2014-02-13 19:36:31 -0300
Branch: REL9_3_STABLE [fb47de2be] 2014-02-13 19:30:30 -0300
-->
<listitem>
<para>
Create separate GUC parameters to control multixact freezing
(&Aacute;lvaro Herrera)
</para>
<para>
9.3 requires multixact tuple labels to be frozen before
they grow too old, in the same fashion as plain transaction ID labels
have been frozen for some time. Previously, the transaction ID
freezing parameters were used for multixact IDs too; but since
the consumption rates of transaction IDs and multixact IDs can be
quite different, this did not work very well. Introduce new settings
<xref linkend="guc-vacuum-multixact-freeze-min-age">,
<xref linkend="guc-vacuum-multixact-freeze-table-age">, and
<xref linkend="guc-autovacuum-multixact-freeze-max-age">
to control when to freeze multixacts.
</para>
</listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [423e1211a] 2014-01-10 18:03:18 -0300
Branch: REL9_3_STABLE [a25c2b7c4] 2014-01-10 18:03:18 -0300
-->
<listitem>
<para>
Fix multixact freezing of tuples that predate
a <literal>pg_upgrade</> to 9.3
(&Aacute;lvaro Herrera)
</para>
<para>
This oversight would result in complaints such as <quote>ERROR:
MultiXactId 11415437 does no longer exist -- apparent wraparound</>.
</para>
</listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [11ac4c73c] 2013-12-18 13:45:51 -0300
Branch: REL9_3_STABLE [db1014bc4] 2013-12-18 13:31:27 -0300
-->
<listitem>
<para>
Account for remote row locks propagated by local updates
(&Aacute;lvaro Herrera)
</para>
<para>
If a row was locked by transaction A, and transaction B updated it,
the new version of the row created by B would be locked by A, yet
visible only to B. This case is new in 9.3 since prior versions did
not have any types of row locking that would permit another
transaction to update the row at all. If transaction B then deleted
or key-updated the row, A's lock wouldn't get checked, thus possibly
allowing B to complete when it shouldn't.
</para>
<para>
This oversight could allow referential integrity checks to give false
positives (that is, allow deletes that should have been rejected).
Applications using the new commands <literal>SELECT FOR KEY SHARE</>
and <literal>SELECT FOR NO KEY UPDATE</> might also have suffered
locking failures of this kind.
</para>
</listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [07aeb1fec] 2013-12-05 12:21:55 -0300
Branch: REL9_3_STABLE [c6cd27e36] 2013-12-05 12:21:55 -0300
-->
<listitem>
<para>
Prevent <quote>forgetting</> valid row locks when one of several
holders of a row lock aborts (&Aacute;lvaro Herrera)
</para>
</listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [312bde3d4] 2013-12-05 17:47:51 -0300
Branch: REL9_3_STABLE [2dcc48c35] 2013-12-05 17:47:51 -0300
-->
<listitem>
<para>
Fix incorrect logic during update chain locking
(&Aacute;lvaro Herrera)
</para>
<para>
This mistake could result in spurious <quote>could not serialize access
due to concurrent update</> errors in <literal>REPEATABLE READ</>
and <literal>SERIALIZABLE</> transaction isolation modes.
</para>
</listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [638cf09e7] 2014-01-02 18:17:29 -0300
Branch: REL9_3_STABLE [948a3dfbb] 2014-01-02 18:17:29 -0300
-->
<listitem>
<para>
Fix handling of 5-digit filenames in <filename>pg_multixact/members</>
(&Aacute;lvaro Herrera)
</para>
<para>
As of 9.3, these names can be more than 4 digits, but the directory
cleanup code ignored such files.
</para>
</listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [a50d97625] 2014-01-02 18:17:07 -0300
Branch: REL9_3_STABLE [03db79459] 2014-01-02 18:17:07 -0300
-->
<listitem>
<para>
Handle wraparound correctly during extension or truncation
of <filename>pg_multixact/members</>
(Andres Freund, &Aacute;lvaro Herrera)
</para>
</listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [d881dd623] 2013-12-13 17:16:25 -0300
Branch: REL9_3_STABLE [0bc00363b] 2013-12-13 17:16:25 -0300
-->
<listitem>
<para>
Improve performance of multixact cache code
(&Aacute;lvaro Herrera)
</para>
</listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Branch: master [13aa62443] 2013-12-19 16:53:49 -0300
Branch: REL9_3_STABLE [85d3b3c3a] 2013-12-19 16:39:59 -0300
-->
<listitem>
<para>
Optimize updating a row that's already locked by the same transaction
(Andres Freund, &Aacute;lvaro Herrera)
</para>
<para>
This fixes a performance regression from pre-9.3 versions when doing
<literal>SELECT FOR UPDATE</> followed by <literal>UPDATE/DELETE</>.
</para>
</listitem>
<!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Branch: master [4d894b41c] 2014-02-14 15:15:09 +0200
Branch: REL9_3_STABLE [762bd379a] 2014-02-14 15:18:34 +0200
-->
<listitem>
<para>
During archive recovery, prefer highest timeline number when WAL
segments with the same ID are present in both the archive
and <filename>pg_xlog/</> (Kyotaro Horiguchi)
</para>
<para>
Previously, not-yet-archived segments could get ignored during replay.
This reverts an undesirable behavioral change in 9.3.0 back to the
way things worked pre-9.3.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [6f2aead1f] 2014-02-12 14:52:16 -0500
Branch: REL9_3_STABLE [7190f7a34] 2014-02-12 14:52:20 -0500
Branch: REL9_2_STABLE [bc7ab301a] 2014-02-12 14:52:23 -0500
Branch: REL9_1_STABLE [a69cc9b2c] 2014-02-12 14:52:26 -0500
Branch: REL9_0_STABLE [7fedd79b7] 2014-02-12 14:52:29 -0500
Branch: REL8_4_STABLE [9620fede9] 2014-02-12 14:52:32 -0500
-->
<listitem>
<para>
Fix possible mis-replay of WAL records when some segments of a
relation aren't full size (Greg Stark, Tom Lane)
</para>
<para>
The WAL update could be applied to the wrong page, potentially many
pages past where it should have been. Aside from corrupting data,
this error has been observed to result in significant <quote>bloat</>
of standby servers compared to their masters, due to updates being
applied far beyond where the end-of-file should have been. This
failure mode does not appear to be a significant risk during crash
recovery, only when initially synchronizing a standby created from a
base backup taken from an actively-changing master.
</para>
</listitem>
<!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Branch: master [d59ff6c11] 2014-01-08 15:03:09 +0200
Branch: REL9_3_STABLE [425bef6ee] 2014-01-08 14:32:22 +0200
Branch: REL9_2_STABLE [82c75f9dd] 2014-01-08 14:28:55 +0200
Branch: REL9_1_STABLE [e56430c62] 2014-01-08 14:33:58 +0200
Branch: REL9_0_STABLE [5301c8395] 2014-01-08 14:34:21 +0200
-->
<listitem>
<para>
Fix bug in determining when recovery has reached consistency
(Tomonari Katsumata, Heikki Linnakangas)
</para>
<para>
In some cases WAL replay would mistakenly conclude that the database
was already consistent at the start of replay, thus possibly allowing
queries before the database was really consistent. Other symptoms
such as <quote>PANIC: WAL contains references to invalid pages</>
were also possible.
</para>
</listitem>
<!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Branch: master [a49633d8d] 2013-12-13 14:15:04 +0200
Branch: REL9_3_STABLE [615299cf6] 2013-12-13 14:23:02 +0200
-->
<listitem>
<para>
Fix WAL logging of visibility map changes (Heikki Linnakangas)
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [061b079f8] 2014-01-14 17:35:21 -0500
Branch: REL9_3_STABLE [ebde6c401] 2014-01-14 17:34:51 -0500
Branch: REL9_2_STABLE [ad2e041a3] 2014-01-14 17:34:54 -0500
Branch: REL9_1_STABLE [ab4bb5c47] 2014-01-14 17:34:57 -0500
Branch: REL9_0_STABLE [5d742b9ce] 2014-01-14 17:35:00 -0500
-->
<listitem>
<para>
Fix improper locking of btree index pages while replaying
a <literal>VACUUM</> operation in Hot Standby mode (Andres Freund,
Heikki Linnakangas, Tom Lane)
</para>
<para>
This error could result in <quote>PANIC: WAL contains references to
invalid pages</> failures.
</para>
</listitem>
<!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Branch: master [22122c83f] 2013-12-03 23:16:01 +0200
Branch: REL9_3_STABLE [8fd04cb32] 2013-12-03 22:13:16 +0200
Branch: REL9_2_STABLE [06df57ac6] 2013-12-03 22:34:31 +0200
Branch: REL9_1_STABLE [e6acb956a] 2013-12-03 22:34:43 +0200
Branch: REL9_0_STABLE [760606dc5] 2013-12-03 23:01:31 +0200
Branch: REL8_4_STABLE [67fc33d3a] 2013-12-03 22:53:26 +0200
-->
<listitem>
<para>
Ensure that insertions into non-leaf GIN index pages make a full-page
WAL record when appropriate (Heikki Linnakangas)
</para>
<para>
The previous coding risked data corruption in the event of a
torn-page update.
</para>
</listitem>
<!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Branch: master [3739e5ab9] 2014-01-08 23:28:52 +0200
Branch: REL9_3_STABLE [3aefff422] 2014-01-08 23:30:46 +0200
Branch: REL9_2_STABLE [3bd8987ef] 2014-01-08 23:30:55 +0200
Branch: REL9_1_STABLE [0402f2441] 2014-01-08 23:31:01 +0200
-->
<listitem>
<para>
When <literal>pause_at_recovery_target</>
and <literal>recovery_target_inclusive</> are both set, ensure the
target record is applied before pausing, not after (Heikki
Linnakangas)
</para>
</listitem>
<!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Branch: master [a472ae1e4] 2014-01-16 23:15:41 +0200
Branch: REL9_3_STABLE [e34acac62] 2014-01-16 23:14:57 +0200
-->
<listitem>
<para>
Ensure walreceiver sends Hot Standby feedback messages on time even
when there is a continuous stream of data (Andres Freund, Amit
Kapila)
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [214c7a4f0] 2014-02-01 16:21:23 -0500
Branch: REL9_3_STABLE [6f1a40773] 2014-02-01 16:21:30 -0500
Branch: REL9_2_STABLE [81b116d98] 2014-02-01 16:21:33 -0500
Branch: REL9_1_STABLE [03f06ff38] 2014-02-01 16:21:38 -0500
-->
<listitem>
<para>
Fix race conditions in walsender shutdown logic and walreceiver
SIGHUP signal handler (Tom Lane)
</para>
</listitem>
<!--
Author: Robert Haas <rhaas@postgresql.org>
Branch: master [d1981719a] 2014-01-31 21:31:08 -0500
Branch: REL9_3_STABLE [5d807a74b] 2014-01-31 21:34:44 -0500
Branch: REL9_2_STABLE [ebe334463] 2014-01-31 21:35:32 -0500
Branch: REL9_1_STABLE [8e6bfc9eb] 2014-01-31 21:36:23 -0500
Branch: REL9_0_STABLE [798243a81] 2014-01-31 21:40:20 -0500
Branch: REL8_4_STABLE [458b20f2d] 2014-01-31 21:41:09 -0500
-->
<listitem>
<para>
Fix race conditions during server process exit (Robert Haas)
</para>
<para>
Ensure that signal handlers don't attempt to use
the process's <varname>MyProc</> pointer after it's no longer valid.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [571addd72] 2014-01-29 20:04:43 -0500
Branch: REL9_3_STABLE [bf8ee6f15] 2014-01-29 20:04:01 -0500
Branch: REL9_2_STABLE [3e71ce1e9] 2014-01-29 20:04:05 -0500
Branch: REL9_1_STABLE [af259c691] 2014-01-29 20:04:08 -0500
Branch: REL9_0_STABLE [d17a667e8] 2014-01-29 20:04:11 -0500
Branch: REL8_4_STABLE [01b882fd8] 2014-01-29 20:04:14 -0500
-->
<listitem>
<para>
Fix unsafe references to <varname>errno</> within error messaging
logic (Christian Kruse)
</para>
<para>
This would typically lead to odd behaviors such as missing or
inappropriate <literal>HINT</> fields.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [910bac595] 2014-01-11 16:36:07 -0500
Branch: REL9_3_STABLE [5bfcc9ec5] 2014-01-11 16:35:30 -0500
Branch: REL9_2_STABLE [2de905186] 2014-01-11 16:35:34 -0500
Branch: REL9_1_STABLE [3f721588a] 2014-01-11 16:35:37 -0500
Branch: REL9_0_STABLE [d9c4442b8] 2014-01-11 16:35:41 -0500
Branch: REL8_4_STABLE [d0070ac81] 2014-01-11 16:35:44 -0500
-->
<listitem>
<para>
Fix possible crashes from using <function>ereport()</> too early
during server startup (Tom Lane)
</para>
<para>
The principal case we've seen in the field is a crash if the server
is started in a directory it doesn't have permission to read.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [e8312b4f0] 2013-12-13 11:50:15 -0500
Branch: REL9_3_STABLE [478af9b79] 2013-12-13 11:50:25 -0500
-->
<listitem>
<para>
Prevent timeout interrupts from taking control away from mainline
code unless <varname>ImmediateInterruptOK</> is set
(Andres Freund, Tom Lane)
</para>
<para>
This was initially reported as a <quote>stuck spinlock</> failure,
but many other misbehaviors are possible after a statement timeout.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [74242c23c] 2013-12-05 12:48:28 -0500
Branch: REL9_3_STABLE [2a6e1a554] 2013-12-05 12:48:31 -0500
Branch: REL9_2_STABLE [41042970b] 2013-12-05 12:48:35 -0500
Branch: REL9_1_STABLE [ad910ccdc] 2013-12-05 12:48:37 -0500
Branch: REL9_0_STABLE [36352ceb4] 2013-12-05 12:48:41 -0500
Branch: REL8_4_STABLE [7635dae55] 2013-12-05 12:48:44 -0500
-->
<listitem>
<para>
Clear retry flags properly in replacement OpenSSL socket write
function (Alexander Kukushkin)
</para>
<para>
This omission resulted in a server lockup after unexpected loss of an
SSL-encrypted connection.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [44c216330] 2014-02-13 14:24:42 -0500
Branch: REL9_3_STABLE [ca1c17181] 2014-02-13 14:24:45 -0500
Branch: REL9_2_STABLE [8439ee415] 2014-02-13 14:24:49 -0500
Branch: REL9_1_STABLE [170590261] 2014-02-13 14:24:52 -0500
Branch: REL9_0_STABLE [148052d25] 2014-02-13 14:24:55 -0500
Branch: REL8_4_STABLE [a8a46d846] 2014-02-13 14:24:58 -0500
-->
<listitem>
<para>
Fix length checking for Unicode identifiers (<literal>U&amp;"..."</>
syntax) containing escapes (Tom Lane)
</para>
<para>
A spurious truncation warning would be printed for such identifiers
if the escaped form of the identifier was too long, but the
identifier actually didn't need truncation after de-escaping.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [0c2338abb] 2014-02-03 19:47:57 -0500
Branch: REL9_3_STABLE [4c70cb1d3] 2014-02-03 19:48:00 -0500
-->
<listitem>
<para>
Fix parsing of Unicode literals and identifiers just before the end
of a command string or function body (Tom Lane)
</para>
</listitem>
<!--
Author: Stephen Frost <sfrost@snowman.net>
Branch: master [6c36f383d] 2014-01-21 22:49:22 -0500
Branch: REL9_3_STABLE [d1e3070f0] 2014-01-21 22:56:30 -0500
Branch: REL9_2_STABLE [c0e6169e1] 2014-01-21 22:56:34 -0500
Branch: REL9_1_STABLE [cbd850bf6] 2014-01-21 23:00:58 -0500
Branch: REL9_0_STABLE [f2eede9b5] 2014-01-21 23:01:40 -0500
-->
<listitem>
<para>
Allow keywords that are type names to be used in lists of roles
(Stephen Frost)
</para>
<para>
A previous patch allowed such keywords to be used without quoting
in places such as role identifiers; but it missed cases where a
list of role identifiers was permitted, such as <literal>DROP ROLE</>.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [7ab321404] 2013-12-02 20:28:45 -0500
Branch: REL9_3_STABLE [b44ae4893] 2013-12-02 20:28:49 -0500
Branch: REL9_2_STABLE [6698782f1] 2013-12-02 20:28:53 -0500
Branch: REL9_1_STABLE [f67b8aeab] 2013-12-02 20:28:56 -0500
-->
<listitem>
<para>
Fix parser crash for <literal>EXISTS(SELECT * FROM
zero_column_table)</literal> (Tom Lane)
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [9ec6199d1] 2013-12-10 16:10:17 -0500
Branch: REL9_3_STABLE [9d2e07fec] 2013-12-10 16:10:20 -0500
Branch: REL9_2_STABLE [f5d9fdcc7] 2013-12-10 16:10:24 -0500
Branch: REL9_1_STABLE [48e5cfde8] 2013-12-10 16:10:28 -0500
Branch: REL9_0_STABLE [41e9990cd] 2013-12-10 16:10:31 -0500
Branch: REL8_4_STABLE [884c6384a] 2013-12-10 16:10:36 -0500
-->
<listitem>
<para>
Fix possible crash due to invalid plan for nested sub-selects, such
as <literal>WHERE (... x IN (SELECT ...) ...) IN (SELECT ...)</>
(Tom Lane)
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [043f6ff05] 2014-01-30 14:51:16 -0500
Branch: REL9_3_STABLE [a4aa854ca] 2014-01-30 14:51:19 -0500
-->
<listitem>
<para>
Fix mishandling of <literal>WHERE</> conditions pulled up from
a <literal>LATERAL</> subquery (Tom Lane)
</para>
<para>
The typical symptom of this bug was a <quote>JOIN qualification
cannot refer to other relations</> error, though subtle logic
errors in created plans seem possible as well.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [158b7fa6a] 2014-01-11 19:03:12 -0500
Branch: REL9_3_STABLE [27ff4cfe7] 2014-01-11 19:03:15 -0500
-->
<listitem>
<para>
Disallow <literal>LATERAL</> references to the target table of
an <literal>UPDATE/DELETE</> (Tom Lane)
</para>
<para>
While this might be allowed in some future release, it was
unintentional in 9.3, and didn't work quite right anyway.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [c03ad5602] 2013-12-14 17:33:53 -0500
Branch: REL9_3_STABLE [324577f39] 2013-12-14 17:33:56 -0500
Branch: REL9_2_STABLE [5d545b7ed] 2013-12-14 17:34:00 -0500
-->
<listitem>
<para>
Fix <literal>UPDATE/DELETE</> of an inherited target table
that has <literal>UNION ALL</> subqueries (Tom Lane)
</para>
<para>
Without this fix, <literal>UNION ALL</> subqueries aren't correctly
inserted into the update plans for inheritance child tables after the
first one, typically resulting in no update happening for those child
table(s).
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [4eeda92d8] 2013-12-23 22:18:48 -0500
Branch: REL9_3_STABLE [663f8419b] 2013-12-23 22:18:23 -0500
-->
<listitem>
<para>
Fix <command>ANALYZE</> to not fail on a column that's a domain over
a range type (Tom Lane)
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [628652620] 2014-01-11 13:42:42 -0500
Branch: REL9_3_STABLE [36785a21b] 2014-01-11 13:41:51 -0500
Branch: REL9_2_STABLE [f0381680f] 2014-01-11 13:41:56 -0500
Branch: REL9_1_STABLE [9387f4e1b] 2014-01-11 13:42:00 -0500
Branch: REL9_0_STABLE [2d76d75d9] 2014-01-11 13:42:05 -0500
Branch: REL8_4_STABLE [00b77771a] 2014-01-11 13:42:11 -0500
-->
<listitem>
<para>
Ensure that <command>ANALYZE</> creates statistics for a table column
even when all the values in it are <quote>too wide</> (Tom Lane)
</para>
<para>
<command>ANALYZE</> intentionally omits very wide values from its
histogram and most-common-value calculations, but it neglected to do
something sane in the case that all the sampled entries are too wide.
</para>
</listitem>
<!--
Author: Stephen Frost <sfrost@snowman.net>
Branch: master [6f25c62d7] 2014-01-18 18:41:52 -0500
Branch: REL9_3_STABLE [86e58ae02] 2014-01-18 18:49:08 -0500
Branch: REL9_2_STABLE [1fe06595a] 2014-01-18 18:49:41 -0500
Branch: REL9_1_STABLE [d2636486b] 2014-01-18 18:50:09 -0500
Branch: REL9_0_STABLE [e70c42821] 2014-01-18 18:50:29 -0500
Branch: REL8_4_STABLE [0fb4e3ceb] 2014-01-18 18:50:47 -0500
-->
<listitem>
<para>
In <literal>ALTER TABLE ... SET TABLESPACE</>, allow the database's
default tablespace to be used without a permissions check
(Stephen Frost)
</para>
<para>
<literal>CREATE TABLE</> works this way, but <literal>ALTER TABLE</>
didn't get the memo.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [c01bc51f8] 2013-12-30 14:00:02 -0500
Branch: REL9_3_STABLE [9a6e2b150] 2013-12-30 14:00:05 -0500
-->
<listitem>
<para>
Fix support for extensions containing event triggers (Tom Lane)
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [080b7db72] 2014-01-08 20:18:58 -0500
Branch: REL9_3_STABLE [47ac4473a] 2014-01-08 20:18:10 -0500
Branch: REL9_2_STABLE [97a39f295] 2014-01-08 20:18:13 -0500
Branch: REL9_1_STABLE [6c6c53d0b] 2014-01-08 20:18:17 -0500
Branch: REL9_0_STABLE [6ca712fb9] 2014-01-08 20:18:20 -0500
Branch: REL8_4_STABLE [57ac7d8a7] 2014-01-08 20:18:24 -0500
-->
<listitem>
<para>
Fix <quote>cannot accept a set</> error when some arms of a CASE
return a set and others don't (Tom Lane)
</para>
</listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
Branch: master [d3ee45152] 2014-02-03 10:40:12 -0500
Branch: REL9_3_STABLE [cdfbb78f0] 2014-02-03 10:39:13 -0500
-->
<listitem>
<para>
Fix memory leakage in JSON functions (Craig Ringer)
</para>
</listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
Branch: master [29dcf7ded] 2013-12-27 17:04:00 -0500
Branch: REL9_3_STABLE [7dfd9f6f5] 2013-12-27 17:21:04 -0500
Branch: REL9_2_STABLE [4825a9e95] 2013-12-27 17:21:27 -0500
-->
<listitem>
<para>
Properly distinguish numbers from non-numbers when generating JSON
output (Andrew Dunstan)
</para>
</listitem>
<!--
Author: Kevin Grittner <kgrittn@postgresql.org>
Branch: master [a133bf703] 2013-12-27 15:26:24 -0600
Branch: REL9_3_STABLE [28b60aa23] 2013-12-27 15:40:51 -0600
Branch: REL9_2_STABLE [150a30e19] 2013-12-27 15:41:02 -0600
Branch: REL9_1_STABLE [1f069d21d] 2013-12-27 15:41:18 -0600
Branch: REL9_0_STABLE [918d74a07] 2013-12-27 15:41:32 -0600
Branch: REL8_4_STABLE [b2d80147d] 2013-12-27 15:41:46 -0600
-->
<listitem>
<para>
Fix checks for all-zero client addresses in pgstat functions (Kevin
Grittner)
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [082c0dfa1] 2014-02-01 18:27:34 -0500
Branch: REL9_3_STABLE [9beffdcc3] 2014-02-01 18:27:40 -0500
Branch: REL9_2_STABLE [8be095cea] 2014-02-01 18:27:44 -0500
Branch: REL9_1_STABLE [399d23e19] 2014-02-01 18:27:48 -0500
Branch: REL9_0_STABLE [3c7b4ef70] 2014-02-01 18:27:54 -0500
Branch: REL8_4_STABLE [56f5d3424] 2014-02-01 18:27:12 -0500
-->
<listitem>
<para>
Fix possible misclassification of multibyte characters by the text
search parser (Tom Lane)
</para>
<para>
Non-ASCII characters could be misclassified when using C locale with
a multibyte encoding. On Cygwin, non-C locales could fail as well.
</para>
</listitem>
<!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Branch: master [6c2744f1d] 2014-02-10 09:57:59 +0200
Branch: REL9_3_STABLE [928aec71c] 2014-02-10 09:59:49 +0200
Branch: REL9_2_STABLE [f3807106b] 2014-02-10 10:00:04 +0200
Branch: REL9_1_STABLE [5f778e644] 2014-02-10 10:00:23 +0200
Branch: REL9_0_STABLE [fe8a6f53e] 2014-02-10 10:00:36 +0200
Branch: REL8_4_STABLE [6141983fb] 2014-02-10 10:00:50 +0200
-->
<listitem>
<para>
Fix possible misbehavior in <function>plainto_tsquery()</>
(Heikki Linnakangas)
</para>
<para>
Use <function>memmove()</> not <function>memcpy()</> for copying
overlapping memory regions. There have been no field reports of
this actually causing trouble, but it's certainly risky.
</para>
</listitem>
<!--
Author: Magnus Hagander <magnus@hagander.net>
Branch: master [9544cc0d6] 2014-01-07 17:50:56 +0100
Branch: REL9_3_STABLE [91c2755fc] 2014-01-07 17:51:02 +0100
Branch: REL9_2_STABLE [61d4d14ee] 2014-01-07 17:53:00 +0100
Branch: REL9_1_STABLE [026a91f86] 2014-01-07 18:00:36 +0100
-->
<listitem>
<para>
Fix placement of permissions checks in <function>pg_start_backup()</>
and <function>pg_stop_backup()</> (Andres Freund, Magnus Hagander)
</para>
<para>
The previous coding might attempt to do catalog access when it
shouldn't.
</para>
</listitem>
<!--
Author: Tatsuo Ishii <ishii@postgresql.org>
Branch: master [1f0626ee4] 2013-12-15 11:09:05 +0900
Branch: REL9_3_STABLE [8122e6f85] 2013-12-15 11:10:41 +0900
Branch: REL9_2_STABLE [0c07ef1ad] 2013-12-15 11:10:49 +0900
Branch: REL9_1_STABLE [035226c61] 2013-12-15 11:10:56 +0900
Branch: REL9_0_STABLE [7016d970d] 2013-12-15 11:11:02 +0900
Branch: REL8_4_STABLE [69f77d756] 2013-12-15 11:11:11 +0900
-->
<listitem>
<para>
Accept <literal>SHIFT_JIS</> as an encoding name for locale checking
(Tatsuo Ishii)
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [0def2573c] 2014-02-03 14:47:17 -0500
Branch: REL9_3_STABLE [641c08041] 2014-02-03 14:46:54 -0500
Branch: REL9_2_STABLE [888b56570] 2014-02-03 14:46:57 -0500
-->
<listitem>
<para>
Fix <literal>*</>-qualification of named parameters in SQL-language
functions (Tom Lane)
</para>
<para>
Given a composite-type parameter
named <literal>foo</>, <literal>$1.*</> worked fine,
but <literal>foo.*</> not so much.
</para>
</listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
Branch: master [77035fa8a] 2014-01-23 22:58:58 +0900
Branch: REL9_3_STABLE [be5d49974] 2014-01-23 23:00:30 +0900
Branch: REL9_2_STABLE [ea311bfdf] 2014-01-23 23:01:06 +0900
Branch: REL9_1_STABLE [1b384aff1] 2014-01-23 23:01:34 +0900
Branch: REL9_0_STABLE [996b21cbf] 2014-01-23 23:02:03 +0900
Branch: REL8_4_STABLE [5525529db] 2014-01-23 23:02:30 +0900
-->
<listitem>
<para>
Fix misbehavior of <function>PQhost()</> on Windows (Fujii Masao)
</para>
<para>
It should return <literal>localhost</> if no host has been specified.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [b8f00a46b] 2014-02-13 18:45:58 -0500
Branch: REL9_3_STABLE [f208fb436] 2014-02-13 18:46:03 -0500
Branch: REL9_2_STABLE [2573f08a1] 2014-02-13 18:45:20 -0500
Branch: REL9_1_STABLE [7182bd239] 2014-02-13 18:45:23 -0500
Branch: REL9_0_STABLE [218dd205b] 2014-02-13 18:45:27 -0500
Branch: REL8_4_STABLE [7644a7bd8] 2014-02-13 18:45:32 -0500
-->
<listitem>
<para>
Improve error handling in <application>psql</> and <application>libpq</>
for failures during <literal>COPY TO STDOUT/FROM STDIN</> (Tom Lane)
</para>
<para>
In particular this fixes an infinite loop that could occur in 9.2 and
up if the server connection was lost during <literal>COPY FROM
STDIN</>. Variants of that scenario might be possible in older
versions, or with other client applications.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [92459e7a7] 2014-01-04 16:05:16 -0500
Branch: REL9_3_STABLE [341f0bc49] 2014-01-04 16:05:20 -0500
Branch: REL9_2_STABLE [fa28f9cba] 2014-01-04 16:05:23 -0500
-->
<listitem>
<para>
Fix incorrect translation handling in
some <application>psql</> <literal>\d</> commands
(Peter Eisentraut, Tom Lane)
</para>
<para>
</para>
</listitem>
<!--
Author: Magnus Hagander <magnus@hagander.net>
Branch: master [b168c5ef2] 2014-01-07 17:11:32 +0100
Branch: REL9_3_STABLE [0463b9419] 2014-01-07 17:11:51 +0100
Branch: REL9_2_STABLE [2edf3e82c] 2014-01-07 17:22:36 +0100
Branch: REL9_1_STABLE [773e4d5e4] 2014-01-07 17:18:02 +0100
-->
<listitem>
<para>
Avoid including tablespaces inside PGDATA twice in base backups
(Dimitri Fontaine, Magnus Hagander)
</para>
</listitem>
<!--
Author: Magnus Hagander <magnus@hagander.net>
Branch: master [63ab2befe] 2014-02-12 18:45:18 +0100
Branch: REL9_3_STABLE [c90204c60] 2014-02-12 18:46:04 +0100
Branch: REL9_2_STABLE [0ae288d2d] 2014-02-12 14:51:00 +0100
-->
<listitem>
<para>
Ensure <application>pg_basebackup</>'s background process is killed
when exiting its foreground process (Magnus Hagander)
</para>
</listitem>
<!--
Author: Magnus Hagander <magnus@hagander.net>
Branch: master [01025d80a] 2014-02-09 12:05:14 +0100
Branch: REL9_3_STABLE [680baa8d2] 2014-02-09 12:09:18 +0100
Branch: REL9_2_STABLE [165aa1da5] 2014-02-09 12:09:39 +0100
Branch: REL9_1_STABLE [c6e5c4dd1] 2014-02-09 12:09:55 +0100
-->
<listitem>
<para>
Fix possible incorrect printing of filenames
in <application>pg_basebackup</>'s verbose mode (Magnus Hagander)
</para>
</listitem>
<!--
Author: Michael Meskes <meskes@postgresql.org>
Branch: master [d685e2424] 2014-01-09 16:20:19 +0100
Branch: REL9_3_STABLE [28fff0ef8] 2014-01-09 15:41:51 +0100
Branch: REL9_2_STABLE [799728b0b] 2014-01-09 15:50:51 +0100
Branch: REL9_1_STABLE [9f5b3a1a1] 2014-01-09 15:51:11 +0100
Branch: REL9_0_STABLE [a29b6c342] 2014-01-09 15:51:23 +0100
Branch: REL8_4_STABLE [d68a65b01] 2014-01-09 15:58:37 +0100
-->
<listitem>
<para>
Fix misaligned descriptors in <application>ecpg</> (MauMau)
</para>
</listitem>
<!--
Author: Michael Meskes <meskes@postgresql.org>
Branch: master [7c957ec83] 2014-01-01 12:39:31 +0100
Branch: REL9_3_STABLE [8404037d8] 2014-01-01 12:40:28 +0100
Branch: REL9_2_STABLE [119a59879] 2014-01-01 12:40:42 +0100
Branch: REL9_1_STABLE [948498274] 2014-01-01 12:44:15 +0100
Branch: REL9_0_STABLE [17bcdd01f] 2014-01-01 12:44:44 +0100
Branch: REL8_4_STABLE [96de4939c] 2014-01-01 12:44:58 +0100
-->
<listitem>
<para>
In <application>ecpg</>, handle lack of a hostname in the connection
parameters properly (Michael Meskes)
</para>
</listitem>
<!--
Author: Joe Conway <mail@joeconway.com>
Branch: master [d6ca510d9] 2013-12-07 17:00:26 -0800
Branch: REL9_3_STABLE [0ec530625] 2013-12-07 17:00:10 -0800
Branch: REL9_2_STABLE [7f4ef622f] 2013-12-07 16:59:35 -0800
Branch: REL9_1_STABLE [70165f25b] 2013-12-07 16:59:16 -0800
Branch: REL9_0_STABLE [9057adc23] 2013-12-07 16:58:41 -0800
Branch: REL8_4_STABLE [6c8b16e30] 2013-12-07 16:56:34 -0800
-->
<listitem>
<para>
Fix performance regression in <filename>contrib/dblink</> connection
setup (Joe Conway)
</para>
<para>
Avoid an unnecessary round trip when client and server encodings match.
</para>
</listitem>
<!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Branch: master [866a1f092] 2014-01-13 15:43:29 +0200
Branch: REL9_3_STABLE [50c5770ec] 2014-01-13 15:43:59 +0200
Branch: REL9_2_STABLE [f6d6b42f2] 2014-01-13 15:44:02 +0200
Branch: REL9_1_STABLE [5143dfd57] 2014-01-13 15:44:04 +0200
Branch: REL9_0_STABLE [6c3f040be] 2014-01-13 15:44:12 +0200
Branch: REL8_4_STABLE [492b68541] 2014-01-13 15:44:14 +0200
-->
<listitem>
<para>
In <filename>contrib/isn</>, fix incorrect calculation of the check
digit for ISMN values (Fabien Coelho)
</para>
</listitem>
<!--
Author: Tatsuo Ishii <ishii@postgresql.org>
Branch: master [841a65482] 2013-12-12 19:10:35 +0900
Branch: REL9_3_STABLE [27902bc91] 2013-12-12 19:07:53 +0900
-->
<listitem>
<para>
Fix <filename>contrib/pgbench</>'s progress logging to avoid overflow
when the scale factor is large (Tatsuo Ishii)
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [69c7a9838] 2014-01-21 16:34:28 -0500
Branch: REL9_3_STABLE [0950d67ee] 2014-01-21 16:34:31 -0500
Branch: REL9_2_STABLE [27ab1eb7e] 2014-01-21 16:34:35 -0500
-->
<listitem>
<para>
Fix <filename>contrib/pg_stat_statement</>'s handling
of <literal>CURRENT_DATE</> and related constructs (Kyotaro
Horiguchi)
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [00d4f2af8] 2014-02-03 21:30:20 -0500
Branch: REL9_3_STABLE [eb3d350db] 2014-02-03 21:30:28 -0500
-->
<listitem>
<para>
Improve lost-connection error handling
in <filename>contrib/postgres_fdw</> (Tom Lane)
</para>
</listitem>
<!--
Author: Peter Eisentraut <peter_e@gmx.net>
Branch: master [ad6bf0291] 2014-01-17 23:08:22 -0500
Branch: REL9_3_STABLE [586bea612] 2014-01-17 23:11:02 -0500
Branch: REL9_2_STABLE [526e38751] 2014-01-17 23:12:50 -0500
Branch: REL9_1_STABLE [6d969b000] 2014-01-17 23:14:21 -0500
Branch: REL9_0_STABLE [2346c383a] 2014-01-17 23:15:00 -0500
Branch: REL8_4_STABLE [15699d9bf] 2014-01-17 23:17:59 -0500
-->
<listitem>
<para>
Ensure client-code-only installation procedure works as documented
(Peter Eisentraut)
</para>
</listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
Branch: master [7e1531a45] 2014-02-01 16:08:33 -0500
Branch: REL9_3_STABLE [27942baf4] 2014-02-01 16:13:32 -0500
Branch: REL9_2_STABLE [fad443753] 2014-02-01 16:13:46 -0500
Branch: REL9_1_STABLE [e5c22c15d] 2014-02-01 16:14:01 -0500
Branch: REL9_0_STABLE [1c0bf372f] 2014-02-01 16:14:15 -0500
-->
<listitem>
<para>
Avoid using the deprecated <literal>dllwrap</> tool in Cygwin builds
(Marco Atzeri)
</para>
</listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
Branch: master [d587298b8] 2014-02-01 15:11:13 -0500
Branch: REL9_3_STABLE [1e9876c3b] 2014-02-01 15:16:06 -0500
Branch: REL9_2_STABLE [6e96d4db8] 2014-02-01 15:16:18 -0500
Branch: REL9_1_STABLE [dfb4a1a21] 2014-02-01 15:16:29 -0500
Branch: REL9_0_STABLE [59d64e7f3] 2014-02-01 15:16:40 -0500
Branch: REL8_4_STABLE [ae3c98b9b] 2014-02-01 15:16:52 -0500
-->
<listitem>
<para>
In Mingw and Cygwin builds, install the <application>libpq</> DLL
in the <filename>bin</> directory (Andrew Dunstan)
</para>
<para>
This duplicates what the MSVC build has long done. It should fix
problems with programs like <application>psql</> failing to start
because they can't find the DLL.
</para>
</listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
Branch: master [cec8394b5] 2014-01-26 09:49:10 -0500
Branch: REL9_3_STABLE [56c08df55] 2014-01-26 09:45:43 -0500
-->
<listitem>
<para>
Enable building with Visual Studio 2013 (Brar Piening)
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [289541520] 2014-02-10 20:48:04 -0500
Branch: REL9_3_STABLE [f1e522696] 2014-02-10 20:48:12 -0500
Branch: REL9_2_STABLE [dd5605104] 2014-02-10 20:48:20 -0500
Branch: REL9_1_STABLE [3bf5c16f1] 2014-02-10 20:48:23 -0500
Branch: REL9_0_STABLE [e1e7642bd] 2014-02-10 20:48:27 -0500
Branch: REL8_4_STABLE [432735cbf] 2014-02-10 20:48:30 -0500
-->
<listitem>
<para>
Don't generate plain-text <filename>HISTORY</>
and <filename>src/test/regress/README</> files anymore (Tom Lane)
</para>
<para>
These text files duplicated the main HTML and PDF documentation
formats. The trouble involved in maintaining them greatly outweighs
the likely audience for this format. Distribution tarballs will
still contain files by these names, but they'll just be stubs
directing the reader to consult the main documentation.
The plain-text <filename>INSTALL</> file will still be maintained, as
there is arguably an audience for that.
</para>
</listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [e04641f4b] 2014-02-14 21:59:13 -0500
Branch: REL9_3_STABLE [46cbcd50e] 2014-02-14 21:59:37 -0500
Branch: REL9_2_STABLE [4f975b68b] 2014-02-14 21:59:42 -0500
Branch: REL9_1_STABLE [3212ba534] 2014-02-14 21:59:46 -0500
Branch: REL9_0_STABLE [cb84fddd9] 2014-02-14 21:59:50 -0500
Branch: REL8_4_STABLE [c0c2d62ac] 2014-02-14 21:59:56 -0500
-->
<listitem>
<para>
Update time zone data files to <application>tzdata</> release 2013i
for DST law changes in Jordan and historical changes in Cuba.
</para>
<para>
In addition, the zones Asia/Riyadh87, Asia/Riyadh88, and
Asia/Riyadh89 have been removed, as they are no longer maintained by
IANA, and never represented actual civil timekeeping practice.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="release-9-3-2">
<title>Release 9.3.2</title>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment