mirror of https://github.com/postgres/postgres
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
9330 lines
310 KiB
9330 lines
310 KiB
<!-- doc/src/sgml/release-10.sgml -->
|
|
<!-- See header comment in release.sgml about typical markup -->
|
|
|
|
<sect1 id="release-10-6">
|
|
<title>Release 10.6</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2018-11-08</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 10.5.
|
|
For information about new features in major release 10, see
|
|
<xref linkend="release-10"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 10.6</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 10.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you use the <filename>pg_stat_statements</filename> extension,
|
|
see the changelog entry below about that.
|
|
</para>
|
|
|
|
<para>
|
|
Also, if you are upgrading from a version earlier than 10.4,
|
|
see <xref linkend="release-10-4"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<para>
|
|
Ensure proper quoting of transition table names
|
|
when <application>pg_dump</application> emits <command>CREATE TRIGGER
|
|
... REFERENCING</command> commands (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could be exploited by an unprivileged user to gain
|
|
superuser privileges during the next dump/reload
|
|
or <application>pg_upgrade</application> run. (CVE-2018-16850)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3d0f68dd3] 2018-10-02 11:54:12 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [419cc8add] 2018-10-02 11:54:12 -0400
|
|
Branch: REL_10_STABLE [7eed72333] 2018-10-02 11:54:12 -0400
|
|
Branch: REL9_6_STABLE [6d73983be] 2018-10-02 11:54:12 -0400
|
|
Branch: REL9_5_STABLE [dad4df0fc] 2018-10-02 11:54:13 -0400
|
|
Branch: REL9_4_STABLE [fd81fae67] 2018-10-02 11:54:13 -0400
|
|
Branch: REL9_3_STABLE [01c7a87df] 2018-10-02 11:54:13 -0400
|
|
-->
|
|
<para>
|
|
Fix corner-case failures
|
|
in <function>has_<replaceable>foo</replaceable>_privilege()</function>
|
|
family of functions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Return NULL rather than throwing an error when an invalid object OID
|
|
is provided. Some of these functions got that right already, but not
|
|
all. <function>has_column_privilege()</function> was additionally
|
|
capable of crashing on some platforms.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [aaf10f32a] 2018-09-27 18:15:17 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [49507dec4] 2018-09-27 18:15:06 -0400
|
|
Branch: REL_10_STABLE [dff3f06dc] 2018-09-27 18:15:06 -0400
|
|
-->
|
|
<para>
|
|
Fix <function>pg_get_partition_constraintdef()</function> to return
|
|
NULL rather than fail when passed an invalid relation OID (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [c8ea87e4b] 2018-08-28 12:17:33 +0100
|
|
Branch: REL_11_STABLE Release: REL_11_0 [bc552b322] 2018-08-28 12:17:37 +0100
|
|
Branch: REL_10_STABLE [f6f61d937] 2018-08-28 11:55:18 +0100
|
|
Branch: REL9_6_STABLE [450b24741] 2018-08-28 11:51:57 +0100
|
|
Branch: REL9_5_STABLE [41cfae1f3] 2018-08-28 11:51:06 +0100
|
|
Branch: REL9_4_STABLE [2ba7c4e6c] 2018-08-28 11:50:20 +0100
|
|
Branch: REL9_3_STABLE [861670369] 2018-08-28 11:48:43 +0100
|
|
Branch: master [b7f6bcbff] 2018-09-12 19:31:06 +0100
|
|
Branch: REL_11_STABLE Release: REL_11_0 [f7d0343ea] 2018-09-12 19:43:44 +0100
|
|
Branch: REL_10_STABLE [ab78c6e36] 2018-09-12 19:44:28 +0100
|
|
Branch: REL9_6_STABLE [03e0bc117] 2018-09-12 19:45:13 +0100
|
|
Branch: REL9_5_STABLE [77c2663de] 2018-09-12 19:52:10 +0100
|
|
Branch: REL9_4_STABLE [a389ddc75] 2018-09-12 19:47:50 +0100
|
|
Branch: REL9_3_STABLE [dea7fc60a] 2018-09-12 19:49:59 +0100
|
|
-->
|
|
<para>
|
|
Avoid O(N^2) slowdown in regular expression match/split functions on
|
|
long strings (Andrew Gierth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [a40631a92] 2018-08-23 21:42:40 +0100
|
|
Branch: REL_11_STABLE Release: REL_11_0 [5b4555f90] 2018-08-23 21:43:51 +0100
|
|
Branch: REL_10_STABLE [d64fad666] 2018-08-23 21:43:55 +0100
|
|
Branch: REL9_6_STABLE [5ec70a928] 2018-08-23 21:35:49 +0100
|
|
Branch: REL9_5_STABLE [af988d130] 2018-08-23 21:35:53 +0100
|
|
-->
|
|
<para>
|
|
Fix parsing of standard multi-character operators that are immediately
|
|
followed by a comment or <literal>+</literal> or <literal>-</literal>
|
|
(Andrew Gierth)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead to parse errors, or to incorrect assignment
|
|
of precedence.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [d4a63f829] 2018-08-23 21:42:40 +0100
|
|
Branch: REL_11_STABLE Release: REL_11_0 [0b42bd459] 2018-08-23 21:43:51 +0100
|
|
Branch: REL_10_STABLE [2dbfbd630] 2018-08-23 21:43:55 +0100
|
|
Branch: REL9_6_STABLE [4854ead60] 2018-08-23 21:34:42 +0100
|
|
Branch: REL9_5_STABLE [ad871a9d7] 2018-08-23 21:33:55 +0100
|
|
Branch: REL9_4_STABLE [6c5ed6836] 2018-08-23 21:33:38 +0100
|
|
Branch: REL9_3_STABLE [9923c934d] 2018-08-23 21:29:15 +0100
|
|
-->
|
|
<para>
|
|
Avoid O(N^3) slowdown in lexer for long strings
|
|
of <literal>+</literal> or <literal>-</literal> characters
|
|
(Andrew Gierth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [520acab17] 2018-08-17 15:44:13 +0100
|
|
Branch: REL_11_STABLE Release: REL_11_0 [67b161eae] 2018-08-17 15:47:49 +0100
|
|
Branch: REL_10_STABLE [d31ebbff5] 2018-08-17 16:06:35 +0100
|
|
Branch: REL9_6_STABLE [6302fe6b2] 2018-08-17 16:19:10 +0100
|
|
Branch: REL9_5_STABLE [d2ecc27c3] 2018-08-17 16:20:04 +0100
|
|
Branch: REL9_4_STABLE [3cf3a65cb] 2018-08-17 16:23:56 +0100
|
|
Branch: REL9_3_STABLE [807c1c555] 2018-08-17 16:25:52 +0100
|
|
-->
|
|
<para>
|
|
Fix mis-execution of SubPlans when the outer query is being scanned
|
|
backwards (Andrew Gierth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [89b280e13] 2018-09-23 16:05:45 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [fe30cd25e] 2018-09-23 16:05:45 -0400
|
|
Branch: REL_10_STABLE [5ed281e21] 2018-09-23 16:05:45 -0400
|
|
Branch: REL9_6_STABLE [77d2a4866] 2018-09-23 16:05:45 -0400
|
|
Branch: REL9_5_STABLE [c8a978bf4] 2018-09-23 16:05:45 -0400
|
|
Branch: REL9_4_STABLE [38cb01084] 2018-09-23 16:05:45 -0400
|
|
Branch: REL9_3_STABLE [00011a6ae] 2018-09-23 16:05:46 -0400
|
|
-->
|
|
<para>
|
|
Fix failure of <command>UPDATE/DELETE ... WHERE CURRENT OF ...</command>
|
|
after rewinding the referenced cursor (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A cursor that scans multiple relations (particularly an inheritance
|
|
tree) could produce wrong behavior if rewound to an earlier relation.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1f4a920b7] 2018-09-15 13:42:33 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [f13e2d1ce] 2018-09-15 13:42:34 -0400
|
|
Branch: REL_10_STABLE [99cbbbbd1] 2018-09-15 13:42:34 -0400
|
|
Branch: REL9_6_STABLE [2a97a0ad3] 2018-09-15 13:42:34 -0400
|
|
Branch: REL9_5_STABLE [9b14bbd52] 2018-09-15 13:42:34 -0400
|
|
Branch: REL9_4_STABLE [849475510] 2018-09-15 13:42:34 -0400
|
|
Branch: REL9_3_STABLE [591d0ac88] 2018-09-15 13:42:34 -0400
|
|
-->
|
|
<para>
|
|
Fix <function>EvalPlanQual</function> to handle conditionally-executed
|
|
InitPlans properly (Andrew Gierth, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This resulted in hard-to-reproduce crashes or wrong answers in
|
|
concurrent updates, if they contained code such as an uncorrelated
|
|
sub-<literal>SELECT</literal> inside a <literal>CASE</literal>
|
|
construct.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Prevent creation of a partition in a trigger attached to its parent
|
|
table (Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
Ideally we'd allow that, but for the moment it has to be blocked to
|
|
avoid crashes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Fix problems with applying <literal>ON COMMIT DELETE ROWS</literal> to
|
|
a partitioned temporary table (Amit Langote)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Fix character-class checks to not fail on Windows for Unicode
|
|
characters above U+FFFF (Tom Lane, Kenji Uno)
|
|
</para>
|
|
|
|
<para>
|
|
This bug affected full-text-search operations, as well
|
|
as <filename>contrib/ltree</filename>
|
|
and <filename>contrib/pg_trgm</filename>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [75f9c4ca5] 2018-09-14 09:36:30 +0530
|
|
Branch: REL_11_STABLE Release: REL_11_0 [830d75659] 2018-09-14 09:51:47 +0530
|
|
Branch: REL_10_STABLE [1ceb103e7] 2018-09-14 10:05:45 +0530
|
|
Branch: REL9_6_STABLE [568b4e1fd] 2018-09-14 10:17:31 +0530
|
|
Branch: master [14e9b2a75] 2018-09-04 10:28:08 +0530
|
|
Branch: REL_11_STABLE Release: REL_11_0 [2ce253cf5] 2018-09-04 10:26:06 +0530
|
|
Branch: REL_10_STABLE [bf61873ae] 2018-09-04 10:49:05 +0530
|
|
Branch: REL9_6_STABLE [f658235a4] 2018-09-04 11:01:25 +0530
|
|
-->
|
|
<para>
|
|
Disallow pushing sub-<literal>SELECT</literal>s containing window
|
|
functions, <literal>LIMIT</literal>, or <literal>OFFSET</literal> to
|
|
parallel workers (Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
Such cases could result in inconsistent behavior due to different
|
|
workers getting different answers, as a result of indeterminacy
|
|
due to row-ordering variations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: master [0320ddaf3] 2018-09-26 20:19:15 +0200
|
|
Branch: REL_11_STABLE Release: REL_11_0 [648546960] 2018-09-26 20:19:31 +0200
|
|
Branch: REL_10_STABLE [5f6b0e6d6] 2018-09-26 20:19:44 +0200
|
|
Branch: REL9_6_STABLE [bdf11d688] 2018-09-26 20:20:17 +0200
|
|
Branch: REL9_5_STABLE [992f8542a] 2018-09-26 20:20:59 +0200
|
|
Branch: REL9_4_STABLE [26b877d28] 2018-09-26 20:33:05 +0200
|
|
Branch: REL9_3_STABLE [14ce78e47] 2018-09-26 20:33:21 +0200
|
|
-->
|
|
<para>
|
|
Ensure that sequences owned by a foreign table are processed
|
|
by <literal>ALTER OWNER</literal> on the table (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The ownership change should propagate to such sequences as well, but
|
|
this was missed for foreign tables.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Ensure that the server will process
|
|
already-received <literal>NOTIFY</literal>
|
|
and <literal>SIGTERM</literal> interrupts before waiting for client
|
|
input (Jeff Janes, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [87d9bbca1] 2018-09-24 11:30:59 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [bfdd02f88] 2018-09-24 11:30:51 -0400
|
|
Branch: REL_10_STABLE [103511723] 2018-09-24 11:30:51 -0400
|
|
Branch: REL9_6_STABLE [ac863108f] 2018-09-24 11:30:51 -0400
|
|
Branch: REL9_5_STABLE [6ed095edb] 2018-09-24 11:30:51 -0400
|
|
Branch: REL9_4_STABLE [028fc0bac] 2018-09-24 11:30:51 -0400
|
|
Branch: REL9_3_STABLE [7ecdeb5f5] 2018-09-24 11:30:51 -0400
|
|
-->
|
|
<para>
|
|
Fix over-allocation of space for <function>array_out()</function>'s
|
|
result string (Keiichi Hirobe)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [07172d5af] 2018-08-13 01:59:45 +0100
|
|
Branch: REL_11_STABLE Release: REL_11_0 [78f70e07e] 2018-08-13 02:03:12 +0100
|
|
Branch: REL_10_STABLE [556140424] 2018-08-13 02:03:54 +0100
|
|
-->
|
|
<para>
|
|
Avoid query-lifetime memory leak in <literal>XMLTABLE</literal>
|
|
(Andrew Gierth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Fix memory leak in repeated SP-GiST index scans (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This is only known to amount to anything significant in cases where
|
|
an exclusion constraint using SP-GiST receives many new index entries
|
|
in a single command.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [fa73b377e] 2018-08-16 16:49:57 +0200
|
|
Branch: REL_11_STABLE Release: REL_11_0 [43ba5ac6a] 2018-08-16 16:55:34 +0200
|
|
Branch: REL_10_STABLE [e00f4b68d] 2018-08-16 16:55:09 +0200
|
|
Branch: REL9_6_STABLE [5257b9bfb] 2018-08-16 16:52:44 +0200
|
|
Branch: REL9_5_STABLE [864ecd716] 2018-08-16 16:51:46 +0200
|
|
Branch: REL9_4_STABLE [ef1ac5b2a] 2018-08-16 16:51:00 +0200
|
|
-->
|
|
<para>
|
|
Ensure that <function>ApplyLogicalMappingFile()</function> closes the
|
|
mapping file when done with it (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, the file descriptor was leaked, eventually resulting in
|
|
failures during logical decoding.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [e9edc1ba0] 2018-10-10 13:53:02 -0700
|
|
Branch: REL_11_STABLE Release: REL_11_0 [88670a436] 2018-10-10 13:53:02 -0700
|
|
Branch: REL_10_STABLE [532e3b5b3] 2018-10-10 13:53:02 -0700
|
|
Branch: REL9_6_STABLE [a88482dd2] 2018-10-10 13:53:02 -0700
|
|
Branch: REL9_5_STABLE [0a0c25594] 2018-10-10 13:53:03 -0700
|
|
Branch: REL9_4_STABLE [c7b96ba29] 2018-10-10 13:53:03 -0700
|
|
-->
|
|
<para>
|
|
Fix logical decoding to handle cases where a mapped catalog table is
|
|
repeatedly rewritten, e.g. by <literal>VACUUM FULL</literal>
|
|
(Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Prevent starting the server with <varname>wal_level</varname> set
|
|
to too low a value to support an existing replication slot (Andres
|
|
Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d48da369a] 2018-10-15 14:01:38 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [db9034bf7] 2018-10-15 14:01:38 -0400
|
|
Branch: REL_10_STABLE [9d4212afa] 2018-10-15 14:01:38 -0400
|
|
Branch: REL9_6_STABLE [ca361554c] 2018-10-15 14:01:38 -0400
|
|
Branch: REL9_5_STABLE [10412cef1] 2018-10-15 14:01:38 -0400
|
|
Branch: REL9_4_STABLE [eb01ea2a3] 2018-10-15 14:01:38 -0400
|
|
Branch: REL9_3_STABLE [3a60c8bb1] 2018-10-15 14:01:38 -0400
|
|
-->
|
|
<para>
|
|
Avoid crash if a utility command causes infinite recursion (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [1df21ddb1] 2018-10-14 22:23:21 +0900
|
|
Branch: REL_11_STABLE Release: REL_11_0 [18781cd2a] 2018-10-14 22:23:29 +0900
|
|
Branch: REL_10_STABLE [8384ff424] 2018-10-14 22:23:35 +0900
|
|
Branch: REL9_6_STABLE [010041ddc] 2018-10-14 22:23:43 +0900
|
|
Branch: REL9_5_STABLE [d83dac374] 2018-10-14 22:23:48 +0900
|
|
Branch: REL9_4_STABLE [7c525519d] 2018-10-14 22:23:54 +0900
|
|
Branch: REL9_3_STABLE [0c99e7196] 2018-10-14 22:24:01 +0900
|
|
-->
|
|
<para>
|
|
When initializing a hot standby, cope with duplicate XIDs caused by
|
|
two-phase transactions on the master
|
|
(Michael Paquier, Konstantin Knizhnik)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [ad08006ba] 2018-10-06 19:17:46 -0300
|
|
Branch: REL_11_STABLE Release: REL_11_0 [1a852f7c1] 2018-10-06 19:17:46 -0300
|
|
Branch: REL_10_STABLE [101b21ead] 2018-10-06 19:17:46 -0300
|
|
Branch: REL9_6_STABLE [b2f266f58] 2018-10-06 19:17:46 -0300
|
|
Branch: REL9_5_STABLE [a2a5159ed] 2018-10-06 19:17:46 -0300
|
|
-->
|
|
<para>
|
|
Fix event triggers to handle nested <command>ALTER TABLE</command>
|
|
commands (Michael Paquier, Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [07ee62ce9] 2018-10-06 12:00:09 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [6bf278df8] 2018-10-06 12:00:09 -0400
|
|
Branch: REL_10_STABLE [58454d0bb] 2018-10-06 12:00:10 -0400
|
|
Branch: REL9_6_STABLE [bdc2e7a19] 2018-10-06 12:00:10 -0400
|
|
Branch: REL9_5_STABLE [3c9dd963c] 2018-10-06 12:00:10 -0400
|
|
-->
|
|
<para>
|
|
Propagate parent process's transaction and statement start timestamps
|
|
to parallel workers (Konstantin Knizhnik)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents misbehavior of functions such
|
|
as <function>transaction_timestamp()</function> when executed in a
|
|
worker.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [9bc9f72b2] 2018-10-03 09:15:03 +0530
|
|
Branch: REL_11_STABLE Release: REL_11_0 [ca5ca25d0] 2018-10-03 09:14:09 +0530
|
|
Branch: REL_10_STABLE [9718c93f5] 2018-10-03 09:38:07 +0530
|
|
Branch: REL9_6_STABLE [dca44d07c] 2018-10-03 09:54:01 +0530
|
|
-->
|
|
<para>
|
|
Fix transfer of expanded datums to parallel workers so that alignment
|
|
is preserved, preventing crashes on alignment-picky platforms
|
|
(Tom Lane, Amit Kapila)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [78ea8b5da] 2018-09-28 11:54:38 +0900
|
|
Branch: REL_11_STABLE Release: REL_11_0 [88926fd48] 2018-09-28 11:55:43 +0900
|
|
Branch: REL_10_STABLE [05b9c58da] 2018-09-28 11:55:55 +0900
|
|
Branch: REL9_6_STABLE [f4fa92f26] 2018-09-28 11:56:04 +0900
|
|
Branch: REL9_5_STABLE [ed9d6d621] 2018-09-28 11:56:11 +0900
|
|
-->
|
|
<para>
|
|
Fix WAL file recycling logic to work correctly on standby servers
|
|
(Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Depending on the setting of <varname>archive_mode</varname>, a standby
|
|
might fail to remove some WAL files that could be removed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [8d28bf500] 2018-09-26 10:25:54 +0900
|
|
Branch: REL_11_STABLE Release: REL_11_0 [180feb8c7] 2018-09-26 10:29:20 +0900
|
|
Branch: REL_10_STABLE [cb822ffb7] 2018-09-26 10:29:28 +0900
|
|
Branch: REL9_6_STABLE [e513a3d85] 2018-09-26 10:29:49 +0900
|
|
Branch: REL9_5_STABLE [69a568636] 2018-09-26 10:30:38 +0900
|
|
-->
|
|
<para>
|
|
Fix handling of commit-timestamp tracking during recovery
|
|
(Masahiko Sawada, Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
If commit timestamp tracking has been turned on or off, recovery might
|
|
fail due to trying to fetch the commit timestamp for a transaction
|
|
that did not record it.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [d18f6674b] 2018-09-23 22:56:39 -0700
|
|
Branch: REL_11_STABLE Release: REL_11_0 [89f2b64da] 2018-09-23 22:56:42 -0700
|
|
Branch: REL_10_STABLE [4232cff11] 2018-09-23 22:56:42 -0700
|
|
Branch: REL9_6_STABLE [329cacb90] 2018-09-23 22:56:42 -0700
|
|
Branch: REL9_5_STABLE [d68d5adfd] 2018-09-23 22:56:43 -0700
|
|
Branch: REL9_4_STABLE [401228183] 2018-09-23 22:56:57 -0700
|
|
Branch: REL9_3_STABLE [402da7054] 2018-09-23 22:57:43 -0700
|
|
-->
|
|
<para>
|
|
Randomize the <function>random()</function> seed in bootstrap and
|
|
standalone backends, and in <application>initdb</application>
|
|
(Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
The main practical effect of this change is that it avoids a scenario
|
|
where <application>initdb</application> might mistakenly conclude that
|
|
POSIX shared memory is not available, due to name collisions caused by
|
|
always using the same random seed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [38763d677] 2018-09-20 15:52:39 +1200
|
|
Branch: REL_11_STABLE Release: REL_11_0 [8ffc3be10] 2018-09-20 15:59:34 +1200
|
|
Branch: REL_10_STABLE [ba20d3925] 2018-09-20 16:03:51 +1200
|
|
-->
|
|
<para>
|
|
Fix possible shared-memory corruption in DSA logic (Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [422952ee7] 2018-09-18 22:56:36 +1200
|
|
Branch: REL_11_STABLE Release: REL_11_0 [63efab4ca] 2018-09-18 23:03:54 +1200
|
|
Branch: REL_10_STABLE [7167fa876] 2018-09-18 23:08:56 +1200
|
|
Branch: REL9_6_STABLE [f547035a0] 2018-09-18 23:13:27 +1200
|
|
Branch: REL9_5_STABLE [fb389498b] 2018-09-18 23:19:22 +1200
|
|
Branch: REL9_4_STABLE [c0c5668c6] 2018-09-18 23:49:21 +1200
|
|
-->
|
|
<para>
|
|
Allow DSM allocation to be interrupted (Chris Travers)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [6c3c9d418] 2018-09-20 14:21:18 +1200
|
|
Branch: REL_11_STABLE Release: REL_11_0 [9d178fb92] 2018-09-20 14:21:32 +1200
|
|
Branch: REL_10_STABLE [98a4e814e] 2018-09-20 14:21:44 +1200
|
|
Branch: REL9_6_STABLE [de4fe83c7] 2018-09-20 14:21:57 +1200
|
|
-->
|
|
<para>
|
|
Avoid failure in a parallel worker when loading an extension that
|
|
tries to access system caches within its init function (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
We don't consider that to be good extension coding practice, but it
|
|
mostly worked before parallel query, so continue to support it for
|
|
now.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [bc153c941] 2018-09-13 15:32:50 +0530
|
|
Branch: REL_11_STABLE Release: REL_11_0 [ff4220ead] 2018-09-13 15:38:15 +0530
|
|
Branch: REL_10_STABLE [ede7d8192] 2018-09-13 16:01:57 +0530
|
|
Branch: REL9_6_STABLE [fd4f2af77] 2018-09-13 16:08:55 +0530
|
|
Branch: REL9_5_STABLE [47a589c1f] 2018-09-13 16:10:59 +0530
|
|
-->
|
|
<para>
|
|
Properly handle turning <varname>full_page_writes</varname> on
|
|
dynamically (Kyotaro Horiguchi)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [500d49794] 2018-09-11 18:14:19 +0100
|
|
Branch: REL_11_STABLE Release: REL_11_0 [e331d6712] 2018-09-11 19:19:45 +0100
|
|
Branch: REL_10_STABLE [c02b56869] 2018-09-11 19:19:50 +0100
|
|
Branch: REL9_6_STABLE [84a3a1e55] 2018-09-11 19:19:55 +0100
|
|
-->
|
|
<para>
|
|
Fix possible crash due to double <function>free()</function> during
|
|
SP-GiST rescan (Andrew Gierth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e3d77ea6b] 2018-09-09 15:17:01 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [6395ac14d] 2018-09-09 15:17:02 -0400
|
|
Branch: REL_10_STABLE [d6ff5322c] 2018-09-09 15:17:03 -0400
|
|
Branch: master [4fa3741d1] 2018-09-10 22:22:12 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [e3aafe200] 2018-09-10 22:22:12 -0400
|
|
Branch: REL_10_STABLE [355fd62e8] 2018-09-10 22:22:12 -0400
|
|
-->
|
|
<para>
|
|
Prevent mis-linking of src/port and src/common functions on ELF-based
|
|
BSD platforms, as well as HP-UX and Solaris (Andrew Gierth, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Shared libraries loaded into a backend's address space could use the
|
|
backend's versions of these functions, rather than their own copies as
|
|
intended. Since the behavior of the two sets of functions isn't
|
|
quite the same, this led to failures.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [5f08accda] 2018-09-09 21:19:29 +0300
|
|
Branch: REL_11_STABLE Release: REL_11_0 [cc909ddbf] 2018-09-09 21:29:00 +0300
|
|
Branch: REL_10_STABLE [bccfd3817] 2018-09-09 21:29:07 +0300
|
|
Branch: REL9_6_STABLE [f9e66f2fb] 2018-09-09 21:42:50 +0300
|
|
Branch: REL9_5_STABLE [e950c6c9d] 2018-09-09 21:44:58 +0300
|
|
Branch: REL9_4_STABLE [35ea98f79] 2018-09-09 21:45:55 +0300
|
|
-->
|
|
<para>
|
|
Avoid possible buffer overrun when replaying GIN page recompression
|
|
from WAL (Alexander Korotkov, Sivasubramanian Ramasubramanian)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [ac27c74de] 2018-09-06 09:27:19 +0530
|
|
Branch: REL_11_STABLE Release: REL_11_0 [834bce0a5] 2018-09-06 10:07:18 +0530
|
|
Branch: REL_10_STABLE [916afca45] 2018-09-06 10:19:51 +0530
|
|
-->
|
|
<para>
|
|
Avoid overrun of a hash index's metapage
|
|
when <literal>BLCKSZ</literal> is smaller than default (Dilip Kumar)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [7c9e19ca9] 2018-09-04 08:35:42 +0530
|
|
Branch: REL_11_STABLE Release: REL_11_0 [16e7bcfac] 2018-09-04 08:33:33 +0530
|
|
Branch: REL_10_STABLE [3b7a96a61] 2018-09-04 08:43:37 +0530
|
|
-->
|
|
<para>
|
|
Fix missed page checksum updates in hash indexes (Amit Kapila)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [caa0c6ceb] 2018-09-02 12:40:30 -0700
|
|
Branch: REL_11_STABLE Release: REL_11_0 [680f89e56] 2018-09-02 12:40:38 -0700
|
|
Branch: REL_10_STABLE [504f059f5] 2018-09-02 12:40:45 -0700
|
|
Branch: REL9_6_STABLE [d8030c684] 2018-09-02 12:40:52 -0700
|
|
Branch: REL9_5_STABLE [02b1b01d8] 2018-09-02 12:40:58 -0700
|
|
Branch: REL9_4_STABLE [113020627] 2018-09-02 12:41:06 -0700
|
|
-->
|
|
<para>
|
|
Fix missed fsync of a replication slot's directory (Konstantin
|
|
Knizhnik, Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [ab0ed6153] 2018-08-31 22:59:58 -0700
|
|
Branch: REL_11_STABLE Release: REL_11_0 [ee0ab2754] 2018-08-31 23:00:01 -0700
|
|
Branch: REL_10_STABLE [1664c8b30] 2018-08-31 23:00:01 -0700
|
|
Branch: REL9_6_STABLE [081e4104a] 2018-08-31 23:00:02 -0700
|
|
Branch: REL9_5_STABLE [e3eca937c] 2018-08-31 23:00:02 -0700
|
|
Branch: REL9_4_STABLE [20cd88857] 2018-08-31 23:00:03 -0700
|
|
-->
|
|
<para>
|
|
Fix unexpected timeouts when
|
|
using <varname>wal_sender_timeout</varname> on a slow server
|
|
(Noah Misch)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [c186ba135] 2018-08-31 11:03:40 -0700
|
|
Branch: REL_11_STABLE Release: REL_11_0 [c34f8078a] 2018-08-31 11:03:55 -0700
|
|
Branch: REL_10_STABLE [2c8cff5dd] 2018-08-31 11:04:07 -0700
|
|
Branch: REL9_6_STABLE [4a9a5bb3f] 2018-08-31 11:04:33 -0700
|
|
Branch: REL9_5_STABLE [f3520ff6f] 2018-08-31 11:04:46 -0700
|
|
Branch: REL9_4_STABLE [d9638a326] 2018-08-31 11:05:59 -0700
|
|
Branch: REL9_3_STABLE [65f39408e] 2018-08-31 11:06:09 -0700
|
|
-->
|
|
<para>
|
|
Ensure that hot standby processes use the correct WAL consistency
|
|
point (Alexander Kukushkin, Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents possible misbehavior just after a standby server has
|
|
reached a consistent database state during WAL replay.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [55875b6d2] 2018-08-29 17:10:02 -0700
|
|
Branch: REL_11_STABLE Release: REL_11_0 [35622f7d3] 2018-08-29 17:10:13 -0700
|
|
Branch: REL_10_STABLE [89f562ae1] 2018-08-29 17:11:19 -0700
|
|
Branch: REL9_6_STABLE [f6feb8e38] 2018-08-29 17:11:27 -0700
|
|
Branch: REL9_5_STABLE [32f2792eb] 2018-08-29 17:11:40 -0700
|
|
-->
|
|
<para>
|
|
Ensure background workers are stopped properly when the postmaster
|
|
receives a fast-shutdown request before completing database startup
|
|
(Alexander Kukushkin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [ab7dbd681] 2018-08-15 18:09:29 -0300
|
|
Branch: REL_11_STABLE Release: REL_11_0 [6872c2be6] 2018-08-15 18:09:29 -0300
|
|
Branch: REL_10_STABLE [255e2fbe8] 2018-08-15 18:09:29 -0300
|
|
Branch: REL9_6_STABLE [3cbd190e1] 2018-08-15 18:09:29 -0300
|
|
-->
|
|
<para>
|
|
Update the free space map during WAL replay of page all-visible/frozen
|
|
flag changes (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Previously we were not careful about this, reasoning that the FSM is
|
|
not critical data anyway. However, if it's sufficiently out of date,
|
|
that can result in significant performance degradation after a standby
|
|
has been promoted to primary. The FSM will eventually be healed by
|
|
updates, but we'd like it to be good sooner, so work harder at
|
|
maintaining it during WAL replay.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [2cd0acfda] 2018-08-13 08:22:18 +0530
|
|
Branch: REL_11_STABLE Release: REL_11_0 [c054afd0a] 2018-08-13 08:33:55 +0530
|
|
Branch: REL_10_STABLE [ba10eaef5] 2018-08-13 08:43:33 +0530
|
|
Branch: REL9_6_STABLE [69de17186] 2018-08-13 08:56:37 +0530
|
|
-->
|
|
<para>
|
|
Avoid premature release of parallel-query resources when query end or
|
|
tuple count limit is reached (Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
It's only okay to shut down the executor at this point if the caller
|
|
cannot demand backwards scan afterwards.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [8e19a8264] 2018-08-08 19:10:32 +0300
|
|
Branch: REL_11_STABLE Release: REL_11_0 [79f17d45e] 2018-08-08 19:10:35 +0300
|
|
Branch: REL_10_STABLE [2332020d6] 2018-08-08 19:09:30 +0300
|
|
Branch: REL9_6_STABLE [8e4e783ee] 2018-08-08 19:09:33 +0300
|
|
Branch: REL9_5_STABLE [f318f7fdf] 2018-08-08 19:09:35 +0300
|
|
Branch: REL9_4_STABLE [d5a9b706e] 2018-08-08 19:10:38 +0300
|
|
Branch: REL9_3_STABLE [58ce9c785] 2018-08-08 19:10:07 +0300
|
|
-->
|
|
<para>
|
|
Don't run atexit callbacks when servicing <literal>SIGQUIT</literal>
|
|
(Heikki Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9b7c56d6c] 2018-08-07 16:32:50 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [ea1b65971] 2018-08-07 16:32:55 -0400
|
|
Branch: REL_10_STABLE [9446d7157] 2018-08-07 16:33:00 -0400
|
|
Branch: REL9_6_STABLE [f3ed5364e] 2018-08-07 16:33:03 -0400
|
|
Branch: REL9_5_STABLE [74c877e8d] 2018-08-07 16:33:08 -0400
|
|
Branch: REL9_4_STABLE [33c5d3bf8] 2018-08-07 16:33:12 -0400
|
|
Branch: REL9_3_STABLE [f5973ac76] 2018-08-07 16:33:17 -0400
|
|
-->
|
|
<para>
|
|
Don't record foreign-server user mappings as members of extensions
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If <command>CREATE USER MAPPING</command> is executed in an extension
|
|
script, an extension dependency was created for the user mapping,
|
|
which is unexpected. Roles can't be extension members, so user
|
|
mappings shouldn't be either.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [bff84a547] 2018-08-26 14:21:55 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [f8fc5f5f5] 2018-08-26 14:21:55 -0400
|
|
Branch: REL_10_STABLE [6fbbe3353] 2018-08-26 14:21:55 -0400
|
|
Branch: REL9_6_STABLE [93ca07fd8] 2018-08-26 14:21:55 -0400
|
|
Branch: REL9_5_STABLE [8895daf1b] 2018-08-26 14:21:55 -0400
|
|
Branch: REL9_4_STABLE [48bc1a525] 2018-08-26 14:21:55 -0400
|
|
Branch: REL9_3_STABLE [23f21e070] 2018-08-26 14:21:55 -0400
|
|
-->
|
|
<para>
|
|
Make syslogger more robust against failures in opening CSV log files
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5ca007741] 2018-08-23 16:39:36 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [c781a066e] 2018-08-23 16:39:37 -0400
|
|
Branch: REL_10_STABLE [6953daf08] 2018-08-23 16:39:20 -0400
|
|
-->
|
|
<para>
|
|
When <application>libpq</application> is given multiple target host
|
|
names, do the DNS lookups one at a time, not all at once (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents unnecessary failures or slow connections when a
|
|
connection is successfully made to one of the earlier servers in the
|
|
list.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1e6e98f76] 2018-08-13 13:07:52 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [998c73664] 2018-08-13 13:07:52 -0400
|
|
Branch: REL_10_STABLE [e0db288ab] 2018-08-13 13:07:53 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>libpq</application>'s handling of connection timeouts
|
|
so that they are properly applied per host name or IP address (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, some code paths failed to restart the timer when switching
|
|
to a new target host, possibly resulting in premature timeout.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Fix <application>psql</application>, as well as documentation
|
|
examples, to call <function>PQconsumeInput()</function> before
|
|
each <function>PQnotifies()</function> call (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This fixes cases in which <application>psql</application> would not
|
|
report receipt of a <literal>NOTIFY</literal> message until after the
|
|
next command.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [08c9917e2] 2018-09-25 11:03:56 +0900
|
|
Branch: REL_11_STABLE Release: REL_11_0 [1f5039411] 2018-09-25 11:05:13 +0900
|
|
Branch: REL_10_STABLE [55a586ba9] 2018-09-25 11:05:29 +0900
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application>'s
|
|
<option>--no-publications</option> option to also ignore publication
|
|
tables (Gilles Darold)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [b965f2617] 2018-08-22 14:21:49 +0900
|
|
Branch: REL_11_STABLE Release: REL_11_0 [4ed59e02f] 2018-08-22 14:22:39 +0900
|
|
Branch: REL_10_STABLE [cb282eab1] 2018-08-22 14:23:03 +0900
|
|
-->
|
|
<para>
|
|
In <application>pg_dump</application>, exclude identity sequences when
|
|
their parent table is excluded from the dump (David Rowley)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5b5ed4756] 2018-08-07 13:13:42 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [f73643006] 2018-08-07 13:13:42 -0400
|
|
Branch: REL_10_STABLE [dc391dacf] 2018-08-07 13:13:42 -0400
|
|
Branch: REL9_6_STABLE [6b6327d93] 2018-08-07 13:13:42 -0400
|
|
Branch: REL9_5_STABLE [f3f6558b5] 2018-08-07 13:13:42 -0400
|
|
Branch: REL9_4_STABLE [abd04e0dd] 2018-08-07 13:13:42 -0400
|
|
Branch: REL9_3_STABLE [5abdb33ad] 2018-08-07 13:13:42 -0400
|
|
-->
|
|
<para>
|
|
Fix possible inconsistency in <application>pg_dump</application>'s
|
|
sorting of dissimilar object names (Jacob Champion)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [6771c932c] 2018-08-17 17:12:33 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [d73093c4f] 2018-08-17 17:12:21 -0400
|
|
Branch: REL_10_STABLE [05aeeb5e2] 2018-08-17 17:12:21 -0400
|
|
Branch: REL9_6_STABLE [72329ba03] 2018-08-17 17:12:21 -0400
|
|
Branch: REL9_5_STABLE [3998dfe1b] 2018-08-17 17:12:21 -0400
|
|
Branch: REL9_4_STABLE [a4fdcceab] 2018-08-17 17:12:21 -0400
|
|
Branch: REL9_3_STABLE [b2171d472] 2018-08-17 17:12:21 -0400
|
|
-->
|
|
<para>
|
|
Ensure that <application>pg_restore</application> will schema-qualify
|
|
the table name when
|
|
emitting <literal>DISABLE</literal>/<literal>ENABLE TRIGGER</literal>
|
|
commands (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids failures due to the new policy of running restores with
|
|
restrictive search path.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [03838b804] 2018-08-07 15:43:48 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [187331fef] 2018-08-07 15:43:48 -0400
|
|
Branch: REL_10_STABLE [c9dacdb1c] 2018-08-07 15:43:49 -0400
|
|
Branch: REL9_6_STABLE [92d5dd36e] 2018-08-07 15:43:49 -0400
|
|
Branch: REL9_5_STABLE [91f6ec299] 2018-08-07 15:43:49 -0400
|
|
Branch: REL9_4_STABLE [fb4e0e896] 2018-08-07 15:43:49 -0400
|
|
Branch: REL9_3_STABLE [dfffe651e] 2018-08-07 15:43:49 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>pg_upgrade</application> to handle event triggers in
|
|
extensions correctly (Haribabu Kommi)
|
|
</para>
|
|
|
|
<para>
|
|
<application>pg_upgrade</application> failed to preserve an event
|
|
trigger's extension-membership status.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Bruce Momjian <bruce@momjian.us>
|
|
Branch: master [777e6ddf1] 2018-08-14 17:19:02 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [995133410] 2018-08-14 17:19:02 -0400
|
|
Branch: REL_10_STABLE [efc4b4897] 2018-08-14 17:19:02 -0400
|
|
Branch: REL9_6_STABLE [54db0e5e1] 2018-08-14 17:19:02 -0400
|
|
Branch: REL9_5_STABLE [dcca99627] 2018-08-14 17:19:02 -0400
|
|
Branch: REL9_4_STABLE [a034c6737] 2018-08-14 17:19:02 -0400
|
|
Branch: REL9_3_STABLE [235eab04e] 2018-08-14 17:19:02 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>pg_upgrade</application>'s cluster state check to
|
|
work correctly on a standby server (Bruce Momjian)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [f919c165e] 2018-08-31 20:24:48 +0300
|
|
Branch: REL_11_STABLE Release: REL_11_0 [36343e59b] 2018-08-31 20:24:20 +0300
|
|
Branch: REL_10_STABLE [29e07cd22] 2018-08-31 20:23:32 +0300
|
|
Branch: REL9_6_STABLE [5fed7b24a] 2018-08-31 20:22:39 +0300
|
|
Branch: REL9_5_STABLE [b187dae9d] 2018-08-31 20:06:49 +0300
|
|
Branch: REL9_4_STABLE [7cea5e6eb] 2018-08-31 20:10:40 +0300
|
|
Branch: REL9_3_STABLE [9f3ade1a6] 2018-08-31 20:21:30 +0300
|
|
-->
|
|
<para>
|
|
Enforce type <type>cube</type>'s dimension limit in
|
|
all <filename>contrib/cube</filename> functions (Andrey Borodin)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, some cube-related functions could construct values that
|
|
would be rejected by <function>cube_in()</function>, leading to
|
|
dump/reload failures.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
In <filename>contrib/pg_stat_statements</filename>, disallow
|
|
the <literal>pg_read_all_stats</literal> role from
|
|
executing <function>pg_stat_statements_reset()</function>
|
|
(Haribabu Kommi)
|
|
</para>
|
|
|
|
<para>
|
|
<literal>pg_read_all_stats</literal> is only meant to grant permission
|
|
to read statistics, not to change them, so this grant was incorrect.
|
|
</para>
|
|
|
|
<para>
|
|
To cause this change to take effect, run <literal>ALTER EXTENSION
|
|
pg_stat_statements UPDATE</literal> in each database
|
|
where <filename>pg_stat_statements</filename> has been installed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [bf2d0462c] 2018-08-28 14:43:51 +0100
|
|
Branch: REL_11_STABLE Release: REL_11_0 [8bc6a301b] 2018-08-28 15:04:19 +0100
|
|
Branch: REL_10_STABLE [64eed263a] 2018-08-28 15:04:24 +0100
|
|
Branch: REL9_6_STABLE [639bdbb96] 2018-08-28 15:04:30 +0100
|
|
-->
|
|
<para>
|
|
In <filename>contrib/postgres_fdw</filename>, don't try to ship a
|
|
variable-free <literal>ORDER BY</literal> clause to the remote server
|
|
(Andrew Gierth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a5322ca10] 2018-09-06 10:49:45 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [23aad181f] 2018-09-06 10:49:45 -0400
|
|
Branch: REL_10_STABLE [a54f5b187] 2018-09-06 10:49:45 -0400
|
|
Branch: REL9_6_STABLE [594ee1ada] 2018-09-06 10:49:45 -0400
|
|
Branch: REL9_5_STABLE [c79b39fb1] 2018-09-06 10:49:45 -0400
|
|
Branch: REL9_4_STABLE [d4ab39626] 2018-09-06 10:49:45 -0400
|
|
Branch: REL9_3_STABLE [25ff97ba7] 2018-09-06 10:49:45 -0400
|
|
-->
|
|
<para>
|
|
Fix <filename>contrib/unaccent</filename>'s
|
|
<function>unaccent()</function> function to use
|
|
the <literal>unaccent</literal> text search dictionary that is in the
|
|
same schema as the function (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously it tried to look up the dictionary using the search path,
|
|
which could fail if the search path has a restrictive value.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Fix build problems on macOS 10.14 (Mojave) (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Adjust <application>configure</application> to add
|
|
an <option>-isysroot</option> switch to <varname>CPPFLAGS</varname>;
|
|
without this, PL/Perl and PL/Tcl fail to configure or build on macOS
|
|
10.14. The specific sysroot used can be overridden at configure time
|
|
or build time by setting the <varname>PG_SYSROOT</varname> variable in
|
|
the arguments of <application>configure</application>
|
|
or <application>make</application>.
|
|
</para>
|
|
|
|
<para>
|
|
It is now recommended that Perl-related extensions
|
|
write <literal>$(perl_includespec)</literal> rather
|
|
than <literal>-I$(perl_archlibexp)/CORE</literal> in their compiler
|
|
flags. The latter continues to work on most platforms, but not recent
|
|
macOS.
|
|
</para>
|
|
|
|
<para>
|
|
Also, it should no longer be necessary to
|
|
specify <option>--with-tclconfig</option> manually to get PL/Tcl to
|
|
build on recent macOS releases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Fix MSVC build and regression-test scripts to work on recent Perl
|
|
versions (Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
Perl no longer includes the current directory in its search path
|
|
by default; work around that.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
On Windows, allow the regression tests to be run by an Administrator
|
|
account (Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
To do this safely, <application>pg_regress</application> now gives up
|
|
any such privileges at startup.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c87cb5f7a] 2018-10-05 16:01:29 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [67e7d4da7] 2018-10-05 16:01:29 -0400
|
|
Branch: REL_10_STABLE [142cfd3cd] 2018-10-05 16:01:29 -0400
|
|
Branch: REL9_6_STABLE [60cc2414b] 2018-10-05 16:01:30 -0400
|
|
Branch: REL9_5_STABLE [0dc6bf633] 2018-10-05 16:01:30 -0400
|
|
Branch: REL9_4_STABLE [26cc27541] 2018-10-05 16:01:30 -0400
|
|
Branch: REL9_3_STABLE [6e63e0697] 2018-10-05 16:01:30 -0400
|
|
-->
|
|
<para>
|
|
Allow btree comparison functions to return <literal>INT_MIN</literal>
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Up to now, we've forbidden datatype-specific comparison functions from
|
|
returning <literal>INT_MIN</literal>, which allows callers to invert
|
|
the sort order just by negating the comparison result. However, this
|
|
was never safe for comparison functions that directly return the
|
|
result of <function>memcmp()</function>, <function>strcmp()</function>,
|
|
etc, as POSIX doesn't place any such restriction on those functions.
|
|
At least some recent versions of <function>memcmp()</function> can
|
|
return <literal>INT_MIN</literal>, causing incorrect sort ordering.
|
|
Hence, we've removed this restriction. Callers must now use
|
|
the <literal>INVERT_COMPARE_RESULT()</literal> macro if they wish to
|
|
invert the sort order.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f868a8143] 2018-09-07 18:04:54 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [2569ca0dc] 2018-09-07 18:04:55 -0400
|
|
Branch: REL_10_STABLE [9e6f4fbdd] 2018-09-07 18:04:56 -0400
|
|
Branch: REL9_6_STABLE [395f310b0] 2018-09-07 18:04:58 -0400
|
|
Branch: REL9_5_STABLE [66321ae61] 2018-09-07 18:04:38 -0400
|
|
Branch: REL9_4_STABLE [bf919387e] 2018-09-07 18:04:38 -0400
|
|
Branch: REL9_3_STABLE [95e9f928c] 2018-09-07 18:04:38 -0400
|
|
-->
|
|
<para>
|
|
Fix recursion hazard in shared-invalidation message processing
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This error could, for example, result in failure to access a system
|
|
catalog or index that had just been processed by <command>VACUUM
|
|
FULL</command>.
|
|
</para>
|
|
|
|
<para>
|
|
This change adds a new result code
|
|
for <function>LockAcquire</function>, which might possibly affect
|
|
external callers of that function, though only very unusual usage
|
|
patterns would have an issue with it. The API
|
|
of <function>LockAcquireExtended</function> is also changed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [361844fe5] 2018-09-07 20:09:57 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [825f10fbd] 2018-09-07 20:09:57 -0400
|
|
Branch: REL_10_STABLE [3985b75dc] 2018-09-07 20:09:57 -0400
|
|
Branch: REL9_6_STABLE [82ebf39fc] 2018-09-07 20:09:57 -0400
|
|
Branch: REL9_5_STABLE [0254aa83b] 2018-09-07 20:09:57 -0400
|
|
Branch: REL9_4_STABLE [d2003339c] 2018-09-07 20:09:57 -0400
|
|
Branch: REL9_3_STABLE [92f0c5083] 2018-09-07 20:09:57 -0400
|
|
-->
|
|
<para>
|
|
Save and restore SPI's global variables
|
|
during <function>SPI_connect()</function>
|
|
and <function>SPI_finish()</function> (Chapman Flack, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents possible interference when one SPI-using function calls
|
|
another.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [44cac9346] 2018-09-01 15:27:17 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [f5c93cf92] 2018-09-01 15:27:13 -0400
|
|
Branch: REL_10_STABLE [10b9af3eb] 2018-09-01 15:27:13 -0400
|
|
Branch: REL9_6_STABLE [826980424] 2018-09-01 15:27:13 -0400
|
|
Branch: REL9_5_STABLE [03ffe5553] 2018-09-01 15:27:13 -0400
|
|
Branch: REL9_4_STABLE [083d9ced1] 2018-09-01 15:27:13 -0400
|
|
Branch: REL9_3_STABLE [5af055ed7] 2018-09-01 15:27:14 -0400
|
|
-->
|
|
<para>
|
|
Avoid using potentially-under-aligned page buffers (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Invent new union types <type>PGAlignedBlock</type>
|
|
and <type>PGAlignedXLogBlock</type>, and use these in place of plain
|
|
char arrays, ensuring that the compiler can't place the buffer at a
|
|
misaligned start address. This fixes potential core dumps on
|
|
alignment-picky platforms, and may improve performance even on
|
|
platforms that allow misalignment.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [805889d7d] 2018-08-15 13:21:37 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [36147ec9f] 2018-08-15 17:25:49 -0400
|
|
Branch: REL_10_STABLE [1811900b9] 2018-08-15 17:25:50 -0400
|
|
Branch: REL9_6_STABLE [c2a2e331d] 2018-08-15 17:25:52 -0400
|
|
Branch: REL9_5_STABLE [8e9f229d2] 2018-08-15 17:25:23 -0400
|
|
Branch: REL9_4_STABLE [27c4b0899] 2018-08-15 17:25:24 -0400
|
|
Branch: REL9_3_STABLE [a57a6faf6] 2018-08-15 17:25:24 -0400
|
|
-->
|
|
<para>
|
|
Make <filename>src/port/snprintf.c</filename> follow the C99
|
|
standard's definition of <function>snprintf()</function>'s result
|
|
value (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
On platforms where this code is used (mostly Windows), its pre-C99
|
|
behavior could lead to failure to detect buffer overrun, if the
|
|
calling code assumed C99 semantics.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [bd1463e34] 2018-09-20 17:39:40 -0700
|
|
Branch: REL_11_STABLE Release: REL_11_0 [84f14fb78] 2018-09-20 17:48:34 -0700
|
|
Branch: REL_10_STABLE [1b8f09dbd] 2018-09-20 18:10:32 -0700
|
|
Branch: REL9_6_STABLE [e553997e3] 2018-09-20 18:10:52 -0700
|
|
Branch: REL9_5_STABLE [dbbc98a9e] 2018-09-20 18:11:04 -0700
|
|
Branch: REL9_4_STABLE [29196e13c] 2018-09-20 18:11:10 -0700
|
|
Branch: REL9_3_STABLE [978515df2] 2018-09-20 18:11:49 -0700
|
|
-->
|
|
<para>
|
|
When building on i386 with the <application>clang</application>
|
|
compiler, require <option>-msse2</option> to be used (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids problems with missed floating point overflow checks.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [751f532b9] 2018-09-26 18:23:13 -0400
|
|
Branch: REL_11_STABLE Release: REL_11_0 [7871a3625] 2018-09-30 16:24:56 -0400
|
|
Branch: REL_10_STABLE [0aa1e0ef1] 2018-09-30 16:24:56 -0400
|
|
Branch: REL9_6_STABLE [2855421ec] 2018-09-30 16:24:56 -0400
|
|
Branch: REL9_5_STABLE [8b36dc588] 2018-09-30 16:24:56 -0400
|
|
Branch: REL9_4_STABLE [e5baf8c27] 2018-09-30 16:24:56 -0400
|
|
Branch: REL9_3_STABLE [08aad3c81] 2018-09-30 16:24:56 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>configure</application>'s detection of the result
|
|
type of <function>strerror_r()</function> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The previous coding got the wrong answer when building
|
|
with <application>icc</application> on Linux (and perhaps in other
|
|
cases), leading to <application>libpq</application> not returning
|
|
useful error messages for system-reported errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2018g for DST law changes in Chile, Fiji, Morocco, and Russia
|
|
(Volgograd), plus historical corrections for China, Hawaii, Japan,
|
|
Macau, and North Korea.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-10-5">
|
|
<title>Release 10.5</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2018-08-09</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 10.4.
|
|
For information about new features in major release 10, see
|
|
<xref linkend="release-10"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 10.5</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 10.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you are upgrading from a version earlier than 10.4,
|
|
see <xref linkend="release-10-4"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d1c6a14ba] 2018-08-06 10:53:35 -0400
|
|
Branch: REL_11_STABLE [f6f735f78] 2018-08-06 10:53:35 -0400
|
|
Branch: REL_10_STABLE [ab5400469] 2018-08-06 10:53:35 -0400
|
|
Branch: REL9_6_STABLE [a8094d0fe] 2018-08-06 10:53:35 -0400
|
|
Branch: REL9_5_STABLE [7aabfd1d8] 2018-08-06 10:53:35 -0400
|
|
Branch: REL9_4_STABLE [6de9766b8] 2018-08-06 10:53:35 -0400
|
|
Branch: REL9_3_STABLE [243de06be] 2018-08-06 10:53:35 -0400
|
|
-->
|
|
<para>
|
|
Fix failure to reset <application>libpq</application>'s state fully
|
|
between connection attempts (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
An unprivileged user of <filename>dblink</filename>
|
|
or <filename>postgres_fdw</filename> could bypass the checks intended
|
|
to prevent use of server-side credentials, such as
|
|
a <filename>~/.pgpass</filename> file owned by the operating-system
|
|
user running the server. Servers allowing peer authentication on
|
|
local connections are particularly vulnerable. Other attacks such
|
|
as SQL injection into a <filename>postgres_fdw</filename> session
|
|
are also possible.
|
|
Attacking <filename>postgres_fdw</filename> in this way requires the
|
|
ability to create a foreign server object with selected connection
|
|
parameters, but any user with access to <filename>dblink</filename>
|
|
could exploit the problem.
|
|
In general, an attacker with the ability to select the connection
|
|
parameters for a <application>libpq</application>-using application
|
|
could cause mischief, though other plausible attack scenarios are
|
|
harder to think of.
|
|
Our thanks to Andrew Krasichkov for reporting this issue.
|
|
(CVE-2018-10915)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b8a1247a3] 2018-08-04 19:38:58 -0400
|
|
Branch: REL_11_STABLE [e7154b6ac] 2018-08-04 19:38:58 -0400
|
|
Branch: REL_10_STABLE [f6a124d01] 2018-08-04 19:38:58 -0400
|
|
Branch: REL9_6_STABLE [b484bffe7] 2018-08-04 19:38:58 -0400
|
|
Branch: REL9_5_STABLE [5ad143cda] 2018-08-04 19:38:59 -0400
|
|
-->
|
|
<para>
|
|
Fix <literal>INSERT ... ON CONFLICT UPDATE</literal> through a view
|
|
that isn't just <literal>SELECT * FROM ...</literal>
|
|
(Dean Rasheed, Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
Erroneous expansion of an updatable view could lead to crashes
|
|
or <quote>attribute ... has the wrong type</quote> errors, if the
|
|
view's <literal>SELECT</literal> list doesn't match one-to-one with
|
|
the underlying table's columns.
|
|
Furthermore, this bug could be leveraged to allow updates of columns
|
|
that an attacking user lacks <literal>UPDATE</literal> privilege for,
|
|
if that user has <literal>INSERT</literal> and <literal>UPDATE</literal>
|
|
privileges for some other column(s) of the table.
|
|
Any user could also use it for disclosure of server memory.
|
|
(CVE-2018-10925)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master Release: REL_11_BR [a54e1f158] 2018-06-12 11:13:21 -0700
|
|
Branch: REL_10_STABLE [2ce64caaf] 2018-06-12 11:13:21 -0700
|
|
Branch: REL9_6_STABLE [6a46aba1c] 2018-06-12 11:13:21 -0700
|
|
Branch: REL9_5_STABLE [14b3ec6f3] 2018-06-12 11:13:21 -0700
|
|
Branch: REL9_4_STABLE [817f9f9a8] 2018-06-12 11:13:22 -0700
|
|
Branch: REL9_3_STABLE [9b9b622b2] 2018-06-12 11:13:22 -0700
|
|
-->
|
|
<para>
|
|
Ensure that updates to the <structfield>relfrozenxid</structfield>
|
|
and <structfield>relminmxid</structfield> values
|
|
for <quote>nailed</quote> system catalogs are processed in a timely
|
|
fashion (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
Overoptimistic caching rules could prevent these updates from being
|
|
seen by other sessions, leading to spurious errors and/or data
|
|
corruption. The problem was significantly worse for shared catalogs,
|
|
such as <structname>pg_authid</structname>, because the stale cache
|
|
data could persist into new sessions as well as existing ones.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [3c64dcb1e] 2018-07-05 10:46:18 +0900
|
|
Branch: REL_11_STABLE [9a1bd8271] 2018-07-05 10:46:43 +0900
|
|
Branch: REL_10_STABLE [6716f2f96] 2018-07-05 10:47:01 +0900
|
|
Branch: REL9_6_STABLE [8d68ee6f3] 2018-07-05 10:47:19 +0900
|
|
Branch: REL9_5_STABLE [23eef5cd7] 2018-07-05 10:47:32 +0900
|
|
Branch: REL9_4_STABLE [f352f43d3] 2018-07-05 10:47:50 +0900
|
|
Branch: REL9_3_STABLE [56535dcdc] 2018-07-05 10:48:03 +0900
|
|
-->
|
|
<para>
|
|
Fix case where a freshly-promoted standby crashes before having
|
|
completed its first post-recovery checkpoint (Michael Paquier, Kyotaro
|
|
Horiguchi, Pavan Deolasee, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
This led to a situation where the server did not think it had reached
|
|
a consistent database state during subsequent WAL replay, preventing
|
|
restart.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [0905fe891] 2018-07-09 19:26:19 -0400
|
|
Branch: REL_11_STABLE [cfcfbd39b] 2018-07-09 19:26:19 -0400
|
|
Branch: REL_10_STABLE [59b2dcbf4] 2018-07-09 19:26:19 -0400
|
|
Branch: REL9_6_STABLE [568995be6] 2018-07-09 19:26:19 -0400
|
|
Branch: REL9_5_STABLE [7ddac4e8f] 2018-07-09 19:26:19 -0400
|
|
Branch: REL9_4_STABLE [d80ec868f] 2018-07-09 19:26:19 -0400
|
|
Branch: REL9_3_STABLE [e8fe3bb23] 2018-07-09 19:26:19 -0400
|
|
-->
|
|
<para>
|
|
Avoid emitting a bogus WAL record when recycling an all-zero btree
|
|
page (Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
This mistake has been seen to cause assertion failures, and
|
|
potentially it could result in unnecessary query cancellations on hot
|
|
standby servers.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_11_BR [70b4f82a4] 2018-06-18 10:43:27 +0900
|
|
Branch: REL_10_STABLE [fb28104a4] 2018-06-18 10:43:42 +0900
|
|
Branch: REL9_6_STABLE [5860b22c4] 2018-06-18 10:43:59 +0900
|
|
Branch: REL9_5_STABLE [e41c79548] 2018-06-18 10:44:10 +0900
|
|
-->
|
|
<para>
|
|
During WAL replay, guard against corrupted record lengths exceeding
|
|
1GB (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Treat such a case as corrupt data. Previously, the code would try to
|
|
allocate space and get a hard error, making recovery impossible.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [cbc55da55] 2018-07-09 10:22:34 +0900
|
|
Branch: REL_11_STABLE [5d7c9347e] 2018-07-09 10:25:40 +0900
|
|
Branch: REL_10_STABLE [c030db349] 2018-07-09 10:26:18 +0900
|
|
Branch: REL9_6_STABLE [619dea467] 2018-07-09 10:26:41 +0900
|
|
Branch: REL9_5_STABLE [62203e608] 2018-07-09 10:27:10 +0900
|
|
-->
|
|
<para>
|
|
When ending recovery, delay writing the timeline history file as long
|
|
as possible (Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids some situations where a failure during recovery cleanup
|
|
(such as a problem with a two-phase state file) led to inconsistent
|
|
timeline state on-disk.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [b41669118] 2018-07-05 02:23:46 +0900
|
|
Branch: REL_11_STABLE [9e53171b1] 2018-07-05 02:25:45 +0900
|
|
Branch: REL_10_STABLE [8463be060] 2018-07-05 02:26:22 +0900
|
|
Branch: REL9_6_STABLE [7da22d866] 2018-07-05 02:27:05 +0900
|
|
Branch: REL9_5_STABLE [614e0729a] 2018-07-05 02:27:46 +0900
|
|
Branch: REL9_4_STABLE [62c2fe644] 2018-07-05 02:46:44 +0900
|
|
Branch: REL9_3_STABLE [7ffe0127e] 2018-07-05 02:52:28 +0900
|
|
-->
|
|
<para>
|
|
Improve performance of WAL replay for transactions that drop many
|
|
relations (Fujii Masao)
|
|
</para>
|
|
|
|
<para>
|
|
This change reduces the number of times that shared buffers are
|
|
scanned, so that it is of most benefit when that setting is large.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master Release: REL_11_BR [a40cff895] 2018-06-26 18:45:45 +1200
|
|
Branch: REL_10_STABLE [88554c091] 2018-06-26 17:17:27 +1200
|
|
Branch: REL9_6_STABLE [35750a38b] 2018-06-26 18:44:31 +1200
|
|
Branch: REL9_5_STABLE [7bcda60d4] 2018-06-26 17:56:20 +1200
|
|
Branch: REL9_4_STABLE [c4ccbcc1a] 2018-06-26 18:23:36 +1200
|
|
Branch: REL9_3_STABLE [12f7d9199] 2018-06-26 18:23:17 +1200
|
|
-->
|
|
<para>
|
|
Improve performance of lock releasing in standby server WAL replay
|
|
(Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [9a7b7adc1] 2018-07-12 10:19:35 +0900
|
|
Branch: REL_11_STABLE [0414ac6a1] 2018-07-12 10:19:51 +0900
|
|
Branch: REL_10_STABLE [11abea37d] 2018-07-12 10:20:08 +0900
|
|
Branch: REL9_6_STABLE [d5eb1fe0d] 2018-07-12 10:20:14 +0900
|
|
Branch: REL9_5_STABLE [19648375c] 2018-07-12 10:20:21 +0900
|
|
Branch: REL9_4_STABLE [98e2c298c] 2018-07-12 10:20:27 +0900
|
|
-->
|
|
<para>
|
|
Make logical WAL senders report streaming state correctly (Simon
|
|
Riggs, Sawada Masahiko)
|
|
</para>
|
|
|
|
<para>
|
|
The code previously mis-detected whether or not it had caught up with
|
|
the upstream server.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [4f10e7ea7] 2018-07-30 16:30:07 -0400
|
|
Branch: REL_11_STABLE [5dbd0beb8] 2018-07-30 16:30:07 -0400
|
|
Branch: REL_10_STABLE [2c4d0f32e] 2018-07-30 16:30:07 -0400
|
|
-->
|
|
<para>
|
|
Ensure that a snapshot is provided when executing data type input
|
|
functions in logical replication subscribers (Minh-Quan Tran,
|
|
Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
This omission led to failures in some cases, such as domains with
|
|
constraints using SQL-language functions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master Release: REL_11_BR [f49a80c48] 2018-06-26 16:48:10 -0400
|
|
Branch: REL_10_STABLE [b767b3f2e] 2018-06-26 16:38:34 -0400
|
|
Branch: REL9_6_STABLE [da10d6a8a] 2018-06-26 16:38:34 -0400
|
|
Branch: REL9_5_STABLE [4cb6f7837] 2018-06-26 16:38:34 -0400
|
|
Branch: REL9_4_STABLE [962313558] 2018-06-26 16:38:34 -0400
|
|
-->
|
|
<para>
|
|
Fix bugs in snapshot handling during logical decoding, allowing wrong
|
|
decoding results in rare cases (Arseny Sher, Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [32df1c9af] 2018-07-16 17:33:22 -0400
|
|
Branch: REL_11_STABLE [9ec9f8f68] 2018-07-16 17:33:35 -0400
|
|
Branch: REL_10_STABLE [4beb25c63] 2018-07-16 17:55:13 -0400
|
|
-->
|
|
<para>
|
|
Add subtransaction handling in logical-replication table
|
|
synchronization workers (Amit Khandekar, Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, table synchronization could misbehave if any
|
|
subtransactions were aborted after modifying a table being
|
|
synchronized.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
Branch: master [b3f919da0] 2018-08-03 15:11:31 -0700
|
|
Branch: REL_11_STABLE [b9612e5cf] 2018-08-03 14:45:02 -0700
|
|
Branch: REL_10_STABLE [c83408aa7] 2018-08-03 14:44:56 -0700
|
|
Branch: REL9_6_STABLE [0a60a291c] 2018-08-03 14:44:44 -0700
|
|
Branch: REL9_5_STABLE [aca225741] 2018-08-03 14:44:38 -0700
|
|
Branch: REL9_4_STABLE [250528cec] 2018-08-03 14:44:33 -0700
|
|
Branch: REL9_3_STABLE [0229e087d] 2018-08-03 14:44:26 -0700
|
|
-->
|
|
<para>
|
|
Ensure a table's cached index list is correctly rebuilt after an index
|
|
creation fails partway through (Peter Geoghegan)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, the failed index's OID could remain in the list, causing
|
|
problems later in the same session.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [309765fa1] 2018-07-19 21:04:17 +0300
|
|
Branch: REL_11_STABLE [608793266] 2018-07-19 23:26:15 +0300
|
|
Branch: REL_10_STABLE [0d26812a4] 2018-07-19 21:12:43 +0300
|
|
Branch: REL9_6_STABLE [44b550e0d] 2018-07-19 21:19:19 +0300
|
|
Branch: REL9_5_STABLE [3c09b032a] 2018-07-19 21:22:07 +0300
|
|
Branch: REL9_4_STABLE [9c6a676c4] 2018-07-19 21:24:53 +0300
|
|
-->
|
|
<para>
|
|
Fix mishandling of empty uncompressed posting list pages in GIN
|
|
indexes (Sivasubramanian Ramasubramanian, Alexander Korotkov)
|
|
</para>
|
|
|
|
<para>
|
|
This could result in an assertion failure after pg_upgrade of a
|
|
pre-9.4 GIN index (9.4 and later will not create such pages).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [2d3067595] 2018-07-25 11:00:29 +1200
|
|
Branch: REL_11_STABLE [f2db5f3bb] 2018-07-25 11:00:42 +1200
|
|
Branch: REL_10_STABLE [46201d603] 2018-07-25 11:00:53 +1200
|
|
-->
|
|
<para>
|
|
Pad arrays of unnamed POSIX semaphores to reduce cache line sharing
|
|
(Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
This reduces contention on many-CPU systems, fixing a performance
|
|
regression (compared to previous releases) on Linux and FreeBSD.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [8ce29bb4f] 2018-07-27 10:53:00 +0530
|
|
Branch: REL_11_STABLE [09a5be587] 2018-07-27 10:56:07 +0530
|
|
Branch: REL_10_STABLE [ff8ce0b79] 2018-07-27 11:05:06 +0530
|
|
-->
|
|
<para>
|
|
Ensure that a process doing a parallel index scan will respond to
|
|
signals (Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, parallel workers could get stuck waiting for a lock on an
|
|
index page, and not notice requests to abort the query.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [3a01f68e3] 2018-07-04 14:58:25 -0700
|
|
Branch: REL_11_STABLE [0c69db762] 2018-07-04 15:08:32 -0700
|
|
Branch: REL_10_STABLE [009580989] 2018-07-04 14:58:39 -0700
|
|
Branch: REL9_6_STABLE [2adadf018] 2018-07-04 14:58:26 -0700
|
|
Branch: REL9_5_STABLE [f411108c9] 2018-07-04 14:58:26 -0700
|
|
Branch: REL9_4_STABLE [8c8c9f37c] 2018-07-04 14:58:26 -0700
|
|
-->
|
|
<para>
|
|
Ensure that <command>VACUUM</command> will respond to signals
|
|
within btree page deletion loops (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
Corrupted btree indexes could result in an infinite loop here, and
|
|
that previously wasn't interruptible without forcing a crash.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1007b0a12] 2018-07-14 11:59:12 -0400
|
|
Branch: REL_11_STABLE [704e39319] 2018-07-14 11:59:12 -0400
|
|
Branch: REL_10_STABLE [0bb28ca36] 2018-07-14 11:59:12 -0400
|
|
-->
|
|
<para>
|
|
Fix hash-join costing mistake introduced with inner_unique
|
|
optimization (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
This could lead to bad plan choices in situations where that
|
|
optimization was applicable.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [a11b3bd37] 2018-05-16 13:46:23 -0400
|
|
Branch: REL_10_STABLE [aada0a764] 2018-05-16 13:46:09 -0400
|
|
Branch: REL9_6_STABLE [ace3c7cc0] 2018-05-16 13:46:09 -0400
|
|
Branch: REL9_5_STABLE [6d7629094] 2018-05-16 13:46:09 -0400
|
|
Branch: REL9_4_STABLE [62e0020ad] 2018-05-16 13:46:09 -0400
|
|
Branch: REL9_3_STABLE [bc711befd] 2018-05-16 13:46:09 -0400
|
|
-->
|
|
<para>
|
|
Fix misoptimization of equivalence classes involving composite-type
|
|
columns (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This resulted in failure to recognize that an index on a composite
|
|
column could provide the sort order needed for a mergejoin on that
|
|
column.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [07e5a2135] 2018-06-21 10:58:42 -0400
|
|
Branch: REL_10_STABLE [a4c95b0b8] 2018-06-21 10:58:42 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [57cd2b6e6] 2018-07-11 15:25:28 -0400
|
|
Branch: REL_11_STABLE [5b762d96e] 2018-07-11 15:25:28 -0400
|
|
Branch: REL_10_STABLE [c35032027] 2018-07-11 15:25:29 -0400
|
|
Branch: REL9_6_STABLE [4b8860e2d] 2018-07-11 15:25:29 -0400
|
|
-->
|
|
<para>
|
|
Fix planner to avoid <quote>ORDER/GROUP BY expression not found in
|
|
targetlist</quote> errors in some queries with set-returning functions
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [b6e3a3a49] 2018-07-10 15:19:40 -0400
|
|
Branch: REL_11_STABLE [e7df94f31] 2018-07-10 15:16:27 -0400
|
|
Branch: REL_10_STABLE [7c644b7d3] 2018-07-10 15:07:28 -0400
|
|
-->
|
|
<para>
|
|
Fix handling of partition keys whose data type uses a polymorphic
|
|
btree operator class, such as arrays (Amit Langote, Álvaro
|
|
Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master Release: REL_11_BR [1da162e1f] 2018-05-21 17:27:08 +0100
|
|
Branch: REL_10_STABLE [cf516dc9d] 2018-05-21 17:31:01 +0100
|
|
Branch: REL9_6_STABLE [7a0aa8d12] 2018-05-21 17:32:18 +0100
|
|
Branch: REL9_5_STABLE [3b0fb2529] 2018-05-21 17:32:24 +0100
|
|
Branch: REL9_4_STABLE [769e6fcd1] 2018-05-21 17:32:29 +0100
|
|
Branch: REL9_3_STABLE [89b09db01] 2018-05-21 17:32:34 +0100
|
|
-->
|
|
<para>
|
|
Fix SQL-standard <literal>FETCH FIRST</literal> syntax to allow
|
|
parameters (<literal>$<replaceable>n</replaceable></literal>), as the
|
|
standard expects (Andrew Gierth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [240971675] 2018-07-19 15:41:46 -0400
|
|
Branch: REL_11_STABLE [b1af4bcc4] 2018-07-19 15:41:46 -0400
|
|
Branch: REL_10_STABLE [2131d4501] 2018-07-19 15:41:46 -0400
|
|
-->
|
|
<para>
|
|
Remove undocumented restriction against duplicate partition key
|
|
columns (Yugo Nagata)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_11_BR [1c7c317cd] 2018-06-20 10:42:25 +0900
|
|
Branch: REL_10_STABLE [5862174ec] 2018-06-20 10:48:28 +0900
|
|
-->
|
|
<para>
|
|
Disallow temporary tables from being partitions of non-temporary
|
|
tables (Amit Langote, Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
While previously allowed, this case didn't work reliably.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [85c9d3475] 2018-08-03 11:02:02 +0530
|
|
Branch: REL_11_STABLE [dac7fe13b] 2018-08-03 11:16:25 +0530
|
|
Branch: REL_10_STABLE [b805b63ac] 2018-08-03 11:27:11 +0530
|
|
Branch: REL9_6_STABLE [19df1702f] 2018-08-03 11:43:01 +0530
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [ccc84a956] 2018-08-03 09:11:37 +0530
|
|
Branch: REL_11_STABLE [ef305bd59] 2018-08-03 09:29:45 +0530
|
|
Branch: REL_10_STABLE [3f02b5150] 2018-08-03 09:50:24 +0530
|
|
Branch: REL9_6_STABLE [7124c93fb] 2018-08-03 10:07:56 +0530
|
|
-->
|
|
<para>
|
|
Fix <command>EXPLAIN</command>'s accounting for resource usage,
|
|
particularly buffer accesses, in parallel workers
|
|
(Amit Kapila, Robert Haas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master Release: REL_11_BR [0c8910a0c] 2018-06-08 16:19:05 -0400
|
|
Branch: REL_10_STABLE [a25c207b2] 2018-06-08 16:27:56 -0400
|
|
-->
|
|
<para>
|
|
Fix <command>SHOW ALL</command> to show all settings to roles that are
|
|
members of <literal>pg_read_all_settings</literal>, and also allow
|
|
such roles to see source filename and line number in
|
|
the <structname>pg_settings</structname> view (Laurenz Albe,
|
|
Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [1a31baf61] 2018-05-24 12:38:55 -0400
|
|
Branch: REL_10_STABLE [e8cb8fdfd] 2018-05-24 12:38:55 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [056f52d9c] 2018-05-24 12:07:41 -0400
|
|
Branch: REL_10_STABLE [eb1aa1b46] 2018-05-24 12:07:41 -0400
|
|
Branch: REL9_6_STABLE [3d3165210] 2018-05-24 12:07:41 -0400
|
|
Branch: REL9_5_STABLE [ad73c07b4] 2018-05-24 12:07:41 -0400
|
|
Branch: REL9_4_STABLE [8f2143bc8] 2018-05-24 12:07:41 -0400
|
|
Branch: REL9_3_STABLE [cbb37b2e1] 2018-05-24 12:07:42 -0400
|
|
-->
|
|
<para>
|
|
Fix failure to schema-qualify some object names
|
|
in <function>getObjectDescription</function>
|
|
and <function>getObjectIdentity</function> output
|
|
(Kyotaro Horiguchi, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Names of collations, conversions, text search objects, publication
|
|
relations, and extended statistics objects were not schema-qualified
|
|
when they should be.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [05ca21b87] 2018-05-15 15:06:53 -0400
|
|
Branch: REL_10_STABLE [17083ab7e] 2018-05-15 15:06:53 -0400
|
|
Branch: REL9_6_STABLE [f92491186] 2018-05-15 15:06:53 -0400
|
|
-->
|
|
<para>
|
|
Fix <command>CREATE AGGREGATE</command> type checking so that
|
|
parallelism support functions can be attached to variadic aggregates
|
|
(Alexey Bashtanov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [ecac23511] 2018-05-22 13:32:52 -0400
|
|
Branch: REL_10_STABLE [c92d1461e] 2018-05-22 13:32:52 -0400
|
|
Branch: REL9_6_STABLE [588edd83e] 2018-05-22 13:32:52 -0400
|
|
Branch: REL9_5_STABLE [7df277827] 2018-05-22 13:32:52 -0400
|
|
Branch: REL9_4_STABLE [d25714d0a] 2018-05-22 13:32:52 -0400
|
|
Branch: REL9_3_STABLE [d78028350] 2018-05-22 13:32:52 -0400
|
|
-->
|
|
<para>
|
|
Widen <command>COPY FROM</command>'s current-line-number counter
|
|
from 32 to 64 bits (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids two problems with input exceeding 4G lines: <literal>COPY
|
|
FROM WITH HEADER</literal> would drop a line every 4G lines, not only
|
|
the first line, and error reports could show a wrong line number.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [0ce5cf2ef] 2018-07-06 16:38:30 -0400
|
|
Branch: REL_11_STABLE [ef6464595] 2018-07-06 16:38:29 -0400
|
|
Branch: REL_10_STABLE [a1f680d96] 2018-07-06 16:38:29 -0400
|
|
-->
|
|
<para>
|
|
Allow replication slots to be dropped in single-user mode
|
|
(Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
This use-case was accidentally broken in release 10.0.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [ec4719cd1] 2018-06-21 16:18:39 -0400
|
|
Branch: REL_10_STABLE [b8a1d0302] 2018-06-21 16:18:34 -0400
|
|
-->
|
|
<para>
|
|
Fix incorrect results from <function>variance(int4)</function> and
|
|
related aggregates when run in parallel aggregation mode
|
|
(David Rowley)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master Release: REL_11_BR [b7f0be9a7] 2018-06-20 12:58:12 -0400
|
|
Branch: REL_10_STABLE [e10bc161f] 2018-06-20 12:58:12 -0400
|
|
Branch: REL_10_STABLE [04ab840b8] 2018-06-20 13:02:46 -0400
|
|
-->
|
|
<para>
|
|
Process <literal>TEXT</literal> and <literal>CDATA</literal> nodes
|
|
correctly in <function>xmltable()</function> column expressions
|
|
(Markus Winand)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [8f6ce7fb0] 2018-07-20 08:55:44 +0100
|
|
Branch: REL_11_STABLE [1f919e663] 2018-07-20 08:57:08 +0100
|
|
Branch: REL_10_STABLE [821200405] 2018-07-20 08:58:37 +0100
|
|
-->
|
|
<para>
|
|
Cope with possible failure of <application>OpenSSL</application>'s
|
|
<function>RAND_bytes()</function> function
|
|
(Dean Rasheed, Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Under rare circumstances, this oversight could result in <quote>could
|
|
not generate random cancel key</quote> failures that could only be
|
|
resolved by restarting the postmaster.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: master Release: REL_11_BR [1944cdc98] 2018-03-27 12:32:18 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_10_STABLE [62038810b] 2018-08-03 11:30:34 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [24986c955] 2018-08-03 12:12:10 -0400
|
|
Branch: REL_11_STABLE [6efc30167] 2018-08-03 12:12:10 -0400
|
|
Branch: REL_10_STABLE [8d00858ba] 2018-08-03 12:12:10 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c7a8f7867] 2018-08-03 12:20:47 -0400
|
|
Branch: REL_11_STABLE [d8b2beb26] 2018-08-03 12:20:47 -0400
|
|
Branch: REL_10_STABLE [ed5d8196c] 2018-08-03 12:20:47 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e3f99e03e] 2018-08-01 12:30:36 -0400
|
|
Branch: REL_11_STABLE [e9bbfe608] 2018-08-01 12:30:36 -0400
|
|
Branch: REL_10_STABLE [71e3b2890] 2018-08-01 12:30:36 -0400
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [b90d97e08] 2018-07-19 20:24:29 +0300
|
|
Branch: REL_11_STABLE [dc961e582] 2018-07-19 20:24:59 +0300
|
|
Branch: REL_10_STABLE [ff4fb4cc1] 2018-07-19 20:25:05 +0300
|
|
-->
|
|
<para>
|
|
Fix <application>libpq</application>'s handling of some cases
|
|
where <literal>hostaddr</literal> is specified
|
|
(Hari Babu, Tom Lane, Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
<function>PQhost()</function> gave misleading or incorrect results
|
|
in some cases. Now, it uniformly returns the host name if specified,
|
|
or the host address if only that is specified, or the default host
|
|
name (typically <literal>/tmp</literal>
|
|
or <literal>localhost</literal>) if both parameters are omitted.
|
|
</para>
|
|
|
|
<para>
|
|
Also, the wrong value might be compared to the server name when
|
|
verifying an SSL certificate.
|
|
</para>
|
|
|
|
<para>
|
|
Also, the wrong value might be compared to the host name field in
|
|
<filename>~/.pgpass</filename>. Now, that field is compared to the
|
|
host name if specified, or the host address if only that is specified,
|
|
or <literal>localhost</literal> if both parameters are omitted.
|
|
</para>
|
|
|
|
<para>
|
|
Also, an incorrect error message was reported for an unparseable
|
|
<literal>hostaddr</literal> value.
|
|
</para>
|
|
|
|
<para>
|
|
Also, when the <literal>host</literal>, <literal>hostaddr</literal>,
|
|
or <literal>port</literal> parameters contain comma-separated
|
|
lists, <application>libpq</application> is now more careful to treat
|
|
empty elements of a list as selecting the default behavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master Release: REL_11_BR [4c8156d87] 2018-06-18 18:33:53 +1200
|
|
Branch: REL_10_STABLE [3566873f2] 2018-06-26 19:49:52 +1200
|
|
Branch: REL9_6_STABLE [b5b973ef0] 2018-06-26 20:54:09 +1200
|
|
Branch: REL9_5_STABLE [3bc19d0d2] 2018-06-26 20:54:40 +1200
|
|
Branch: REL9_4_STABLE [db05d0b90] 2018-06-26 23:21:39 +1200
|
|
Branch: REL9_3_STABLE [edabd8f5a] 2018-06-26 23:37:49 +1200
|
|
-->
|
|
<para>
|
|
Add a string freeing function
|
|
to <application>ecpg</application>'s <filename>pgtypes</filename>
|
|
library, so that cross-module memory management problems can be
|
|
avoided on Windows (Takayuki Tsunakawa)
|
|
</para>
|
|
|
|
<para>
|
|
On Windows, crashes can ensue if the <function>free</function> call
|
|
for a given chunk of memory is not made from the same DLL
|
|
that <function>malloc</function>'ed the memory.
|
|
The <filename>pgtypes</filename> library sometimes returns strings
|
|
that it expects the caller to free, making it impossible to follow
|
|
this rule. Add a <function>PGTYPESchar_free()</function> function
|
|
that just wraps <function>free</function>, allowing applications
|
|
to follow this rule.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [f586f8638] 2018-05-18 12:52:28 -0400
|
|
Branch: REL_10_STABLE [cf39aebf1] 2018-05-18 12:52:28 -0400
|
|
Branch: REL9_6_STABLE [25caeae8d] 2018-05-18 12:52:28 -0400
|
|
Branch: REL9_5_STABLE [11a110595] 2018-05-18 12:52:28 -0400
|
|
Branch: REL9_4_STABLE [385f4acbf] 2018-05-18 12:52:28 -0400
|
|
Branch: REL9_3_STABLE [63d3e787f] 2018-05-18 12:52:28 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [a6228128f] 2018-05-18 22:42:10 -0400
|
|
Branch: REL_10_STABLE [c964c2147] 2018-05-18 22:42:10 -0400
|
|
Branch: REL9_6_STABLE [4ffd7909c] 2018-05-18 22:42:10 -0400
|
|
Branch: REL9_5_STABLE [95fef6e82] 2018-05-18 22:42:10 -0400
|
|
Branch: REL9_4_STABLE [023aa76e1] 2018-05-18 22:42:10 -0400
|
|
Branch: REL9_3_STABLE [e9f475f99] 2018-05-18 22:42:10 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [06f66cff9] 2018-05-19 14:22:18 -0400
|
|
Branch: REL_10_STABLE [a5be529aa] 2018-05-19 14:22:18 -0400
|
|
Branch: REL9_6_STABLE [22d22e4bd] 2018-05-19 14:22:18 -0400
|
|
Branch: REL9_5_STABLE [7329af6b9] 2018-05-19 14:22:18 -0400
|
|
Branch: REL9_4_STABLE [8109f201d] 2018-05-19 14:22:19 -0400
|
|
Branch: REL9_3_STABLE [91f3bcc9e] 2018-05-19 14:22:19 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>ecpg</application>'s support for <type>long
|
|
long</type> variables on Windows, as well as other platforms that
|
|
declare <function>strtoll</function>/<function>strtoull</function>
|
|
nonstandardly or not at all (Dang Minh Huong, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [9a8aa25cc] 2018-05-25 14:31:06 -0400
|
|
Branch: REL_10_STABLE [5a225b0d6] 2018-05-25 14:31:06 -0400
|
|
Branch: REL9_6_STABLE [f9ecb6cab] 2018-05-25 14:31:07 -0400
|
|
Branch: REL9_5_STABLE [004293c66] 2018-05-25 14:31:07 -0400
|
|
Branch: REL9_4_STABLE [98d522a1d] 2018-05-25 14:31:07 -0400
|
|
Branch: REL9_3_STABLE [da757bf0f] 2018-05-25 14:31:07 -0400
|
|
-->
|
|
<para>
|
|
Fix misidentification of SQL statement type in PL/pgSQL, when a rule
|
|
change causes a change in the semantics of a statement intra-session
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This error led to assertion failures, or in rare cases, failure to
|
|
enforce the <literal>INTO STRICT</literal> option as expected.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [50485b3e2] 2018-05-23 19:04:34 -0400
|
|
Branch: REL_10_STABLE [bed74e9d4] 2018-05-23 19:04:34 -0400
|
|
Branch: REL9_6_STABLE [bbaf75ee0] 2018-05-23 19:04:34 -0400
|
|
Branch: REL9_5_STABLE [085791b8a] 2018-05-23 19:04:34 -0400
|
|
Branch: REL9_4_STABLE [09fb2d5d3] 2018-05-23 19:04:34 -0400
|
|
Branch: REL9_3_STABLE [3466b0202] 2018-05-23 19:04:34 -0400
|
|
-->
|
|
<para>
|
|
Fix password prompting in client programs so that echo is properly
|
|
disabled on Windows when <literal>stdin</literal> is not the
|
|
terminal (Matthew Stickney)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f3eb76b39] 2018-07-31 13:00:14 -0400
|
|
Branch: REL_11_STABLE [a56c11d44] 2018-07-31 13:00:08 -0400
|
|
Branch: REL_10_STABLE [31b29b1b3] 2018-07-31 13:00:08 -0400
|
|
Branch: REL9_6_STABLE [6680d19a8] 2018-07-31 13:00:08 -0400
|
|
Branch: REL9_5_STABLE [12f2d814a] 2018-07-31 13:00:08 -0400
|
|
Branch: REL9_4_STABLE [88adf1add] 2018-07-31 13:00:08 -0400
|
|
Branch: REL9_3_STABLE [461e2e433] 2018-07-31 13:00:08 -0400
|
|
-->
|
|
<para>
|
|
Further fix mis-quoting of values for list-valued GUC variables in
|
|
dumps (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The previous fix for quoting of <varname>search_path</varname> and
|
|
other list-valued variables in <application>pg_dump</application>
|
|
output turned out to misbehave for empty-string list elements, and it
|
|
risked truncation of long file paths.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c0a552921] 2018-07-30 12:35:49 -0400
|
|
Branch: REL_11_STABLE [f6ef3ed43] 2018-07-30 12:35:49 -0400
|
|
Branch: REL_10_STABLE [96b1d984f] 2018-07-30 12:35:49 -0400
|
|
Branch: REL9_6_STABLE [8c7f64b0e] 2018-07-30 12:35:49 -0400
|
|
Branch: REL9_5_STABLE [b868c08eb] 2018-07-30 12:35:49 -0400
|
|
Branch: REL9_4_STABLE [addf9e1bd] 2018-07-30 12:35:49 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application>'s failure to
|
|
dump <literal>REPLICA IDENTITY</literal> properties for constraint
|
|
indexes (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Manually created unique indexes were properly marked, but not those
|
|
created by declaring <literal>UNIQUE</literal> or <literal>PRIMARY
|
|
KEY</literal> constraints.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Bruce Momjian <bruce@momjian.us>
|
|
Branch: master [244142d32] 2018-07-28 15:01:55 -0400
|
|
Branch: REL_11_STABLE [113224848] 2018-07-28 15:01:55 -0400
|
|
Branch: REL_10_STABLE [9a13e7f0f] 2018-07-28 15:01:55 -0400
|
|
Branch: REL9_6_STABLE [a326ca75b] 2018-07-28 15:01:55 -0400
|
|
Branch: REL9_5_STABLE [260fe9f2b] 2018-07-28 15:01:55 -0400
|
|
Branch: REL9_4_STABLE [f87878106] 2018-07-28 15:01:55 -0400
|
|
Branch: REL9_3_STABLE [a5c84e0b7] 2018-07-28 15:01:55 -0400
|
|
Branch: master [b6d6488a3] 2018-07-31 18:10:06 -0400
|
|
Branch: REL_11_STABLE [920001633] 2018-07-31 18:10:06 -0400
|
|
Branch: REL_10_STABLE [d8dd8d221] 2018-07-31 18:10:06 -0400
|
|
Branch: REL9_6_STABLE [764e21db0] 2018-07-31 18:10:06 -0400
|
|
Branch: REL9_5_STABLE [92a11a0d8] 2018-07-31 18:10:06 -0400
|
|
Branch: REL9_4_STABLE [12dd07008] 2018-07-31 18:10:06 -0400
|
|
Branch: REL9_3_STABLE [a1d383ab5] 2018-07-31 18:10:06 -0400
|
|
Branch: REL9_3_STABLE [dfc71a1b2] 2018-07-31 19:06:32 -0400
|
|
-->
|
|
<para>
|
|
Make <application>pg_upgrade</application> check that the old server
|
|
was shut down cleanly (Bruce Momjian)
|
|
</para>
|
|
|
|
<para>
|
|
The previous check could be fooled by an immediate-mode shutdown.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [e3b7f7cc5] 2018-06-18 15:55:06 -0400
|
|
Branch: REL_10_STABLE [7594b7a53] 2018-06-18 15:55:06 -0400
|
|
Branch: REL9_6_STABLE [1bebfb9b6] 2018-06-18 15:55:06 -0400
|
|
Branch: REL9_5_STABLE [645929c54] 2018-06-18 15:55:06 -0400
|
|
-->
|
|
<para>
|
|
Fix <filename>contrib/hstore_plperl</filename> to look through Perl
|
|
scalar references, and to not crash if it doesn't find a hash
|
|
reference where it expects one (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [28a1ae534] 2018-07-13 18:45:30 -0400
|
|
Branch: REL_11_STABLE [dbd7f4e7c] 2018-07-13 18:45:30 -0400
|
|
Branch: REL_10_STABLE [1f47eb08c] 2018-07-13 18:45:30 -0400
|
|
Branch: REL9_6_STABLE [330cad2c4] 2018-07-13 18:45:30 -0400
|
|
Branch: REL9_5_STABLE [ac6b69c19] 2018-07-13 18:45:30 -0400
|
|
Branch: REL9_4_STABLE [f8e8be7f2] 2018-07-13 18:45:30 -0400
|
|
Branch: REL9_3_STABLE [cbbe75fe6] 2018-07-13 18:45:30 -0400
|
|
-->
|
|
<para>
|
|
Fix crash in <filename>contrib/ltree</filename>'s
|
|
<function>lca()</function> function when the input array is empty
|
|
(Pierre Ducroquet)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [81256cd05] 2018-05-21 00:32:28 -0400
|
|
Branch: REL_10_STABLE [28782d7e3] 2018-05-21 00:32:39 -0400
|
|
Branch: REL9_6_STABLE [1545ca9a7] 2018-05-21 00:32:44 -0400
|
|
Branch: REL9_5_STABLE [ced0cdc76] 2018-05-21 00:32:48 -0400
|
|
Branch: REL9_4_STABLE [5517367e9] 2018-05-21 00:32:52 -0400
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_11_BR [6cb337241] 2018-06-25 11:19:05 +0900
|
|
Branch: REL_10_STABLE [6eec6724f] 2018-06-25 11:20:19 +0900
|
|
Branch: REL9_6_STABLE [7fdf56b0a] 2018-06-25 11:20:50 +0900
|
|
Branch: REL9_5_STABLE [910e2aca1] 2018-06-25 11:21:49 +0900
|
|
Branch: REL9_4_STABLE [79b5b101f] 2018-06-25 11:22:02 +0900
|
|
Branch: REL9_3_STABLE [f53ed82b7] 2018-06-25 11:22:24 +0900
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [5a23c74b6] 2018-08-05 05:31:18 +0900
|
|
Branch: REL_11_STABLE [58673b4a5] 2018-08-05 05:31:56 +0900
|
|
Branch: REL_10_STABLE [7124e6452] 2018-08-05 05:32:12 +0900
|
|
Branch: REL9_6_STABLE [f5b4bb881] 2018-08-05 05:32:27 +0900
|
|
Branch: REL9_5_STABLE [afd5fde85] 2018-08-05 05:32:37 +0900
|
|
Branch: REL9_4_STABLE [e69a3ac4a] 2018-08-05 05:32:44 +0900
|
|
Branch: REL9_3_STABLE [69599cc49] 2018-08-05 05:32:54 +0900
|
|
Author: Magnus Hagander <magnus@hagander.net>
|
|
Branch: master Release: REL_11_BR [cfb758b6d] 2018-05-18 17:54:18 +0200
|
|
Branch: REL_10_STABLE [29ce50091] 2018-05-18 17:53:12 +0200
|
|
Branch: REL9_6_STABLE [830e8e360] 2018-05-18 17:53:15 +0200
|
|
Branch: REL9_5_STABLE [714d8e5fa] 2018-05-18 17:53:17 +0200
|
|
Branch: REL9_4_STABLE [b5f096d50] 2018-05-18 17:53:19 +0200
|
|
Branch: REL9_3_STABLE [048caa556] 2018-05-18 17:53:20 +0200
|
|
-->
|
|
<para>
|
|
Fix various error-handling code paths in which an incorrect error code
|
|
might be reported (Michael Paquier, Tom Lane, Magnus Hagander)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [dddfc4cb2] 2018-04-03 16:26:05 -0400
|
|
Branch: REL_10_STABLE [c74f48a4e] 2018-07-09 17:23:31 -0400
|
|
Branch: REL9_6_STABLE [ccc286da1] 2018-07-09 17:23:31 -0400
|
|
Branch: REL9_5_STABLE [6532ca57a] 2018-07-09 17:23:31 -0400
|
|
Branch: REL9_4_STABLE [dd4e83674] 2018-07-09 17:23:32 -0400
|
|
Branch: REL9_3_STABLE [f6f75539d] 2018-07-09 17:23:32 -0400
|
|
-->
|
|
<para>
|
|
Rearrange makefiles to ensure that programs link to freshly-built
|
|
libraries (such as <filename>libpq.so</filename>) rather than ones
|
|
that might exist in the system library directories (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids problems when building on platforms that supply old copies
|
|
of <productname>PostgreSQL</productname> libraries.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_11_BR [234bb985c] 2018-05-09 13:56:22 -0400
|
|
Branch: REL_10_STABLE [aba2f5522] 2018-05-09 13:55:42 -0400
|
|
Branch: REL9_6_STABLE [22e524d97] 2018-05-09 13:55:48 -0400
|
|
Branch: REL9_5_STABLE [777918e34] 2018-05-09 13:55:54 -0400
|
|
Branch: REL9_4_STABLE [32453bc5a] 2018-05-09 13:56:00 -0400
|
|
Branch: REL9_3_STABLE [3f36e4fc5] 2018-05-09 13:56:06 -0400
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2018e for DST law changes in North Korea, plus historical
|
|
corrections for Czechoslovakia.
|
|
</para>
|
|
|
|
<para>
|
|
This update includes a redefinition of <quote>daylight savings</quote>
|
|
in Ireland, as well as for some past years in Namibia and
|
|
Czechoslovakia. In those jurisdictions, legally standard time is
|
|
observed in summer, and daylight savings time in winter, so that the
|
|
daylight savings offset is one hour behind standard time not one hour
|
|
ahead. This does not affect either the actual UTC offset or the
|
|
timezone abbreviations in use; the only known effect is that
|
|
the <structfield>is_dst</structfield> column in
|
|
the <structname>pg_timezone_names</structname> view will now be true
|
|
in winter and false in summer in these cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-10-4">
|
|
<title>Release 10.4</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2018-05-10</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 10.3.
|
|
For information about new features in major release 10, see
|
|
<xref linkend="release-10"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 10.4</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 10.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you use the <filename>adminpack</filename> extension,
|
|
you should update it as per the first changelog entry below.
|
|
</para>
|
|
|
|
<para>
|
|
Also, if the function marking mistakes mentioned in the second and
|
|
third changelog entries below affect you, you will want to take steps
|
|
to correct your database catalogs.
|
|
</para>
|
|
|
|
<para>
|
|
Also, if you are upgrading from a version earlier than 10.3,
|
|
see <xref linkend="release-10-3"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Stephen Frost <sfrost@snowman.net>
|
|
Branch: master [7b347409f] 2018-05-07 10:10:33 -0400
|
|
Branch: REL_10_STABLE [20f01fc45] 2018-05-07 10:10:41 -0400
|
|
Branch: REL9_6_STABLE [53b79ab4f] 2018-05-07 10:10:45 -0400
|
|
-->
|
|
<para>
|
|
Remove public execute privilege
|
|
from <filename>contrib/adminpack</filename>'s
|
|
<function>pg_logfile_rotate()</function> function (Stephen Frost)
|
|
</para>
|
|
|
|
<para>
|
|
<function>pg_logfile_rotate()</function> is a deprecated wrapper
|
|
for the core function <function>pg_rotate_logfile()</function>.
|
|
When that function was changed to rely on SQL privileges for access
|
|
control rather than a hard-coded superuser
|
|
check, <function>pg_logfile_rotate()</function> should have been
|
|
updated as well, but the need for this was missed. Hence,
|
|
if <filename>adminpack</filename> is installed, any user could
|
|
request a logfile rotation, creating a minor security issue.
|
|
</para>
|
|
|
|
<para>
|
|
After installing this update, administrators should
|
|
update <filename>adminpack</filename> by performing
|
|
<literal>ALTER EXTENSION adminpack UPDATE</literal> in each
|
|
database in which <filename>adminpack</filename> is installed.
|
|
(CVE-2018-1115)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [11002f8af] 2018-03-30 18:14:51 -0400
|
|
Branch: REL_10_STABLE [283262cd9] 2018-03-30 18:14:51 -0400
|
|
Branch: REL9_6_STABLE [91d82317d] 2018-03-30 18:14:51 -0400
|
|
Branch: REL9_5_STABLE [ea83c7e66] 2018-03-30 18:14:51 -0400
|
|
Branch: REL9_4_STABLE [b7537ffb1] 2018-03-30 18:14:51 -0400
|
|
Branch: REL9_3_STABLE [485857d44] 2018-03-30 18:14:51 -0400
|
|
-->
|
|
<para>
|
|
Fix incorrect volatility markings on a few built-in functions
|
|
(Thomas Munro, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The functions
|
|
<function>query_to_xml</function>,
|
|
<function>cursor_to_xml</function>,
|
|
<function>cursor_to_xmlschema</function>,
|
|
<function>query_to_xmlschema</function>, and
|
|
<function>query_to_xml_and_xmlschema</function>
|
|
should be marked volatile because they execute user-supplied queries
|
|
that might contain volatile operations. They were not, leading to a
|
|
risk of incorrect query optimization. This has been repaired for new
|
|
installations by correcting the initial catalog data, but existing
|
|
installations will continue to contain the incorrect markings.
|
|
Practical use of these functions seems to pose little hazard, but in
|
|
case of trouble, it can be fixed by manually updating these
|
|
functions' <structname>pg_proc</structname> entries, for example
|
|
<literal>ALTER FUNCTION pg_catalog.query_to_xml(text, boolean,
|
|
boolean, text) VOLATILE</literal>. (Note that that will need to be
|
|
done in each database of the installation.) Another option is
|
|
to <application>pg_upgrade</application> the database to a version
|
|
containing the corrected initial data.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [11002f8af] 2018-03-30 18:14:51 -0400
|
|
Branch: REL_10_STABLE [283262cd9] 2018-03-30 18:14:51 -0400
|
|
Branch: REL9_6_STABLE [91d82317d] 2018-03-30 18:14:51 -0400
|
|
-->
|
|
<para>
|
|
Fix incorrect parallel-safety markings on a few built-in functions
|
|
(Thomas Munro, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The functions
|
|
<function>brin_summarize_new_values</function>,
|
|
<function>brin_summarize_range</function>,
|
|
<function>brin_desummarize_range</function>,
|
|
<function>gin_clean_pending_list</function>,
|
|
<function>cursor_to_xml</function>,
|
|
<function>cursor_to_xmlschema</function>,
|
|
<function>ts_rewrite</function>,
|
|
<function>ts_stat</function>,
|
|
<function>binary_upgrade_create_empty_extension</function>, and
|
|
<function>pg_import_system_collations</function>
|
|
should be marked parallel-unsafe; some because they perform database
|
|
modifications directly, and others because they execute user-supplied
|
|
queries that might do so. They were marked parallel-restricted
|
|
instead, leading to a risk of unexpected query errors. This has been
|
|
repaired for new installations by correcting the initial catalog
|
|
data, but existing installations will continue to contain the
|
|
incorrect markings. Practical use of these functions seems to pose
|
|
little hazard unless <varname>force_parallel_mode</varname> is turned
|
|
on. In case of trouble, it can be fixed by manually updating these
|
|
functions' <structname>pg_proc</structname> entries, for example
|
|
<literal>ALTER FUNCTION pg_catalog.brin_summarize_new_values(regclass)
|
|
PARALLEL UNSAFE</literal>. (Note that that will need to be done in
|
|
each database of the installation.) Another option is
|
|
to <application>pg_upgrade</application> the database to a version
|
|
containing the corrected initial data.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [0408e1ed5] 2018-04-11 17:41:22 -0400
|
|
Branch: REL_10_STABLE [5a11bf970] 2018-04-11 17:41:23 -0400
|
|
Branch: REL9_6_STABLE [8bba10f7e] 2018-04-11 17:41:25 -0400
|
|
Branch: REL9_5_STABLE [3767216fb] 2018-04-11 17:41:26 -0400
|
|
Branch: REL9_4_STABLE [5b3ed6b78] 2018-04-11 17:41:27 -0400
|
|
Branch: REL9_3_STABLE [7448e7e23] 2018-04-11 17:41:28 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d1e907929] 2018-04-11 18:11:29 -0400
|
|
Branch: REL_10_STABLE [08e6cda1c] 2018-04-11 18:11:29 -0400
|
|
Branch: REL9_6_STABLE [060bb38d0] 2018-04-11 18:11:30 -0400
|
|
Branch: REL9_5_STABLE [efbe36a2c] 2018-04-11 18:11:30 -0400
|
|
Branch: REL9_4_STABLE [6943fb927] 2018-04-11 18:11:30 -0400
|
|
Branch: REL9_3_STABLE [66d4b6bb8] 2018-04-11 18:11:30 -0400
|
|
-->
|
|
<para>
|
|
Avoid re-using TOAST value OIDs that match dead-but-not-yet-vacuumed
|
|
TOAST entries (Pavan Deolasee)
|
|
</para>
|
|
|
|
<para>
|
|
Once the OID counter has wrapped around, it's possible to assign a
|
|
TOAST value whose OID matches a previously deleted entry in the same
|
|
TOAST table. If that entry were not yet vacuumed away, this resulted
|
|
in <quote>unexpected chunk number 0 (expected 1) for toast
|
|
value <replaceable>nnnnn</replaceable></quote> errors, which would
|
|
persist until the dead entry was removed
|
|
by <command>VACUUM</command>. Fix by not selecting such OIDs when
|
|
creating a new TOAST entry.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [cfbecf810] 2018-04-06 11:42:28 -0400
|
|
Branch: REL_10_STABLE [29ab1e24a] 2018-04-06 11:52:38 -0400
|
|
-->
|
|
<para>
|
|
Correctly enforce any <literal>CHECK</literal> constraints on
|
|
individual partitions during <command>COPY</command> to a partitioned
|
|
table (Etsuro Fujita)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, only constraints declared for the partitioned table as a
|
|
whole were checked.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4df58f7ed] 2018-04-23 15:29:11 -0400
|
|
Branch: REL_10_STABLE [1222db999] 2018-04-23 15:29:12 -0400
|
|
-->
|
|
<para>
|
|
Accept <literal>TRUE</literal> and <literal>FALSE</literal> as
|
|
partition bound values (Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, only string-literal values were accepted for a boolean
|
|
partitioning column. But then <application>pg_dump</application>
|
|
would print such values as <literal>TRUE</literal>
|
|
or <literal>FALSE</literal>, leading to dump/reload failures.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [a4d56f583] 2018-04-12 15:08:10 -0300
|
|
Branch: REL_10_STABLE [5f11c6ec6] 2018-04-12 15:08:25 -0300
|
|
-->
|
|
<para>
|
|
Fix memory management for partition key comparison functions
|
|
(Álvaro Herrera, Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
This error could lead to crashes when using user-defined operator
|
|
classes for partition keys.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [6666ee49f] 2018-03-19 17:45:53 -0300
|
|
Branch: REL_10_STABLE [e3faddf53] 2018-03-19 17:43:55 -0300
|
|
-->
|
|
<para>
|
|
Fix possible crash when a query inserts tuples in several partitions
|
|
of a partitioned table, and those partitions don't have identical row
|
|
types (Etsuro Fujita, Amit Langote)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d04900de7] 2018-03-13 13:24:27 -0400
|
|
Branch: REL_10_STABLE [1bfb56723] 2018-03-13 13:24:27 -0400
|
|
Branch: REL9_6_STABLE [c2c4bc628] 2018-03-13 13:24:27 -0400
|
|
Branch: REL9_5_STABLE [c9414e786] 2018-03-13 13:24:27 -0400
|
|
Branch: REL9_4_STABLE [25a2ba35e] 2018-03-13 13:24:27 -0400
|
|
Branch: REL9_3_STABLE [d44ce7b1a] 2018-03-13 13:24:27 -0400
|
|
-->
|
|
<para>
|
|
Change <command>ANALYZE</command>'s algorithm for updating
|
|
<structname>pg_class</structname>.<structfield>reltuples</structfield>
|
|
(David Gould)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, pages not actually scanned by <command>ANALYZE</command>
|
|
were assumed to retain their old tuple density. In a large table
|
|
where <command>ANALYZE</command> samples only a small fraction of the
|
|
pages, this meant that the overall tuple density estimate could not
|
|
change very much, so that <structfield>reltuples</structfield> would
|
|
change nearly proportionally to changes in the table's physical size
|
|
(<structfield>relpages</structfield>) regardless of what was actually
|
|
happening in the table. This has been observed to result
|
|
in <structfield>reltuples</structfield> becoming so much larger than
|
|
reality as to effectively shut off autovacuuming. To fix, assume
|
|
that <command>ANALYZE</command>'s sample is a statistically unbiased
|
|
sample of the table (as it should be), and just extrapolate the
|
|
density observed within those pages to the whole table.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [5564c1181] 2018-03-05 19:37:19 -0300
|
|
Branch: REL_10_STABLE [911e6236b] 2018-03-05 19:37:19 -0300
|
|
-->
|
|
<para>
|
|
Include extended-statistics objects in the set of table properties
|
|
duplicated by <command>CREATE TABLE ... LIKE ... INCLUDING
|
|
ALL</command> (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
Also add an <literal>INCLUDING STATISTICS</literal> option, to allow
|
|
finer-grained control over whether this happens.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: master [377b5ac48] 2018-03-13 09:41:30 -0400
|
|
Branch: REL_10_STABLE [c32f44c4a] 2018-03-13 09:41:36 -0400
|
|
-->
|
|
<para>
|
|
Fix <command>CREATE TABLE ... LIKE</command> with <type>bigint</type>
|
|
identity columns (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
On platforms where <type>long</type> is 32 bits (which includes
|
|
64-bit Windows as well as most 32-bit machines), copied sequence
|
|
parameters would be truncated to 32 bits.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1dec82068] 2018-04-18 12:07:37 -0400
|
|
Branch: REL_10_STABLE [94a898f69] 2018-04-18 12:07:37 -0400
|
|
Branch: REL9_6_STABLE [69e3a548e] 2018-04-18 12:07:37 -0400
|
|
Branch: REL9_5_STABLE [82acf3eb7] 2018-04-18 12:07:38 -0400
|
|
Branch: REL9_4_STABLE [7490ce725] 2018-04-18 12:07:38 -0400
|
|
-->
|
|
<para>
|
|
Avoid deadlocks in concurrent <command>CREATE INDEX
|
|
CONCURRENTLY</command> commands that are run
|
|
under <literal>SERIALIZABLE</literal> or <literal>REPEATABLE
|
|
READ</literal> transaction isolation (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [6fbd5cce2] 2018-03-19 17:23:21 -0400
|
|
Branch: REL_10_STABLE [1568156d8] 2018-03-19 17:23:23 -0400
|
|
Branch: REL9_6_STABLE [ebcf34d46] 2018-03-19 17:23:07 -0400
|
|
Branch: REL9_5_STABLE [c553e4a50] 2018-03-19 17:23:07 -0400
|
|
Branch: REL9_4_STABLE [b6ba94ec4] 2018-03-19 17:23:07 -0400
|
|
-->
|
|
<para>
|
|
Fix possible slow execution of <command>REFRESH MATERIALIZED VIEW
|
|
CONCURRENTLY</command> (Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8f5ac4404] 2018-03-17 14:59:49 -0400
|
|
Branch: REL_10_STABLE [ee7bf0fd9] 2018-03-17 14:59:31 -0400
|
|
Branch: REL9_6_STABLE [12d18b487] 2018-03-17 14:59:31 -0400
|
|
Branch: REL9_5_STABLE [7de7ddb27] 2018-03-17 14:59:31 -0400
|
|
Branch: REL9_4_STABLE [0a0721f84] 2018-03-17 14:59:31 -0400
|
|
Branch: REL9_3_STABLE [5b77c11da] 2018-03-17 14:59:31 -0400
|
|
-->
|
|
<para>
|
|
Fix <literal>UPDATE/DELETE ... WHERE CURRENT OF</literal> to not fail
|
|
when the referenced cursor uses an index-only-scan plan (Yugo Nagata,
|
|
Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e5d83995e] 2018-04-19 15:49:30 -0400
|
|
Branch: REL_10_STABLE [68fab04f7] 2018-04-19 15:49:12 -0400
|
|
Branch: REL9_6_STABLE [0c141fcaa] 2018-04-19 15:49:12 -0400
|
|
Branch: REL9_5_STABLE [e4e43a16b] 2018-04-19 15:49:12 -0400
|
|
Branch: REL9_4_STABLE [a347d5210] 2018-04-19 15:49:12 -0400
|
|
Branch: REL9_3_STABLE [e1d4398c0] 2018-04-19 15:49:12 -0400
|
|
Branch: REL9_6_STABLE [306d6e59f] 2018-04-19 18:29:39 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c792c7db4] 2018-04-20 15:19:16 -0400
|
|
Branch: REL_10_STABLE [8b6294c7a] 2018-04-20 15:19:16 -0400
|
|
Branch: REL9_6_STABLE [64ad85860] 2018-04-20 15:19:17 -0400
|
|
Branch: REL9_5_STABLE [80e12a621] 2018-04-20 15:19:17 -0400
|
|
Branch: REL9_4_STABLE [58fec9526] 2018-04-20 15:19:17 -0400
|
|
Branch: REL9_3_STABLE [9680c120e] 2018-04-20 15:19:17 -0400
|
|
-->
|
|
<para>
|
|
Fix incorrect planning of join clauses pushed into parameterized
|
|
paths (Andrew Gierth, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This error could result in misclassifying a condition as
|
|
a <quote>join filter</quote> for an outer join when it should be a
|
|
plain <quote>filter</quote> condition, leading to incorrect join
|
|
output.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b5febc1d1] 2018-03-01 15:35:03 -0500
|
|
Branch: REL_10_STABLE [147b59971] 2018-03-01 15:35:03 -0500
|
|
Branch: REL9_6_STABLE [3f26be83e] 2018-03-01 15:35:03 -0500
|
|
Branch: REL9_5_STABLE [be55bfc93] 2018-03-01 15:35:03 -0500
|
|
-->
|
|
<para>
|
|
Fix possibly incorrect generation of an index-only-scan plan when the
|
|
same table column appears in multiple index columns, and only some of
|
|
those index columns use operator classes that can return the column
|
|
value (Kyotaro Horiguchi)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4a4e2442a] 2018-03-11 18:10:42 -0400
|
|
Branch: REL_10_STABLE [e2ed3c4a3] 2018-03-11 18:10:42 -0400
|
|
Branch: REL9_6_STABLE [976e5844e] 2018-03-11 18:10:42 -0400
|
|
Branch: REL9_5_STABLE [106d58805] 2018-03-11 18:10:42 -0400
|
|
Branch: REL9_4_STABLE [e556fb137] 2018-03-11 18:10:42 -0400
|
|
Branch: REL9_3_STABLE [925581d89] 2018-03-11 18:10:43 -0400
|
|
-->
|
|
<para>
|
|
Fix misoptimization of <literal>CHECK</literal> constraints having
|
|
provably-NULL subclauses of
|
|
top-level <literal>AND</literal>/<literal>OR</literal> conditions
|
|
(Tom Lane, Dean Rasheed)
|
|
</para>
|
|
|
|
<para>
|
|
This could, for example, allow constraint exclusion to exclude a
|
|
child table that should not be excluded from a query.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [d2d79887e] 2018-03-21 11:39:28 +0000
|
|
Branch: REL_10_STABLE [cf21c4649] 2018-03-21 11:41:53 +0000
|
|
-->
|
|
<para>
|
|
Prevent planner crash when a query has multiple <literal>GROUPING
|
|
SETS</literal>, none of which can be implemented by sorting (Andrew
|
|
Gierth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c2d4eb1b1] 2018-03-28 13:26:57 -0400
|
|
Branch: REL_10_STABLE [c98f218fb] 2018-03-28 13:26:43 -0400
|
|
Branch: REL9_6_STABLE [90decdba3] 2018-03-28 13:26:43 -0400
|
|
Branch: REL9_5_STABLE [e4ff71158] 2018-03-28 13:26:43 -0400
|
|
-->
|
|
<para>
|
|
Fix executor crash due to double free in some <literal>GROUPING
|
|
SETS</literal> usages (Peter Geoghegan)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e98a4de7d] 2018-02-27 15:56:51 -0500
|
|
Branch: REL_10_STABLE [b9dac4a6e] 2018-02-27 15:56:51 -0500
|
|
-->
|
|
<para>
|
|
Fix misexecution of self-joins on transition tables (Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b1b71f165] 2018-04-20 17:15:31 -0400
|
|
Branch: REL_10_STABLE [fab4ecacc] 2018-04-20 17:15:31 -0400
|
|
Branch: REL9_6_STABLE [c76d0eed2] 2018-04-20 17:15:31 -0400
|
|
Branch: REL9_5_STABLE [168df1b84] 2018-04-20 17:15:31 -0400
|
|
-->
|
|
<para>
|
|
Avoid crash if a table rewrite event trigger is added concurrently
|
|
with a command that could call such a trigger (Álvaro Herrera,
|
|
Andrew Gierth, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Teodor Sigaev <teodor@sigaev.ru>
|
|
Branch: master [8f9be261f] 2018-05-03 20:08:29 +0300
|
|
Branch: REL_10_STABLE [ee492e3de] 2018-05-03 20:09:02 +0300
|
|
Branch: REL9_6_STABLE [d9b3bc552] 2018-05-03 20:09:28 +0300
|
|
Branch: REL9_5_STABLE [d3fc427f4] 2018-05-03 20:09:47 +0300
|
|
Branch: REL9_4_STABLE [6bd659f19] 2018-05-03 20:10:11 +0300
|
|
Branch: REL9_3_STABLE [540e7a6e5] 2018-05-03 20:10:34 +0300
|
|
-->
|
|
<para>
|
|
Avoid failure if a query-cancel or session-termination interrupt
|
|
occurs while committing a prepared transaction (Stas Kelvich)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9e17bdb8a] 2018-03-16 16:03:45 -0400
|
|
Branch: REL_10_STABLE [bdc7f686d] 2018-03-16 16:03:45 -0400
|
|
Branch: REL9_6_STABLE [5149dc934] 2018-03-16 16:03:45 -0400
|
|
Branch: REL9_5_STABLE [c17a58967] 2018-03-16 16:03:45 -0400
|
|
Branch: REL9_4_STABLE [2709549ec] 2018-03-16 16:03:45 -0400
|
|
Branch: REL9_3_STABLE [574386ddc] 2018-03-16 16:03:45 -0400
|
|
-->
|
|
<para>
|
|
Fix query-lifespan memory leakage in repeatedly executed hash joins
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [0b1d1a038] 2018-03-02 17:40:48 -0500
|
|
Branch: REL_10_STABLE [76ec45756] 2018-03-02 17:40:48 -0500
|
|
Branch: REL9_6_STABLE [96d2df840] 2018-03-02 17:40:48 -0500
|
|
-->
|
|
<para>
|
|
Fix possible leak or double free of visibility map buffer pins
|
|
(Amit Kapila)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [d2599ecfc] 2018-05-04 18:24:45 -0300
|
|
Branch: REL_10_STABLE [e1d634758] 2018-05-04 18:23:58 -0300
|
|
Branch: REL9_6_STABLE [3a11485a5] 2018-05-04 18:23:30 -0300
|
|
-->
|
|
<para>
|
|
Avoid spuriously marking pages as all-visible (Dan Wood,
|
|
Pavan Deolasee, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
This could happen if some tuples were locked (but not deleted). While
|
|
queries would still function correctly, vacuum would normally ignore
|
|
such pages, with the long-term effect that the tuples were never
|
|
frozen. In recent releases this would eventually result in errors
|
|
such as <quote>found multixact <replaceable>nnnnn</replaceable> from
|
|
before relminmxid <replaceable>nnnnn</replaceable></quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [477ad05e1] 2018-03-01 18:07:46 -0300
|
|
Branch: REL_10_STABLE [aad956ada] 2018-03-01 18:07:46 -0300
|
|
Branch: REL9_6_STABLE [0ddaaa4cf] 2018-03-01 18:07:46 -0300
|
|
Branch: REL9_5_STABLE [491bbc36e] 2018-03-01 18:07:46 -0300
|
|
Branch: REL9_4_STABLE [3ee23834e] 2018-03-01 18:07:46 -0300
|
|
Branch: REL9_3_STABLE [650f3863f] 2018-03-01 18:07:46 -0300
|
|
-->
|
|
<para>
|
|
Fix overly strict sanity check
|
|
in <function>heap_prepare_freeze_tuple</function>
|
|
(Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
This could result in incorrect <quote>cannot freeze committed
|
|
xmax</quote> failures in databases that have
|
|
been <application>pg_upgrade</application>'d from 9.2 or earlier.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [25b692568] 2018-02-27 13:28:02 -0500
|
|
Branch: REL_10_STABLE [b45f821e2] 2018-02-27 13:27:38 -0500
|
|
Branch: REL9_6_STABLE [06f47297e] 2018-02-27 13:27:38 -0500
|
|
Branch: REL9_5_STABLE [2ee44e10d] 2018-02-27 13:27:38 -0500
|
|
Branch: REL9_4_STABLE [5ccb77586] 2018-02-27 13:27:38 -0500
|
|
Branch: REL9_3_STABLE [9bc33ef5e] 2018-02-27 13:27:38 -0500
|
|
-->
|
|
<para>
|
|
Prevent dangling-pointer dereference when a C-coded before-update row
|
|
trigger returns the <quote>old</quote> tuple (Rushabh Lathia)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [38f7831d7] 2018-03-13 12:28:35 -0400
|
|
Branch: REL_10_STABLE [4460964ae] 2018-03-13 12:28:36 -0400
|
|
Branch: REL9_6_STABLE [4b0e71705] 2018-03-13 12:28:37 -0400
|
|
Branch: REL9_5_STABLE [231329a17] 2018-03-13 12:28:38 -0400
|
|
Branch: REL9_4_STABLE [95f08d32d] 2018-03-13 12:28:39 -0400
|
|
Branch: REL9_3_STABLE [5328b6135] 2018-03-13 12:28:40 -0400
|
|
-->
|
|
<para>
|
|
Reduce locking during autovacuum worker scheduling (Jeff Janes)
|
|
</para>
|
|
|
|
<para>
|
|
The previous behavior caused drastic loss of potential worker
|
|
concurrency in databases with many tables.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [a820b4c32] 2018-04-11 23:39:48 +0300
|
|
Branch: REL_10_STABLE [89c2ab340] 2018-04-11 23:40:03 +0300
|
|
Branch: REL9_6_STABLE [74dc05e01] 2018-04-11 23:40:13 +0300
|
|
Branch: REL9_5_STABLE [fd2efda5d] 2018-04-11 23:40:19 +0300
|
|
Branch: REL9_4_STABLE [310d1379d] 2018-04-11 23:40:27 +0300
|
|
Branch: REL9_3_STABLE [dfc383cf3] 2018-04-11 23:40:31 +0300
|
|
-->
|
|
<para>
|
|
Ensure client hostname is copied while copying
|
|
<structname>pg_stat_activity</structname> data to local memory
|
|
(Edmund Horner)
|
|
</para>
|
|
|
|
<para>
|
|
Previously the supposedly-local snapshot contained a pointer into
|
|
shared memory, allowing the client hostname column to change
|
|
unexpectedly if any existing session disconnected.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [811969b21] 2018-04-11 23:39:49 +0300
|
|
Branch: REL_10_STABLE [93b3d43dc] 2018-04-11 23:52:11 +0300
|
|
-->
|
|
<para>
|
|
Handle <structname>pg_stat_activity</structname> information for
|
|
auxiliary processes correctly (Edmund Horner)
|
|
</para>
|
|
|
|
<para>
|
|
The <structfield>application_name</structfield>,
|
|
<structfield>client_hostname</structfield>,
|
|
and <structfield>query</structfield> fields might show incorrect
|
|
data for such processes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [65a69dfa0] 2018-04-12 18:39:51 -0400
|
|
Branch: REL_10_STABLE [40132187e] 2018-04-12 18:39:51 -0400
|
|
Branch: REL9_6_STABLE [0f439c8dd] 2018-04-12 18:39:51 -0400
|
|
Branch: REL9_5_STABLE [906e44d4d] 2018-04-12 18:39:51 -0400
|
|
Branch: REL9_4_STABLE [f71d803c8] 2018-04-12 18:39:51 -0400
|
|
Branch: REL9_3_STABLE [ac8ea0f27] 2018-04-12 18:39:52 -0400
|
|
-->
|
|
<para>
|
|
Fix incorrect processing of multiple compound affixes
|
|
in <literal>ispell</literal> dictionaries (Arthur Zakirov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b15e8f71d] 2018-04-16 16:06:58 -0400
|
|
Branch: REL_10_STABLE [3397c6727] 2018-04-16 16:06:47 -0400
|
|
Branch: REL9_6_STABLE [d90b2904c] 2018-04-16 16:06:47 -0400
|
|
Branch: REL9_5_STABLE [93053aca5] 2018-04-16 16:06:47 -0400
|
|
Branch: REL9_4_STABLE [608d1f971] 2018-04-16 16:06:47 -0400
|
|
Branch: REL9_3_STABLE [cf73a5b34] 2018-04-16 16:06:47 -0400
|
|
-->
|
|
<para>
|
|
Fix collation-aware searches (that is, indexscans using inequality
|
|
operators) in SP-GiST indexes on text columns (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Such searches would return the wrong set of rows in most non-C
|
|
locales.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [467963c3e] 2018-03-19 23:59:30 -0400
|
|
Branch: REL_10_STABLE [d18a88acf] 2018-03-19 23:59:17 -0400
|
|
Branch: REL9_6_STABLE [57ef2da43] 2018-03-19 23:59:17 -0400
|
|
-->
|
|
<para>
|
|
Prevent query-lifespan memory leakage with SP-GiST operator classes
|
|
that use traversal values (Anton Dignös)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [649f17925] 2018-03-22 13:24:05 -0400
|
|
Branch: REL_10_STABLE [bf14575c8] 2018-03-22 13:23:48 -0400
|
|
Branch: REL9_6_STABLE [db35bf507] 2018-03-22 13:23:48 -0400
|
|
Branch: REL9_5_STABLE [eee190da7] 2018-03-22 13:23:48 -0400
|
|
Branch: REL9_4_STABLE [7f6f8ccd9] 2018-03-22 13:23:48 -0400
|
|
Branch: REL9_3_STABLE [46f80803a] 2018-03-22 13:23:48 -0400
|
|
-->
|
|
<para>
|
|
Count the number of index tuples correctly during initial build of an
|
|
SP-GiST index (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, the tuple count was reported to be the same as that of
|
|
the underlying table, which is wrong if the index is partial.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [81b9b5ce4] 2018-03-02 11:22:42 -0500
|
|
Branch: REL_10_STABLE [ccd650430] 2018-03-02 11:22:42 -0500
|
|
Branch: REL9_6_STABLE [529137cac] 2018-03-02 11:22:42 -0500
|
|
Branch: REL9_5_STABLE [46d98da43] 2018-03-02 11:22:42 -0500
|
|
Branch: REL9_4_STABLE [947f06c62] 2018-03-02 11:22:42 -0500
|
|
Branch: REL9_3_STABLE [6b56f0752] 2018-03-02 11:22:42 -0500
|
|
-->
|
|
<para>
|
|
Count the number of index tuples correctly during vacuuming of a
|
|
GiST index (Andrey Borodin)
|
|
</para>
|
|
|
|
<para>
|
|
Previously it reported the estimated number of heap tuples,
|
|
which might be inaccurate, and is certainly wrong if the
|
|
index is partial.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [066871980] 2018-05-05 01:34:53 +0300
|
|
Branch: REL_10_STABLE [ca572db22] 2018-05-05 01:35:09 +0300
|
|
Branch: REL9_6_STABLE [7b7521d65] 2018-05-05 01:35:12 +0300
|
|
Branch: REL9_5_STABLE [4ea8f7d45] 2018-05-05 01:35:15 +0300
|
|
Branch: REL9_4_STABLE [c06380e97] 2018-05-05 01:35:18 +0300
|
|
-->
|
|
<para>
|
|
Fix a corner case where a streaming standby gets stuck at a WAL
|
|
continuation record (Kyotaro Horiguchi)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [8aa75e138] 2018-03-06 18:34:29 -0300
|
|
Branch: REL_10_STABLE [cee1dd1ee] 2018-03-06 16:20:54 -0300
|
|
Branch: REL9_6_STABLE [8e5c2afa9] 2018-03-06 16:20:13 -0300
|
|
Branch: REL9_5_STABLE [d4429d50a] 2018-03-06 16:20:03 -0300
|
|
Branch: REL9_4_STABLE [6d30e3a2b] 2018-03-06 16:10:23 -0300
|
|
-->
|
|
<para>
|
|
In logical decoding, avoid possible double processing of WAL data
|
|
when a walsender restarts (Craig Ringer)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [24c0a6c64] 2018-03-14 21:34:26 -0300
|
|
Branch: REL_10_STABLE [3c3450e74] 2018-03-14 21:34:21 -0300
|
|
-->
|
|
<para>
|
|
Fix logical replication to not assume that type OIDs match between
|
|
the local and remote servers (Masahiko Sawada)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [58d9acc18] 2018-03-03 20:31:35 -0500
|
|
Branch: REL_10_STABLE [bfade0e51] 2018-03-03 20:31:35 -0500
|
|
Branch: REL9_6_STABLE [e2108f581] 2018-03-03 20:31:35 -0500
|
|
Branch: REL9_5_STABLE [ad3e3d731] 2018-03-03 20:31:35 -0500
|
|
Branch: REL9_4_STABLE [165fa27fe] 2018-03-03 20:31:35 -0500
|
|
Branch: REL9_3_STABLE [0bea99bd9] 2018-03-03 20:31:35 -0500
|
|
-->
|
|
<para>
|
|
Allow <function>scalarltsel</function>
|
|
and <function>scalargtsel</function> to be used on non-core datatypes
|
|
(Tomas Vondra)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d25c2ee9c] 2018-04-13 12:53:45 -0400
|
|
Branch: REL_10_STABLE [d014b38df] 2018-04-13 12:53:45 -0400
|
|
Branch: REL9_6_STABLE [131f6a958] 2018-04-13 12:53:46 -0400
|
|
Branch: REL9_5_STABLE [2278e94ae] 2018-04-13 12:53:46 -0400
|
|
Branch: REL9_4_STABLE [3dd36aa4b] 2018-04-13 12:53:46 -0400
|
|
Branch: REL9_3_STABLE [bbec33c2d] 2018-04-13 12:53:46 -0400
|
|
-->
|
|
<para>
|
|
Reduce <application>libpq</application>'s memory consumption when a
|
|
server error is reported after a large amount of query output has
|
|
been collected (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Discard the previous output before, not after, processing the error
|
|
message. On some platforms, notably Linux, this can make a
|
|
difference in the application's subsequent memory footprint.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Meskes <meskes@postgresql.org>
|
|
Branch: master [b32fad52e] 2018-03-13 16:22:28 +0100
|
|
Branch: REL_10_STABLE [fe65f5931] 2018-03-13 16:23:25 +0100
|
|
Branch: REL9_6_STABLE [44a36a8d9] 2018-03-12 23:53:39 +0100
|
|
Branch: REL9_5_STABLE [95f026021] 2018-03-12 23:53:46 +0100
|
|
Branch: REL9_4_STABLE [bd7eb6fe6] 2018-03-12 23:54:22 +0100
|
|
Branch: REL9_3_STABLE [042badc37] 2018-03-12 23:54:29 +0100
|
|
Author: Michael Meskes <meskes@postgresql.org>
|
|
Branch: master [db2fc801f] 2018-03-14 00:51:17 +0100
|
|
Branch: REL_10_STABLE [8559b40c5] 2018-03-14 00:50:39 +0100
|
|
Branch: REL9_6_STABLE [8e3f3ab5b] 2018-03-14 00:51:58 +0100
|
|
Branch: REL9_5_STABLE [837d4f739] 2018-03-14 00:52:11 +0100
|
|
Branch: REL9_4_STABLE [fcc15bf38] 2018-03-14 00:52:21 +0100
|
|
Branch: REL9_3_STABLE [09f4ca92b] 2018-03-14 00:52:45 +0100
|
|
-->
|
|
<para>
|
|
Fix double-free crashes in <application>ecpg</application>
|
|
(Patrick Krecker, Jeevan Ladhe)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [51057feaa] 2018-02-27 16:46:52 -0500
|
|
Branch: REL_10_STABLE [fda3e6578] 2018-02-27 16:46:52 -0500
|
|
Branch: REL9_6_STABLE [7ee8005ce] 2018-02-27 16:46:52 -0500
|
|
Branch: REL9_5_STABLE [f171cbe0d] 2018-02-27 16:46:52 -0500
|
|
Branch: REL9_4_STABLE [49f9014c8] 2018-02-27 16:46:52 -0500
|
|
Branch: REL9_3_STABLE [87b7e1e88] 2018-02-27 16:46:52 -0500
|
|
-->
|
|
<para>
|
|
Fix <application>ecpg</application> to handle <type>long long
|
|
int</type> variables correctly in MSVC builds (Michael Meskes,
|
|
Andrew Gierth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [742869946] 2018-03-21 20:03:28 -0400
|
|
Branch: REL_10_STABLE [66e92878a] 2018-03-21 20:03:28 -0400
|
|
Branch: REL9_6_STABLE [8132f0f38] 2018-03-21 20:03:28 -0400
|
|
Branch: REL9_5_STABLE [a35d72923] 2018-03-21 20:03:28 -0400
|
|
Branch: REL9_4_STABLE [67e02cde7] 2018-03-21 20:03:28 -0400
|
|
Branch: REL9_3_STABLE [be677bb5a] 2018-03-21 20:03:29 -0400
|
|
-->
|
|
<para>
|
|
Fix mis-quoting of values for list-valued GUC variables in dumps
|
|
(Michael Paquier, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The <varname>local_preload_libraries</varname>,
|
|
<varname>session_preload_libraries</varname>,
|
|
<varname>shared_preload_libraries</varname>,
|
|
and <varname>temp_tablespaces</varname> variables were not correctly
|
|
quoted in <application>pg_dump</application> output. This would
|
|
cause problems if settings for these variables appeared in
|
|
<command>CREATE FUNCTION ... SET</command> or <command>ALTER
|
|
DATABASE/ROLE ... SET</command> clauses.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Magnus Hagander <magnus@hagander.net>
|
|
Branch: master [8d2814f27] 2018-03-18 13:08:25 +0100
|
|
Branch: REL_10_STABLE [e7d3a37d9] 2018-03-18 13:11:27 +0100
|
|
Branch: REL9_6_STABLE [59743deca] 2018-03-18 13:11:40 +0100
|
|
Branch: REL9_5_STABLE [24ff0fe87] 2018-03-18 13:11:49 +0100
|
|
Branch: REL9_4_STABLE [af5fbb128] 2018-03-18 13:11:58 +0100
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [6336b6dfc] 2018-04-25 18:50:29 -0700
|
|
Branch: REL_10_STABLE [c7cc9b7d4] 2018-04-25 18:50:32 -0700
|
|
Branch: REL9_6_STABLE [32c247629] 2018-04-25 18:50:33 -0700
|
|
Branch: REL9_5_STABLE [24f1e9ca0] 2018-04-25 18:50:33 -0700
|
|
Branch: REL9_4_STABLE [bb532859f] 2018-04-25 18:50:34 -0700
|
|
-->
|
|
<para>
|
|
Fix <application>pg_recvlogical</application> to not fail against
|
|
pre-v10 <productname>PostgreSQL</productname> servers
|
|
(Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
A previous fix caused <application>pg_recvlogical</application> to
|
|
issue a command regardless of server version, but it should only be
|
|
issued to v10 and later servers.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [09e96b3f3] 2018-03-29 04:00:21 +0900
|
|
Branch: REL_10_STABLE [f1e07d576] 2018-03-29 04:01:43 +0900
|
|
Branch: REL9_6_STABLE [52c32d8d8] 2018-03-29 04:02:08 +0900
|
|
Branch: REL9_5_STABLE [b33e38cb1] 2018-03-29 04:02:34 +0900
|
|
-->
|
|
<para>
|
|
Ensure that <application>pg_rewind</application> deletes files on the
|
|
target server if they are deleted from the source server during the
|
|
run (Takayuki Tsunakawa)
|
|
</para>
|
|
|
|
<para>
|
|
Failure to do this could result in data inconsistency on the target,
|
|
particularly if the file in question is a WAL segment.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [2f3e2340c] 2018-03-06 02:08:18 +0900
|
|
Branch: REL_10_STABLE [bca696ab0] 2018-03-06 02:09:12 +0900
|
|
Branch: REL9_6_STABLE [7aba4f23f] 2018-03-06 02:10:41 +0900
|
|
Branch: REL9_5_STABLE [cb5c141ed] 2018-03-06 02:12:06 +0900
|
|
-->
|
|
<para>
|
|
Fix <application>pg_rewind</application> to handle tables in
|
|
non-default tablespaces correctly (Takayuki Tsunakawa)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2dbee9f19] 2018-03-17 15:38:15 -0400
|
|
Branch: REL_10_STABLE [04c76acab] 2018-03-17 15:38:15 -0400
|
|
Branch: REL9_6_STABLE [5917297bf] 2018-03-17 15:38:15 -0400
|
|
Branch: REL9_5_STABLE [b3fade55c] 2018-03-17 15:38:15 -0400
|
|
Branch: REL9_4_STABLE [092401b14] 2018-03-17 15:38:15 -0400
|
|
Branch: REL9_3_STABLE [f1f7a85d8] 2018-03-17 15:38:15 -0400
|
|
-->
|
|
<para>
|
|
Fix overflow handling in <application>PL/pgSQL</application>
|
|
integer <command>FOR</command> loops (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The previous coding failed to detect overflow of the loop variable
|
|
on some non-gcc compilers, leading to an infinite loop.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: master [fa03769e4] 2018-05-03 13:13:09 -0400
|
|
Branch: master [7d8679975] 2018-05-03 20:29:54 -0400
|
|
Branch: REL_10_STABLE [8f1787a8f] 2018-05-05 23:03:44 -0400
|
|
Branch: REL9_6_STABLE [ab7825ead] 2018-05-05 23:34:41 -0400
|
|
Branch: REL9_5_STABLE [b812d6372] 2018-05-05 23:48:19 -0400
|
|
Branch: REL9_4_STABLE [af9e0d5cd] 2018-05-05 23:53:05 -0400
|
|
Branch: REL9_3_STABLE [e7f904715] 2018-05-05 23:54:04 -0400
|
|
-->
|
|
<para>
|
|
Adjust <application>PL/Python</application> regression tests to pass
|
|
under Python 3.7 (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [966268c76] 2018-05-04 15:22:48 -0400
|
|
Branch: REL_10_STABLE [56a45646d] 2018-05-04 15:32:31 -0400
|
|
Branch: REL9_6_STABLE [a9fbf550b] 2018-05-04 15:33:06 -0400
|
|
Branch: REL9_5_STABLE [c1f3638d2] 2018-05-04 15:33:18 -0400
|
|
Branch: REL9_4_STABLE [134db37d2] 2018-05-04 15:51:31 -0400
|
|
Branch: REL9_3_STABLE [af39c1da7] 2018-05-04 15:56:01 -0400
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [2b9bdda74] 2018-05-06 07:37:05 -0400
|
|
Branch: REL_10_STABLE [0e6114be8] 2018-05-06 07:39:05 -0400
|
|
Branch: REL9_6_STABLE [289bafdbc] 2018-05-06 07:39:37 -0400
|
|
Branch: REL9_5_STABLE [3b17d4b9d] 2018-05-06 07:39:51 -0400
|
|
Branch: REL9_4_STABLE [1eb24720c] 2018-05-06 07:40:04 -0400
|
|
Branch: REL9_3_STABLE [a75b01c61] 2018-05-06 07:40:25 -0400
|
|
-->
|
|
<para>
|
|
Support testing <application>PL/Python</application> and related
|
|
modules when building with Python 3 and MSVC (Andrew Dunstan)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c35b47286] 2018-03-22 13:14:07 -0400
|
|
Branch: REL_10_STABLE [76e2b5ae4] 2018-03-22 13:13:58 -0400
|
|
Branch: REL9_6_STABLE [df9040155] 2018-03-22 13:13:58 -0400
|
|
-->
|
|
<para>
|
|
Fix errors in initial build of <filename>contrib/bloom</filename>
|
|
indexes (Tomas Vondra, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Fix possible omission of the table's last tuple from the index.
|
|
Count the number of index tuples correctly, in case it is a partial
|
|
index.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [43e949086] 2018-02-28 18:33:45 -0500
|
|
Branch: REL_10_STABLE [aac6286d8] 2018-02-28 18:33:45 -0500
|
|
Branch: REL9_6_STABLE [11e7700e5] 2018-02-28 18:33:45 -0500
|
|
Branch: REL9_5_STABLE [679df2b8d] 2018-02-28 18:33:45 -0500
|
|
Branch: REL9_4_STABLE [d07f79a9c] 2018-02-28 18:33:45 -0500
|
|
Branch: REL9_3_STABLE [10102c91e] 2018-02-28 18:33:45 -0500
|
|
-->
|
|
<para>
|
|
Rename internal <function>b64_encode</function>
|
|
and <function>b64_decode</function> functions to avoid conflict with
|
|
Solaris 11.4 built-in functions (Rainer Orth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b45f6613e] 2018-05-04 12:26:25 -0400
|
|
Branch: REL_10_STABLE [b49f4e69a] 2018-05-04 12:26:34 -0400
|
|
Branch: REL9_6_STABLE [7a83323f2] 2018-05-04 12:26:39 -0400
|
|
Branch: REL9_5_STABLE [4e0e9e59b] 2018-05-04 12:26:43 -0400
|
|
Branch: REL9_4_STABLE [2d123b310] 2018-05-04 12:26:48 -0400
|
|
Branch: REL9_3_STABLE [9469ebc71] 2018-05-04 12:26:52 -0400
|
|
-->
|
|
<para>
|
|
Sync our copy of the timezone library with IANA tzcode release 2018e
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This fixes the <application>zic</application> timezone data compiler
|
|
to cope with negative daylight-savings offsets. While
|
|
the <productname>PostgreSQL</productname> project will not
|
|
immediately ship such timezone data, <application>zic</application>
|
|
might be used with timezone data obtained directly from IANA, so it
|
|
seems prudent to update <application>zic</application> now.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [df629586e] 2018-04-29 15:50:08 -0400
|
|
Branch: REL_10_STABLE [783e8f56d] 2018-04-29 15:50:23 -0400
|
|
Branch: REL9_6_STABLE [2acbeea48] 2018-04-29 15:50:31 -0400
|
|
Branch: REL9_5_STABLE [eaed0d230] 2018-04-29 15:50:37 -0400
|
|
Branch: REL9_4_STABLE [37c02b2b0] 2018-04-29 15:50:43 -0400
|
|
Branch: REL9_3_STABLE [adcd0c2be] 2018-04-29 15:50:50 -0400
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2018d for DST law changes in Palestine and Antarctica (Casey
|
|
Station), plus historical corrections for Portugal and its colonies,
|
|
as well as Enderbury, Jamaica, Turks & Caicos Islands, and
|
|
Uruguay.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-10-3">
|
|
<title>Release 10.3</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2018-03-01</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 10.2.
|
|
For information about new features in major release 10, see
|
|
<xref linkend="release-10"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 10.3</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 10.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you run an installation in which not all users are mutually
|
|
trusting, or if you maintain an application or extension that is
|
|
intended for use in arbitrary situations, it is strongly recommended
|
|
that you read the documentation changes described in the first changelog
|
|
entry below, and take suitable steps to ensure that your installation or
|
|
code is secure.
|
|
</para>
|
|
|
|
<para>
|
|
Also, the changes described in the second changelog entry below may
|
|
cause functions used in index expressions or materialized views to fail
|
|
during auto-analyze, or when reloading from a dump. After upgrading,
|
|
monitor the server logs for such problems, and fix affected functions.
|
|
</para>
|
|
|
|
<para>
|
|
Also, if you are upgrading from a version earlier than 10.2,
|
|
see <xref linkend="release-10-2"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [5770172cb] 2018-02-26 07:39:44 -0800
|
|
Branch: REL_10_STABLE [ee0d1966e] 2018-02-26 07:39:47 -0800
|
|
Branch: REL9_6_STABLE [70396dbe3] 2018-02-26 07:39:48 -0800
|
|
Branch: REL9_5_STABLE [1f47ea7b8] 2018-02-26 07:39:48 -0800
|
|
Branch: REL9_4_STABLE [f28955e38] 2018-02-26 07:39:48 -0800
|
|
Branch: REL9_3_STABLE [41ee473a4] 2018-02-26 07:39:48 -0800
|
|
-->
|
|
<para>
|
|
Document how to configure installations and applications to guard
|
|
against search-path-dependent trojan-horse attacks from other users
|
|
(Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
Using a <varname>search_path</varname> setting that includes any
|
|
schemas writable by a hostile user enables that user to capture
|
|
control of queries and then run arbitrary SQL code with the
|
|
permissions of the attacked user. While it is possible to write
|
|
queries that are proof against such hijacking, it is notationally
|
|
tedious, and it's very easy to overlook holes. Therefore, we now
|
|
recommend configurations in which no untrusted schemas appear in
|
|
one's search path. Relevant documentation appears in
|
|
<xref linkend="ddl-schemas-patterns"/> (for database administrators and users),
|
|
<xref linkend="libpq-connect"/> (for application authors),
|
|
<xref linkend="extend-extensions-style"/> (for extension authors), and
|
|
<xref linkend="sql-createfunction"/> (for authors
|
|
of <literal>SECURITY DEFINER</literal> functions).
|
|
(CVE-2018-1058)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [582edc369] 2018-02-26 07:39:44 -0800
|
|
Branch: REL_10_STABLE [10d598354] 2018-02-26 07:39:47 -0800
|
|
Branch: REL9_6_STABLE [e170b8c8c] 2018-02-26 07:39:48 -0800
|
|
Branch: REL9_5_STABLE [91f3ffc52] 2018-02-26 07:39:48 -0800
|
|
Branch: REL9_4_STABLE [928bca1a3] 2018-02-26 07:39:48 -0800
|
|
Branch: REL9_3_STABLE [3db38b0ce] 2018-02-26 07:39:48 -0800
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: REL9_4_STABLE [461c32b55] 2018-02-26 07:39:48 -0800
|
|
Branch: REL9_3_STABLE [de8ffd666] 2018-02-26 07:39:48 -0800
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3d2aed664] 2018-02-26 10:18:21 -0500
|
|
Branch: REL_10_STABLE [b8a2908f0] 2018-02-26 10:18:22 -0500
|
|
Branch: REL9_6_STABLE [815172ba8] 2018-02-26 10:18:22 -0500
|
|
Branch: REL9_5_STABLE [a8fc37a63] 2018-02-26 10:18:22 -0500
|
|
Branch: REL9_4_STABLE [9f6e5296a] 2018-02-26 10:18:22 -0500
|
|
Branch: REL9_3_STABLE [fe8b95b7e] 2018-02-26 10:18:22 -0500
|
|
-->
|
|
<para>
|
|
Avoid use of insecure <varname>search_path</varname> settings
|
|
in <application>pg_dump</application> and other client programs
|
|
(Noah Misch, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
<application>pg_dump</application>,
|
|
<application>pg_upgrade</application>,
|
|
<application>vacuumdb</application> and
|
|
other <productname>PostgreSQL</productname>-provided applications were
|
|
themselves vulnerable to the type of hijacking described in the previous
|
|
changelog entry; since these applications are commonly run by
|
|
superusers, they present particularly attractive targets. To make them
|
|
secure whether or not the installation as a whole has been secured,
|
|
modify them to include only the <structname>pg_catalog</structname>
|
|
schema in their <varname>search_path</varname> settings.
|
|
Autovacuum worker processes now do the same, as well.
|
|
</para>
|
|
|
|
<para>
|
|
In cases where user-provided functions are indirectly executed by
|
|
these programs — for example, user-provided functions in index
|
|
expressions — the tighter <varname>search_path</varname> may
|
|
result in errors, which will need to be corrected by adjusting those
|
|
user-provided functions to not assume anything about what search path
|
|
they are invoked under. That has always been good practice, but now
|
|
it will be necessary for correct behavior.
|
|
(CVE-2018-1058)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: master [bc1adc651] 2018-02-23 22:13:21 -0500
|
|
Branch: REL_10_STABLE [b9bf23abb] 2018-02-23 22:09:26 -0500
|
|
-->
|
|
<para>
|
|
Prevent logical replication from trying to ship changes for
|
|
unpublishable relations (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
A publication marked <literal>FOR ALL TABLES</literal> would
|
|
incorrectly ship changes in materialized views
|
|
and <structname>information_schema</structname> tables, which are
|
|
supposed to be omitted from the change stream.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [159efe4af] 2018-02-19 16:00:31 -0500
|
|
Branch: REL_10_STABLE [517e0fe86] 2018-02-19 16:00:18 -0500
|
|
Branch: REL9_6_STABLE [795f2112e] 2018-02-19 16:00:18 -0500
|
|
Branch: REL9_5_STABLE [340d63bfb] 2018-02-19 16:00:18 -0500
|
|
Branch: REL9_4_STABLE [e11b6488e] 2018-02-19 16:00:18 -0500
|
|
Branch: REL9_3_STABLE [ea6d67cf8] 2018-02-19 16:00:18 -0500
|
|
-->
|
|
<para>
|
|
Fix misbehavior of concurrent-update rechecks with CTE references
|
|
appearing in subplans (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If a CTE (<literal>WITH</literal> clause reference) is used in an
|
|
InitPlan or SubPlan, and the query requires a recheck due to trying
|
|
to update or lock a concurrently-updated row, incorrect results could
|
|
be obtained.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9afd513df] 2018-02-23 13:47:33 -0500
|
|
Branch: REL_10_STABLE [c458970ad] 2018-02-23 13:47:33 -0500
|
|
Branch: REL9_6_STABLE [e7c02a54a] 2018-02-23 13:47:33 -0500
|
|
Branch: REL9_5_STABLE [7dc5f316f] 2018-02-23 13:47:33 -0500
|
|
Branch: REL9_4_STABLE [f6dd08489] 2018-02-23 13:47:33 -0500
|
|
Branch: REL9_3_STABLE [71a0d0c5a] 2018-02-23 13:47:33 -0500
|
|
-->
|
|
<para>
|
|
Fix planner failures with overlapping mergejoin clauses in an outer
|
|
join (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
These mistakes led to <quote>left and right pathkeys do not match in
|
|
mergejoin</quote> or <quote>outer pathkeys do not match
|
|
mergeclauses</quote> planner errors in corner cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [38b41f182] 2018-02-21 18:40:24 -0500
|
|
Branch: REL_10_STABLE [5ab5d21aa] 2018-02-21 18:40:24 -0500
|
|
Branch: REL9_6_STABLE [66e203c85] 2018-02-21 18:40:24 -0500
|
|
Branch: REL9_5_STABLE [9936f1499] 2018-02-21 18:40:24 -0500
|
|
Branch: REL9_4_STABLE [2d12c5593] 2018-02-21 18:40:24 -0500
|
|
Branch: REL9_3_STABLE [d3b0a23a2] 2018-02-21 18:40:24 -0500
|
|
-->
|
|
<para>
|
|
Repair <application>pg_upgrade</application>'s failure to
|
|
preserve <structfield>relfrozenxid</structfield> for materialized
|
|
views (Tom Lane, Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead to data corruption in materialized views
|
|
after an upgrade, manifesting as <quote>could not access status of
|
|
transaction</quote> or <quote>found xmin from before
|
|
relfrozenxid</quote> errors. The problem would be more likely to
|
|
occur in seldom-refreshed materialized views, or ones that were
|
|
maintained only with <command>REFRESH MATERIALIZED VIEW
|
|
CONCURRENTLY</command>.
|
|
</para>
|
|
|
|
<para>
|
|
If such corruption is observed, it can be repaired by refreshing the
|
|
materialized view (without <literal>CONCURRENTLY</literal>).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3486bcf9e] 2018-02-20 11:23:42 -0500
|
|
Branch: REL_10_STABLE [6753f6c41] 2018-02-20 11:23:34 -0500
|
|
-->
|
|
<para>
|
|
Fix incorrect <application>pg_dump</application> output for some
|
|
non-default sequence limit values (Alexey Bashtanov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5c9f2564f] 2018-02-11 13:24:15 -0500
|
|
Branch: REL_10_STABLE [1298fccef] 2018-02-11 13:24:15 -0500
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application>'s mishandling
|
|
of <literal>STATISTICS</literal> objects (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
An extended statistics object's schema was mislabeled in the dump's
|
|
table of contents, possibly leading to the wrong results in a
|
|
schema-selective restore. Its ownership was not correctly restored,
|
|
either. Also, change the logic so that statistics objects are
|
|
dumped/restored, or not, as independent objects rather than tying
|
|
them to the dump/restore decision for the table they are on. The
|
|
original definition could not scale to the planned future extension to
|
|
cross-table statistics.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e748e902d] 2018-02-14 14:47:18 -0500
|
|
Branch: REL_10_STABLE [4081e1136] 2018-02-14 14:47:18 -0500
|
|
Branch: REL9_6_STABLE [0a2381d13] 2018-02-14 14:47:18 -0500
|
|
Branch: REL9_5_STABLE [db1c597f3] 2018-02-14 14:47:18 -0500
|
|
Branch: REL9_4_STABLE [bd8718637] 2018-02-14 14:47:18 -0500
|
|
Branch: REL9_3_STABLE [457e9e88e] 2018-02-14 14:47:18 -0500
|
|
-->
|
|
<para>
|
|
Fix incorrect reporting of PL/Python function names in
|
|
error <literal>CONTEXT</literal> stacks (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
An error occurring within a nested PL/Python function call (that is,
|
|
one reached via a SPI query from another PL/Python function) would
|
|
result in a stack trace showing the inner function's name twice,
|
|
rather than the expected results. Also, an error in a nested
|
|
PL/Python <literal>DO</literal> block could result in a null pointer
|
|
dereference crash on some platforms.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8af87f411] 2018-02-23 14:39:17 -0500
|
|
Branch: REL_10_STABLE [0222e897d] 2018-02-23 14:39:18 -0500
|
|
Branch: REL9_6_STABLE [be87cd2a0] 2018-02-23 14:39:20 -0500
|
|
Branch: REL9_5_STABLE [753875ed4] 2018-02-23 14:39:21 -0500
|
|
Branch: REL9_4_STABLE [3ba503bde] 2018-02-23 14:39:22 -0500
|
|
Branch: REL9_3_STABLE [a7a6051cf] 2018-02-23 14:39:23 -0500
|
|
-->
|
|
<para>
|
|
Allow <filename>contrib/auto_explain</filename>'s
|
|
<varname>log_min_duration</varname> setting to range up
|
|
to <literal>INT_MAX</literal>, or about 24 days instead of 35 minutes
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [935dee9ad] 2018-02-09 15:54:45 -0500
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: REL_10_STABLE [2ff2baa22] 2018-02-22 12:54:45 -0800
|
|
Branch: REL9_6_STABLE [83fce670e] 2018-02-22 12:58:43 -0800
|
|
-->
|
|
<para>
|
|
Mark assorted GUC variables as <literal>PGDLLIMPORT</literal>, to
|
|
ease porting extension modules to Windows (Metin Doslu)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-10-2">
|
|
<title>Release 10.2</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2018-02-08</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 10.1.
|
|
For information about new features in major release 10, see
|
|
<xref linkend="release-10"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 10.2</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 10.X.
|
|
</para>
|
|
|
|
<para>
|
|
However,
|
|
if you use <filename>contrib/cube</filename>'s <literal>~></literal>
|
|
operator, see the entry below about that.
|
|
</para>
|
|
|
|
<para>
|
|
Also, if you are upgrading from a version earlier than 10.1,
|
|
see <xref linkend="release-10-1"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3492a0af0] 2018-02-05 10:37:30 -0500
|
|
Branch: REL_10_STABLE [fe921a360] 2018-02-05 10:37:30 -0500
|
|
-->
|
|
<para>
|
|
Fix processing of partition keys containing multiple expressions
|
|
(Álvaro Herrera, David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
This error led to crashes or, with carefully crafted input, disclosure
|
|
of arbitrary backend memory.
|
|
(CVE-2018-1052)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a926eb84e] 2018-02-05 10:58:27 -0500
|
|
Branch: REL_10_STABLE [6ba52aeb2] 2018-02-05 10:58:27 -0500
|
|
Branch: REL9_6_STABLE [1341e017d] 2018-02-05 10:58:27 -0500
|
|
Branch: REL9_5_STABLE [17aa02368] 2018-02-05 10:58:27 -0500
|
|
Branch: REL9_4_STABLE [c3456208d] 2018-02-05 10:58:27 -0500
|
|
Branch: REL9_3_STABLE [9c59e48a2] 2018-02-05 10:58:27 -0500
|
|
-->
|
|
<para>
|
|
Ensure that all temporary files made
|
|
by <application>pg_upgrade</application> are non-world-readable
|
|
(Tom Lane, Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
<application>pg_upgrade</application> normally restricts its
|
|
temporary files to be readable and writable only by the calling user.
|
|
But the temporary file containing <literal>pg_dumpall -g</literal>
|
|
output would be group- or world-readable, or even writable, if the
|
|
user's <literal>umask</literal> setting allows. In typical usage on
|
|
multi-user machines, the <literal>umask</literal> and/or the working
|
|
directory's permissions would be tight enough to prevent problems;
|
|
but there may be people using <application>pg_upgrade</application>
|
|
in scenarios where this oversight would permit disclosure of database
|
|
passwords to unfriendly eyes.
|
|
(CVE-2018-1053)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [9c2f0a6c3] 2017-12-14 18:20:47 -0800
|
|
Branch: REL_10_STABLE [1224383e8] 2017-12-14 18:20:48 -0800
|
|
Branch: REL9_6_STABLE [937494c0e] 2017-12-14 18:20:48 -0800
|
|
Branch: REL9_5_STABLE [32c0295b1] 2017-12-14 18:20:48 -0800
|
|
Branch: REL9_4_STABLE [4eff5a8c9] 2017-12-14 18:20:48 -0800
|
|
Branch: REL9_3_STABLE [387abe870] 2017-12-14 18:20:48 -0800
|
|
-->
|
|
<para>
|
|
Fix vacuuming of tuples that were updated while key-share locked
|
|
(Andres Freund, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
In some cases <command>VACUUM</command> would fail to remove such
|
|
tuples even though they are now dead, leading to assorted data
|
|
corruption scenarios.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [ad25a6b1f] 2018-02-01 15:23:45 -0500
|
|
Branch: REL_10_STABLE [b94988fad] 2018-02-01 15:31:31 -0500
|
|
-->
|
|
<para>
|
|
Fix failure to mark a hash index's metapage dirty after
|
|
adding a new overflow page, potentially leading to index corruption
|
|
(Lixian Zou, Amit Kapila)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [3b2787e1f] 2017-11-16 14:19:27 -0500
|
|
Branch: REL_10_STABLE [c8df4831e] 2017-11-16 15:24:19 -0500
|
|
Branch: REL9_6_STABLE [19648ce55] 2017-11-16 15:26:49 -0500
|
|
-->
|
|
<para>
|
|
Ensure that vacuum will always clean up the pending-insertions list of
|
|
a GIN index (Masahiko Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
This is necessary to ensure that dead index entries get removed.
|
|
The old code got it backwards, allowing vacuum to skip the cleanup if
|
|
some other process were running cleanup concurrently, thus risking
|
|
invalid entries being left behind in the index.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [272c2ab9f] 2018-01-09 17:06:31 -0300
|
|
Branch: REL_10_STABLE [37dd11281] 2018-01-09 17:08:10 -0300
|
|
Branch: REL9_6_STABLE [012683866] 2018-01-09 17:07:47 -0300
|
|
Branch: REL9_5_STABLE [38a23790e] 2018-01-09 17:07:36 -0300
|
|
Branch: REL9_4_STABLE [c61879640] 2018-01-09 17:07:24 -0300
|
|
Branch: REL9_3_STABLE [469fa9ad6] 2018-01-09 17:07:00 -0300
|
|
-->
|
|
<para>
|
|
Fix inadequate buffer locking in some LSN fetches (Jacob Champion,
|
|
Asim Praveen, Ashwin Agrawal)
|
|
</para>
|
|
|
|
<para>
|
|
These errors could result in misbehavior under concurrent load.
|
|
The potential consequences have not been characterized fully.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [90947674f] 2018-01-12 12:24:50 -0500
|
|
Branch: REL_10_STABLE [d3ca1a6c3] 2018-01-12 12:24:50 -0500
|
|
Branch: REL9_6_STABLE [6520d4a96] 2018-01-12 12:24:50 -0500
|
|
Branch: REL9_5_STABLE [ff99d7761] 2018-01-12 12:24:50 -0500
|
|
-->
|
|
<para>
|
|
Fix incorrect query results from cases involving flattening of
|
|
subqueries whose outputs are used in <literal>GROUPING SETS</literal>
|
|
(Heikki Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [3ccdc6f9a] 2018-01-31 15:43:11 -0500
|
|
Branch: REL_10_STABLE [86fba2865] 2018-01-31 16:08:39 -0500
|
|
-->
|
|
<para>
|
|
Fix handling of list partitioning constraints for partition keys of
|
|
boolean or array types (Amit Langote)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [680d54050] 2018-01-12 15:46:37 -0500
|
|
Branch: REL_10_STABLE [55e5eb4d9] 2018-01-12 15:46:37 -0500
|
|
Branch: REL9_6_STABLE [c2a7044a5] 2018-01-12 15:46:37 -0500
|
|
Branch: REL9_5_STABLE [a99922f96] 2018-01-12 15:46:37 -0500
|
|
Branch: REL9_4_STABLE [8b0e5e7e7] 2018-01-12 15:46:38 -0500
|
|
Branch: REL9_3_STABLE [4e7170058] 2018-01-12 15:46:38 -0500
|
|
-->
|
|
<para>
|
|
Avoid unnecessary failure in a query on an inheritance tree that
|
|
occurs concurrently with some child table being removed from the tree
|
|
by <command>ALTER TABLE NO INHERIT</command> (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [54eff5311] 2018-01-02 19:16:16 -0300
|
|
Branch: REL_10_STABLE [6d2a9ae0e] 2018-01-02 19:16:16 -0300
|
|
Branch: REL9_6_STABLE [fb7b43903] 2018-01-02 19:16:16 -0300
|
|
Branch: REL9_5_STABLE [82f1c3b7d] 2018-01-02 19:16:16 -0300
|
|
Branch: REL9_4_STABLE [47a3a1317] 2018-01-02 19:16:16 -0300
|
|
-->
|
|
<para>
|
|
Fix spurious deadlock failures when multiple sessions are
|
|
running <command>CREATE INDEX CONCURRENTLY</command> (Jeff Janes)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Teodor Sigaev <teodor@sigaev.ru>
|
|
Branch: master [ad337c76b] 2017-12-27 18:25:37 +0300
|
|
Branch: REL_10_STABLE [bdbf29aae] 2017-12-27 18:26:58 +0300
|
|
-->
|
|
<para>
|
|
During <command>VACUUM FULL</command>, update the table's size fields
|
|
in <structname>pg_class</structname> sooner (Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents poor behavior when rebuilding hash indexes on the
|
|
table, since those use the <structname>pg_class</structname>
|
|
statistics to govern the initial hash size.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c4c2885cb] 2017-12-22 12:08:06 -0500
|
|
Branch: REL_10_STABLE [c252ccda7] 2017-12-22 12:08:18 -0500
|
|
-->
|
|
<para>
|
|
Fix
|
|
<literal>UNION</literal>/<literal>INTERSECT</literal>/<literal>EXCEPT</literal>
|
|
over zero columns (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: master [005ac298b] 2017-12-08 12:13:04 -0500
|
|
Branch: REL_10_STABLE [a2c6cf366] 2017-12-08 12:25:41 -0500
|
|
-->
|
|
<para>
|
|
Disallow identity columns on typed tables and partitions
|
|
(Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
These cases will be treated as unsupported features for now.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: master [2d2d06b7e] 2017-12-08 09:18:18 -0500
|
|
Branch: REL_10_STABLE [ee5b59549] 2017-12-08 09:39:55 -0500
|
|
Branch: master [533c5d8bd] 2018-02-02 14:39:10 -0500
|
|
Branch: REL_10_STABLE [1597948c9] 2018-02-02 15:06:52 -0500
|
|
-->
|
|
<para>
|
|
Fix assorted failures to apply the correct default value when
|
|
inserting into an identity column (Michael Paquier, Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
In several contexts, notably <command>COPY</command>
|
|
and <command>ALTER TABLE ADD COLUMN</command>, the expected default
|
|
value was not applied and instead a null value was inserted.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9a785ad57] 2017-11-27 17:54:07 -0500
|
|
Branch: REL_10_STABLE [a57aa430b] 2017-11-27 17:54:09 -0500
|
|
Branch: REL9_6_STABLE [06ba53096] 2017-11-27 17:54:10 -0500
|
|
Branch: REL9_5_STABLE [39f180fdd] 2017-11-27 17:54:11 -0500
|
|
-->
|
|
<para>
|
|
Fix failures when an inheritance tree contains foreign child tables
|
|
(Etsuro Fujita)
|
|
</para>
|
|
|
|
<para>
|
|
A mix of regular and foreign tables in an inheritance tree resulted in
|
|
creation of incorrect plans for <command>UPDATE</command>
|
|
and <command>DELETE</command> queries. This led to visible failures in
|
|
some cases, notably when there are row-level triggers on a foreign
|
|
child table.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9b63c13f0] 2017-11-25 14:15:48 -0500
|
|
Branch: REL_10_STABLE [5dc7faa91] 2017-11-25 14:15:48 -0500
|
|
Branch: REL9_6_STABLE [497e79b96] 2017-11-25 14:15:48 -0500
|
|
Branch: REL9_5_STABLE [ae6ed0784] 2017-11-25 14:15:48 -0500
|
|
Branch: REL9_4_STABLE [2e105cf6d] 2017-11-25 14:15:48 -0500
|
|
Branch: REL9_3_STABLE [d538f6568] 2017-11-25 14:15:48 -0500
|
|
-->
|
|
<para>
|
|
Repair failure with correlated sub-<literal>SELECT</literal>
|
|
inside <literal>VALUES</literal> inside a <literal>LATERAL</literal>
|
|
subquery (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [bb94ce4d2] 2018-01-23 16:50:34 -0500
|
|
Branch: REL_10_STABLE [c5e59bb60] 2018-01-23 16:50:34 -0500
|
|
Branch: REL9_6_STABLE [ae3699a6a] 2018-01-23 16:50:35 -0500
|
|
Branch: REL9_5_STABLE [8a2228b2f] 2018-01-23 16:50:35 -0500
|
|
Branch: REL9_4_STABLE [54e1599c7] 2018-01-23 16:50:35 -0500
|
|
Branch: REL9_3_STABLE [b100a5274] 2018-01-23 16:50:35 -0500
|
|
-->
|
|
<para>
|
|
Fix <quote>could not devise a query plan for the given query</quote>
|
|
planner failure for some cases involving nested <literal>UNION
|
|
ALL</literal> inside a lateral subquery (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ecc27d55f] 2017-12-04 11:51:43 -0500
|
|
Branch: REL_10_STABLE [bf2b317f1] 2017-12-04 11:51:43 -0500
|
|
-->
|
|
<para>
|
|
Allow functional dependency statistics to be used for boolean columns
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, although extended statistics could be declared and
|
|
collected on boolean columns, the planner failed to apply them.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [df3a66e28] 2017-11-25 11:48:09 -0500
|
|
Branch: REL_10_STABLE [b9fc2d0b9] 2017-11-25 11:48:09 -0500
|
|
-->
|
|
<para>
|
|
Avoid underestimating the number of groups emitted by subqueries
|
|
containing set-returning functions in their grouping columns (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Cases similar to <literal>SELECT DISTINCT unnest(foo)</literal> got a
|
|
lower output rowcount estimate in 10.0 than they did in earlier
|
|
releases, possibly resulting in unfavorable plan choices. Restore the
|
|
prior estimation behavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Simon Riggs <simon@2ndQuadrant.com>
|
|
Branch: master [7e17a6889] 2017-11-22 16:28:14 +1100
|
|
Branch: REL_10_STABLE [7015bb389] 2017-11-28 09:37:22 +0000
|
|
-->
|
|
<para>
|
|
Fix use of triggers in logical replication workers (Petr Jelinek)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [df9f682c7] 2018-01-05 12:17:10 -0300
|
|
Branch: REL_10_STABLE [a19c262f3] 2018-01-05 12:17:10 -0300
|
|
Branch: REL9_6_STABLE [9a5e4a6e0] 2018-01-05 12:17:10 -0300
|
|
Branch: REL9_5_STABLE [132cd58d6] 2018-01-05 12:17:10 -0300
|
|
Branch: REL9_4_STABLE [f68c49f86] 2018-01-05 12:17:10 -0300
|
|
-->
|
|
<para>
|
|
Fix logical decoding to correctly clean up disk files for crashed
|
|
transactions (Atsushi Torikoshi)
|
|
</para>
|
|
|
|
<para>
|
|
Logical decoding may spill WAL records to disk for transactions
|
|
generating many WAL records. Normally these files are cleaned up
|
|
after the transaction's commit or abort record arrives; but if
|
|
no such record is ever seen, the removal code misbehaved.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [0fedb4ea6] 2017-12-14 11:13:14 -0500
|
|
Branch: REL_10_STABLE [14c15b1f4] 2017-12-14 11:29:34 -0500
|
|
Branch: REL9_6_STABLE [c28e0b1e0] 2017-12-14 11:31:13 -0500
|
|
Branch: REL9_5_STABLE [87056267e] 2017-12-14 11:32:00 -0500
|
|
Branch: REL9_4_STABLE [f5c7e0cdd] 2017-12-14 11:32:25 -0500
|
|
-->
|
|
<para>
|
|
Fix walsender timeout failure and failure to respond to interrupts
|
|
when processing a large transaction (Petr Jelinek)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8a906204a] 2018-01-09 12:09:30 -0500
|
|
Branch: REL_10_STABLE [1f5adbd79] 2018-01-09 12:09:30 -0500
|
|
-->
|
|
<para>
|
|
Fix race condition during replication origin drop that could allow the
|
|
dropping process to wait indefinitely (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Simon Riggs <simon@2ndQuadrant.com>
|
|
Branch: master [6668a54eb] 2018-01-06 11:48:21 +0000
|
|
Branch: REL_10_STABLE [76e117dbe] 2018-01-28 16:14:31 +0000
|
|
-->
|
|
<para>
|
|
Allow members of the <literal>pg_read_all_stats</literal> role to see
|
|
walsender statistics in the <structname>pg_stat_replication</structname>
|
|
view (Feike Steenbergen)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Magnus Hagander <magnus@hagander.net>
|
|
Branch: master [d02974e32] 2017-12-29 16:28:32 +0100
|
|
Branch: REL_10_STABLE [b38c3d58e] 2017-12-29 16:22:43 +0100
|
|
-->
|
|
<para>
|
|
Show walsenders that are sending base backups as active in
|
|
the <structname>pg_stat_activity</structname> view (Magnus Hagander)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: master [38d485fda] 2018-01-30 16:50:30 -0500
|
|
Branch: REL_10_STABLE [167a22b2a] 2018-01-30 17:05:35 -0500
|
|
-->
|
|
<para>
|
|
Fix reporting of <literal>scram-sha-256</literal> authentication
|
|
method in the <structname>pg_hba_file_rules</structname> view
|
|
(Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Previously this was printed as <literal>scram-sha256</literal>,
|
|
possibly confusing users as to the correct spelling.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Joe Conway <mail@joeconway.com>
|
|
Branch: master [752714dd9] 2017-11-26 09:49:40 -0800
|
|
Branch: REL_10_STABLE [9e051b674] 2017-11-26 09:50:00 -0800
|
|
Branch: REL9_6_STABLE [997015ef2] 2017-11-26 09:50:15 -0800
|
|
Branch: REL9_5_STABLE [db714c62b] 2017-11-26 09:50:27 -0800
|
|
Branch: REL9_4_STABLE [d8d9c97cd] 2017-11-26 09:50:42 -0800
|
|
Branch: REL9_3_STABLE [69e5b1e9c] 2017-11-26 09:50:53 -0800
|
|
-->
|
|
<para>
|
|
Fix <function>has_sequence_privilege()</function> to
|
|
support <literal>WITH GRANT OPTION</literal> tests,
|
|
as other privilege-testing functions do (Joe Conway)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [2918fcedb] 2017-11-11 11:10:53 -0800
|
|
Branch: REL_10_STABLE [30a5e940a] 2017-11-11 11:11:15 -0800
|
|
Branch: REL9_6_STABLE [46fb15f48] 2017-11-11 11:11:19 -0800
|
|
Branch: REL9_5_STABLE [e7083dfce] 2017-11-11 11:11:21 -0800
|
|
Branch: REL9_4_STABLE [2f4061aff] 2017-11-11 11:11:24 -0800
|
|
Branch: REL9_3_STABLE [d8406b9de] 2017-11-11 11:11:28 -0800
|
|
Branch: master [4b865aee2] 2017-11-11 13:07:46 -0800
|
|
Branch: REL_10_STABLE [075ced2a4] 2017-11-11 13:07:54 -0800
|
|
Branch: REL9_6_STABLE [742471ef9] 2017-11-11 13:07:55 -0800
|
|
Branch: REL9_5_STABLE [739f1f6ac] 2017-11-11 13:07:55 -0800
|
|
Branch: REL9_4_STABLE [e48fb50d8] 2017-11-11 13:07:55 -0800
|
|
Branch: REL9_3_STABLE [f5260d5ad] 2017-11-11 13:07:55 -0800
|
|
-->
|
|
<para>
|
|
In databases using UTF8 encoding, ignore any XML declaration that
|
|
asserts a different encoding (Pavel Stehule, Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
We always store XML strings in the database encoding, so allowing
|
|
libxml to act on a declaration of another encoding gave wrong results.
|
|
In encodings other than UTF8, we don't promise to support non-ASCII
|
|
XML data anyway, so retain the previous behavior for bug compatibility.
|
|
This change affects only <function>xpath()</function> and related
|
|
functions; other XML code paths already acted this way.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [ae65f6066] 2017-11-21 13:56:24 -0500
|
|
Branch: REL_10_STABLE [5b2a87707] 2017-11-21 14:03:51 -0500
|
|
Branch: REL9_6_STABLE [7c84bc0b3] 2017-11-21 14:30:33 -0500
|
|
Branch: REL9_5_STABLE [c703aa625] 2017-11-21 14:34:26 -0500
|
|
Branch: REL9_4_STABLE [294136d42] 2017-11-21 14:38:29 -0500
|
|
Branch: REL9_3_STABLE [aa3a78c3d] 2017-11-21 14:45:29 -0500
|
|
-->
|
|
<para>
|
|
Provide for forward compatibility with future minor protocol versions
|
|
(Robert Haas, Badrul Chowdhury)
|
|
</para>
|
|
|
|
<para>
|
|
Up to now, <productname>PostgreSQL</productname> servers simply
|
|
rejected requests to use protocol versions newer than 3.0, so that
|
|
there was no functional difference between the major and minor parts
|
|
of the protocol version number. Allow clients to request versions 3.x
|
|
without failing, sending back a message showing that the server only
|
|
understands 3.0. This makes no difference at the moment, but
|
|
back-patching this change should allow speedier introduction of future
|
|
minor protocol upgrades.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: REL_10_STABLE [218b024a7] 2017-12-08 10:17:46 -0500
|
|
-->
|
|
<para>
|
|
Allow a client that supports SCRAM channel binding (such as v11 or
|
|
later <application>libpq</application>) to connect to a v10 server
|
|
(Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
v10 does not have this feature, and the connection-time negotiation
|
|
about whether to use it was done incorrectly.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [aced5a92b] 2018-01-05 19:21:30 -0500
|
|
Branch: REL_10_STABLE [1c77e9908] 2018-01-05 19:21:30 -0500
|
|
-->
|
|
<para>
|
|
Avoid live-lock in <function>ConditionVariableBroadcast()</function>
|
|
(Tom Lane, Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Given repeatedly-unlucky timing, a process attempting to awaken all
|
|
waiters for a condition variable could loop indefinitely. Due to the
|
|
limited usage of condition variables in v10, this affects only
|
|
parallel index scans and some operations on replication slots.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [59d1e2b95] 2017-12-21 09:24:30 -0500
|
|
Branch: REL_10_STABLE [f3decdc94] 2017-12-21 09:24:48 -0500
|
|
-->
|
|
<para>
|
|
Clean up waits for condition variables correctly during subtransaction
|
|
abort (Robert Haas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [80259d4db] 2018-01-09 12:34:57 -0500
|
|
Branch: REL_10_STABLE [d56a5f994] 2018-01-09 12:34:46 -0500
|
|
-->
|
|
<para>
|
|
Ensure that child processes that are waiting for a condition variable
|
|
will exit promptly if the postmaster process dies (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [fd7c0fa73] 2017-12-18 12:22:31 -0500
|
|
Branch: REL_10_STABLE [b70ea4c75] 2017-12-18 12:31:10 -0500
|
|
-->
|
|
<para>
|
|
Fix crashes in parallel queries using more than one Gather node
|
|
(Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [884a60840] 2017-12-13 16:15:44 -0500
|
|
Branch: REL_10_STABLE [192ffe1cb] 2017-12-13 16:09:00 -0500
|
|
-->
|
|
<para>
|
|
Fix hang in parallel index scan when processing a deleted or half-dead
|
|
index page (Amit Kapila)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [c6755e233] 2017-11-28 11:44:59 -0500
|
|
Branch: REL_10_STABLE [ec7629dfb] 2017-11-28 11:49:01 -0500
|
|
-->
|
|
<para>
|
|
Avoid crash if parallel bitmap heap scan is unable to allocate a
|
|
shared memory segment (Robert Haas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [28724fd90] 2017-12-06 08:58:27 -0500
|
|
Branch: REL_10_STABLE [a8ef4e81e] 2017-12-06 09:01:21 -0500
|
|
Branch: REL9_6_STABLE [b75644066] 2017-12-06 09:04:02 -0500
|
|
Branch: REL9_5_STABLE [0426a77ce] 2017-12-06 09:06:25 -0500
|
|
Branch: REL9_4_STABLE [facd94e72] 2017-12-06 09:08:30 -0500
|
|
Branch: master [2badb5afb] 2018-01-23 11:03:03 -0500
|
|
Branch: REL_10_STABLE [383e4268f] 2018-01-23 11:13:42 -0500
|
|
Branch: REL9_6_STABLE [2843c01a5] 2018-01-23 11:13:50 -0500
|
|
-->
|
|
<para>
|
|
Cope with failure to start a parallel worker process
|
|
(Amit Kapila, Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
Parallel query previously tended to hang indefinitely if a worker
|
|
could not be started, as the result of <literal>fork()</literal>
|
|
failure or other low-probability problems.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [445dbd82a] 2017-11-28 12:15:38 -0500
|
|
Branch: REL_10_STABLE [dba6e75c1] 2017-11-28 12:19:19 -0500
|
|
-->
|
|
<para>
|
|
Avoid unnecessary failure when no parallel workers can be obtained
|
|
during parallel query startup (Robert Haas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [8526bcb2d] 2017-12-19 12:21:56 -0500
|
|
Branch: REL_10_STABLE [72567f617] 2017-12-19 12:44:21 -0500
|
|
Branch: REL9_6_STABLE [2157a61b5] 2018-01-04 12:46:00 -0500
|
|
-->
|
|
<para>
|
|
Fix collection of <command>EXPLAIN</command> statistics from parallel
|
|
workers (Amit Kapila, Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [f94eec490] 2017-12-20 17:26:50 -0500
|
|
Branch: REL_10_STABLE [7be0d775a] 2017-12-20 17:27:25 -0500
|
|
-->
|
|
<para>
|
|
Ensure that query strings passed to parallel workers are correctly
|
|
null-terminated (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents emitting garbage in postmaster log output from such
|
|
workers.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [751804998] 2017-11-14 15:03:55 -0500
|
|
Branch: REL_10_STABLE [619a8c47d] 2017-11-14 17:49:49 -0500
|
|
Branch: REL9_6_STABLE [4a15f87d2] 2017-11-14 17:49:49 -0500
|
|
Branch: REL9_5_STABLE [d4e38489f] 2017-11-14 17:49:49 -0500
|
|
-->
|
|
<para>
|
|
Avoid unsafe alignment assumptions when working
|
|
with <type>__int128</type> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Typically, compilers assume that <type>__int128</type> variables are
|
|
aligned on 16-byte boundaries, but our memory allocation
|
|
infrastructure isn't prepared to guarantee that, and increasing the
|
|
setting of MAXALIGN seems infeasible for multiple reasons. Adjust the
|
|
code to allow use of <type>__int128</type> only when we can tell the
|
|
compiler to assume lesser alignment. The only known symptom of this
|
|
problem so far is crashes in some parallel aggregation queries.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [35a528062] 2018-01-28 13:39:07 -0500
|
|
Branch: REL_10_STABLE [1b2a3860d] 2018-01-28 13:39:07 -0500
|
|
Branch: REL9_6_STABLE [4e9fb4bfe] 2018-01-28 13:39:07 -0500
|
|
Branch: REL9_5_STABLE [e194f1383] 2018-01-28 13:39:07 -0500
|
|
Branch: REL9_4_STABLE [06efc5cf5] 2018-01-28 13:39:07 -0500
|
|
Branch: REL9_3_STABLE [c03fc8462] 2018-01-28 13:39:07 -0500
|
|
-->
|
|
<para>
|
|
Prevent stack-overflow crashes when planning extremely deeply
|
|
nested set operations
|
|
(<literal>UNION</literal>/<literal>INTERSECT</literal>/<literal>EXCEPT</literal>)
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2e668c522] 2018-01-27 13:52:24 -0500
|
|
Branch: REL_10_STABLE [78433f41f] 2018-01-27 13:52:24 -0500
|
|
-->
|
|
<para>
|
|
Avoid crash during an EvalPlanQual recheck of an indexscan that is the
|
|
inner child of a merge join (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This could only happen during an update or <command>SELECT FOR
|
|
UPDATE</command> of a join, when there is a concurrent update of some
|
|
selected row.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [414cd434f] 2017-11-28 23:40:11 -0300
|
|
Branch: REL_10_STABLE [d4607590b] 2017-11-28 23:42:42 -0300
|
|
-->
|
|
<para>
|
|
Fix crash in autovacuum when extended statistics are defined
|
|
for a table but can't be computed (Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: master [0c98d0dd5] 2017-11-10 14:21:32 -0500
|
|
Branch: REL_10_STABLE [f9e2885d5] 2017-11-10 14:27:51 -0500
|
|
Branch: REL9_6_STABLE [d380d080f] 2017-11-10 14:29:13 -0500
|
|
Branch: REL9_5_STABLE [9efd83bfd] 2017-11-10 14:30:06 -0500
|
|
Branch: REL9_4_STABLE [0bcdab58e] 2017-11-10 14:30:34 -0500
|
|
Branch: REL9_3_STABLE [62906461c] 2017-11-10 14:30:48 -0500
|
|
-->
|
|
<para>
|
|
Fix null-pointer crashes for some types of LDAP URLs appearing
|
|
in <filename>pg_hba.conf</filename> (Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [ab9f2c429] 2018-01-29 11:24:57 -0800
|
|
Branch: REL_10_STABLE [d1aac2998] 2018-01-29 11:24:57 -0800
|
|
Branch: master [c068f8772] 2018-01-29 11:24:57 -0800
|
|
Branch: REL_10_STABLE [d18d4bca8] 2018-01-29 11:24:57 -0800
|
|
Branch: REL_10_STABLE [c0fda304d] 2018-01-29 11:24:57 -0800
|
|
-->
|
|
<para>
|
|
Prevent out-of-memory failures due to excessive growth of simple hash
|
|
tables (Tomas Vondra, Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3c1e9fd23] 2018-01-10 17:13:47 -0500
|
|
Branch: REL_10_STABLE [08adf688f] 2018-01-10 17:13:29 -0500
|
|
Branch: REL9_6_STABLE [122605194] 2018-01-10 17:13:29 -0500
|
|
Branch: REL9_5_STABLE [10bcd4165] 2018-01-10 17:13:29 -0500
|
|
Branch: REL9_4_STABLE [493cdc8ee] 2018-01-10 17:13:29 -0500
|
|
Branch: REL9_3_STABLE [45bfef7fb] 2018-01-10 17:13:29 -0500
|
|
-->
|
|
<para>
|
|
Fix sample <function>INSTR()</function> functions in the PL/pgSQL
|
|
documentation (Yugo Nagata, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
These functions are stated to
|
|
be <trademark class="registered">Oracle</trademark> compatible, but
|
|
they weren't exactly. In particular, there was a discrepancy in the
|
|
interpretation of a negative third parameter: Oracle thinks that a
|
|
negative value indicates the last place where the target substring can
|
|
begin, whereas our functions took it as the last place where the
|
|
target can end. Also, Oracle throws an error for a zero or negative
|
|
fourth parameter, whereas our functions returned zero.
|
|
</para>
|
|
|
|
<para>
|
|
The sample code has been adjusted to match Oracle's behavior more
|
|
precisely. Users who have copied this code into their applications
|
|
may wish to update their copies.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2b792ab09] 2018-01-22 12:06:18 -0500
|
|
Branch: REL_10_STABLE [46246fd9d] 2018-01-22 12:06:18 -0500
|
|
Branch: REL9_6_STABLE [52cc1b484] 2018-01-22 12:06:19 -0500
|
|
Branch: REL9_5_STABLE [367e2b230] 2018-01-22 12:06:19 -0500
|
|
Branch: REL9_4_STABLE [da83ca7d9] 2018-01-22 12:06:19 -0500
|
|
Branch: REL9_3_STABLE [ef115621c] 2018-01-22 12:06:19 -0500
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application> to make ACL (permissions),
|
|
comment, and security label entries reliably identifiable in archive
|
|
output formats (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The <quote>tag</quote> portion of an ACL archive entry was usually
|
|
just the name of the associated object. Make it start with the object
|
|
type instead, bringing ACLs into line with the convention already used
|
|
for comment and security label archive entries. Also, fix the
|
|
comment and security label entries for the whole database, if present,
|
|
to make their tags start with <literal>DATABASE</literal> so that they
|
|
also follow this convention. This prevents false matches in code that
|
|
tries to identify large-object-related entries by seeing if the tag
|
|
starts with <literal>LARGE OBJECT</literal>. That could have resulted
|
|
in misclassifying entries as data rather than schema, with undesirable
|
|
results in a schema-only or data-only dump.
|
|
</para>
|
|
|
|
<para>
|
|
Note that this change has user-visible results in the output
|
|
of <command>pg_restore --list</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [3e68686e2] 2018-01-03 12:40:32 -0800
|
|
Branch: REL_10_STABLE [e3fdb7c00] 2018-01-03 12:39:59 -0800
|
|
Branch: REL9_6_STABLE [ceee51e38] 2018-01-03 12:39:59 -0800
|
|
Branch: REL9_5_STABLE [ea4cbf8f1] 2018-01-03 12:39:59 -0800
|
|
-->
|
|
<para>
|
|
Rename <application>pg_rewind</application>'s
|
|
<function>copy_file_range</function> function to avoid conflict
|
|
with new Linux system call of that name (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
This change prevents build failures with newer glibc versions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Meskes <meskes@postgresql.org>
|
|
Branch: master [649aeb123] 2018-01-13 14:57:49 +0100
|
|
Branch: REL_10_STABLE [8b89b7aac] 2018-01-15 10:00:56 +0100
|
|
Branch: REL9_6_STABLE [f082ef836] 2018-01-15 10:01:15 +0100
|
|
Branch: REL9_5_STABLE [4eae1e6f5] 2018-01-15 10:02:03 +0100
|
|
Branch: REL9_4_STABLE [2c1c4b060] 2018-01-15 10:02:16 +0100
|
|
Branch: REL9_3_STABLE [a0f5890a6] 2018-01-15 10:02:23 +0100
|
|
-->
|
|
<para>
|
|
In <application>ecpg</application>, detect indicator arrays that do
|
|
not have the correct length and report an error (David Rader)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Teodor Sigaev <teodor@sigaev.ru>
|
|
Branch: master [563a053bd] 2018-01-11 14:41:14 +0300
|
|
Branch: REL_10_STABLE [b8279a783] 2018-01-11 14:42:16 +0300
|
|
Branch: REL9_6_STABLE [bda5281fd] 2018-01-11 14:43:13 +0300
|
|
-->
|
|
<para>
|
|
Change the behavior of <filename>contrib/cube</filename>'s
|
|
<type>cube</type> <literal>~></literal> <type>int</type>
|
|
operator to make it compatible with KNN search (Alexander Korotkov)
|
|
</para>
|
|
|
|
<para>
|
|
The meaning of the second argument (the dimension selector) has been
|
|
changed to make it predictable which value is selected even when
|
|
dealing with cubes of varying dimensionalities.
|
|
</para>
|
|
|
|
<para>
|
|
This is an incompatible change, but since the point of the operator
|
|
was to be used in KNN searches, it seems rather useless as-is.
|
|
After installing this update, any expression indexes or materialized
|
|
views using this operator will need to be reindexed/refreshed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d3f4e8a8a] 2017-11-25 14:42:10 -0500
|
|
Branch: REL_10_STABLE [ddba32005] 2017-11-25 14:42:25 -0500
|
|
Branch: REL9_6_STABLE [630aceda5] 2017-11-25 14:42:32 -0500
|
|
Branch: REL9_5_STABLE [47226971e] 2017-11-25 14:42:36 -0500
|
|
Branch: REL9_4_STABLE [5c38ddebd] 2017-11-25 14:42:41 -0500
|
|
Branch: REL9_3_STABLE [6e9ac0a2e] 2017-11-25 14:42:46 -0500
|
|
-->
|
|
<para>
|
|
Avoid triggering a libc assertion
|
|
in <filename>contrib/hstore</filename>, due to use
|
|
of <function>memcpy()</function> with equal source and destination
|
|
pointers (Tomas Vondra)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [39cfe8619] 2018-01-04 14:59:00 -0500
|
|
Branch: REL_10_STABLE [5ad1b1728] 2018-01-04 14:59:00 -0500
|
|
Branch: REL9_6_STABLE [ad592f4a6] 2018-01-04 14:59:00 -0500
|
|
Branch: master [18869e202] 2018-01-04 16:00:21 -0500
|
|
Branch: REL_10_STABLE [0dc5dfcd7] 2018-01-04 15:59:30 -0500
|
|
-->
|
|
<para>
|
|
Fix incorrect display of tuples' null bitmaps
|
|
in <filename>contrib/pageinspect</filename> (Maksim Milyutin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [b0313f9cc] 2018-01-26 09:56:33 -0500
|
|
Branch: REL_10_STABLE [51fc1b09a] 2018-01-26 09:59:14 -0500
|
|
-->
|
|
<para>
|
|
Fix incorrect output from <filename>contrib/pageinspect</filename>'s
|
|
<function>hash_page_items()</function> function (Masahiko Sawada)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [4bbf6edfb] 2018-01-17 16:18:39 -0500
|
|
Branch: REL_10_STABLE [3f05a30b5] 2018-01-17 16:57:53 -0500
|
|
Branch: REL9_6_STABLE [4a81c0229] 2018-01-17 17:09:20 -0500
|
|
Branch: master [99f6a17dd] 2018-01-30 14:44:30 -0500
|
|
Branch: REL_10_STABLE [92123c6ea] 2018-01-30 14:47:02 -0500
|
|
Branch: REL9_6_STABLE [d397f558d] 2018-01-30 14:55:14 -0500
|
|
-->
|
|
<para>
|
|
In <filename>contrib/postgres_fdw</filename>, avoid
|
|
<quote>outer pathkeys do not match mergeclauses</quote>
|
|
planner error when constructing a plan involving a remote join
|
|
(Robert Haas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e9f2703ab] 2018-01-12 16:52:49 -0500
|
|
Branch: REL_10_STABLE [67854bc59] 2018-01-12 16:52:49 -0500
|
|
-->
|
|
<para>
|
|
In <filename>contrib/postgres_fdw</filename>, avoid planner failure
|
|
when there are duplicate <literal>GROUP BY</literal> entries
|
|
(Jeevan Chalke)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ac3b96268] 2017-11-17 12:46:52 -0500
|
|
Branch: REL_10_STABLE [6313995c2] 2017-11-17 12:47:11 -0500
|
|
Branch: REL9_6_STABLE [0d9243903] 2017-11-17 12:47:21 -0500
|
|
Branch: REL9_5_STABLE [9508d422b] 2017-11-17 12:47:29 -0500
|
|
Branch: REL9_4_STABLE [7d98dc133] 2017-11-17 12:47:36 -0500
|
|
Branch: REL9_3_STABLE [77b76fea9] 2017-11-17 12:47:44 -0500
|
|
-->
|
|
<para>
|
|
Provide modern examples of how to auto-start Postgres on macOS
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The scripts in <filename>contrib/start-scripts/osx</filename> use
|
|
infrastructure that's been deprecated for over a decade, and which no
|
|
longer works at all in macOS releases of the last couple of years.
|
|
Add a new subdirectory <filename>contrib/start-scripts/macos</filename>
|
|
containing scripts that use the newer <application>launchd</application>
|
|
infrastructure.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [99d5a3ffb] 2018-01-03 15:36:54 -0500
|
|
Branch: REL_10_STABLE [0fb69340b] 2018-01-03 15:33:12 -0500
|
|
Branch: REL9_6_STABLE [85cdcde1f] 2018-01-03 15:33:32 -0500
|
|
Branch: REL9_5_STABLE [d329d2d3e] 2018-01-03 15:33:47 -0500
|
|
Branch: REL9_4_STABLE [2d03daa7b] 2018-01-03 15:34:02 -0500
|
|
Branch: REL9_3_STABLE [5404145c5] 2018-01-03 15:34:21 -0500
|
|
-->
|
|
<para>
|
|
Fix incorrect selection of configuration-specific libraries for
|
|
OpenSSL on Windows (Andrew Dunstan)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [84c4313c6] 2017-11-23 20:22:04 -0800
|
|
Branch: REL_10_STABLE [f16a0958d] 2017-11-23 20:22:24 -0800
|
|
Branch: REL9_6_STABLE [1695ce068] 2017-11-23 20:24:53 -0800
|
|
Branch: REL9_5_STABLE [da8eae56e] 2017-11-23 20:25:08 -0800
|
|
Branch: REL9_4_STABLE [558f62079] 2017-11-23 20:29:48 -0800
|
|
Branch: REL9_3_STABLE [83e6b1434] 2017-11-23 20:32:01 -0800
|
|
Branch: master [7e0c574ee] 2017-12-09 00:58:55 -0800
|
|
Branch: REL_10_STABLE [e2cc65050] 2017-12-09 00:58:58 -0800
|
|
Branch: REL9_6_STABLE [055532bad] 2017-12-09 00:58:58 -0800
|
|
Branch: REL9_5_STABLE [470de6a24] 2017-12-09 00:58:59 -0800
|
|
Branch: REL9_4_STABLE [d78c3ca0e] 2017-12-09 00:58:59 -0800
|
|
Branch: REL9_3_STABLE [70dc7ad58] 2017-12-09 00:58:59 -0800
|
|
-->
|
|
<para>
|
|
Support linking to MinGW-built versions of libperl (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
This allows building PL/Perl with some common Perl distributions for
|
|
Windows.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [65a00f303] 2017-12-08 18:06:05 -0800
|
|
Branch: REL_10_STABLE [9b5c99790] 2017-12-08 18:06:22 -0800
|
|
Branch: REL9_6_STABLE [140fa2fba] 2017-12-08 18:06:25 -0800
|
|
Branch: REL9_5_STABLE [1c1a572d0] 2017-12-08 18:06:29 -0800
|
|
Branch: REL9_4_STABLE [aed8d41af] 2017-12-08 18:13:49 -0800
|
|
Branch: REL9_3_STABLE [188689942] 2017-12-08 18:14:08 -0800
|
|
-->
|
|
<para>
|
|
Fix MSVC build to test whether 32-bit libperl
|
|
needs <literal>-D_USE_32BIT_TIME_T</literal> (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
Available Perl distributions are inconsistent about what they expect,
|
|
and lack any reliable means of reporting it, so resort to a build-time
|
|
test on what the library being used actually does.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [cbfffee41] 2017-11-12 14:31:00 -0800
|
|
Branch: REL_10_STABLE [d6387e27e] 2017-11-12 14:31:04 -0800
|
|
Branch: REL9_6_STABLE [8c92e66f1] 2017-11-12 14:31:04 -0800
|
|
Branch: REL9_5_STABLE [b2df91f2f] 2017-11-12 14:31:04 -0800
|
|
Branch: REL9_4_STABLE [e17b38db6] 2017-11-12 14:31:04 -0800
|
|
Branch: REL9_3_STABLE [1c065901e] 2017-11-12 14:31:05 -0800
|
|
-->
|
|
<para>
|
|
On Windows, install the crash dump handler earlier in postmaster
|
|
startup (Takayuki Tsunakawa)
|
|
</para>
|
|
|
|
<para>
|
|
This may allow collection of a core dump for some early-startup
|
|
failures that did not produce a dump before.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [e02571b73] 2017-11-12 13:03:15 -0800
|
|
Branch: REL_10_STABLE [dcbec53f4] 2017-11-12 13:03:28 -0800
|
|
Branch: REL9_6_STABLE [fd5da32fc] 2017-11-12 13:03:28 -0800
|
|
Branch: REL9_5_STABLE [d74db7a35] 2017-11-12 13:03:28 -0800
|
|
Branch: REL9_4_STABLE [19cf9e96a] 2017-11-12 13:03:29 -0800
|
|
Branch: REL9_3_STABLE [30e99efe8] 2017-11-12 13:05:55 -0800
|
|
-->
|
|
<para>
|
|
On Windows, avoid encoding-conversion-related crashes when emitting
|
|
messages very early in postmaster startup (Takayuki Tsunakawa)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [84669c9b0] 2017-11-20 18:05:17 -0500
|
|
Branch: REL_10_STABLE [ae772bbf9] 2017-11-20 18:05:02 -0500
|
|
Branch: REL9_6_STABLE [fa9a69d3d] 2017-11-20 18:05:02 -0500
|
|
Branch: REL9_5_STABLE [2cfafabe6] 2017-11-20 18:05:02 -0500
|
|
Branch: REL9_4_STABLE [13f2bdb63] 2017-11-20 18:05:03 -0500
|
|
Branch: REL9_3_STABLE [1056dd0e9] 2017-11-20 18:05:03 -0500
|
|
-->
|
|
<para>
|
|
Use our existing Motorola 68K spinlock code on OpenBSD as
|
|
well as NetBSD (David Carlier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f3bd00c01] 2017-11-20 18:05:17 -0500
|
|
Branch: REL_10_STABLE [1ecf7eeb8] 2017-11-20 17:57:46 -0500
|
|
Branch: REL9_6_STABLE [940bafa75] 2017-11-20 17:57:46 -0500
|
|
Branch: REL9_5_STABLE [516cea4bb] 2017-11-20 17:57:46 -0500
|
|
Branch: REL9_4_STABLE [8bd8b4b77] 2017-11-20 17:57:46 -0500
|
|
Branch: REL9_3_STABLE [0245c75f4] 2017-11-20 17:57:46 -0500
|
|
-->
|
|
<para>
|
|
Add support for spinlocks on Motorola 88K (David Carlier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [41fc04ff9] 2018-01-27 16:42:28 -0500
|
|
Branch: REL_10_STABLE [2d71b2700] 2018-01-27 16:42:36 -0500
|
|
Branch: REL9_6_STABLE [462402be8] 2018-01-27 16:42:44 -0500
|
|
Branch: REL9_5_STABLE [b00e7555e] 2018-01-27 16:42:49 -0500
|
|
Branch: REL9_4_STABLE [fa86a32f9] 2018-01-27 16:42:55 -0500
|
|
Branch: REL9_3_STABLE [e5e2cc6f8] 2018-01-27 16:43:00 -0500
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2018c for DST law changes in Brazil, Sao Tome and Principe,
|
|
plus historical corrections for Bolivia, Japan, and South Sudan.
|
|
The <literal>US/Pacific-New</literal> zone has been removed (it was
|
|
only an alias for <literal>America/Los_Angeles</literal> anyway).
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-10-1">
|
|
<title>Release 10.1</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2017-11-09</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 10.0.
|
|
For information about new features in major release 10, see
|
|
<xref linkend="release-10"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 10.1</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 10.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you use BRIN indexes, see the fourth changelog entry below.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [87b2ebd35] 2017-11-06 09:19:22 +0000
|
|
Branch: REL_10_STABLE [3f8089572] 2017-11-06 09:17:44 +0000
|
|
Branch: REL9_6_STABLE [1f23d1cd2] 2017-11-06 09:16:24 +0000
|
|
Branch: REL9_5_STABLE [045a18888] 2017-11-06 09:15:11 +0000
|
|
-->
|
|
<para>
|
|
Ensure that <literal>INSERT ... ON CONFLICT DO UPDATE</literal> checks
|
|
table permissions and RLS policies in all cases (Dean Rasheed)
|
|
</para>
|
|
|
|
<para>
|
|
The update path of <literal>INSERT ... ON CONFLICT DO UPDATE</literal>
|
|
requires <literal>SELECT</literal> permission on the columns of the
|
|
arbiter index, but it failed to check for that in the case of an
|
|
arbiter specified by constraint name.
|
|
In addition, for a table with row level security enabled, it failed to
|
|
check updated rows against the table's <literal>SELECT</literal>
|
|
policies (regardless of how the arbiter index was specified).
|
|
(CVE-2017-15099)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b57422871] 2017-11-06 10:29:37 -0500
|
|
Branch: REL_10_STABLE [c30f082d2] 2017-11-06 10:29:38 -0500
|
|
Branch: REL9_6_STABLE [38e825632] 2017-11-06 10:29:39 -0500
|
|
Branch: REL9_5_STABLE [d5fe5fb23] 2017-11-06 10:29:40 -0500
|
|
Branch: REL9_4_STABLE [70846ee05] 2017-11-06 10:29:41 -0500
|
|
Branch: REL9_3_STABLE [c0c8807de] 2017-11-06 10:29:42 -0500
|
|
-->
|
|
<para>
|
|
Fix crash due to rowtype mismatch
|
|
in <function>json{b}_populate_recordset()</function>
|
|
(Michael Paquier, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
These functions used the result rowtype specified in the <literal>FROM
|
|
... AS</literal> clause without checking that it matched the actual
|
|
rowtype of the supplied tuple value. If it didn't, that would usually
|
|
result in a crash, though disclosure of server memory contents seems
|
|
possible as well.
|
|
(CVE-2017-15098)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [dfc015dcf] 2017-11-06 07:11:10 -0800
|
|
Branch: REL_10_STABLE [6b0b983f7] 2017-11-06 07:11:13 -0800
|
|
Branch: REL9_6_STABLE [b7d6f7507] 2017-11-06 07:11:13 -0800
|
|
Branch: REL9_5_STABLE [ed546dd06] 2017-11-06 07:11:13 -0800
|
|
Branch: REL9_4_STABLE [29d067051] 2017-11-06 07:11:13 -0800
|
|
Branch: REL9_3_STABLE [b50029768] 2017-11-06 07:11:13 -0800
|
|
Branch: REL9_2_STABLE [eda780281] 2017-11-06 07:11:13 -0800
|
|
-->
|
|
<para>
|
|
Fix sample server-start scripts to become <literal>$PGUSER</literal>
|
|
before opening <literal>$PGLOG</literal> (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, the postmaster log file was opened while still running as
|
|
root. The database owner could therefore mount an attack against
|
|
another system user by making <literal>$PGLOG</literal> be a symbolic
|
|
link to some other file, which would then become corrupted by appending
|
|
log messages.
|
|
</para>
|
|
|
|
<para>
|
|
By default, these scripts are not installed anywhere. Users who have
|
|
made use of them will need to manually recopy them, or apply the same
|
|
changes to their modified versions. If the
|
|
existing <literal>$PGLOG</literal> file is root-owned, it will need to
|
|
be removed or renamed out of the way before restarting the server with
|
|
the corrected script.
|
|
(CVE-2017-12172)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [ec42a1dcb] 2017-11-03 17:23:13 +0100
|
|
Branch: REL_10_STABLE [37a856567] 2017-11-03 17:23:13 +0100
|
|
Branch: REL9_6_STABLE [bd8e2b3cf] 2017-11-03 17:23:13 +0100
|
|
Branch: REL9_5_STABLE [cf0612aa2] 2017-11-03 17:23:13 +0100
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [1b890562b] 2017-11-03 20:45:36 +0100
|
|
Branch: REL_10_STABLE [b17870d75] 2017-11-03 20:47:44 +0100
|
|
-->
|
|
<para>
|
|
Fix BRIN index summarization to handle concurrent table extension
|
|
correctly (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, a race condition allowed some table rows to be omitted from
|
|
the index. It may be necessary to reindex existing BRIN indexes to
|
|
recover from past occurrences of this problem.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [62a16572d] 2017-11-02 12:54:55 -0400
|
|
Branch: REL_10_STABLE [97ba7b8c8] 2017-11-02 12:54:22 -0400
|
|
Branch: REL9_6_STABLE [a43cd427e] 2017-11-02 12:54:23 -0400
|
|
Branch: REL9_5_STABLE [43276abc6] 2017-11-02 12:54:23 -0400
|
|
-->
|
|
<para>
|
|
Fix possible failures during concurrent updates of a BRIN index
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
These race conditions could result in errors like <quote>invalid index
|
|
offnum</quote> or <quote>inconsistent range map</quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: master [a9fce6672] 2017-11-03 12:27:59 -0400
|
|
Branch: REL_10_STABLE [a14b52c61] 2017-11-03 12:28:08 -0400
|
|
-->
|
|
<para>
|
|
Prevent logical replication from setting non-replicated columns to
|
|
nulls when replicating an <command>UPDATE</command> (Petr Jelinek)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [360fd1a7b] 2017-10-12 10:26:55 -0400
|
|
Branch: REL_10_STABLE [7cde649ab] 2017-10-12 10:26:54 -0400
|
|
-->
|
|
<para>
|
|
Fix logical replication to fire <literal>BEFORE ROW DELETE</literal>
|
|
triggers when expected (Masahiko Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, that failed to happen unless the table also had
|
|
a <literal>BEFORE ROW UPDATE</literal> trigger.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1518d0784] 2017-10-06 19:18:58 -0400
|
|
Branch: REL_10_STABLE [485d49dbc] 2017-10-06 19:18:58 -0400
|
|
Branch: REL9_6_STABLE [185279da3] 2017-10-06 19:18:58 -0400
|
|
Branch: REL9_5_STABLE [13d2ed921] 2017-10-06 19:18:59 -0400
|
|
Branch: REL9_4_STABLE [bfb69b1e5] 2017-10-06 19:18:59 -0400
|
|
-->
|
|
<para>
|
|
Fix crash when logical decoding is invoked from a SPI-using function,
|
|
in particular any function written in a PL language
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7421f4b89] 2017-10-16 17:56:54 -0400
|
|
Branch: REL_10_STABLE [799037099] 2017-10-16 17:56:43 -0400
|
|
-->
|
|
<para>
|
|
Ignore CTEs when looking up the target table for
|
|
<command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command>,
|
|
and prevent matching schema-qualified target table names to trigger
|
|
transition table names (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
This restores the pre-v10 behavior for CTEs attached to DML commands.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c3dfe0fec] 2017-10-16 15:24:36 -0400
|
|
Branch: REL_10_STABLE [72e9cc971] 2017-10-16 15:24:36 -0400
|
|
-->
|
|
<para>
|
|
Avoid evaluating an aggregate function's argument expression(s) at rows
|
|
where its <literal>FILTER</literal> test fails (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This restores the pre-v10 (and SQL-standard) behavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [08f1e1f0a] 2017-10-26 12:17:40 -0400
|
|
Branch: REL_10_STABLE [6a81ba1d4] 2017-10-26 12:17:40 -0400
|
|
Branch: REL9_6_STABLE [37b4e0fe9] 2017-10-26 12:17:40 -0400
|
|
-->
|
|
<para>
|
|
Fix incorrect query results when multiple <literal>GROUPING
|
|
SETS</literal> columns contain the same simple variable (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a1c2c430d] 2017-10-06 14:28:42 -0400
|
|
Branch: REL_10_STABLE [0c25e9652] 2017-10-06 14:28:42 -0400
|
|
-->
|
|
<para>
|
|
Fix query-lifespan memory leakage while evaluating a set-returning
|
|
function in a <command>SELECT</command>'s target list (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [682ce911f] 2017-10-27 22:22:39 +0200
|
|
Branch: REL_10_STABLE [a87c0c763] 2017-10-29 20:48:51 +0530
|
|
-->
|
|
<para>
|
|
Allow parallel execution of prepared statements with generic plans
|
|
(Amit Kapila, Kuntal Ghosh)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [639c1a6bb] 2017-10-27 16:04:01 +0200
|
|
Branch: REL_10_STABLE [965a16fa9] 2017-10-27 16:04:10 +0200
|
|
Branch: REL9_6_STABLE [036b6bd50] 2017-10-27 16:12:16 +0200
|
|
-->
|
|
<para>
|
|
Fix incorrect parallelization decisions for nested queries
|
|
(Amit Kapila, Kuntal Ghosh)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [846fcc851] 2017-10-29 12:58:40 +0530
|
|
Branch: REL_10_STABLE [69125c883] 2017-10-29 13:04:37 +0530
|
|
Branch: REL9_6_STABLE [f74f871b8] 2017-10-29 13:14:37 +0530
|
|
-->
|
|
<para>
|
|
Fix parallel query handling to not fail when a recently-used role is
|
|
dropped (Amit Kapila)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [6393613b6] 2017-10-13 15:02:45 -0400
|
|
Branch: REL_10_STABLE [a3b1c2218] 2017-10-13 15:05:14 -0400
|
|
-->
|
|
<para>
|
|
Fix crash in parallel execution of a bitmap scan having a BitmapAnd
|
|
plan node below a BitmapOr node (Dilip Kumar)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [f3c6e8a27] 2017-10-25 07:13:11 -0400
|
|
Branch: REL_10_STABLE [fb17082d7] 2017-10-25 07:14:21 -0400
|
|
Branch: REL9_6_STABLE [5c3a1bbb4] 2017-10-25 07:19:59 -0400
|
|
Branch: REL9_5_STABLE [5c8dcd322] 2017-10-25 07:20:37 -0400
|
|
Branch: REL9_4_STABLE [7f89fc418] 2017-10-25 07:20:48 -0400
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [18fc4ecf4] 2017-10-25 07:34:00 -0400
|
|
Branch: REL_10_STABLE [06d5ba0d4] 2017-10-25 07:40:33 -0400
|
|
Branch: REL9_6_STABLE [98efa5ebf] 2017-10-25 07:48:36 -0400
|
|
Branch: REL9_5_STABLE [3cc5f0550] 2017-10-25 07:49:13 -0400
|
|
Branch: REL9_4_STABLE [9cb28e98b] 2017-10-25 07:52:45 -0400
|
|
-->
|
|
<para>
|
|
Fix <function>json_build_array()</function>,
|
|
<function>json_build_object()</function>, and their <type>jsonb</type>
|
|
equivalents to handle explicit <literal>VARIADIC</literal> arguments
|
|
correctly (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [be72b9c37] 2017-10-30 15:52:02 +0100
|
|
Branch: REL_10_STABLE [52ca7572c] 2017-10-30 15:52:13 +0100
|
|
-->
|
|
<para>
|
|
Fix autovacuum's <quote>work item</quote> logic to prevent possible
|
|
crashes and silent loss of work items (Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d5b760ecb] 2017-10-27 17:28:54 -0400
|
|
Branch: REL_10_STABLE [ddde3b4f3] 2017-10-27 17:10:21 -0400
|
|
Branch: REL9_6_STABLE [7e5e8b36d] 2017-10-27 17:10:21 -0400
|
|
Branch: REL9_5_STABLE [acd3287e4] 2017-10-27 17:10:21 -0400
|
|
Branch: REL9_4_STABLE [66104119e] 2017-10-27 17:10:21 -0400
|
|
Branch: REL9_3_STABLE [9d15b8b36] 2017-10-27 17:10:21 -0400
|
|
Branch: REL9_2_STABLE [80e79718d] 2017-10-27 17:10:21 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d76886c2d] 2017-10-27 18:16:24 -0400
|
|
Branch: REL_10_STABLE [291a31c42] 2017-10-27 18:16:25 -0400
|
|
Branch: REL9_6_STABLE [21daada10] 2017-10-27 18:16:25 -0400
|
|
Branch: REL9_5_STABLE [1f81c2cd5] 2017-10-27 18:16:25 -0400
|
|
Branch: REL9_4_STABLE [d01d97c25] 2017-10-27 18:16:25 -0400
|
|
Branch: REL9_3_STABLE [e06b9e9dc] 2017-10-27 18:16:25 -0400
|
|
Branch: REL9_2_STABLE [a4c11c103] 2017-10-27 18:16:25 -0400
|
|
-->
|
|
<para>
|
|
Fix corner-case crashes when columns have been added to the end of a
|
|
view (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f3ea3e3e8] 2017-10-23 13:57:45 -0400
|
|
Branch: REL_10_STABLE [df4aa6e4e] 2017-10-23 13:57:45 -0400
|
|
Branch: REL9_6_STABLE [285b850d5] 2017-10-23 13:57:45 -0400
|
|
Branch: REL9_5_STABLE [aa0518301] 2017-10-23 13:57:45 -0400
|
|
Branch: REL9_4_STABLE [d8a3be52f] 2017-10-23 13:57:45 -0400
|
|
Branch: REL9_3_STABLE [dde99de11] 2017-10-23 13:57:46 -0400
|
|
Branch: REL9_2_STABLE [900a9fd64] 2017-10-23 13:57:46 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [6784d7a1d] 2017-10-27 12:19:09 -0400
|
|
Branch: REL_10_STABLE [8be102242] 2017-10-27 12:19:11 -0400
|
|
Branch: REL9_6_STABLE [cf0331a54] 2017-10-27 12:18:57 -0400
|
|
Branch: REL9_5_STABLE [37fb01cb0] 2017-10-27 12:18:57 -0400
|
|
Branch: REL9_4_STABLE [376ac922d] 2017-10-27 12:18:57 -0400
|
|
Branch: REL9_3_STABLE [be203c36a] 2017-10-27 12:18:57 -0400
|
|
Branch: REL9_2_STABLE [adcfa7bd1] 2017-10-27 12:18:57 -0400
|
|
-->
|
|
<para>
|
|
Record proper dependencies when a view or rule
|
|
contains <structname>FieldSelect</structname>
|
|
or <structname>FieldStore</structname> expression nodes (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Lack of these dependencies could allow a column or data
|
|
type <command>DROP</command> to go through when it ought to fail,
|
|
thereby causing later uses of the view or rule to get errors.
|
|
This patch does not do anything to protect existing views/rules,
|
|
only ones created in the future.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [36ea99c84] 2017-10-20 17:12:27 -0400
|
|
Branch: REL_10_STABLE [7a5f8de55] 2017-10-20 17:12:27 -0400
|
|
Branch: REL9_6_STABLE [b1752c3a7] 2017-10-20 17:12:27 -0400
|
|
Branch: REL9_5_STABLE [63fbc51e3] 2017-10-20 17:12:27 -0400
|
|
Branch: REL9_4_STABLE [d1ced6114] 2017-10-20 17:12:27 -0400
|
|
Branch: REL9_3_STABLE [7c70a129e] 2017-10-20 17:12:27 -0400
|
|
Branch: REL9_2_STABLE [0270ad1f7] 2017-10-20 17:12:28 -0400
|
|
-->
|
|
<para>
|
|
Correctly detect hashability of range data types (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The planner mistakenly assumed that any range type could be hashed
|
|
for use in hash joins or hash aggregation, but actually it must check
|
|
whether the range's subtype has hash support. This does not affect any
|
|
of the built-in range types, since they're all hashable anyway.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [e9ef11ac8] 2017-10-12 17:23:47 +0200
|
|
Branch: REL_10_STABLE [a01a3d931] 2017-10-12 17:32:48 +0200
|
|
-->
|
|
<para>
|
|
Correctly ignore <structname>RelabelType</structname> expression nodes
|
|
when examining functional-dependency statistics (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
This allows, e.g., extended statistics on <type>varchar</type> columns
|
|
to be used properly.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [52328727b] 2017-10-11 22:18:10 -0400
|
|
Branch: REL_10_STABLE [604723d29] 2017-10-11 22:18:01 -0400
|
|
Branch: REL9_6_STABLE [96cfc7e19] 2017-10-11 22:18:01 -0400
|
|
-->
|
|
<para>
|
|
Prevent sharing transition states between ordered-set aggregates
|
|
(David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
This causes a crash with the built-in ordered-set aggregates, and
|
|
probably with user-written ones as well. v11 and later will include
|
|
provisions for dealing with such cases safely, but in released
|
|
branches, just disable the optimization.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [f67661665] 2017-10-11 14:02:41 -0700
|
|
Branch: REL_10_STABLE [61ace8fe7] 2017-10-11 14:02:41 -0700
|
|
Branch: REL9_6_STABLE [0da46d75e] 2017-10-11 14:02:41 -0700
|
|
-->
|
|
<para>
|
|
Prevent <varname>idle_in_transaction_session_timeout</varname> from
|
|
being ignored when a <varname>statement_timeout</varname> occurred
|
|
earlier (Lukas Fittl)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [118e99c3d] 2017-10-11 14:28:33 -0400
|
|
Branch: REL_10_STABLE [f4cdf781a] 2017-10-11 14:28:33 -0400
|
|
Branch: REL9_6_STABLE [36c687a22] 2017-10-11 14:28:33 -0400
|
|
Branch: REL9_5_STABLE [69bc245d9] 2017-10-11 14:28:33 -0400
|
|
Branch: REL9_4_STABLE [0e84f7075] 2017-10-11 14:28:33 -0400
|
|
Branch: REL9_3_STABLE [7573d122f] 2017-10-11 14:28:33 -0400
|
|
Branch: REL9_2_STABLE [525b09ada] 2017-10-11 14:28:34 -0400
|
|
-->
|
|
<para>
|
|
Fix low-probability loss of <command>NOTIFY</command> messages due to
|
|
XID wraparound (Marko Tiikkaja, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If a session executed no queries, but merely listened for
|
|
notifications, for more than 2 billion transactions, it started to miss
|
|
some notifications from concurrently-committing transactions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [643c27e36] 2017-10-08 15:25:26 -0400
|
|
Branch: REL_10_STABLE [c3723317d] 2017-10-08 15:25:26 -0400
|
|
Branch: REL9_6_STABLE [13a8924ec] 2017-10-08 15:25:26 -0400
|
|
-->
|
|
<para>
|
|
Reduce the frequency of data flush requests during bulk file copies to
|
|
avoid performance problems on macOS, particularly with its new APFS
|
|
file system (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [bab3a714b] 2017-11-05 09:25:52 -0800
|
|
Branch: REL_10_STABLE [2168f37c4] 2017-11-05 09:25:59 -0800
|
|
Branch: REL9_6_STABLE [1cac62dac] 2017-11-05 09:26:28 -0800
|
|
Branch: REL9_5_STABLE [7932891ab] 2017-11-05 09:26:43 -0800
|
|
Branch: REL9_4_STABLE [2a2e2e85e] 2017-11-05 09:26:47 -0800
|
|
-->
|
|
<para>
|
|
Allow <command>COPY</command>'s <literal>FREEZE</literal> option to
|
|
work when the transaction isolation level is <literal>REPEATABLE
|
|
READ</literal> or higher (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
This case was unintentionally broken by a previous bug fix.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [305cf1fd7] 2017-10-12 15:20:16 -0400
|
|
Branch: REL_10_STABLE [d48bf6a94] 2017-10-12 15:20:04 -0400
|
|
Branch: REL9_6_STABLE [aa1e9b3a4] 2017-10-12 15:20:04 -0400
|
|
-->
|
|
<para>
|
|
Fix <function>AggGetAggref()</function> to return the
|
|
correct <structname>Aggref</structname> nodes to aggregate final
|
|
functions whose transition calculations have been merged (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [080351466] 2017-10-31 13:40:23 -0400
|
|
Branch: REL_10_STABLE [9cf2b854a] 2017-10-31 13:40:23 -0400
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [51f4d3ed7] 2017-11-01 19:16:14 -0700
|
|
Branch: REL_10_STABLE [f4e13963c] 2017-11-01 19:16:17 -0700
|
|
-->
|
|
<para>
|
|
Fix insufficient schema-qualification in some new queries
|
|
in <application>pg_dump</application>
|
|
and <application>psql</application>
|
|
(Vitaly Burovoy, Tom Lane, Noah Misch)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [471d55859] 2017-10-22 16:45:16 -0400
|
|
Branch: REL_10_STABLE [852e3224e] 2017-10-22 16:45:26 -0400
|
|
-->
|
|
<para>
|
|
Avoid use of <literal>@></literal> operator
|
|
in <application>psql</application>'s queries for <command>\d</command>
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents problems when the <application>parray_gin</application>
|
|
extension is installed, since that defines a conflicting operator.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: master [067a2259f] 2017-11-01 10:20:05 -0400
|
|
Branch: REL_10_STABLE [dd12b5307] 2017-11-01 21:41:45 -0400
|
|
Branch: REL9_6_STABLE [4ba0ffaae] 2017-11-01 21:44:55 -0400
|
|
Branch: REL9_5_STABLE [3064f0e25] 2017-11-01 21:45:11 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>pg_basebackup</application>'s matching of tablespace
|
|
paths to canonicalize both paths before comparing (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This is particularly helpful on Windows.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [db6986f47] 2017-10-25 19:32:24 -0400
|
|
Branch: REL_10_STABLE [51e9fffba] 2017-10-25 19:32:24 -0400
|
|
Branch: REL9_6_STABLE [7dc66a2f6] 2017-10-25 19:32:24 -0400
|
|
Branch: REL9_5_STABLE [ee02c1c89] 2017-10-25 19:32:24 -0400
|
|
Branch: REL9_4_STABLE [9f7afb25b] 2017-10-25 19:32:24 -0400
|
|
Branch: REL9_3_STABLE [6dd7a1207] 2017-10-25 19:32:24 -0400
|
|
Branch: REL9_2_STABLE [caeae886e] 2017-10-25 19:32:25 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>libpq</application> to not require user's home
|
|
directory to exist (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
In v10, failure to find the home directory while trying to
|
|
read <filename>~/.pgpass</filename> was treated as a hard error,
|
|
but it should just cause that file to not be found. Both v10 and
|
|
previous release branches made the same mistake when
|
|
reading <filename>~/.pg_service.conf</filename>, though this was less
|
|
obvious since that file is not sought unless a service name is
|
|
specified.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Meskes <meskes@postgresql.org>
|
|
Branch: master [0af98a95c] 2017-10-26 10:16:04 +0200
|
|
Branch: REL_10_STABLE [65ba1b5c2] 2017-10-26 10:39:37 +0200
|
|
Branch: REL9_6_STABLE [41753604b] 2017-10-26 10:39:46 +0200
|
|
Branch: REL9_5_STABLE [9b01a21fc] 2017-10-26 10:39:54 +0200
|
|
Branch: REL9_4_STABLE [c6a396888] 2017-10-26 10:40:03 +0200
|
|
-->
|
|
<para>
|
|
In ecpglib, correctly handle backslashes in string literals depending
|
|
on whether <varname>standard_conforming_strings</varname> is set
|
|
(Tsunakawa Takayuki)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Meskes <meskes@postgresql.org>
|
|
Branch: master [63d6b97fd] 2017-11-01 13:32:18 +0100
|
|
Branch: REL_10_STABLE [e4381c039] 2017-11-01 13:40:27 +0100
|
|
Branch: REL9_6_STABLE [e0ec1cbff] 2017-11-01 13:40:50 +0100
|
|
Branch: REL9_5_STABLE [d2e6bd13a] 2017-11-01 13:41:00 +0100
|
|
Branch: REL9_4_STABLE [18647e21d] 2017-11-01 13:41:12 +0100
|
|
Branch: REL9_3_STABLE [d64a4d368] 2017-11-01 13:41:21 +0100
|
|
Author: Michael Meskes <meskes@postgresql.org>
|
|
Branch: master [6976a4f05] 2017-11-02 20:49:47 +0100
|
|
Branch: REL_10_STABLE [ee46980a7] 2017-11-02 20:51:00 +0100
|
|
Branch: REL9_6_STABLE [049dab009] 2017-11-02 20:51:13 +0100
|
|
Branch: REL9_5_STABLE [b6d95939e] 2017-11-02 20:51:23 +0100
|
|
Branch: REL9_4_STABLE [ad24e7bc2] 2017-11-02 20:51:34 +0100
|
|
Branch: REL9_3_STABLE [7a35507ac] 2017-11-02 20:51:44 +0100
|
|
Author: Michael Meskes <meskes@postgresql.org>
|
|
Branch: master [7164991ca] 2017-11-03 11:15:14 +0100
|
|
Branch: REL_10_STABLE [c63568b06] 2017-11-03 12:41:39 +0100
|
|
Branch: REL9_6_STABLE [6cf68e223] 2017-11-03 12:41:23 +0100
|
|
Branch: REL9_5_STABLE [90d61bd1d] 2017-11-03 12:41:11 +0100
|
|
Branch: REL9_4_STABLE [946f16518] 2017-11-03 12:40:54 +0100
|
|
Branch: REL9_3_STABLE [deb429b51] 2017-11-03 12:40:42 +0100
|
|
-->
|
|
<para>
|
|
Make ecpglib's Informix-compatibility mode ignore fractional digits in
|
|
integer input strings, as expected (Gao Zengqi, Michael Meskes)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [c66b438db] 2017-11-05 18:51:08 -0800
|
|
Branch: REL_10_STABLE [937f67800] 2017-11-05 18:51:15 -0800
|
|
Branch: REL9_6_STABLE [971983f42] 2017-11-05 18:52:38 -0800
|
|
Branch: REL9_5_STABLE [014c5cd87] 2017-11-05 18:54:52 -0800
|
|
-->
|
|
<para>
|
|
Fix missing temp-install prerequisites
|
|
for <literal>check</literal>-like Make targets (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
Some non-default test procedures that are meant to work
|
|
like <literal>make check</literal> failed to ensure that the temporary
|
|
installation was up to date.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8df4ce1ea] 2017-10-23 18:15:36 -0400
|
|
Branch: REL_10_STABLE [0cde56247] 2017-10-23 18:15:42 -0400
|
|
Branch: REL9_6_STABLE [fae550e52] 2017-10-23 18:15:47 -0400
|
|
Branch: REL9_5_STABLE [1e57d85cd] 2017-10-23 18:15:51 -0400
|
|
Branch: REL9_4_STABLE [ba67fac85] 2017-10-23 18:15:56 -0400
|
|
Branch: REL9_3_STABLE [da82bb1d8] 2017-10-23 18:16:00 -0400
|
|
Branch: REL9_2_STABLE [7e8d84c36] 2017-10-23 18:16:04 -0400
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2017c for DST law changes in Fiji, Namibia, Northern Cyprus,
|
|
Sudan, Tonga, and Turks & Caicos Islands, plus historical
|
|
corrections for Alaska, Apia, Burma, Calcutta, Detroit, Ireland,
|
|
Namibia, and Pago Pago.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
Branch: master [49df45acd] 2017-11-03 14:14:02 -0400
|
|
Branch: REL_10_STABLE [5159626af] 2017-11-03 14:14:16 -0400
|
|
-->
|
|
<para>
|
|
In the documentation, restore HTML anchors to being upper-case strings
|
|
(Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Due to a toolchain change, the 10.0 user manual had lower-case strings
|
|
for intrapage anchors, thus breaking some external links into our
|
|
website documentation. Return to our previous convention of using
|
|
upper-case strings.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-10">
|
|
<title>Release 10</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2017-10-05</para>
|
|
</formalpara>
|
|
|
|
<sect2>
|
|
<title>Overview</title>
|
|
|
|
<para>
|
|
Major enhancements in <productname>PostgreSQL</productname> 10 include:
|
|
</para>
|
|
|
|
<!-- Items in this list summarize one or more items below -->
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para>Logical replication using publish/subscribe</para></listitem>
|
|
<listitem><para>Declarative table partitioning</para></listitem>
|
|
<listitem><para>Improved query parallelism</para></listitem>
|
|
<listitem><para>Significant general performance improvements</para></listitem>
|
|
<listitem><para>Stronger password authentication based on SCRAM-SHA-256</para></listitem>
|
|
<listitem><para>Improved monitoring and control</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
The above items are explained in more detail in the sections below.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
|
|
<title>Migration to Version 10</title>
|
|
|
|
<para>
|
|
A dump/restore using <xref linkend="app-pg-dumpall"/>, or use of <xref
|
|
linkend="pgupgrade"/>, is required for those wishing to migrate data
|
|
from any previous release.
|
|
</para>
|
|
|
|
<para>
|
|
Version 10 contains a number of changes that may affect compatibility
|
|
with previous releases. Observe the following incompatibilities:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-03 [ea69a0dea] Expand hash indexes more gradually.
|
|
2017-05-19 [a95410e2e] pg_upgrade: Handle hash index upgrades more smoothly.
|
|
2017-08-04 [620b49a16] hash: Increase the number of possible overflow bitmaps b
|
|
-->
|
|
<para>
|
|
Hash indexes must be rebuilt after <application>pg_upgrade</application>-ing
|
|
from any previous major <productname>PostgreSQL</productname> version (Mithun
|
|
Cy, Robert Haas, Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
Major hash index improvements necessitated this requirement.
|
|
<application>pg_upgrade</application> will create a script to assist with this.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-20 [f82ec32ac] Rename "pg_xlog" directory to "pg_wal"
|
|
2017-03-17 [88e66d193] Rename "pg_clog" directory to "pg_xact".
|
|
-->
|
|
<para>
|
|
Rename write-ahead log directory <filename>pg_xlog</filename>
|
|
to <link linkend="wal"><filename>pg_wal</filename></link>, and rename transaction
|
|
status directory <filename>pg_clog</filename> to <filename>pg_xact</filename>
|
|
(Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Users have occasionally thought that these directories contained only
|
|
inessential log files, and proceeded to remove write-ahead log files
|
|
or transaction status files manually, causing irrecoverable data
|
|
loss. These name changes are intended to discourage such errors in
|
|
future.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-09 [806091c96] Remove all references to "xlog" from SQL-callable functi
|
|
2017-02-09 [85c11324c] Rename user-facing tools with "xlog" in the name to say
|
|
2017-02-09 [62e8b3875] Rename command line options for ongoing xlog -> wal conv
|
|
2017-02-15 [0dfa89ba2] Replace reference to "xlog-method" with "wal-method" in
|
|
-->
|
|
<para>
|
|
Rename <acronym>SQL</acronym> functions, tools, and options that reference
|
|
<quote>xlog</quote> to <quote>wal</quote> (Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
For example, <function>pg_switch_xlog()</function> becomes
|
|
<function>pg_switch_wal()</function>, <application>pg_receivexlog</application>
|
|
becomes <application>pg_receivewal</application>, and <option>--xlogdir</option>
|
|
becomes <option>--waldir</option>. This is for consistency with the
|
|
change of the <filename>pg_xlog</filename> directory name; in general,
|
|
the <quote>xlog</quote> terminology is no longer used in any user-facing
|
|
places.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-05-11 [d10c626de] Rename WAL-related functions and views to use "lsn" not
|
|
-->
|
|
<para>
|
|
Rename <acronym>WAL</acronym>-related functions and views to use <literal>lsn</literal>
|
|
instead of <literal>location</literal> (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
There was previously an inconsistent mixture of the two terminologies.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-16 [d43a619c6] Fix check_srf_call_placement() to handle VALUES cases co
|
|
2017-01-18 [69f4b9c85] Move targetlist SRF handling from expression evaluation
|
|
2017-01-18 [f13a1277a] Doc: improve documentation of new SRF-in-tlist behavior.
|
|
2017-06-13 [0436f6bde] Disallow set-returning functions inside CASE or COALESCE
|
|
-->
|
|
<para>
|
|
Change the implementation of set-returning functions appearing in
|
|
a query's <literal>SELECT</literal> list (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
Set-returning functions are now evaluated before evaluation of scalar
|
|
expressions in the <literal>SELECT</literal> list, much as though they had
|
|
been placed in a <literal>LATERAL FROM</literal>-clause item. This allows
|
|
saner semantics for cases where multiple set-returning functions are
|
|
present. If they return different numbers of rows, the shorter results
|
|
are extended to match the longest result by adding nulls. Previously
|
|
the results were cycled until they all terminated at the same time,
|
|
producing a number of rows equal to the least common multiple of the
|
|
functions' periods. In addition, set-returning functions are now
|
|
disallowed within <literal>CASE</literal> and <literal>COALESCE</literal> constructs.
|
|
For more information
|
|
see <xref linkend="xfunc-sql-functions-returning-set"/>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-22 [906bfcad7] Improve handling of "UPDATE ... SET (column_list) = row_
|
|
-->
|
|
<para>
|
|
Use standard row constructor syntax in <literal>UPDATE ... SET
|
|
(<replaceable>column_list</replaceable>) = <replaceable>row_constructor</replaceable></literal>
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The <replaceable>row_constructor</replaceable> can now begin with the
|
|
keyword <literal>ROW</literal>; previously that had to be omitted.
|
|
If just one column name appears in
|
|
the <replaceable>column_list</replaceable>, then
|
|
the <replaceable>row_constructor</replaceable> now must use
|
|
the <literal>ROW</literal> keyword, since otherwise it is not a valid
|
|
row constructor but just a parenthesized expression.
|
|
Also, an occurrence
|
|
of <literal><replaceable>table_name</replaceable>.*</literal> within
|
|
the <replaceable>row_constructor</replaceable> is now expanded into
|
|
multiple columns, as occurs in other uses
|
|
of <replaceable>row_constructor</replaceable>s.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-08-04 [c30f1770a] Apply ALTER ... SET NOT NULL recursively in ALTER ... AD
|
|
-->
|
|
<para>
|
|
When <command>ALTER TABLE ... ADD PRIMARY KEY</command> marks
|
|
columns <literal>NOT NULL</literal>, that change now propagates to
|
|
inheritance child tables as well (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-09-16 [54d4d0ff6] Fix SQL-spec incompatibilities in new transition table f
|
|
2017-09-17 [5cc234931] Ensure that BEFORE STATEMENT triggers fire the right num
|
|
-->
|
|
<para>
|
|
Prevent statement-level triggers from firing more than once per
|
|
statement (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Cases involving writable CTEs updating the same table updated by the
|
|
containing statement, or by another writable CTE, fired <literal>BEFORE
|
|
STATEMENT</literal> or <literal>AFTER STATEMENT</literal> triggers more than once.
|
|
Also, if there were statement-level triggers on a table affected by a
|
|
foreign key enforcement action (such as <literal>ON DELETE CASCADE</literal>),
|
|
they could fire more than once per outer SQL statement. This is
|
|
contrary to the SQL standard, so change it.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-12-20 [1753b1b02] Add pg_sequence system catalog
|
|
2016-11-18 [67dc4ccbb] Add pg_sequences view
|
|
2017-05-15 [f8dc1985f] Fix ALTER SEQUENCE locking
|
|
2017-06-01 [3d79013b9] Make ALTER SEQUENCE, including RESTART, fully transactio
|
|
2017-09-29 [5cc5987ce] psql: Update \d sequence display
|
|
-->
|
|
<para>
|
|
Move sequences' metadata fields into a new <link
|
|
linkend="catalog-pg-sequence"><structname>pg_sequence</structname></link>
|
|
system catalog (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
A sequence relation now stores only the fields that can be modified
|
|
by <function>nextval()</function>, that
|
|
is <structfield>last_value</structfield>, <structfield>log_cnt</structfield>,
|
|
and <structfield>is_called</structfield>. Other sequence properties, such as
|
|
the starting value and increment, are kept in a corresponding row of
|
|
the <structname>pg_sequence</structname> catalog.
|
|
<command>ALTER SEQUENCE</command> updates are now fully transactional,
|
|
implying that the sequence is locked until commit.
|
|
The <function>nextval()</function> and <function>setval()</function> functions
|
|
remain nontransactional.
|
|
</para>
|
|
|
|
<para>
|
|
The main incompatibility introduced by this change is that selecting
|
|
from a sequence relation now returns only the three fields named
|
|
above. To obtain the sequence's other properties, applications must
|
|
look into <structname>pg_sequence</structname>. The new system
|
|
view <link linkend="view-pg-sequences"><structname>pg_sequences</structname></link>
|
|
can also be used for this purpose; it provides column names that are
|
|
more compatible with existing code.
|
|
</para>
|
|
|
|
<para>
|
|
Also, sequences created for <literal>SERIAL</literal> columns now generate
|
|
positive 32-bit wide values, whereas previous versions generated 64-bit
|
|
wide values. This has no visible effect if the values are only stored in
|
|
a column.
|
|
</para>
|
|
|
|
<para>
|
|
The output of <application>psql</application>'s <command>\d</command> command for a
|
|
sequence has been redesigned, too.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-04 [9a4d51077] Make wal streaming the default mode for pg_basebackup
|
|
-->
|
|
<para>
|
|
Make <application><xref linkend="app-pgbasebackup"/></application> stream the
|
|
<acronym>WAL</acronym> needed to restore the backup by default (Magnus
|
|
Hagander)
|
|
</para>
|
|
|
|
<para>
|
|
This changes <application>pg_basebackup</application>'s
|
|
<option>-X</option>/<option>--wal-method</option> default to <literal>stream</literal>.
|
|
An option value <literal>none</literal> has been added to reproduce the old
|
|
behavior. The <application>pg_basebackup</application> option <option>-x</option>
|
|
has been removed (instead, use <literal>-X fetch</literal>).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-13 [8df9bd0b4] Change logical replication pg_hba.conf use
|
|
-->
|
|
<para>
|
|
Change how logical replication
|
|
uses <link linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>
|
|
(Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
In previous releases, a logical replication connection required
|
|
the <literal>replication</literal> keyword in the database column. As
|
|
of this release, logical replication matches a normal entry with a
|
|
database name or keywords such as <literal>all</literal>. Physical
|
|
replication continues to use the <literal>replication</literal> keyword.
|
|
Since built-in logical replication is new in this release, this
|
|
change only affects users of third-party logical replication plugins.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-14 [05cd12ed5] pg_ctl: Change default to wait for all actions
|
|
-->
|
|
<para>
|
|
Make all <application><xref linkend="app-pg-ctl"/></application> actions wait
|
|
for completion by default (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Previously some <application>pg_ctl</application> actions didn't wait for
|
|
completion, and required the use of <option>-w</option> to do so.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-27 [3371e4d9b] Change default of log_directory to 'log'
|
|
-->
|
|
<para>
|
|
Change the default value of the <xref linkend="guc-log-directory"/>
|
|
server parameter from <filename>pg_log</filename> to <filename>log</filename>
|
|
(Andreas Karlsson)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-07-31 [c0a15e07c] Always use 2048 bit DH parameters for OpenSSL ephemeral
|
|
-->
|
|
<para>
|
|
Add configuration option <xref linkend="guc-ssl-dh-params-file"/> to
|
|
specify file name for custom OpenSSL DH parameters (Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
This replaces the hardcoded, undocumented file
|
|
name <filename>dh1024.pem</filename>. Note that <filename>dh1024.pem</filename> is
|
|
no longer examined by default; you must set this option if you want
|
|
to use custom DH parameters.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-07-31 [c0a15e07c] Always use 2048 bit DH parameters for OpenSSL ephemeral
|
|
-->
|
|
<para>
|
|
Increase the size of the default DH parameters used for OpenSSL
|
|
ephemeral DH ciphers to 2048 bits (Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
The size of the compiled-in DH parameters has been increased from
|
|
1024 to 2048 bits, making DH key exchange more resistant to
|
|
brute-force attacks. However, some old SSL implementations, notably
|
|
some revisions of Java Runtime Environment version 6, will not accept
|
|
DH parameters longer than 1024 bits, and hence will not be able to
|
|
connect over SSL. If it's necessary to support such old clients, you
|
|
can use custom 1024-bit DH parameters instead of the compiled-in
|
|
defaults. See <xref linkend="guc-ssl-dh-params-file"/>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-05-08 [eb61136dc] Remove support for password_encryption='off' / 'plain'.
|
|
-->
|
|
<para>
|
|
Remove the ability to store unencrypted passwords on the server
|
|
(Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
The <xref linkend="guc-password-encryption"/> server parameter
|
|
no longer supports <literal>off</literal> or <literal>plain</literal>.
|
|
The <literal>UNENCRYPTED</literal> option is no longer supported in
|
|
<command>CREATE/ALTER USER ... PASSWORD</command>. Similarly, the
|
|
<option>--unencrypted</option> option has been removed
|
|
from <application>createuser</application>. Unencrypted passwords migrated from
|
|
older versions will be stored encrypted in this release. The default
|
|
setting for <varname>password_encryption</varname> is still
|
|
<literal>md5</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-15 [51ee6f316] Replace min_parallel_relation_size with two new GUCs.
|
|
-->
|
|
<para>
|
|
Add <xref linkend="guc-min-parallel-table-scan-size"/>
|
|
and <xref linkend="guc-min-parallel-index-scan-size"/> server
|
|
parameters to control parallel queries (Amit Kapila, Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
These replace <varname>min_parallel_relation_size</varname>, which was
|
|
found to be too generic.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-06-20 [a69dfe5f4] Don't downcase entries within shared_preload_libraries e
|
|
-->
|
|
<para>
|
|
Don't downcase unquoted text
|
|
within <xref linkend="guc-shared-preload-libraries"/> and related
|
|
server parameters (QL Zhuo)
|
|
</para>
|
|
|
|
<para>
|
|
These settings are really lists of file names, but they were
|
|
previously treated as lists of SQL identifiers, which have different
|
|
parsing rules.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-12-23 [e13486eba] Remove sql_inheritance GUC.
|
|
-->
|
|
<para>
|
|
Remove <varname>sql_inheritance</varname> server parameter (Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
Changing this setting from the default value caused queries referencing
|
|
parent tables to not include child tables. The <acronym>SQL</acronym>
|
|
standard requires them to be included, however, and this has been the
|
|
default since <productname>PostgreSQL</productname> 7.1.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-26 [94aceed31] Support multi-dimensional arrays in PL/python.
|
|
2016-10-26 [cfd9c87a5] Only treat Python Lists as array dimensions.
|
|
-->
|
|
<para>
|
|
Allow multi-dimensional arrays to be passed into PL/Python functions,
|
|
and returned as nested Python lists (Alexey Grishchenko, Dave Cramer,
|
|
Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
This feature requires a backwards-incompatible change to the handling
|
|
of arrays of composite types in PL/Python. Previously, you could
|
|
return an array of composite values by writing, e.g., <literal>[[col1,
|
|
col2], [col1, col2]]</literal>; but now that is interpreted as a
|
|
two-dimensional array. Composite types in arrays must now be written
|
|
as Python tuples, not lists, to resolve the ambiguity; that is,
|
|
write <literal>[(col1, col2), (col1, col2)]</literal> instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-27 [817f2a586] Remove PL/Tcl's "module" facility.
|
|
-->
|
|
<para>
|
|
Remove PL/Tcl's <quote>module</quote> auto-loading facility (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This functionality has been replaced by new server
|
|
parameters <xref linkend="guc-pltcl-start-proc"/>
|
|
and <xref linkend="guc-pltclu-start-proc"/>, which are easier to use
|
|
and more similar to features available in other PLs.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-12 [64f3524e2] Remove pg_dump/pg_dumpall support for dumping from pre-8
|
|
-->
|
|
<para>
|
|
Remove <application>pg_dump</application>/<application>pg_dumpall</application> support
|
|
for dumping from pre-8.0 servers (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Users needing to dump from pre-8.0 servers will need to use dump
|
|
programs from <productname>PostgreSQL</productname> 9.6 or earlier. The
|
|
resulting output should still load successfully into newer servers.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-23 [b6aa17e0a] De-support floating-point timestamps.
|
|
-->
|
|
<para>
|
|
Remove support for floating-point timestamps and intervals (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This removes configure's <option>--disable-integer-datetimes</option>
|
|
option. Floating-point timestamps have few advantages and have not
|
|
been the default since <productname>PostgreSQL</productname> 8.3.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-11 [2f1eaf87e] Drop server support for FE/BE protocol version 1.0.
|
|
-->
|
|
<para>
|
|
Remove server support for client/server protocol version 1.0 (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This protocol hasn't had client support
|
|
since <productname>PostgreSQL</productname> 6.3.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-13 [7ada2d31f] Remove contrib/tsearch2.
|
|
-->
|
|
<para>
|
|
Remove <filename>contrib/tsearch2</filename> module (Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
This module provided compatibility with the version of full text
|
|
search that shipped in pre-8.3 <productname>PostgreSQL</productname> releases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-23 [50c956add] Remove createlang and droplang
|
|
-->
|
|
<para>
|
|
Remove <application>createlang</application> and <application>droplang</application>
|
|
command-line applications (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
These had been deprecated since <productname>PostgreSQL</productname> 9.1.
|
|
Instead, use <command>CREATE EXTENSION</command> and <command>DROP
|
|
EXTENSION</command> directly.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-30 [5ded4bd21] Remove support for version-0 calling conventions.
|
|
-->
|
|
<para>
|
|
Remove support for version-0 function calling conventions (Andres
|
|
Freund)
|
|
</para>
|
|
|
|
<para>
|
|
Extensions providing C-coded functions must now conform to version 1
|
|
calling conventions. Version 0 has been deprecated since 2001.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<para>
|
|
Below you will find a detailed account of the changes between
|
|
<productname>PostgreSQL</productname> 10 and the previous major
|
|
release.
|
|
</para>
|
|
|
|
<sect3>
|
|
<title>Server</title>
|
|
|
|
<sect4>
|
|
<title>Parallel Queries</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-15 [569174f1b] btree: Support parallel index scans.
|
|
2017-02-15 [5262f7a4f] Add optimizer and executor support for parallel index sc
|
|
2017-02-19 [0414b26ba] Add optimizer and executor support for parallel index-on
|
|
-->
|
|
<para>
|
|
Support parallel B-tree index scans (Rahila Syed, Amit Kapila,
|
|
Robert Haas, Rafia Sabih)
|
|
</para>
|
|
|
|
<para>
|
|
This change allows B-tree index pages to be searched by separate
|
|
parallel workers.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-08 [98e6e8904] tidbitmap: Support shared iteration.
|
|
2017-03-08 [f35742ccb] Support parallel bitmap heap scans.
|
|
-->
|
|
<para>
|
|
Support parallel bitmap heap scans (Dilip Kumar)
|
|
</para>
|
|
|
|
<para>
|
|
This allows a single index scan to dispatch parallel workers to
|
|
process different areas of the heap.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-07 [3bc7dafa9] Consider parallel merge joins.
|
|
-->
|
|
<para>
|
|
Allow merge joins to be performed in parallel (Dilip Kumar)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-14 [5e6d8d2bb] Allow parallel workers to execute subplans.
|
|
-->
|
|
<para>
|
|
Allow non-correlated subqueries to be run in parallel (Amit Kapila)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-09 [355d3993c] Add a Gather Merge executor node.
|
|
-->
|
|
<para>
|
|
Improve ability of parallel workers to return pre-sorted data
|
|
(Rushabh Lathia)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-24 [61c2e1a95] Improve access to parallel query from procedural languag
|
|
-->
|
|
<para>
|
|
Increase parallel query usage in procedural language functions
|
|
(Robert Haas, Rafia Sabih)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-12-02 [b460f5d66] Add max_parallel_workers GUC.
|
|
2016-12-05 [2b959d495] Reduce the default for max_worker_processes back to 8.
|
|
-->
|
|
<para>
|
|
Add <xref linkend="guc-max-parallel-workers"/> server parameter
|
|
to limit the number of worker processes that can be used for
|
|
query parallelism (Julien Rouhaud)
|
|
</para>
|
|
|
|
<para>
|
|
This parameter can be set lower than <xref
|
|
linkend="guc-max-worker-processes"/> to reserve worker processes
|
|
for purposes other than parallel queries.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
This was disabled in the PG 9.6 branch so there is no commit here.
|
|
-->
|
|
<para>
|
|
Enable parallelism by default by changing the default setting
|
|
of <xref linkend="guc-max-parallel-workers-per-gather"/> to
|
|
<literal>2</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Indexes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-27 [30df93f69] hash: Refactor overflow page allocation.
|
|
2017-03-14 [c11453ce0] hash: Add write-ahead logging support.
|
|
2017-02-27 [b0f18cb77] hash: Refactor bucket squeeze code.
|
|
-->
|
|
<para>
|
|
Add write-ahead logging support to hash indexes (Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
This makes hash indexes crash-safe and replicatable.
|
|
The former warning message about their use is removed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-30 [6d46f4783] Improve hash index bucket split behavior.
|
|
2017-02-07 [293e24e50] Cache hash index's metapage in rel->rd_amcache.
|
|
2017-03-15 [6977b8b7f] Port single-page btree vacuum logic to hash indexes.
|
|
2017-04-03 [ea69a0dea] Expand hash indexes more gradually.
|
|
2017-08-04 [620b49a16] hash: Increase the number of possible overflow bitmaps b
|
|
-->
|
|
<para>
|
|
Improve hash index performance (Amit Kapila, Mithun Cy, Ashutosh
|
|
Sharma)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-08-23 [77e290682] Create an SP-GiST opclass for inet/cidr.
|
|
-->
|
|
<para>
|
|
Add <acronym>SP-GiST</acronym> index support for <type>INET</type> and
|
|
<type>CIDR</type> data types (Emre Hasegeli)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-01 [7526e1022] BRIN auto-summarization
|
|
-->
|
|
<para>
|
|
Add option to allow <acronym>BRIN</acronym> index summarization to happen
|
|
more aggressively (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
A new <link linkend="sql-createindex"><command>CREATE
|
|
INDEX</command></link> option enables auto-summarization of the
|
|
previous <acronym>BRIN</acronym> page range when a new page
|
|
range is created.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-01 [c655899ba] BRIN de-summarization
|
|
-->
|
|
<para>
|
|
Add functions to remove and re-add <acronym>BRIN</acronym>
|
|
summarization for <acronym>BRIN</acronym> index ranges (Álvaro
|
|
Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
The new <acronym>SQL</acronym> function <link
|
|
linkend="functions-admin-index-table"><function>brin_summarize_range()</function></link>
|
|
updates <acronym>BRIN</acronym> index summarization for a specified
|
|
range and <function>brin_desummarize_range()</function> removes it.
|
|
This is helpful to update summarization of a range that is now
|
|
smaller due to <command>UPDATE</command>s and <command>DELETE</command>s.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-06 [7e534adcd] Fix BRIN cost estimation
|
|
-->
|
|
<para>
|
|
Improve accuracy in determining if a <acronym>BRIN</acronym> index scan
|
|
is beneficial (David Rowley, Emre Hasegeli)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-09 [b1328d78f] Invent PageIndexTupleOverwrite, and teach BRIN and GiST
|
|
-->
|
|
<para>
|
|
Allow faster <acronym>GiST</acronym> inserts and updates by reusing
|
|
index space more efficiently (Andrey Borodin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-23 [218f51584] Reduce page locking in GIN vacuum
|
|
-->
|
|
<para>
|
|
Reduce page locking during vacuuming of <acronym>GIN</acronym> indexes
|
|
(Andrey Borodin)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
|
|
<title>Locking</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-06 [21d4e2e20] Reduce lock levels for table storage params related to p
|
|
2017-04-05 [68ea2b7f9] Reduce lock level for CREATE STATISTICS
|
|
-->
|
|
<para>
|
|
Reduce locking required to change table parameters (Simon Riggs,
|
|
Fabrízio Mello)
|
|
</para>
|
|
|
|
<para>
|
|
For example, changing a table's <xref
|
|
linkend="guc-effective-io-concurrency"/> setting can now be done
|
|
with a more lightweight lock.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-07 [c63172d60] Add GUCs for predicate lock promotion thresholds.
|
|
-->
|
|
<para>
|
|
Allow tuning of predicate lock promotion thresholds (Dagfinn
|
|
Ilmari Mannsåker)
|
|
</para>
|
|
|
|
<para>
|
|
Lock promotion can now be controlled through two new server
|
|
parameters, <xref
|
|
linkend="guc-max-pred-locks-per-relation"/> and
|
|
<xref linkend="guc-max-pred-locks-per-page"/>.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Optimizer</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-24 [7b504eb28] Implement multivariate n-distinct coefficients
|
|
2017-04-05 [2686ee1b7] Collect and use multi-column dependency stats
|
|
2017-05-12 [bc085205c] Change CREATE STATISTICS syntax
|
|
-->
|
|
<para>
|
|
Add multi-column optimizer statistics to compute the correlation
|
|
ratio and number of distinct values (Tomas Vondra, David Rowley,
|
|
Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
New commands are <link
|
|
linkend="sql-createstatistics"><command>CREATE STATISTICS</command></link>,
|
|
<link linkend="sql-alterstatistics"><command>ALTER STATISTICS</command></link>, and
|
|
<link linkend="sql-dropstatistics"><command>DROP STATISTICS</command></link>.
|
|
This feature is helpful in estimating query memory usage and when
|
|
combining the statistics from individual columns.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-18 [215b43cdc] Improve RLS planning by marking individual quals with se
|
|
-->
|
|
<para>
|
|
Improve performance of queries affected by row-level security
|
|
restrictions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The optimizer now has more knowledge about where it can place RLS
|
|
filter conditions, allowing better plans to be generated while still
|
|
enforcing the RLS conditions safely.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>General Performance</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-02 [9cca11c91] Speed up SUM calculation in numeric aggregates.
|
|
-->
|
|
<para>
|
|
Speed up aggregate functions that calculate a running sum
|
|
using <type>numeric</type>-type arithmetic, including some variants
|
|
of <function>SUM()</function>, <function>AVG()</function>,
|
|
and <function>STDDEV()</function> (Heikki Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-13 [aeed17d00] Use radix tree for character encoding conversions.
|
|
-->
|
|
<para>
|
|
Improve performance of character encoding conversions by
|
|
using radix trees (Kyotaro Horiguchi, Heikki Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-25 [b8d7f053c] Faster expression evaluation and targetlist projection.
|
|
2017-07-30 [cc9f08b6b] Move ExecProcNode from dispatch to function pointer base
|
|
-->
|
|
<para>
|
|
Reduce expression evaluation overhead during query execution,
|
|
as well as plan node calling overhead (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
This is particularly helpful for queries that process many rows.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-27 [b5635948a] Support hashed aggregation with grouping sets.
|
|
-->
|
|
<para>
|
|
Allow hashed aggregation to be used with grouping sets (Andrew
|
|
Gierth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-07 [9c7f5229a] Optimize joins when the inner relation can be proven uni
|
|
2017-06-03 [23886581b] Fix old corner-case logic error in final_cost_nestloop()
|
|
-->
|
|
<para>
|
|
Use uniqueness guarantees to optimize certain join types (David
|
|
Rowley)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-29 [f90d23d0c] Implement SortSupport for macaddr data type
|
|
-->
|
|
<para>
|
|
Improve sort performance of the <type>macaddr</type> data type (Brandur Leach)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-27 [090010f2e] Improve performance of find_tabstat_entry()/get_tabstat_
|
|
-->
|
|
<para>
|
|
Reduce statistics tracking overhead in sessions that reference
|
|
many thousands of relations (Aleksander Alekseev)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Monitoring</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-08 [f9b1a0dd4] Expose explain's SUMMARY option
|
|
-->
|
|
<para>
|
|
Allow explicit control
|
|
over <link linkend="sql-explain"><command>EXPLAIN</command></link>'s display
|
|
of planning and execution time (Ashutosh Bapat)
|
|
</para>
|
|
|
|
<para>
|
|
By default planning and execution time are displayed by
|
|
<command>EXPLAIN ANALYZE</command> and are not displayed in other cases.
|
|
The new <command>EXPLAIN</command> option <literal>SUMMARY</literal> allows
|
|
explicit control of this.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-30 [25fff4079] Default monitoring roles
|
|
-->
|
|
<para>
|
|
Add default monitoring roles (Dave Page)
|
|
</para>
|
|
|
|
<para>
|
|
New roles <literal>pg_monitor</literal>, <literal>pg_read_all_settings</literal>,
|
|
<literal>pg_read_all_stats</literal>, and <literal>pg_stat_scan_tables</literal>
|
|
allow simplified permission configuration.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-18 [17f8ffa1e] Fix REFRESH MATERIALIZED VIEW to report activity to the
|
|
-->
|
|
<para>
|
|
Properly update the statistics collector during <link
|
|
linkend="sql-refreshmaterializedview"><command>REFRESH MATERIALIZED
|
|
VIEW</command></link> (Jim Mlodgenski)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<sect5>
|
|
<title>Logging</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-17 [7d3235ba4] By default, set log_line_prefix = '%m [%p] '.
|
|
-->
|
|
<para>
|
|
Change the default value of <xref linkend="guc-log-line-prefix"/>
|
|
to include current timestamp (with milliseconds) and the process ID
|
|
in each line of postmaster log output (Christoph Berg)
|
|
</para>
|
|
|
|
<para>
|
|
The previous default was an empty prefix.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-16 [befd73c50] Add pg_ls_logdir() and pg_ls_waldir() functions.
|
|
-->
|
|
<para>
|
|
Add functions to return the log and <acronym>WAL</acronym> directory
|
|
contents (Dave Page)
|
|
</para>
|
|
|
|
<para>
|
|
The new functions
|
|
are <link linkend="functions-admin-genfile-table"><function>pg_ls_logdir()</function></link>
|
|
and <link linkend="functions-admin-genfile-table"><function>pg_ls_waldir()</function></link>
|
|
and can be executed by non-superusers with the proper
|
|
permissions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-03 [19dc233c3] Add pg_current_logfile() function.
|
|
-->
|
|
<para>
|
|
Add function <link
|
|
linkend="functions-info-session-table"><function>pg_current_logfile()</function></link>
|
|
to read logging collector's current stderr and csvlog output file names
|
|
(Gilles Darold)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-10 [f9dfa5c97] Improve postmaster's logging of listen socket creation.
|
|
2017-03-14 [2b32ac2a5] Include port number when logging successful binding to a
|
|
-->
|
|
<para>
|
|
Report the address and port number of each listening socket
|
|
in the server log during postmaster startup (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Also, when logging failure to bind a listening socket, include
|
|
the specific address we attempted to bind to.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-10 [6ec4c8584] Reduce log verbosity of startup/shutdown for launcher su
|
|
-->
|
|
<para>
|
|
Reduce log chatter about the starting and stopping of launcher
|
|
subprocesses (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
These are now <literal>DEBUG1</literal>-level messages.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-17 [a43f1939d] Remove or reduce verbosity of some debug messages.
|
|
-->
|
|
<para>
|
|
Reduce message verbosity of lower-numbered debug levels
|
|
controlled by
|
|
<xref linkend="guc-log-min-messages"/> (Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
This also changes the verbosity of <xref
|
|
linkend="guc-client-min-messages"/> debug levels.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect5>
|
|
|
|
<sect5>
|
|
<title><link linkend="pg-stat-activity-view"><structname>pg_stat_activity</structname></link></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-04 [6f3bd98eb] Extend framework from commit 53be0b1ad to report latch w
|
|
2017-03-18 [249cf070e] Create and use wait events for read, write, and fsync op
|
|
-->
|
|
<para>
|
|
Add <structname>pg_stat_activity</structname> reporting of low-level wait
|
|
states (Michael Paquier, Robert Haas, Rushabh Lathia)
|
|
</para>
|
|
|
|
<para>
|
|
This change enables reporting of numerous low-level wait conditions,
|
|
including latch waits, file reads/writes/fsyncs, client reads/writes,
|
|
and synchronous replication.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-12 [fc3d4a44e] Identify walsenders in pg_stat_activity
|
|
2017-03-26 [fc70a4b0d] Show more processes in pg_stat_activity.
|
|
-->
|
|
<para>
|
|
Show auxiliary processes, background workers, and walsender
|
|
processes in <structname>pg_stat_activity</structname> (Kuntal Ghosh,
|
|
Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This simplifies monitoring. A new
|
|
column <structfield>backend_type</structfield> identifies the process type.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-22 [4c728f382] Pass the source text for a parallel query to the workers
|
|
-->
|
|
<para>
|
|
Allow <structname>pg_stat_activity</structname> to show the SQL query
|
|
being executed by parallel workers (Rafia Sabih)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-12-16 [3761fe3c2] Simplify LWLock tranche machinery by removing array_base
|
|
-->
|
|
<para>
|
|
Rename
|
|
<structname>pg_stat_activity</structname>.<structfield>wait_event_type</structfield>
|
|
values <literal>LWLockTranche</literal> and
|
|
<literal>LWLockNamed</literal> to <literal>LWLock</literal> (Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
This makes the output more consistent.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect5>
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title><acronym>Authentication</acronym></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-07 [818fd4a67] Support SCRAM-SHA-256 authentication (RFC 5802 and 7677)
|
|
2017-03-24 [7ac955b34] Allow SCRAM authentication, when pg_hba.conf says 'md5'.
|
|
2017-04-07 [60f11b87a] Use SASLprep to normalize passwords for SCRAM authentica
|
|
2017-04-18 [c727f120f] Rename "scram" to "scram-sha-256" in pg_hba.conf and pas
|
|
-->
|
|
<para>
|
|
Add <link linkend="auth-password">SCRAM-SHA-256</link>
|
|
support for password negotiation and storage (Michael Paquier,
|
|
Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
This provides better security than the existing <literal>md5</literal>
|
|
negotiation and storage method.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-28 [babe05bc2] Turn password_encryption GUC into an enum.
|
|
-->
|
|
<para>
|
|
Change the <xref linkend="guc-password-encryption"/> server parameter
|
|
from <type>boolean</type> to <type>enum</type> (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This was necessary to support additional password hashing options.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-30 [de16ab723] Invent pg_hba_file_rules view to show the content of pg_
|
|
-->
|
|
<para>
|
|
Add view <link
|
|
linkend="view-pg-hba-file-rules"><structname>pg_hba_file_rules</structname></link>
|
|
to display the contents of <filename>pg_hba.conf</filename> (Haribabu
|
|
Kommi)
|
|
</para>
|
|
|
|
<para>
|
|
This shows the file contents, not the currently active settings.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-22 [6b76f1bb5] Support multiple RADIUS servers
|
|
-->
|
|
<para>
|
|
Support multiple <acronym>RADIUS</acronym> servers (Magnus Hagander)
|
|
</para>
|
|
|
|
<para>
|
|
All the <acronym>RADIUS</acronym> related parameters are now plural and
|
|
support a comma-separated list of servers.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Server Configuration</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-02 [de41869b6] Allow SSL configuration to be updated at SIGHUP.
|
|
2017-01-03 [1e942c747] Disable prompting for passphrase while (re)loading SSL c
|
|
2017-01-04 [6667d9a6d] Re-allow SSL passphrase prompt at server start, but not
|
|
-->
|
|
<para>
|
|
Allow <acronym>SSL</acronym> configuration to be updated during
|
|
configuration reload (Andreas Karlsson, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This allows <acronym>SSL</acronym> to be reconfigured without a server
|
|
restart, by using <command>pg_ctl reload</command>, <command>SELECT
|
|
pg_reload_conf()</command>, or sending a <literal>SIGHUP</literal> signal.
|
|
However, reloading the <acronym>SSL</acronym> configuration does not work
|
|
if the server's <acronym>SSL</acronym> key requires a passphrase, as there
|
|
is no way to re-prompt for the passphrase. The original
|
|
configuration will apply for the life of the postmaster in that
|
|
case.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-02 [14ca9abfb] Increase upper bound for bgwriter_lru_maxpages.
|
|
-->
|
|
<para>
|
|
Make the maximum value of <xref
|
|
linkend="guc-bgwriter-lru-maxpages"/> effectively unlimited
|
|
(Jim Nasby)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Reliability</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-27 [1b02be21f] Fsync directory after creating or unlinking file.
|
|
-->
|
|
<para>
|
|
After creating or unlinking files, perform an fsync on their parent
|
|
directory (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This reduces the risk of data loss after a power failure.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<sect5>
|
|
<title><link linkend="wal">Write-Ahead Log</link> (<acronym>WAL</acronym>)</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-12-22 [6ef2eba3f] Skip checkpoints, archiving on idle systems.
|
|
-->
|
|
<para>
|
|
Prevent unnecessary checkpoints and <acronym>WAL</acronym> archiving on
|
|
otherwise-idle systems (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-08 [a507b8690] Add WAL consistency checking facility.
|
|
2017-03-14 [bb4a39637] hash: Support WAL consistency checking.
|
|
-->
|
|
<para>
|
|
Add <xref linkend="guc-wal-consistency-checking"/> server parameter
|
|
to add details to <acronym>WAL</acronym> that can be sanity-checked on
|
|
the standby (Kuntal Ghosh, Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
Any sanity-check failure generates a fatal error on the standby.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-05 [00b6b6feb] Allow -\-with-wal-segsize=n up to n=1024MB
|
|
-->
|
|
<para>
|
|
Increase the maximum configurable <acronym>WAL</acronym> segment size
|
|
to one gigabyte (Beena Emerson)
|
|
</para>
|
|
|
|
<para>
|
|
A larger <acronym>WAL</acronym> segment size allows for fewer
|
|
<xref linkend="guc-archive-command"/> invocations and fewer
|
|
<acronym>WAL</acronym> files to manage.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect5>
|
|
|
|
</sect4>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Replication and Recovery</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-20 [665d1fad9] Logical replication
|
|
2017-03-23 [7c4f52409] Logical replication support for initial data copy
|
|
2017-04-12 [ff7bce174] Add max_sync_workers_per_subscription to postgresql.conf
|
|
-->
|
|
<para>
|
|
Add the ability to <link linkend="logical-replication">logically
|
|
replicate</link> tables to standby servers (Petr Jelinek)
|
|
</para>
|
|
|
|
<para>
|
|
Logical replication allows more flexibility than physical
|
|
replication does, including replication between different major
|
|
versions of <productname>PostgreSQL</productname> and selective
|
|
replication.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-12-19 [3901fd70c] Support quorum-based synchronous replication.
|
|
-->
|
|
<para>
|
|
Allow waiting for commit acknowledgment from standby
|
|
servers irrespective of the order they appear in <xref
|
|
linkend="guc-synchronous-standby-names"/> (Masahiko Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
Previously the server always waited for the active standbys that
|
|
appeared first in <varname>synchronous_standby_names</varname>. The new
|
|
<varname>synchronous_standby_names</varname> keyword <literal>ANY</literal> allows
|
|
waiting for any number of standbys irrespective of their ordering.
|
|
This is known as quorum commit.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-14 [f6d6d2920] Change default values for backup and replication paramet
|
|
2017-05-02 [34fc61673] Change hot_standby default value to 'on'
|
|
-->
|
|
<para>
|
|
Reduce configuration changes necessary to perform streaming backup
|
|
and replication (Magnus Hagander, Dang Minh Huong)
|
|
</para>
|
|
|
|
<para>
|
|
Specifically, the defaults were changed for <xref
|
|
linkend="guc-wal-level"/>, <xref linkend="guc-max-wal-senders"/>,
|
|
<xref linkend="guc-max-replication-slots"/>, and <xref
|
|
linkend="guc-hot-standby"/> to make them suitable for these usages
|
|
out-of-the-box.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-09 [be37c2120] Enable replication connections by default in pg_hba.conf
|
|
-->
|
|
<para>
|
|
Enable replication from localhost connections by default in
|
|
<link linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>
|
|
(Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Previously <filename>pg_hba.conf</filename>'s replication connection
|
|
lines were commented out by default. This is particularly useful for
|
|
<application><xref linkend="app-pgbasebackup"/></application>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-23 [6912acc04] Replication lag tracking for walsenders
|
|
-->
|
|
<para>
|
|
Add columns to <link
|
|
linkend="pg-stat-replication-view"><structname>pg_stat_replication</structname></link>
|
|
to report replication delay times (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
The new columns are <structfield>write_lag</structfield>,
|
|
<structfield>flush_lag</structfield>, and <structfield>replay_lag</structfield>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-03 [35250b6ad] New recovery target recovery_target_lsn
|
|
-->
|
|
<para>
|
|
Allow specification of the recovery stopping point by Log Sequence
|
|
Number (<acronym>LSN</acronym>) in
|
|
<filename>recovery.conf</filename>
|
|
(Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Previously the stopping point could only be selected by timestamp or
|
|
XID.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-22 [017e4f258] Expose waitforarchive option through pg_stop_backup()
|
|
2017-08-05 [52f8a59dd] Make pg_stop_backup's wait_for_archive flag work on stan
|
|
-->
|
|
<para>
|
|
Allow users to disable <link
|
|
linkend="functions-admin"><function>pg_stop_backup()</function></link>'s
|
|
waiting for all <acronym>WAL</acronym> to be archived (David Steele)
|
|
</para>
|
|
|
|
<para>
|
|
An optional second argument to <function>pg_stop_backup()</function>
|
|
controls that behavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-12-12 [a924c327e] Add support for temporary replication slots
|
|
-->
|
|
<para>
|
|
Allow creation of <link
|
|
linkend="functions-replication-table">temporary replication slots</link>
|
|
(Petr Jelinek)
|
|
</para>
|
|
|
|
<para>
|
|
Temporary slots are automatically removed on session exit or error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-22 [9b013dc23] Improve performance of replay of AccessExclusiveLocks
|
|
-->
|
|
<para>
|
|
Improve performance of hot standby replay with better tracking of
|
|
Access Exclusive locks (Simon Riggs, David Rowley)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-04 [728bd991c] Speedup 2PC recovery by skipping two phase state files i
|
|
-->
|
|
<para>
|
|
Speed up two-phase commit recovery performance (Stas Kelvich,
|
|
Nikhil Sontakke, Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Queries</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-08 [fcec6caaf] Support XMLTABLE query expression
|
|
-->
|
|
<para>
|
|
Add <link
|
|
linkend="functions-xml-processing-xmltable"><function>XMLTABLE</function></link>
|
|
function that converts <type>XML</type>-formatted data into a row set
|
|
(Pavel Stehule, Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-05 [c54159d44] Make locale-dependent regex character classes work for l
|
|
-->
|
|
<para>
|
|
Fix regular expressions' character class handling for large character
|
|
codes, particularly Unicode characters above <literal>U+7FF</literal>
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, such characters were never recognized as belonging to
|
|
locale-dependent character classes such as <literal>[[:alpha:]]</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Utility Commands</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-12-07 [f0e44751d] Implement table partitioning.
|
|
-->
|
|
<para>
|
|
Add table <link linkend="sql-createtable-partition">partitioning
|
|
syntax</link> that automatically creates partition constraints and
|
|
handles routing of tuple insertions and updates (Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
The syntax supports range and list partitioning.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-04 [8c48375e5] Implement syntax for transition tables in AFTER triggers
|
|
2017-04-04 [5ebeb579b] Follow-on cleanup for the transition table patch.
|
|
2017-03-31 [597027163] Add transition table support to plpgsql.
|
|
-->
|
|
<para>
|
|
Add <link linkend="sql-createtrigger"><literal>AFTER</literal> trigger</link>
|
|
transition tables to record changed rows (Kevin Grittner, Thomas
|
|
Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Transition tables are accessible from triggers written in
|
|
server-side languages.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-12-05 [093129c9d] Add support for restrictive RLS policies
|
|
-->
|
|
<para>
|
|
Allow <link linkend="sql-createpolicy">restrictive row-level
|
|
security policies</link> (Stephen Frost)
|
|
</para>
|
|
|
|
<para>
|
|
Previously all security policies were permissive, meaning that any
|
|
matching policy allowed access. A restrictive policy must
|
|
match for access to be granted. These policy types can be combined.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-31 [64d4da511] For foreign keys, check REFERENCES privilege only on the
|
|
-->
|
|
<para>
|
|
When creating a foreign-key constraint, check
|
|
for <literal>REFERENCES</literal> permission on only the referenced table
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously <literal>REFERENCES</literal> permission on the referencing
|
|
table was also required. This appears to have stemmed from a
|
|
misreading of the SQL standard. Since creating a foreign key (or
|
|
any other type of) constraint requires ownership privilege on the
|
|
constrained table, additionally requiring <literal>REFERENCES</literal>
|
|
permission seems rather pointless.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-28 [ab89e465c] Altering default privileges on schemas
|
|
-->
|
|
<para>
|
|
Allow <link linkend="sql-alterdefaultprivileges">default
|
|
permissions</link> on schemas (Matheus Oliveira)
|
|
</para>
|
|
|
|
<para>
|
|
This is done using the <literal>ALTER DEFAULT PRIVILEGES</literal> command.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-10 [2ea5b06c7] Add CREATE SEQUENCE AS <data type> clause
|
|
-->
|
|
<para>
|
|
Add <link linkend="sql-createsequence"><command>CREATE SEQUENCE
|
|
AS</command></link> command to create a sequence matching an integer data type
|
|
(Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This simplifies the creation of sequences matching the range of
|
|
base columns.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-10 [279c439c7] Support "COPY view FROM" for views with INSTEAD OF INSER
|
|
-->
|
|
<para>
|
|
Allow <literal>COPY <replaceable>view</replaceable>
|
|
FROM <replaceable>source</replaceable></literal> on views with <literal>INSTEAD
|
|
INSERT</literal> triggers (Haribabu Kommi)
|
|
</para>
|
|
|
|
<para>
|
|
The triggers are fed the data rows read by <command>COPY</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-14 [aefeb6874] Allow referring to functions without arguments when uniq
|
|
-->
|
|
<para>
|
|
Allow the specification of a function name without arguments in
|
|
<acronym>DDL</acronym> commands, if it is unique (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
For example, allow <link linkend="sql-dropfunction"><command>DROP
|
|
FUNCTION</command></link> on a function name without arguments if there
|
|
is only one function with that name. This behavior is required by the
|
|
<acronym>SQL</acronym> standard.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-06 [583f6c414] Allow dropping multiple functions at once
|
|
-->
|
|
<para>
|
|
Allow multiple functions, operators, and aggregates to be dropped
|
|
with a single <command>DROP</command> command (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-15 [6d16ecc64] Add CREATE COLLATION IF NOT EXISTS clause
|
|
2017-03-20 [b6fb534f1] Add IF NOT EXISTS for CREATE SERVER and CREATE USER MAPP
|
|
-->
|
|
<para>
|
|
Support <literal>IF NOT EXISTS</literal>
|
|
in <link linkend="sql-createserver"><command>CREATE SERVER</command></link>,
|
|
<link linkend="sql-createusermapping"><command>CREATE USER MAPPING</command></link>,
|
|
and <link linkend="sql-createcollation"><command>CREATE COLLATION</command></link>
|
|
(Anastasia Lubennikova, Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-25 [70adf2fbe] Make VACUUM VERBOSE report the number of skipped frozen
|
|
2017-03-03 [9eb344faf] Allow vacuums to report oldestxmin
|
|
-->
|
|
<para>
|
|
Make <link linkend="sql-vacuum"><command>VACUUM VERBOSE</command></link> report
|
|
the number of skipped frozen pages and oldest xmin (Masahiko
|
|
Sawada, Simon Riggs)
|
|
</para>
|
|
|
|
<para>
|
|
This information is also included in <xref
|
|
linkend="guc-log-autovacuum-min-duration"/> output.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-23 [7e26e02ee] Prefetch blocks during lazy vacuum's truncation scan
|
|
-->
|
|
<para>
|
|
Improve speed of <command>VACUUM</command>'s removal of trailing empty
|
|
heap pages (Claudio Freire, Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Data Types</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-31 [e306df7f9] Full Text Search support for JSON and JSONB
|
|
-->
|
|
<para>
|
|
Add full text search support for <type>JSON</type> and <type>JSONB</type>
|
|
(Dmitry Dolgov)
|
|
</para>
|
|
|
|
<para>
|
|
The functions <function>ts_headline()</function> and
|
|
<function>to_tsvector()</function> can now be used on these data types.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-15 [c7a9fa399] Add support for EUI-64 MAC addresses as macaddr8
|
|
-->
|
|
<para>
|
|
Add support for <acronym>EUI-64</acronym> <acronym>MAC</acronym> addresses, as a
|
|
new data type <link linkend="datatype-macaddr8"><type>macaddr8</type></link>
|
|
(Haribabu Kommi)
|
|
</para>
|
|
|
|
<para>
|
|
This complements the existing support
|
|
for <acronym>EUI-48</acronym> <acronym>MAC</acronym> addresses
|
|
(type <type>macaddr</type>).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-06 [321732705] Identity columns
|
|
-->
|
|
<para>
|
|
Add <link linkend="sql-createtable">identity columns</link> for
|
|
assigning a numeric value to columns on insert (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
These are similar to <type>SERIAL</type> columns, but are
|
|
<acronym>SQL</acronym> standard compliant.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-07 [0ab9c56d0] Support renaming an existing value of an enum type.
|
|
-->
|
|
<para>
|
|
Allow <link linkend="datatype-enum"><type>ENUM</type></link> values to be
|
|
renamed (Dagfinn Ilmari Mannsåker)
|
|
</para>
|
|
|
|
<para>
|
|
This uses the syntax <link linkend="sql-altertype"><command>ALTER
|
|
TYPE ... RENAME VALUE</command></link>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-22 [502a3832c] Correctly handle array pseudotypes in to_json and to_jso
|
|
-->
|
|
<para>
|
|
Properly treat array pseudotypes
|
|
(<type>anyarray</type>) as arrays in <link
|
|
linkend="functions-json-creation-table"><function>to_json()</function></link>
|
|
and <function>to_jsonb()</function> (Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
Previously columns declared as <type>anyarray</type> (particularly those
|
|
in the <structname>pg_stats</structname> view) were converted to <type>JSON</type>
|
|
strings rather than arrays.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-17 [323b96aa3] Register missing money operators in system catalogs
|
|
-->
|
|
<para>
|
|
Add operators for multiplication and division
|
|
of <link linkend="datatype-money"><type>money</type></link> values
|
|
with <type>int8</type> values (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Previously such cases would result in converting the <type>int8</type>
|
|
values to <type>float8</type> and then using
|
|
the <type>money</type>-and-<type>float8</type> operators. The new behavior
|
|
avoids possible precision loss. But note that division
|
|
of <type>money</type> by <type>int8</type> now truncates the quotient, like
|
|
other integer-division cases, while the previous behavior would have
|
|
rounded.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-14 [656df624c] Add overflow checks to money type input function
|
|
-->
|
|
<para>
|
|
Check for overflow in the <type>money</type> type's input function
|
|
(Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Functions</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-08-17 [cf9b0fea5] Implement regexp_match(), a simplified alternative to re
|
|
-->
|
|
<para>
|
|
Add simplified <link
|
|
linkend="functions-posix-regexp"><function>regexp_match()</function></link>
|
|
function (Emre Hasegeli)
|
|
</para>
|
|
|
|
<para>
|
|
This is similar to <function>regexp_matches()</function>, but it only
|
|
returns results from the first match so it does not need to return a
|
|
set, making it easier to use for simple cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-18 [d00ca333c] Implement array version of jsonb_delete and operator
|
|
-->
|
|
<para>
|
|
Add a version of <type>jsonb</type>'s <link
|
|
linkend="functions-jsonb-op-table">delete operator</link> that takes
|
|
an array of keys to delete (Magnus Hagander)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-06 [cf35346e8] Make json_populate_record and friends operate recursivel
|
|
-->
|
|
<para>
|
|
Make <link linkend="functions-json-processing-table"><function>json_populate_record()</function></link>
|
|
and related functions process JSON arrays and objects recursively
|
|
(Nikita Glukhov)
|
|
</para>
|
|
|
|
<para>
|
|
With this change, array-type fields in the destination SQL type are
|
|
properly converted from JSON arrays, and composite-type fields are
|
|
properly converted from JSON objects. Previously, such cases would
|
|
fail because the text representation of the JSON value would be fed
|
|
to <function>array_in()</function> or <function>record_in()</function>, and its
|
|
syntax would not match what those input functions expect.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-08-23 [86f31695f] Add txid_current_ifassigned().
|
|
-->
|
|
<para>
|
|
Add function <link
|
|
linkend="functions-txid-snapshot"><function>txid_current_if_assigned()</function></link>
|
|
to return the current transaction ID or <literal>NULL</literal> if no
|
|
transaction ID has been assigned (Craig Ringer)
|
|
</para>
|
|
|
|
<para>
|
|
This is different from <link
|
|
linkend="functions-txid-snapshot"><function>txid_current()</function></link>,
|
|
which always returns a transaction ID, assigning one if necessary.
|
|
Unlike that function, this function can be run on standby servers.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-24 [857ee8e39] Add a txid_status function.
|
|
-->
|
|
<para>
|
|
Add function <link
|
|
linkend="functions-txid-snapshot"><function>txid_status()</function></link>
|
|
to check if a transaction was committed (Craig Ringer)
|
|
</para>
|
|
|
|
<para>
|
|
This is useful for checking after an abrupt disconnection whether
|
|
your previous transaction committed and you just didn't receive
|
|
the acknowledgment.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-19 [30bcebbdc] Allow negative years in make_date to represent BC years
|
|
-->
|
|
<para>
|
|
Allow <link
|
|
linkend="functions-datetime-table"><function>make_date()</function></link>
|
|
to interpret negative years as <acronym>BC</acronym> years (Álvaro
|
|
Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-28 [d3cd36a13] Make to_timestamp() and to_date() range-check fields of
|
|
-->
|
|
<para>
|
|
Make <link
|
|
linkend="functions-formatting-table"><function>to_timestamp()</function></link>
|
|
and <function>to_date()</function> reject
|
|
out-of-range input fields (Artur Zakirov)
|
|
</para>
|
|
|
|
<para>
|
|
For example,
|
|
previously <literal>to_date('2009-06-40','YYYY-MM-DD')</literal> was
|
|
accepted and returned <literal>2009-07-10</literal>. It will now generate
|
|
an error.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Server-Side Languages</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-27 [70ec3f1f8] PL/Python: Add cursor and execute methods to plan object
|
|
-->
|
|
<para>
|
|
Allow PL/Python's <function>cursor()</function> and <function>execute()</function>
|
|
functions to be called as methods of their plan-object arguments
|
|
(Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This allows a more object-oriented programming style.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-12-13 [55caaaeba] Improve handling of array elements as getdiag_targets an
|
|
-->
|
|
<para>
|
|
Allow PL/pgSQL's <command>GET DIAGNOSTICS</command> statement to retrieve
|
|
values into array elements (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, a syntactic restriction prevented the target variable
|
|
from being an array element.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<sect4>
|
|
<title><link linkend="pltcl">PL/Tcl</link></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-06 [26abb50c4] Support PL/Tcl functions that return composite types and
|
|
-->
|
|
<para>
|
|
Allow PL/Tcl functions to return composite types and sets
|
|
(Karl Lehenbauer)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-11 [b58fd4a9c] Add a "subtransaction" command to PL/Tcl.
|
|
-->
|
|
<para>
|
|
Add a subtransaction command to PL/Tcl (Victor Wagner)
|
|
</para>
|
|
|
|
<para>
|
|
This allows PL/Tcl queries to fail without aborting the entire
|
|
function.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-07 [0d2b1f305] Invent start_proc parameters for PL/Tcl.
|
|
-->
|
|
<para>
|
|
Add server parameters <xref linkend="guc-pltcl-start-proc"/>
|
|
and <xref linkend="guc-pltclu-start-proc"/>, to allow initialization
|
|
functions to be called on PL/Tcl startup (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Client Interfaces</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-03 [274bb2b38] libpq: Allow connection strings and URIs to specify mult
|
|
2017-05-19 [5f374fe7a] libpq: Try next host if one of them times out.
|
|
2017-07-10 [7b02ba62e] Allow multiple hostaddrs to go with multiple hostnames.
|
|
-->
|
|
<para>
|
|
Allow specification of <link linkend="libpq-connect-host">multiple
|
|
host names or addresses</link> in libpq connection strings and URIs
|
|
(Robert Haas, Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
libpq will connect to the first responsive server in the list.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-29 [721f7bd3c] libpq: Add target_session_attrs parameter.
|
|
-->
|
|
<para>
|
|
Allow libpq connection strings and URIs to request a <link
|
|
linkend="libpq-connect-target-session-attrs">read/write host</link>,
|
|
that is a master server rather than a standby server
|
|
(Victor Wagner, Mithun Cy)
|
|
</para>
|
|
|
|
<para>
|
|
This is useful when multiple host names are
|
|
specified. It is controlled by libpq connection parameter
|
|
<option>target_session_attrs</option>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-24 [ba005f193] Allow password file name to be specified as a libpq conn
|
|
-->
|
|
<para>
|
|
Allow the <link linkend="libpq-connect-passfile">password file name</link>
|
|
to be specified as a libpq connection parameter (Julian Markwort)
|
|
</para>
|
|
|
|
<para>
|
|
Previously this could only be specified via an environment variable.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-05-03 [8f8b9be51] Add PQencryptPasswordConn function to libpq, use it in p
|
|
-->
|
|
<para>
|
|
Add function <link
|
|
linkend="libpq-pqencryptpasswordconn"><function>PQencryptPasswordConn()</function></link>
|
|
to allow creation of more types of encrypted passwords on the
|
|
client side (Michael Paquier, Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
Previously only <literal>MD5</literal>-encrypted passwords could be created
|
|
using <link
|
|
linkend="libpq-pqencryptpassword"><function>PQencryptPassword()</function></link>.
|
|
This new function can also create <link
|
|
linkend="auth-pg-hba-conf"><literal>SCRAM-SHA-256</literal></link>-encrypted
|
|
passwords.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-08-16 [a7b5573d6] Remove separate version numbering for ecpg preprocessor.
|
|
-->
|
|
<para>
|
|
Change <application>ecpg</application> preprocessor version from 4.12 to 10
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Henceforth the <application>ecpg</application> version will match
|
|
the <productname>PostgreSQL</productname> distribution version number.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Client Applications</title>
|
|
|
|
<sect4>
|
|
<title><xref linkend="app-psql"/></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-30 [e984ef586] Support \if ... \elif ... \else ... \endif in psql scrip
|
|
2017-04-02 [5dbc5da11] Fix behavior of psql's \p to agree with \g, \w, etc.
|
|
2017-04-02 [68dba97a4] Document psql's behavior of recalling the previously exe
|
|
-->
|
|
<para>
|
|
Add conditional branch support to <application>psql</application> (Corey
|
|
Huinker)
|
|
</para>
|
|
|
|
<para>
|
|
This feature adds <application>psql</application>
|
|
meta-commands <command>\if</command>, <command>\elif</command>, <command>\else</command>,
|
|
and <command>\endif</command>. This is primarily helpful for scripting.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-07 [b2678efd4] psql: Add \gx command
|
|
-->
|
|
<para>
|
|
Add <application>psql</application> <command>\gx</command> meta-command to execute
|
|
(<command>\g</command>) a query in expanded mode (<command>\x</command>)
|
|
(Christoph Berg)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-01 [f833c847b] Allow psql variable substitution to occur in backtick co
|
|
-->
|
|
<para>
|
|
Expand <application>psql</application> variable references in
|
|
backtick-executed strings (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This is particularly useful in the new <application>psql</application>
|
|
conditional branch commands.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-30 [511ae628f] Make psql reject attempts to set special variables to in
|
|
2017-02-01 [86322dc7e] Improve psql's behavior for \set and \unset of its contr
|
|
2017-02-02 [fd6cd6980] Clean up psql's behavior for a few more control variable
|
|
-->
|
|
<para>
|
|
Prevent <application>psql</application>'s special variables from being set to
|
|
invalid values (Daniel Vérité, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, setting one of <application>psql</application>'s special variables
|
|
to an invalid value silently resulted in the default behavior.
|
|
<command>\set</command> on a special variable now fails if the proposed
|
|
new value is invalid. As a special exception, <command>\set</command>
|
|
with an empty or omitted new value, on a boolean-valued special
|
|
variable, still has the effect of setting the variable
|
|
to <literal>on</literal>; but now it actually acquires that value rather
|
|
than an empty string. <command>\unset</command> on a special variable now
|
|
explicitly sets the variable to its default value, which is also
|
|
the value it acquires at startup. In sum, a control variable now
|
|
always has a displayable value that reflects
|
|
what <application>psql</application> is actually doing.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-09-06 [a6c678f01] Add psql variables showing server version and psql versi
|
|
-->
|
|
<para>
|
|
Add variables showing server version and <application>psql</application> version
|
|
(Fabien Coelho)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-03 [a0f357e57] psql: Split up "Modifiers" column in \d and \dD
|
|
-->
|
|
<para>
|
|
Improve <application>psql</application>'s <command>\d</command> (display relation)
|
|
and <command>\dD</command> (display domain) commands to show collation,
|
|
nullable, and default properties in separate columns (Peter
|
|
Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Previously they were shown in a single <quote>Modifiers</quote> column.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-07-27 [77cb4a1d6] Standardize describe.c's behavior for no-matching-object
|
|
-->
|
|
<para>
|
|
Make the various <command>\d</command> commands handle no-matching-object
|
|
cases more consistently (Daniel Gustafsson)
|
|
</para>
|
|
|
|
<para>
|
|
They now all print the message about that to stderr, not stdout,
|
|
and the message wording is more consistent.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-08-18 [49917dbd7] Improve psql's tab completion for ALTER EXTENSION foo UP
|
|
2016-08-18 [8019b5a89] Improve psql's tab completion for \l.
|
|
2016-09-01 [76f9dd4fa] Improve tab completion for BEGIN & START|SET TRANSACTION
|
|
2016-09-11 [52803098a] psql tab completion for CREATE DATABASE ... TEMPLATE ...
|
|
2016-09-12 [63c1a8719] Fix recent commit for tab-completion of database templat
|
|
2016-11-03 [1d15d0db5] psql: Tab-complete LOCK [TABLE] ... IN {ACCESS|ROW|SHARE
|
|
2016-11-04 [927d7bb6b] Improve tab completion for CREATE TRIGGER.
|
|
2016-11-08 [577f0bdd2] psql: Tab completion for renaming enum values.
|
|
2017-03-01 [b5a388392] psql: Add tab completion for DEALLOCATE
|
|
2017-03-16 [d7d77f382] psql: Add completion for \help DROP|ALTER
|
|
-->
|
|
<para>
|
|
Improve <application>psql</application>'s tab completion (Jeff Janes,
|
|
Ian Barwick, Andreas Karlsson, Sehrope Sarkuni, Thomas Munro,
|
|
Kevin Grittner, Dagfinn Ilmari Mannsåker)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title><xref linkend="pgbench"/></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-09 [41124a91e] pgbench: Allow the transaction log file prefix to be cha
|
|
-->
|
|
<para>
|
|
Add <application>pgbench</application> option <option>--log-prefix</option> to
|
|
control the log file prefix (Masahiko Sawada)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-20 [cdc2a7047] Allow backslash line continuations in pgbench's meta com
|
|
-->
|
|
<para>
|
|
Allow <application>pgbench</application>'s meta-commands to span multiple
|
|
lines (Fabien Coelho)
|
|
</para>
|
|
|
|
<para>
|
|
A meta-command can now be continued onto the next line by writing
|
|
backslash-return.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-08-11 [796818442] Remove pgbench's restriction on placement of -M switch.
|
|
-->
|
|
<para>
|
|
Remove restriction on placement of <option>-M</option> option relative to
|
|
other command line options (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Server Applications</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-17 [cada1af31] Add compression support to pg_receivexlog
|
|
-->
|
|
<para>
|
|
Add <link
|
|
linkend="app-pgreceivewal"><application>pg_receivewal</application></link>
|
|
option <option>-Z</option>/<option>--compress</option> to specify compression
|
|
(Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-04 [7c030783a] Add pg_recvlogical -\-endpos=LSN
|
|
-->
|
|
<para>
|
|
Add <link
|
|
linkend="app-pgrecvlogical"><application>pg_recvlogical</application></link> option
|
|
<option>--endpos</option> to specify the ending position (Craig Ringer)
|
|
</para>
|
|
|
|
<para>
|
|
This complements the existing <option>--startpos</option> option.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-19 [5d58c07a4] initdb pg_basebackup: Rename -\-noxxx options to -\-no-x
|
|
-->
|
|
<para>
|
|
Rename <link linkend="app-initdb"><application>initdb</application></link>
|
|
options <option>--noclean</option> and <option>--nosync</option> to be spelled
|
|
<option>--no-clean</option> and <option>--no-sync</option> (Vik Fearing,
|
|
Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The old spellings are still supported.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<sect4>
|
|
<title><link linkend="app-pgdump"><application>pg_dump</application></link>,
|
|
<link linkend="app-pg-dumpall"><application>pg_dumpall</application></link>,
|
|
<link linkend="app-pgrestore"><application>pg_restore</application></link></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-20 [46b55e7f8] pg_restore: Add -N option to exclude schemas
|
|
-->
|
|
<para>
|
|
Allow <application>pg_restore</application> to exclude schemas (Michael Banck)
|
|
</para>
|
|
|
|
<para>
|
|
This adds a new <option>-N</option>/<option>--exclude-schema</option> option.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-29 [4fafa579b] Add -\-no-blobs option to pg_dump
|
|
-->
|
|
<para>
|
|
Add <option>--no-blobs</option> option to
|
|
<application>pg_dump</application> (Guillaume Lelarge)
|
|
</para>
|
|
|
|
<para>
|
|
This suppresses dumping of large objects.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-07 [9a83d56b3] Allow pg_dumpall to dump roles w/o user passwords
|
|
-->
|
|
<para>
|
|
Add <application>pg_dumpall</application> option
|
|
<option>--no-role-passwords</option> to omit role passwords
|
|
(Robins Tharakan, Simon Riggs)
|
|
</para>
|
|
|
|
<para>
|
|
This allows use of <application>pg_dumpall</application> by non-superusers;
|
|
without this option, it fails due to inability to read passwords.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-08-16 [e4892c681] pg_dump: Support using synchronized snapshots on standby
|
|
-->
|
|
<para>
|
|
Support using synchronized snapshots when dumping from a standby
|
|
server (Petr Jelinek)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-22 [96a7128b7] Sync pg_dump and pg_dumpall output
|
|
-->
|
|
<para>
|
|
Issue <function>fsync()</function> on the output files generated by
|
|
<application>pg_dump</application> and
|
|
<application>pg_dumpall</application> (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This provides more security that the output is safely stored on
|
|
disk before the program exits. This can be disabled with
|
|
the new <option>--no-sync</option> option.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
|
|
<title><xref linkend="app-pgbasebackup"/></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-23 [56c7d8d45] Allow pg_basebackup to stream transaction log in tar mod
|
|
2016-12-21 [ecbdc4c55] Forbid invalid combination of options in pg_basebackup.
|
|
-->
|
|
<para>
|
|
Allow <application>pg_basebackup</application> to stream write-ahead log in
|
|
tar mode (Magnus Hagander)
|
|
</para>
|
|
|
|
<para>
|
|
The <acronym>WAL</acronym> will be stored in a separate tar file from
|
|
the base backup.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-16 [e7b020f78] Make pg_basebackup use temporary replication slots
|
|
-->
|
|
<para>
|
|
Make <application>pg_basebackup</application> use temporary replication slots
|
|
(Magnus Hagander)
|
|
</para>
|
|
|
|
<para>
|
|
Temporary replication slots will be used by default when
|
|
<application>pg_basebackup</application> uses WAL streaming with default
|
|
options.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-29 [bc34223bc] pg_basebackup pg_receivexlog: Issue fsync more carefully
|
|
-->
|
|
<para>
|
|
Be more careful about fsync'ing in all required places
|
|
in <application>pg_basebackup</application> and
|
|
<application>pg_receivewal</application> (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-29 [6ed2d8584] pg_basebackup: Add -\-nosync option
|
|
2016-10-19 [5d58c07a4] initdb pg_basebackup: Rename -\-noxxx options to -\-no-x
|
|
-->
|
|
<para>
|
|
Add <application>pg_basebackup</application> option <option>--no-sync</option> to
|
|
disable fsync (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-28 [6ad8ac602] Exclude additional directories in pg_basebackup
|
|
-->
|
|
<para>
|
|
Improve <application>pg_basebackup</application>'s handling of which
|
|
directories to skip (David Steele)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title><application><xref linkend="app-pg-ctl"/></application></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-21 [e7010ce47] pg_ctl: Add wait option to promote action
|
|
-->
|
|
<para>
|
|
Add wait option for <application><xref linkend="app-pg-ctl"/></application>'s
|
|
promote operation (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-19 [0be22457d] pg_ctl: Add long options for -w and -W
|
|
-->
|
|
<para>
|
|
Add long options for <application>pg_ctl</application> wait (<option>--wait</option>)
|
|
and no-wait (<option>--no-wait</option>) (Vik Fearing)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-19 [caf936b09] pg_ctl: Add long option for -o
|
|
-->
|
|
<para>
|
|
Add long option for <application>pg_ctl</application> server options
|
|
(<option>--options</option>) (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-06-28 [f13ea95f9] Change pg_ctl to detect server-ready by watching status
|
|
-->
|
|
<para>
|
|
Make <literal>pg_ctl start --wait</literal> detect server-ready by
|
|
watching <filename>postmaster.pid</filename>, not by attempting connections
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The postmaster has been changed to report its ready-for-connections
|
|
status in <filename>postmaster.pid</filename>, and <application>pg_ctl</application>
|
|
now examines that file to detect whether startup is complete.
|
|
This is more efficient and reliable than the old method, and it
|
|
eliminates postmaster log entries about rejected connection
|
|
attempts during startup.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-06-26 [c61559ec3] Reduce pg_ctl's reaction time when waiting for postmaste
|
|
-->
|
|
<para>
|
|
Reduce <application>pg_ctl</application>'s reaction time when waiting for
|
|
postmaster start/stop (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
<application>pg_ctl</application> now probes ten times per second when waiting
|
|
for a postmaster state change, rather than once per second.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-07-05 [1bac5f552] pg_ctl: Make failure to complete operation a nonzero exi
|
|
-->
|
|
<para>
|
|
Ensure that <application>pg_ctl</application> exits with nonzero status if an
|
|
operation being waited for does not complete within the timeout
|
|
(Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The <literal>start</literal> and <literal>promote</literal> operations now return
|
|
exit status 1, not 0, in such cases. The <literal>stop</literal> operation
|
|
has always done that.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Source Code</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-08-15 [ca9112a42] Stamp HEAD as 10devel.
|
|
-->
|
|
<para>
|
|
Change to two-part release version numbering (Peter Eisentraut, Tom
|
|
Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Release numbers will now have two parts (e.g., <literal>10.1</literal>)
|
|
rather than three (e.g., <literal>9.6.3</literal>).
|
|
Major versions will now increase just the first number, and minor
|
|
releases will increase just the second number.
|
|
Release branches will be referred to by single numbers
|
|
(e.g., <literal>10</literal> rather than <literal>9.6</literal>).
|
|
This change is intended to reduce user confusion about what is a
|
|
major or minor release of <productname>PostgreSQL</productname>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-06-16 [cea258b63] Teach pgindent to skip files generated by bison or flex
|
|
2017-06-21 [8ff6d4ec7] Adjust pgindent script to use pg_bsd_indent 2.0.
|
|
2017-06-21 [e3860ffa4] Initial pgindent run with pg_bsd_indent version 2.0.
|
|
2017-06-21 [c7b8998eb] Phase 2 of pgindent updates.
|
|
2017-06-21 [382ceffdf] Phase 3 of pgindent updates.
|
|
2017-06-21 [81f056c72] Remove entab and associated detritus.
|
|
-->
|
|
<para>
|
|
Improve behavior of <application>pgindent</application>
|
|
(Piotr Stefaniak, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
We have switched to a new version of <application>pg_bsd_indent</application>
|
|
based on recent improvements made by the FreeBSD project. This
|
|
fixes numerous small bugs that led to odd C code formatting
|
|
decisions. Most notably, lines within parentheses (such as in a
|
|
multi-line function call) are now uniformly indented to match the
|
|
opening paren, even if that would result in code extending past the
|
|
right margin.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-23 [eccfef81e] ICU support
|
|
-->
|
|
<para>
|
|
Allow the <link linkend="configure"><acronym>ICU</acronym></link> library to
|
|
optionally be used for collation support (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The <acronym>ICU</acronym> library has versioning that allows detection
|
|
of collation changes between versions. It is enabled via configure
|
|
option <option>--with-icu</option>. The default still uses the operating
|
|
system's native collation library.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-04 [c8ead2a39] Provide DLLEXPORT markers for C functions via PG_FUNCTIO
|
|
-->
|
|
<para>
|
|
Automatically mark all <link
|
|
linkend="xfunc-c"><function>PG_FUNCTION_INFO_V1</function></link> functions
|
|
as <literal>DLLEXPORT</literal>-ed on
|
|
<systemitem class="osname">Windows</systemitem> (Laurenz Albe)
|
|
</para>
|
|
|
|
<para>
|
|
If third-party code is using <literal>extern</literal> function
|
|
declarations, they should also add <literal>DLLEXPORT</literal> markers
|
|
to those declarations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-08 [1833f1a1c] Simplify code by getting rid of SPI_push, SPI_pop, SPI_r
|
|
-->
|
|
<para>
|
|
Remove <acronym>SPI</acronym> functions <function>SPI_push()</function>,
|
|
<function>SPI_pop()</function>, <function>SPI_push_conditional()</function>,
|
|
<function>SPI_pop_conditional()</function>,
|
|
and <function>SPI_restore_connection()</function> as unnecessary (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Their functionality now happens automatically. There are now no-op
|
|
macros by these names so that external modules don't need to be
|
|
updated immediately, but eventually such calls should be removed.
|
|
</para>
|
|
|
|
<para>
|
|
A side effect of this change is that <function>SPI_palloc()</function> and
|
|
allied functions now require an active SPI connection; they do not
|
|
degenerate to simple <function>palloc()</function> if there is none. That
|
|
previous behavior was not very useful and posed risks of unexpected
|
|
memory leaks.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-12-02 [13e14a78e] Management of free memory pages.
|
|
2016-12-02 [13df76a53] Introduce dynamic shared memory areas.
|
|
2016-12-19 [e13029a5c] Provide a DSA area for all parallel queries.
|
|
-->
|
|
<para>
|
|
Allow shared memory to be dynamically allocated (Thomas Munro,
|
|
Robert Haas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-27 [58b25e981] Add "Slab" MemoryContext implementation for efficient eq
|
|
-->
|
|
<para>
|
|
Add slab-like memory allocator for efficient fixed-size allocations
|
|
(Tomas Vondra)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-09 [ecb0d20a9] Use unnamed POSIX semaphores, if available, on Linux and
|
|
-->
|
|
<para>
|
|
Use <acronym>POSIX</acronym> semaphores rather than SysV semaphores
|
|
on <systemitem class="osname">Linux</systemitem> and <systemitem
|
|
class="osname">FreeBSD</systemitem> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids platform-specific limits on SysV semaphore usage.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-07 [e8fdbd58f] Improve 64bit atomics support.
|
|
-->
|
|
<para>
|
|
Improve support for 64-bit atomics (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-10 [f8f1430ae] Enable 64 bit atomics on ARM64.
|
|
-->
|
|
<para>
|
|
Enable 64-bit atomic operations on <acronym>ARM64</acronym> (Roman
|
|
Shaposhnik)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-01-02 [1d63f7d2d] Use clock_gettime(), if available, in instr_time measure
|
|
-->
|
|
<para>
|
|
Switch to using <function>clock_gettime()</function>, if available, for
|
|
duration measurements (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
<function>gettimeofday()</function> is still used
|
|
if <function>clock_gettime()</function> is not available.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-12-05 [fe0a0b599] Replace PostmasterRandom() with a stronger source, secon
|
|
2017-07-03 [bf723a274] Forbid gen_random_uuid() with -\-disable-strong-random
|
|
-->
|
|
<para>
|
|
Add more robust random number generators to be used for
|
|
cryptographically secure uses (Magnus Hagander, Michael Paquier,
|
|
Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
If no strong random number generator can be
|
|
found, <link linkend="configure">configure</link> will fail unless
|
|
the <option>--disable-strong-random</option> option is used. However, with
|
|
this option, <link linkend="pgcrypto"><application>pgcrypto</application></link>
|
|
functions requiring a strong random number generator will be disabled.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-08-15 [d7ab908fb] Distinguish wait-for-connection from wait-for-write-read
|
|
-->
|
|
<para>
|
|
Allow <function>WaitLatchOrSocket()</function> to wait for socket
|
|
connection on Windows (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-06 [3f902354b] Clean up after insufficiently-researched optimization of
|
|
-->
|
|
<para>
|
|
<filename>tupconvert.c</filename> functions no longer convert tuples just to
|
|
embed a different composite-type OID in them (Ashutosh Bapat, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The majority of callers don't care about the composite-type OID;
|
|
but if the result tuple is to be used as a composite Datum, steps
|
|
should be taken to make sure the correct OID is inserted in it.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-11 [2b860f52e] Remove "sco" and "unixware" ports.
|
|
-->
|
|
<para>
|
|
Remove <systemitem class="osname">SCO</systemitem> and <systemitem
|
|
class="osname">Unixware</systemitem> ports (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-08-18 [e8306745e] doc: Speed up XSLT builds
|
|
2016-08-24 [0e4cc1fc5] doc: Fix XSLT speedup with older upstream stylesheet ver
|
|
-->
|
|
<para>
|
|
Overhaul documentation <link linkend="docguide-toolsets">build
|
|
process</link> (Alexander Lakhin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-06 [510074f9f] Remove use of Jade and DSSSL
|
|
-->
|
|
<para>
|
|
Use <acronym>XSLT</acronym> to build the <productname>PostgreSQL</productname>
|
|
documentation (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Previously <application>Jade</application>, <acronym>DSSSL</acronym>, and
|
|
<application>JadeTex</application> were used.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-15 [e36ddab11] Build HTML documentation using XSLT stylesheets by defau
|
|
-->
|
|
<para>
|
|
Build <acronym>HTML</acronym> documentation using <acronym>XSLT</acronym>
|
|
stylesheets by default (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Additional Modules</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-29 [8e91e12bc] Allow contrib/file_fdw to read from a program, like COPY
|
|
-->
|
|
<para>
|
|
Allow <link linkend="file-fdw"><application>file_fdw</application></link> to read
|
|
from program output as well as files (Corey Huinker, Adam Gomaa)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-21 [7012b132d] postgres_fdw: Push down aggregates to remote servers.
|
|
-->
|
|
<para>
|
|
In <link linkend="postgres-fdw"><application>postgres_fdw</application></link>,
|
|
push aggregate functions to the remote server, when possible
|
|
(Jeevan Chalke, Ashutosh Bapat)
|
|
</para>
|
|
|
|
<para>
|
|
This reduces the amount of data that must be passed from the remote
|
|
server, and offloads aggregate computation from the requesting server.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-16 [b30fb56b0] postgres_fdw: Push down FULL JOINs with restriction clau
|
|
2017-04-24 [332bec1e6] postgres_fdw: Fix join push down with extensions
|
|
-->
|
|
<para>
|
|
In <application>postgres_fdw</application>, push joins to the remote server in
|
|
more cases (David Rowley, Ashutosh Bapat, Etsuro Fujita)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-08-26 [ae025a159] Support OID system column in postgres_fdw.
|
|
-->
|
|
<para>
|
|
Properly support <type>OID</type> columns in
|
|
<application>postgres_fdw</application> tables (Etsuro Fujita)
|
|
</para>
|
|
|
|
<para>
|
|
Previously <type>OID</type> columns always returned zeros.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-21 [f7946a92b] Add btree_gist support for enum types.
|
|
-->
|
|
<para>
|
|
Allow <link linkend="btree-gist"><application>btree_gist</application></link>
|
|
and <link linkend="btree-gin"><application>btree_gin</application></link> to
|
|
index enum types (Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
This allows enums to be used in exclusion constraints.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-11-29 [11da83a0e] Add uuid to the set of types supported by contrib/btree_
|
|
-->
|
|
<para>
|
|
Add indexing support to <application>btree_gist</application> for the
|
|
<type>UUID</type> data type (Paul Jungwirth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-09 [3717dc149] Add amcheck extension to contrib.
|
|
-->
|
|
<para>
|
|
Add <link linkend="amcheck"><application>amcheck</application></link> which can
|
|
check the validity of B-tree indexes (Peter Geoghegan)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-27 [a6f22e835] Show ignored constants as "$N" rather than "?" in pg_sta
|
|
-->
|
|
<para>
|
|
Show ignored constants as <literal>$N</literal> rather than <literal>?</literal>
|
|
in
|
|
<link
|
|
linkend="pgstatstatements"><application>pg_stat_statements</application></link>
|
|
(Lukas Fittl)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-27 [f31a931fa] Improve contrib/cube's handling of zero-D cubes, infinit
|
|
-->
|
|
<para>
|
|
Improve <link linkend="cube"><application>cube</application></link>'s handling
|
|
of zero-dimensional cubes (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This also improves handling of <literal>infinite</literal> and
|
|
<literal>NaN</literal> values.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-29 [6e654546f] Don't bother to lock bufmgr partitions in pg_buffercache
|
|
-->
|
|
<para>
|
|
Allow <link
|
|
linkend="pgbuffercache"><application>pg_buffercache</application></link> to run
|
|
with fewer locks (Ivan Kartyshov)
|
|
</para>
|
|
|
|
<para>
|
|
This makes it less disruptive when run on production systems.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-03 [e759854a0] pgstattuple: Add pgstathashindex.
|
|
-->
|
|
<para>
|
|
Add <link linkend="pgstattuple"><application>pgstattuple</application></link>
|
|
function <function>pgstathashindex()</function> to view hash index
|
|
statistics (Ashutosh Sharma)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-09-29 [fd321a1df] Remove superuser checks in pgstattuple
|
|
-->
|
|
<para>
|
|
Use <command>GRANT</command> permissions to
|
|
control <application>pgstattuple</application> function usage (Stephen Frost)
|
|
</para>
|
|
|
|
<para>
|
|
This allows DBAs to allow non-superusers to run these functions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2016-10-28 [d4b5d4cad] pgstattuple: Don't take heavyweight locks when examining
|
|
-->
|
|
<para>
|
|
Reduce locking when <application>pgstattuple</application> examines hash
|
|
indexes (Amit Kapila)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-03-17 [fef2bcdcb] pageinspect: Add page_checksum function
|
|
-->
|
|
<para>
|
|
Add <link linkend="pageinspect"><application>pageinspect</application></link>
|
|
function <function>page_checksum()</function> to show a page's checksum
|
|
(Tomas Vondra)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-04-04 [193f5f9e9] pageinspect: Add bt_page_items function with bytea argum
|
|
-->
|
|
<para>
|
|
Add <application>pageinspect</application>
|
|
function <function>bt_page_items()</function> to print page items from a
|
|
page image (Tomas Vondra)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
2017-02-02 [08bf6e529] pageinspect: Support hash indexes.
|
|
-->
|
|
<para>
|
|
Add hash index support to <application>pageinspect</application> (Jesper
|
|
Pedersen, Ashutosh Sharma)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="release-10-acknowledgements">
|
|
<title>Acknowledgments</title>
|
|
|
|
<para>
|
|
The following individuals (in alphabetical order) have contributed to this
|
|
release as patch authors, committers, reviewers, testers, or reporters of
|
|
issues.
|
|
</para>
|
|
|
|
<simplelist>
|
|
<member>Adam Brightwell</member>
|
|
<member>Adam Brusselback</member>
|
|
<member>Adam Gomaa</member>
|
|
<member>Adam Sah</member>
|
|
<member>Adrian Klaver</member>
|
|
<member>Aidan Van Dyk</member>
|
|
<member>Aleksander Alekseev</member>
|
|
<member>Alexander Korotkov</member>
|
|
<member>Alexander Lakhin</member>
|
|
<member>Alexander Sosna</member>
|
|
<member>Alexey Bashtanov</member>
|
|
<member>Alexey Grishchenko</member>
|
|
<member>Alexey Isayko</member>
|
|
<member>Álvaro Hernández Tortosa</member>
|
|
<member>Álvaro Herrera</member>
|
|
<member>Amit Kapila</member>
|
|
<member>Amit Khandekar</member>
|
|
<member>Amit Langote</member>
|
|
<member>Amul Sul</member>
|
|
<member>Anastasia Lubennikova</member>
|
|
<member>Andreas Joseph Krogh</member>
|
|
<member>Andreas Karlsson</member>
|
|
<member>Andreas Scherbaum</member>
|
|
<member>Andreas Seltenreich</member>
|
|
<member>Andres Freund</member>
|
|
<member>Andrew Dunstan</member>
|
|
<member>Andrew Gierth</member>
|
|
<member>Andrew Wheelwright</member>
|
|
<member>Andrey Borodin</member>
|
|
<member>Andrey Lizenko</member>
|
|
<member>Andy Abelisto</member>
|
|
<member>Antonin Houska</member>
|
|
<member>Ants Aasma</member>
|
|
<member>Arjen Nienhuis</member>
|
|
<member>Arseny Sher</member>
|
|
<member>Artur Zakirov</member>
|
|
<member>Ashutosh Bapat</member>
|
|
<member>Ashutosh Sharma</member>
|
|
<member>Ashwin Agrawal</member>
|
|
<member>Atsushi Torikoshi</member>
|
|
<member>Ayumi Ishii</member>
|
|
<member>Basil Bourque</member>
|
|
<member>Beena Emerson</member>
|
|
<member>Ben de Graaff</member>
|
|
<member>Benedikt Grundmann</member>
|
|
<member>Bernd Helmle</member>
|
|
<member>Brad DeJong</member>
|
|
<member>Brandur Leach</member>
|
|
<member>Breen Hagan</member>
|
|
<member>Bruce Momjian</member>
|
|
<member>Bruno Wolff III</member>
|
|
<member>Catalin Iacob</member>
|
|
<member>Chapman Flack</member>
|
|
<member>Chen Huajun</member>
|
|
<member>Choi Doo-Won</member>
|
|
<member>Chris Bandy</member>
|
|
<member>Chris Richards</member>
|
|
<member>Chris Ruprecht</member>
|
|
<member>Christian Ullrich</member>
|
|
<member>Christoph Berg</member>
|
|
<member>Chuanting Wang</member>
|
|
<member>Claudio Freire</member>
|
|
<member>Clinton Adams</member>
|
|
<member>Const Zhang</member>
|
|
<member>Constantin Pan</member>
|
|
<member>Corey Huinker</member>
|
|
<member>Craig Ringer</member>
|
|
<member>Cynthia Shang</member>
|
|
<member>Dagfinn Ilmari Mannsåker</member>
|
|
<member>Daisuke Higuchi</member>
|
|
<member>Damian Quiroga</member>
|
|
<member>Dan Wood</member>
|
|
<member>Dang Minh Huong</member>
|
|
<member>Daniel Gustafsson</member>
|
|
<member>Daniel Vérité</member>
|
|
<member>Daniel Westermann</member>
|
|
<member>Daniele Varrazzo</member>
|
|
<member>Danylo Hlynskyi</member>
|
|
<member>Darko Prelec</member>
|
|
<member>Dave Cramer</member>
|
|
<member>Dave Page</member>
|
|
<member>David Christensen</member>
|
|
<member>David Fetter</member>
|
|
<member>David Johnston</member>
|
|
<member>David Rader</member>
|
|
<member>David Rowley</member>
|
|
<member>David Steele</member>
|
|
<member>Dean Rasheed</member>
|
|
<member>Denis Smirnov</member>
|
|
<member>Denish Patel</member>
|
|
<member>Dennis Björklund</member>
|
|
<member>Devrim Gündüz</member>
|
|
<member>Dilip Kumar</member>
|
|
<member>Dilyan Palauzov</member>
|
|
<member>Dima Pavlov</member>
|
|
<member>Dimitry Ivanov</member>
|
|
<member>Dmitriy Sarafannikov</member>
|
|
<member>Dmitry Dolgov</member>
|
|
<member>Dmitry Fedin</member>
|
|
<member>Don Morrison</member>
|
|
<member>Egor Rogov</member>
|
|
<member>Eiji Seki</member>
|
|
<member>Emil Iggland</member>
|
|
<member>Emre Hasegeli</member>
|
|
<member>Enrique Meneses</member>
|
|
<member>Erik Nordström</member>
|
|
<member>Erik Rijkers</member>
|
|
<member>Erwin Brandstetter</member>
|
|
<member>Etsuro Fujita</member>
|
|
<member>Eugen Konkov</member>
|
|
<member>Eugene Kazakov</member>
|
|
<member>Euler Taveira</member>
|
|
<member>Fabien Coelho</member>
|
|
<member>Fabrízio de Royes Mello</member>
|
|
<member>Feike Steenbergen</member>
|
|
<member>Felix Gerzaguet</member>
|
|
<member>Filip Jirsák</member>
|
|
<member>Fujii Masao</member>
|
|
<member>Gabriele Bartolini</member>
|
|
<member>Gabrielle Roth</member>
|
|
<member>Gao Zengqi</member>
|
|
<member>Gerdan Santos</member>
|
|
<member>Gianni Ciolli</member>
|
|
<member>Gilles Darold</member>
|
|
<member>Giuseppe Broccolo</member>
|
|
<member>Graham Dutton</member>
|
|
<member>Greg Atkins</member>
|
|
<member>Greg Burek</member>
|
|
<member>Grigory Smolkin</member>
|
|
<member>Guillaume Lelarge</member>
|
|
<member>Hans Buschmann</member>
|
|
<member>Haribabu Kommi</member>
|
|
<member>Heikki Linnakangas</member>
|
|
<member>Henry Boehlert</member>
|
|
<member>Huan Ruan</member>
|
|
<member>Ian Barwick</member>
|
|
<member>Igor Korot</member>
|
|
<member>Ildus Kurbangaliev</member>
|
|
<member>Ivan Kartyshov</member>
|
|
<member>Jaime Casanova</member>
|
|
<member>Jakob Egger</member>
|
|
<member>James Parks</member>
|
|
<member>Jarred Ward</member>
|
|
<member>Jason Li</member>
|
|
<member>Jason O'Donnell</member>
|
|
<member>Jason Petersen</member>
|
|
<member>Jeevan Chalke</member>
|
|
<member>Jeevan Ladhe</member>
|
|
<member>Jeff Dafoe</member>
|
|
<member>Jeff Davis</member>
|
|
<member>Jeff Janes</member>
|
|
<member>Jelte Fennema</member>
|
|
<member>Jeremy Finzel</member>
|
|
<member>Jeremy Schneider</member>
|
|
<member>Jeroen van der Ham</member>
|
|
<member>Jesper Pedersen</member>
|
|
<member>Jim Mlodgenski</member>
|
|
<member>Jim Nasby</member>
|
|
<member>Jinyu Zhang</member>
|
|
<member>Joe Conway</member>
|
|
<member>Joel Jacobson</member>
|
|
<member>John Harvey</member>
|
|
<member>Jon Nelson</member>
|
|
<member>Jordan Gigov</member>
|
|
<member>Josh Berkus</member>
|
|
<member>Josh Soref</member>
|
|
<member>Julian Markwort</member>
|
|
<member>Julien Rouhaud</member>
|
|
<member>Junseok Yang</member>
|
|
<member>Justin Muise</member>
|
|
<member>Justin Pryzby</member>
|
|
<member>Kacper Zuk</member>
|
|
<member>KaiGai Kohei</member>
|
|
<member>Karen Huddleston</member>
|
|
<member>Karl Lehenbauer</member>
|
|
<member>Karl O. Pinc</member>
|
|
<member>Keith Fiske</member>
|
|
<member>Kevin Grittner</member>
|
|
<member>Kim Rose Carlsen</member>
|
|
<member>Konstantin Evteev</member>
|
|
<member>Konstantin Knizhnik</member>
|
|
<member>Kuntal Ghosh</member>
|
|
<member>Kurt Kartaltepe</member>
|
|
<member>Kyle Conroy</member>
|
|
<member>Kyotaro Horiguchi</member>
|
|
<member>Laurenz Albe</member>
|
|
<member>Leonardo Cecchi</member>
|
|
<member>Ludovic Vaugeois-Pepin</member>
|
|
<member>Lukas Fittl</member>
|
|
<member>Magnus Hagander</member>
|
|
<member>Maksim Milyutin</member>
|
|
<member>Maksym Sobolyev</member>
|
|
<member>Marc Rassbach</member>
|
|
<member>Marc-Olaf Jaschke</member>
|
|
<member>Marcos Castedo</member>
|
|
<member>Marek Cvoren</member>
|
|
<member>Mark Dilger</member>
|
|
<member>Mark Kirkwood</member>
|
|
<member>Mark Pether</member>
|
|
<member>Marko Tiikkaja</member>
|
|
<member>Markus Winand</member>
|
|
<member>Marllius Ribeiro</member>
|
|
<member>Marti Raudsepp</member>
|
|
<member>Martín Marqués</member>
|
|
<member>Masahiko Sawada</member>
|
|
<member>Matheus Oliveira</member>
|
|
<member>Mathieu Fenniak</member>
|
|
<member>Merlin Moncure</member>
|
|
<member>Michael Banck</member>
|
|
<member>Michael Day</member>
|
|
<member>Michael Meskes</member>
|
|
<member>Michael Overmeyer</member>
|
|
<member>Michael Paquier</member>
|
|
<member>Mike Palmiotto</member>
|
|
<member>Milos Urbanek</member>
|
|
<member>Mithun Cy</member>
|
|
<member>Moshe Jacobson</member>
|
|
<member>Murtuza Zabuawala</member>
|
|
<member>Naoki Okano</member>
|
|
<member>Nathan Bossart</member>
|
|
<member>Nathan Wagner</member>
|
|
<member>Neha Khatri</member>
|
|
<member>Neha Sharma</member>
|
|
<member>Neil Anderson</member>
|
|
<member>Nicolas Baccelli</member>
|
|
<member>Nicolas Guini</member>
|
|
<member>Nicolas Thauvin</member>
|
|
<member>Nikhil Sontakke</member>
|
|
<member>Nikita Glukhov</member>
|
|
<member>Nikolaus Thiel</member>
|
|
<member>Nikolay Nikitin</member>
|
|
<member>Nikolay Shaplov</member>
|
|
<member>Noah Misch</member>
|
|
<member>Noriyoshi Shinoda</member>
|
|
<member>Olaf Gawenda</member>
|
|
<member>Oleg Bartunov</member>
|
|
<member>Oskari Saarenmaa</member>
|
|
<member>Otar Shavadze</member>
|
|
<member>Paresh More</member>
|
|
<member>Paul Jungwirth</member>
|
|
<member>Paul Ramsey</member>
|
|
<member>Pavan Deolasee</member>
|
|
<member>Pavel Golub</member>
|
|
<member>Pavel Hanák</member>
|
|
<member>Pavel Raiskup</member>
|
|
<member>Pavel Stehule</member>
|
|
<member>Peng Sun</member>
|
|
<member>Peter Eisentraut</member>
|
|
<member>Peter Geoghegan</member>
|
|
<member>Petr Jelínek</member>
|
|
<member>Philippe Beaudoin</member>
|
|
<member>Pierre-Emmanuel André</member>
|
|
<member>Piotr Stefaniak</member>
|
|
<member>Prabhat Sahu</member>
|
|
<member>QL Zhuo</member>
|
|
<member>Radek Slupik</member>
|
|
<member>Rafa de la Torre</member>
|
|
<member>Rafia Sabih</member>
|
|
<member>Ragnar Ouchterlony</member>
|
|
<member>Rahila Syed</member>
|
|
<member>Rajkumar Raghuwanshi</member>
|
|
<member>Regina Obe</member>
|
|
<member>Richard Pistole</member>
|
|
<member>Robert Haas</member>
|
|
<member>Robins Tharakan</member>
|
|
<member>Rod Taylor</member>
|
|
<member>Roman Shaposhnik</member>
|
|
<member>Rushabh Lathia</member>
|
|
<member>Ryan Murphy</member>
|
|
<member>Sandeep Thakkar</member>
|
|
<member>Scott Milliken</member>
|
|
<member>Sean Farrell</member>
|
|
<member>Sebastian Luque</member>
|
|
<member>Sehrope Sarkuni</member>
|
|
<member>Sergey Burladyan</member>
|
|
<member>Sergey Koposov</member>
|
|
<member>Shay Rojansky</member>
|
|
<member>Shinichi Matsuda</member>
|
|
<member>Sho Kato</member>
|
|
<member>Simon Riggs</member>
|
|
<member>Simone Gotti</member>
|
|
<member>Spencer Thomason</member>
|
|
<member>Stas Kelvich</member>
|
|
<member>Stepan Pesternikov</member>
|
|
<member>Stephen Frost</member>
|
|
<member>Steve Randall</member>
|
|
<member>Steve Singer</member>
|
|
<member>Steven Fackler</member>
|
|
<member>Steven Winfield</member>
|
|
<member>Suraj Kharage</member>
|
|
<member>Sveinn Sveinsson</member>
|
|
<member>Sven R. Kunze</member>
|
|
<member>Tahir Fakhroutdinov</member>
|
|
<member>Taiki Kondo</member>
|
|
<member>Takayuki Tsunakawa</member>
|
|
<member>Takeshi Ideriha</member>
|
|
<member>Tatsuo Ishii</member>
|
|
<member>Tatsuro Yamada</member>
|
|
<member>Teodor Sigaev</member>
|
|
<member>Thom Brown</member>
|
|
<member>Thomas Kellerer</member>
|
|
<member>Thomas Munro</member>
|
|
<member>Tim Goodaire</member>
|
|
<member>Tobias Bussmann</member>
|
|
<member>Tom Dunstan</member>
|
|
<member>Tom Lane</member>
|
|
<member>Tom van Tilburg</member>
|
|
<member>Tomas Vondra</member>
|
|
<member>Tomonari Katsumata</member>
|
|
<member>Tushar Ahuja</member>
|
|
<member>Vaishnavi Prabakaran</member>
|
|
<member>Venkata Balaji Nagothi</member>
|
|
<member>Vicky Vergara</member>
|
|
<member>Victor Wagner</member>
|
|
<member>Vik Fearing</member>
|
|
<member>Vinayak Pokale</member>
|
|
<member>Viren Negi</member>
|
|
<member>Vitaly Burovoy</member>
|
|
<member>Vladimir Kunshchikov</member>
|
|
<member>Vladimir Rusinov</member>
|
|
<member>Yi Wen Wong</member>
|
|
<member>Yugo Nagata</member>
|
|
<member>Zhen Ming Yang</member>
|
|
<member>Zhou Digoal</member>
|
|
</simplelist>
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|