25442 lines
902 KiB
Plaintext
25442 lines
902 KiB
Plaintext
<!-- doc/src/sgml/release-12.sgml -->
|
|
<!-- See header comment in release.sgml about typical markup -->
|
|
|
|
<sect1 id="release-12-19">
|
|
<title>Release 12.19</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2024-05-09</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.18.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> community will stop
|
|
releasing updates for the 12.X release series in November 2024.
|
|
Users are encouraged to update to a newer release branch soon.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.19</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you are upgrading from a version earlier than 12.18,
|
|
see <xref linkend="release-12-18"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b4a71cf65] 2024-03-14 14:57:16 -0400
|
|
Branch: REL_16_STABLE [52898c63e] 2024-03-14 14:57:16 -0400
|
|
Branch: REL_15_STABLE [7c61d2342] 2024-03-14 14:57:16 -0400
|
|
Branch: REL_14_STABLE [3621ffd9f] 2024-03-14 14:57:16 -0400
|
|
Branch: REL_13_STABLE [0200398dd] 2024-03-14 14:57:16 -0400
|
|
Branch: REL_12_STABLE [82c87af7a] 2024-03-14 14:57:16 -0400
|
|
-->
|
|
<para>
|
|
Fix <command>INSERT</command> from
|
|
multiple <command>VALUES</command> rows into a target column that is
|
|
a domain over an array or composite type (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Such cases would either fail with surprising complaints about
|
|
mismatched datatypes, or insert unexpected coercions that could lead
|
|
to odd results.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [4c2369ac5] 2024-02-20 12:49:37 +1300
|
|
Branch: REL_16_STABLE [fb95cc72b] 2024-02-20 12:50:09 +1300
|
|
Branch: REL_15_STABLE [1b3495e29] 2024-02-20 12:50:34 +1300
|
|
Branch: REL_14_STABLE [f9c8f7ccd] 2024-02-20 12:50:57 +1300
|
|
Branch: REL_13_STABLE [3850fcca6] 2024-02-20 12:51:17 +1300
|
|
Branch: REL_12_STABLE [3ffcd24c2] 2024-02-20 12:51:38 +1300
|
|
-->
|
|
<para>
|
|
Fix incorrect pruning of NULL partition when a table is partitioned
|
|
on a boolean column and the query has a boolean <literal>IS
|
|
NOT</literal> clause (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
A NULL value satisfies a clause such
|
|
as <literal><replaceable>boolcol</replaceable> IS NOT
|
|
FALSE</literal>, so pruning away a partition containing NULLs
|
|
yielded incorrect answers.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [fad3b5b5a] 2024-03-26 15:28:31 -0400
|
|
Branch: REL_16_STABLE [7445f0928] 2024-03-26 15:28:16 -0400
|
|
Branch: REL_15_STABLE [b48eda4e5] 2024-03-26 15:28:16 -0400
|
|
Branch: REL_14_STABLE [66bbad581] 2024-03-26 15:28:16 -0400
|
|
Branch: REL_13_STABLE [97de2a159] 2024-03-26 15:28:16 -0400
|
|
Branch: REL_12_STABLE [a8b740868] 2024-03-26 15:28:16 -0400
|
|
-->
|
|
<para>
|
|
Make <command>ALTER FOREIGN TABLE SET SCHEMA</command> move any
|
|
owned sequences into the new schema (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Moving a regular table to a new schema causes any sequences owned by
|
|
the table to be moved to that schema too (along with indexes and
|
|
constraints). This was overlooked for foreign tables, however.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [0960ae196] 2024-03-18 14:03:58 +0200
|
|
Branch: REL_16_STABLE [1f4eb7342] 2024-03-18 14:04:13 +0200
|
|
Branch: REL_15_STABLE [d3d95f583] 2024-03-18 14:04:17 +0200
|
|
Branch: REL_14_STABLE [262757b73] 2024-03-18 14:04:19 +0200
|
|
Branch: REL_13_STABLE [992189a3e] 2024-03-18 14:04:24 +0200
|
|
Branch: REL_12_STABLE [f3e4581ac] 2024-03-18 14:04:28 +0200
|
|
-->
|
|
<para>
|
|
Fix <command>EXPLAIN</command>'s counting of heap pages accessed by
|
|
a bitmap heap scan (Melanie Plageman)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, heap pages that contain no visible tuples were not
|
|
counted; but it seems more consistent to count all pages returned by
|
|
the bitmap index scan.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [6faca9ae2] 2024-04-02 14:59:32 -0400
|
|
Branch: REL_16_STABLE [cbfbb14bd] 2024-04-02 14:59:04 -0400
|
|
Branch: REL_15_STABLE [4fb56a734] 2024-04-02 14:59:04 -0400
|
|
Branch: REL_14_STABLE [ca392df8d] 2024-04-02 14:59:04 -0400
|
|
Branch: REL_13_STABLE [4afc2c219] 2024-04-02 14:59:04 -0400
|
|
Branch: REL_12_STABLE [f5d9212e5] 2024-04-02 14:59:04 -0400
|
|
-->
|
|
<para>
|
|
Avoid deadlock during removal of orphaned temporary tables
|
|
(Mikhail Zhilin)
|
|
</para>
|
|
|
|
<para>
|
|
If the session that creates a temporary table crashes without
|
|
removing the table, autovacuum will eventually try to remove the
|
|
orphaned table. However, an incoming session that's been assigned
|
|
the same temporary namespace will do that too. If a temporary table
|
|
has a dependency (such as an owned sequence) then a deadlock could
|
|
result between these two cleanup attempts.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [f65ab862e] 2024-04-29 10:24:56 -0700
|
|
Branch: REL_16_STABLE [92685c389] 2024-04-29 10:24:59 -0700
|
|
Branch: REL_15_STABLE [7c5915c4b] 2024-04-29 10:24:59 -0700
|
|
Branch: REL_14_STABLE [2ca19aa81] 2024-04-29 10:25:00 -0700
|
|
Branch: REL_13_STABLE [70cadfba0] 2024-04-29 10:25:00 -0700
|
|
Branch: REL_12_STABLE [f222349c4] 2024-04-29 10:25:00 -0700
|
|
-->
|
|
<para>
|
|
Avoid race condition while examining per-relation frozen-XID values
|
|
(Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
<command>VACUUM</command>'s computation of per-database frozen-XID
|
|
values from per-relation values could get confused by a concurrent
|
|
update of those values by another <command>VACUUM</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_15_STABLE [bf379b555] 2024-04-30 15:22:55 -0400
|
|
Branch: REL_14_STABLE [51189f98a] 2024-04-30 15:22:55 -0400
|
|
Branch: REL_13_STABLE [1ee22d1e8] 2024-04-30 15:22:55 -0400
|
|
Branch: REL_12_STABLE [56d30fb10] 2024-04-30 15:22:56 -0400
|
|
-->
|
|
<para>
|
|
Disallow converting a table to a view within an outer SQL command
|
|
that is using that table (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids possible crashes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [03107b4ed] 2024-04-16 11:22:51 -0400
|
|
Branch: REL_16_STABLE [91800af13] 2024-04-16 11:03:43 -0400
|
|
Branch: REL_15_STABLE [5aacfa64e] 2024-04-16 11:22:39 -0400
|
|
Branch: REL_14_STABLE [ab2402268] 2024-04-16 11:22:39 -0400
|
|
Branch: REL_13_STABLE [d9e4ee74f] 2024-04-16 11:22:39 -0400
|
|
Branch: REL_12_STABLE [f502849d4] 2024-04-16 11:22:39 -0400
|
|
-->
|
|
<para>
|
|
Ensure that join conditions generated from equivalence classes are
|
|
applied at the correct plan level (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
In versions before <productname>PostgreSQL</productname> 16, it was
|
|
possible for generated conditions to be evaluated below outer joins
|
|
when they should be evaluated above (after) the outer join, leading
|
|
to incorrect query results. All versions have a similar hazard when
|
|
considering joins to <command>UNION ALL</command> trees that have
|
|
constant outputs for the join column in
|
|
some <command>SELECT </command> arms.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a767cdc84] 2024-03-27 13:39:03 -0400
|
|
Branch: REL_16_STABLE [a94f51a7b] 2024-03-27 13:39:03 -0400
|
|
Branch: REL_15_STABLE [03561a6c7] 2024-03-27 13:39:03 -0400
|
|
Branch: REL_14_STABLE [0d30e48c2] 2024-03-27 13:39:03 -0400
|
|
Branch: REL_13_STABLE [de3c5b187] 2024-03-27 13:39:03 -0400
|
|
Branch: REL_12_STABLE [25675c474] 2024-03-27 13:39:03 -0400
|
|
-->
|
|
<para>
|
|
Avoid unnecessary use of moving-aggregate mode with a non-moving
|
|
window frame (Vallimaharajan G)
|
|
</para>
|
|
|
|
<para>
|
|
When a plain aggregate is used as a window function, and the window
|
|
frame start is specified as <literal>UNBOUNDED PRECEDING</literal>,
|
|
the frame's head cannot move so we do not need to use the special
|
|
(and more expensive) moving-aggregate mode. This optimization was
|
|
intended all along, but due to a coding error it never triggered.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a6b2a51e1] 2024-02-23 15:21:53 -0500
|
|
Branch: REL_16_STABLE [ef0333e67] 2024-02-23 15:21:53 -0500
|
|
Branch: REL_15_STABLE [37bbe3d3a] 2024-02-23 15:21:53 -0500
|
|
Branch: REL_14_STABLE [cbeb45527] 2024-02-23 15:21:53 -0500
|
|
Branch: REL_13_STABLE [9061fd23c] 2024-02-23 15:21:53 -0500
|
|
Branch: REL_12_STABLE [cf807eba5] 2024-02-23 15:21:53 -0500
|
|
-->
|
|
<para>
|
|
Avoid use of already-freed data while planning partition-wise joins
|
|
under GEQO (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This would typically end in a crash or unexpected error message.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [a37a3e2b3] 2024-03-05 16:17:02 +1300
|
|
Branch: REL_16_STABLE [ac7e6a01c] 2024-03-05 16:17:53 +1300
|
|
Branch: REL_15_STABLE [164fe7a6e] 2024-03-05 16:18:19 +1300
|
|
Branch: REL_14_STABLE [0c2dda109] 2024-03-05 16:18:42 +1300
|
|
Branch: REL_13_STABLE [421dfb41a] 2024-03-05 16:19:05 +1300
|
|
Branch: REL_12_STABLE [94246405d] 2024-03-05 16:19:26 +1300
|
|
-->
|
|
<para>
|
|
Fix incorrectly-reported statistics kind codes in <quote>requested
|
|
statistics kind <replaceable>X</replaceable> is not yet
|
|
built</quote> error messages (David Rowley)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e0df80828] 2024-04-15 12:56:56 -0400
|
|
Branch: REL_16_STABLE [cc1eb6a3c] 2024-04-15 12:56:56 -0400
|
|
Branch: REL_15_STABLE [09989ba84] 2024-04-15 12:56:56 -0400
|
|
Branch: REL_14_STABLE [78e81e14d] 2024-04-15 12:56:56 -0400
|
|
Branch: REL_13_STABLE [b6e21cef7] 2024-04-15 12:56:56 -0400
|
|
Branch: REL_12_STABLE [e0970862e] 2024-04-15 12:56:56 -0400
|
|
Branch: master [2ed8f9a01] 2024-03-06 14:41:13 -0500
|
|
Branch: REL_16_STABLE [1b3029be5] 2024-03-06 14:41:13 -0500
|
|
Branch: REL_15_STABLE [3b671dcf5] 2024-03-06 14:41:13 -0500
|
|
Branch: REL_14_STABLE [a595c3075] 2024-03-06 14:41:13 -0500
|
|
Branch: REL_13_STABLE [d769f9d97] 2024-03-06 14:41:13 -0500
|
|
Branch: REL_12_STABLE [466376c9f] 2024-03-06 14:41:13 -0500
|
|
-->
|
|
<para>
|
|
Be more careful with <type>RECORD</type>-returning functions
|
|
in <literal>FROM</literal> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The output columns of such a function call must be defined by
|
|
an <literal>AS</literal> clause that specifies the column names and
|
|
data types. If the actual function output value doesn't match that,
|
|
an error is supposed to be thrown at runtime. However, some code
|
|
paths would examine the actual value prematurely, and potentially
|
|
issue strange errors or suffer assertion failures if it doesn't
|
|
match expectations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [6ee3261e9] 2024-03-12 18:16:25 -0400
|
|
Branch: REL_16_STABLE [40d1bdeb7] 2024-03-12 18:16:10 -0400
|
|
Branch: REL_15_STABLE [6f66fadad] 2024-03-12 18:16:10 -0400
|
|
Branch: REL_14_STABLE [649bbba11] 2024-03-12 18:16:10 -0400
|
|
Branch: REL_13_STABLE [28184f039] 2024-03-12 18:16:10 -0400
|
|
Branch: REL_12_STABLE [dc1503d5b] 2024-03-12 18:16:10 -0400
|
|
-->
|
|
<para>
|
|
Fix confusion about the return rowtype of SQL-language procedures
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A procedure implemented in SQL language that returns a single
|
|
composite-type column would cause an assertion failure or core dump.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [d57b7cc33] 2024-02-16 16:02:00 +0200
|
|
Branch: master [75bcba6cb] 2024-02-21 02:51:41 +0200
|
|
Branch: REL_16_STABLE [760767182] 2024-03-11 03:06:55 +0200
|
|
Branch: REL_15_STABLE [84788ee5b] 2024-03-11 03:06:45 +0200
|
|
Branch: REL_14_STABLE [84cc1a552] 2024-03-11 03:06:15 +0200
|
|
Branch: REL_13_STABLE [445c7e38f] 2024-03-11 03:06:10 +0200
|
|
Branch: REL_12_STABLE [98bfb7558] 2024-03-11 02:53:07 +0200
|
|
-->
|
|
<para>
|
|
Add protective stack depth checks to some recursive functions
|
|
(Egor Chindyaskin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4019285c0] 2024-04-28 13:42:13 -0400
|
|
Branch: REL_16_STABLE [3752e3d21] 2024-04-28 13:42:13 -0400
|
|
Branch: REL_15_STABLE [e6e3ee5b7] 2024-04-28 13:42:13 -0400
|
|
Branch: REL_14_STABLE [1748379b6] 2024-04-28 13:42:13 -0400
|
|
Branch: REL_13_STABLE [440b6251b] 2024-04-28 13:42:13 -0400
|
|
Branch: REL_12_STABLE [cb0ccefa0] 2024-04-28 13:42:13 -0400
|
|
-->
|
|
<para>
|
|
Detect integer overflow when adding or subtracting
|
|
an <type>interval</type> to/from a <type>timestamp</type>
|
|
(Joseph Koshakow)
|
|
</para>
|
|
|
|
<para>
|
|
Some cases that should cause an out-of-range error produced an
|
|
incorrect result instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ce571434a] 2024-02-09 12:29:41 -0500
|
|
Branch: REL_16_STABLE [4eb261165] 2024-02-09 12:29:41 -0500
|
|
Branch: REL_15_STABLE [26c89d105] 2024-02-09 12:29:41 -0500
|
|
Branch: REL_14_STABLE [d21690edb] 2024-02-09 12:29:41 -0500
|
|
Branch: REL_13_STABLE [ceb224b62] 2024-02-09 12:29:41 -0500
|
|
Branch: REL_12_STABLE [f38903d1e] 2024-02-09 12:29:41 -0500
|
|
-->
|
|
<para>
|
|
Avoid race condition in <function>pg_get_expr()</function>
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If the relation referenced by the argument is dropped concurrently,
|
|
the function's intention is to return NULL, but sometimes it failed
|
|
instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [165d921c9] 2024-02-08 12:45:26 +0200
|
|
Branch: REL_16_STABLE [e3e05adde] 2024-02-09 12:37:21 +0200
|
|
Branch: REL_15_STABLE [503299b7f] 2024-02-09 12:38:32 +0200
|
|
Branch: REL_14_STABLE [18388291a] 2024-02-09 12:39:42 +0200
|
|
Branch: REL_13_STABLE [4efaf4b09] 2024-02-09 12:39:54 +0200
|
|
Branch: REL_12_STABLE [d44060cfc] 2024-02-09 12:55:43 +0200
|
|
-->
|
|
<para>
|
|
Fix detection of old transaction IDs in XID status functions
|
|
(Karina Litskevich)
|
|
</para>
|
|
|
|
<para>
|
|
Transaction IDs more than 2<superscript>31</superscript>
|
|
transactions in the past could be misidentified as recent,
|
|
leading to misbehavior of <function>pg_xact_status()</function>
|
|
or <function>txid_status()</function>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
Branch: REL_16_STABLE [e79ceafe9] 2024-04-11 19:05:00 +0900
|
|
Branch: REL_15_STABLE [b82dca2a5] 2024-04-11 19:05:02 +0900
|
|
Branch: REL_14_STABLE [b714bc40c] 2024-04-11 19:05:04 +0900
|
|
Branch: REL_13_STABLE [01b01a77f] 2024-04-11 19:05:05 +0900
|
|
Branch: REL_12_STABLE [0341d4b10] 2024-04-11 19:05:07 +0900
|
|
-->
|
|
<para>
|
|
Fix file descriptor leakage when an error is thrown while waiting
|
|
in <function>WaitEventSetWait</function> (Etsuro Fujita)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f5a465f1a] 2024-02-25 16:15:07 -0500
|
|
Branch: REL_16_STABLE [8c785d354] 2024-02-25 16:15:07 -0500
|
|
Branch: REL_15_STABLE [940489b46] 2024-02-25 16:15:07 -0500
|
|
Branch: REL_14_STABLE [09f09884c] 2024-02-25 16:15:07 -0500
|
|
Branch: REL_13_STABLE [43cca9de9] 2024-02-25 16:15:07 -0500
|
|
Branch: REL_12_STABLE [c0b4dad38] 2024-02-25 16:15:07 -0500
|
|
-->
|
|
<para>
|
|
Throw an error if an index is accessed while it is being reindexed
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously this was just an assertion check, but promote it into a
|
|
regular runtime error. This will provide a more on-point error
|
|
message when reindexing a user-defined index expression that
|
|
attempts to access its own table.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [a63224be4] 2024-05-01 13:21:21 +1200
|
|
Branch: REL_16_STABLE [68d358545] 2024-05-01 13:21:50 +1200
|
|
Branch: REL_15_STABLE [52f21f928] 2024-05-01 13:22:16 +1200
|
|
Branch: REL_14_STABLE [e6b0efc65] 2024-05-01 13:22:41 +1200
|
|
Branch: REL_13_STABLE [0a34bcd0c] 2024-05-01 13:23:05 +1200
|
|
Branch: REL_12_STABLE [e3f9dcabd] 2024-05-01 13:23:25 +1200
|
|
-->
|
|
<para>
|
|
Ensure that index-only scans on <type>name</type> columns return a
|
|
fully-padded value (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
The value physically stored in the index is truncated, and
|
|
previously a pointer to that value was returned to callers. This
|
|
provoked complaints when testing under valgrind. In theory it could
|
|
result in crashes, though none have been reported.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [fbf9a7ac4] 2024-02-13 21:23:41 +0200
|
|
Branch: REL_16_STABLE [f2f09b825] 2024-02-13 21:24:45 +0200
|
|
Branch: REL_15_STABLE [d46c26961] 2024-02-13 21:25:27 +0200
|
|
Branch: REL_14_STABLE [9b8550fbd] 2024-02-13 21:25:39 +0200
|
|
Branch: REL_13_STABLE [e92375692] 2024-02-13 21:25:48 +0200
|
|
Branch: REL_12_STABLE [95cc48ca0] 2024-02-13 21:25:59 +0200
|
|
-->
|
|
<para>
|
|
Fix crash with DSM allocations larger than 4GB (Heikki Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [f8c5317d0] 2024-03-12 10:18:32 +0200
|
|
Branch: REL_16_STABLE [539e328b1] 2024-03-12 10:18:44 +0200
|
|
Branch: REL_15_STABLE [4fce5f970] 2024-03-12 10:18:50 +0200
|
|
Branch: REL_14_STABLE [bf1f593e8] 2024-03-12 10:18:51 +0200
|
|
Branch: REL_13_STABLE [ad5cd55e6] 2024-03-12 10:18:53 +0200
|
|
Branch: REL_12_STABLE [df27d76d3] 2024-03-12 10:18:54 +0200
|
|
-->
|
|
<para>
|
|
Disconnect if a new server session's client socket cannot be put
|
|
into non-blocking mode (Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
It was once theoretically possible for us to operate with a socket
|
|
that's in blocking mode; but that hasn't worked fully in a long
|
|
time, so fail at connection start rather than misbehave later.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [453c46873] 2024-03-07 19:38:17 -0500
|
|
Branch: REL_16_STABLE [6a2c80e95] 2024-03-07 19:37:51 -0500
|
|
Branch: REL_15_STABLE [0fe82e45c] 2024-03-07 19:37:51 -0500
|
|
Branch: REL_14_STABLE [473babd42] 2024-03-07 19:37:51 -0500
|
|
Branch: REL_13_STABLE [9fbe07275] 2024-03-07 19:37:51 -0500
|
|
Branch: REL_12_STABLE [c42e5fdcf] 2024-03-07 19:37:51 -0500
|
|
-->
|
|
<para>
|
|
Fix inadequate error reporting
|
|
with <application>OpenSSL</application> 3.0.0 and later (Heikki
|
|
Linnakangas, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
System-reported errors passed through by OpenSSL were reported with
|
|
a numeric error code rather than anything readable.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a584d03ce] 2024-02-09 11:21:08 -0500
|
|
Branch: REL_16_STABLE [52afe5632] 2024-02-09 11:21:08 -0500
|
|
Branch: REL_15_STABLE [806f98951] 2024-02-09 11:21:08 -0500
|
|
Branch: REL_14_STABLE [8ead39e38] 2024-02-09 11:21:08 -0500
|
|
Branch: REL_13_STABLE [8c5da20db] 2024-02-09 11:21:08 -0500
|
|
Branch: REL_12_STABLE [9fb1396a9] 2024-02-09 11:21:08 -0500
|
|
Branch: master [0028b55bc] 2024-02-09 11:11:39 -0500
|
|
Branch: REL_16_STABLE [9440d23a0] 2024-02-09 11:11:39 -0500
|
|
Branch: REL_15_STABLE [9f041b041] 2024-02-09 11:11:39 -0500
|
|
Branch: REL_14_STABLE [7d7cc7fd6] 2024-02-09 11:11:39 -0500
|
|
Branch: REL_13_STABLE [67f8cf0f0] 2024-02-09 11:11:39 -0500
|
|
Branch: REL_12_STABLE [95e960e81] 2024-02-09 11:11:39 -0500
|
|
-->
|
|
<para>
|
|
Avoid concurrent calls to <function>bindtextdomain()</function>
|
|
in <application>libpq</application>
|
|
and <application>ecpglib</application> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Although GNU <application>gettext</application>'s implementation
|
|
seems to be fine with concurrent calls, the version available on
|
|
Windows is not.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [6f0cef935] 2024-04-16 12:31:42 -0400
|
|
Branch: REL_16_STABLE [392e6e9e6] 2024-04-16 12:31:32 -0400
|
|
Branch: REL_15_STABLE [25f937217] 2024-04-16 12:31:32 -0400
|
|
Branch: REL_14_STABLE [463164639] 2024-04-16 12:31:32 -0400
|
|
Branch: REL_13_STABLE [02531e8ca] 2024-04-16 12:31:32 -0400
|
|
Branch: REL_12_STABLE [2b6a74afe] 2024-04-16 12:31:32 -0400
|
|
Branch: REL_16_STABLE [0018f0af5] 2024-04-18 20:47:37 -0400
|
|
Branch: REL_15_STABLE [1e7b1b026] 2024-04-18 20:47:37 -0400
|
|
Branch: REL_14_STABLE [df66319f7] 2024-04-18 20:47:37 -0400
|
|
Branch: REL_13_STABLE [481597fc6] 2024-04-18 20:47:37 -0400
|
|
Branch: REL_12_STABLE [61dd815e0] 2024-04-18 20:47:37 -0400
|
|
Branch: REL_16_STABLE [dd3fddc85] 2024-04-19 01:07:16 -0400
|
|
Branch: REL_15_STABLE [f7e891748] 2024-04-19 01:07:32 -0400
|
|
Branch: REL_14_STABLE [de84608e2] 2024-04-19 01:07:41 -0400
|
|
Branch: REL_13_STABLE [c6bfeab42] 2024-04-19 01:07:47 -0400
|
|
Branch: REL_12_STABLE [cd26f08e4] 2024-04-19 01:07:52 -0400
|
|
-->
|
|
<para>
|
|
Fix crash in <application>ecpg</application>'s preprocessor if
|
|
the program tries to redefine a macro that was defined on the
|
|
preprocessor command line (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [096a761d6] 2024-04-04 15:31:53 -0400
|
|
Branch: REL_16_STABLE [118558e6d] 2024-04-04 15:31:53 -0400
|
|
Branch: REL_15_STABLE [f159f1814] 2024-04-04 15:31:53 -0400
|
|
Branch: REL_14_STABLE [d3167ed3f] 2024-04-04 15:31:53 -0400
|
|
Branch: REL_13_STABLE [5ba29e945] 2024-04-04 15:31:53 -0400
|
|
Branch: REL_12_STABLE [360d007e3] 2024-04-04 15:31:53 -0400
|
|
-->
|
|
<para>
|
|
In <application>ecpg</application>, avoid issuing
|
|
false <quote>unsupported feature will be passed to server</quote>
|
|
warnings (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [e77a1c58e] 2024-02-19 11:38:18 +0900
|
|
Branch: REL_16_STABLE [88e03d055] 2024-02-19 11:38:44 +0900
|
|
Branch: REL_15_STABLE [b5cb6022b] 2024-02-19 11:38:47 +0900
|
|
Branch: REL_14_STABLE [a05bb9add] 2024-02-19 11:38:49 +0900
|
|
Branch: REL_13_STABLE [c031ce97b] 2024-02-19 11:38:52 +0900
|
|
Branch: REL_12_STABLE [771240f97] 2024-02-19 11:38:54 +0900
|
|
-->
|
|
<para>
|
|
Ensure that the string result
|
|
of <application>ecpg</application>'s <function>intoasc()</function>
|
|
function is correctly zero-terminated (Oleg Tselebrovskiy)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
|
|
Branch: master [7e65ad197] 2024-03-21 23:31:57 +0100
|
|
Branch: REL_16_STABLE [5863bacb8] 2024-03-21 23:31:57 +0100
|
|
Branch: REL_15_STABLE [12128be62] 2024-03-21 23:31:57 +0100
|
|
Branch: REL_14_STABLE [be01c8c34] 2024-03-21 23:31:57 +0100
|
|
Branch: REL_13_STABLE [affc46b76] 2024-03-21 23:31:57 +0100
|
|
Branch: REL_12_STABLE [d82cb467b] 2024-03-21 23:31:57 +0100
|
|
Branch: REL_14_STABLE [6ebd43725] 2024-03-22 01:01:30 +0100
|
|
Branch: REL_13_STABLE [d5c6affb8] 2024-03-22 01:01:30 +0100
|
|
Branch: REL_12_STABLE [82c2192d9] 2024-03-22 01:01:30 +0100
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dumpall</application> so that role comments, if
|
|
present, will be dumped regardless of the setting
|
|
of <option>--no-role-passwords</option> (Daniel Gustafsson,
|
|
Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5392dd3d2] 2024-04-10 15:45:58 -0400
|
|
Branch: REL_16_STABLE [48f216dc6] 2024-04-10 15:45:58 -0400
|
|
Branch: REL_15_STABLE [d85db0a8e] 2024-04-10 15:45:59 -0400
|
|
Branch: REL_14_STABLE [dc5824a06] 2024-04-10 15:45:59 -0400
|
|
Branch: REL_13_STABLE [f5cee411a] 2024-04-10 15:45:59 -0400
|
|
Branch: REL_12_STABLE [5e9d8bed0] 2024-04-10 15:45:59 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>PL/pgSQL</application>'s parsing of single-line
|
|
comments (<literal>--</literal>-style comments) following
|
|
expressions (Erik Wienhold, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This mistake caused parse errors if such a comment followed
|
|
a <literal>WHEN</literal> expression in
|
|
a <application>PL/pgSQL</application> <command>CASE</command>
|
|
statement.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [b1fe8efdf] 2024-03-24 00:09:24 +0200
|
|
Branch: REL_16_STABLE [3676b846b] 2024-03-23 23:02:30 +0200
|
|
Branch: REL_15_STABLE [0d466bce9] 2024-03-23 23:02:43 +0200
|
|
Branch: REL_14_STABLE [4e8529da4] 2024-03-23 23:03:10 +0200
|
|
Branch: REL_13_STABLE [5cc1f2626] 2024-03-23 23:03:12 +0200
|
|
Branch: REL_12_STABLE [d603e6744] 2024-03-24 00:08:13 +0200
|
|
Branch: master [ab65dfb0f] 2024-03-24 00:09:24 +0200
|
|
Branch: REL_16_STABLE [a6ddb8ad0] 2024-03-23 23:02:30 +0200
|
|
Branch: REL_15_STABLE [54e6184db] 2024-03-23 23:02:43 +0200
|
|
Branch: REL_14_STABLE [5df5d9cd7] 2024-03-23 23:03:10 +0200
|
|
Branch: REL_13_STABLE [e2c241416] 2024-03-23 23:03:12 +0200
|
|
Branch: REL_12_STABLE [50f8611d0] 2024-03-23 23:03:14 +0200
|
|
-->
|
|
<para>
|
|
In <filename>contrib/amcheck</filename>, don't report false match
|
|
failures due to short- versus long-header values (Andrey Borodin,
|
|
Michael Zhilin)
|
|
</para>
|
|
|
|
<para>
|
|
A variable-length datum in a heap tuple or index tuple could have
|
|
either a short or a long header, depending on compression parameters
|
|
that applied when it was made. Treat these cases as equivalent
|
|
rather than complaining if there's a difference.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [c399248b3] 2024-03-11 12:27:11 +1300
|
|
Branch: REL_16_STABLE [6a9e2cb2b] 2024-03-11 12:27:46 +1300
|
|
Branch: REL_15_STABLE [ab64b275a] 2024-03-11 12:28:11 +1300
|
|
Branch: REL_14_STABLE [628c3f2e1] 2024-03-11 12:28:40 +1300
|
|
Branch: REL_13_STABLE [20b85b3da] 2024-03-11 12:29:03 +1300
|
|
Branch: REL_12_STABLE [9301e0f41] 2024-03-11 12:29:24 +1300
|
|
-->
|
|
<para>
|
|
In <filename>contrib/postgres_fdw</filename>, avoid emitting
|
|
requests to sort by a constant (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
This could occur in cases involving <literal>UNION ALL</literal>
|
|
with constant-emitting subqueries. Sorting by a constant is useless
|
|
of course, but it also risks being misinterpreted by the remote
|
|
server, leading to <quote>ORDER BY
|
|
position <replaceable>N</replaceable> is not in select list</quote>
|
|
errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a3021aafc] 2024-04-21 13:46:20 -0400
|
|
Branch: REL_16_STABLE [75929b6cf] 2024-04-21 13:46:20 -0400
|
|
Branch: REL_15_STABLE [6c85e3359] 2024-04-21 13:46:20 -0400
|
|
Branch: REL_14_STABLE [3ed6e1698] 2024-04-21 13:46:20 -0400
|
|
Branch: REL_13_STABLE [0e56b2b94] 2024-04-21 13:46:20 -0400
|
|
Branch: REL_12_STABLE [ce1c30ece] 2024-04-21 13:46:20 -0400
|
|
-->
|
|
<para>
|
|
Make <filename>contrib/postgres_fdw</filename> set the remote
|
|
session's time zone to <literal>GMT</literal>
|
|
not <literal>UTC</literal> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This should have the same results for practical purposes.
|
|
However, <literal>GMT</literal> is recognized by hard-wired code in
|
|
the server, while <literal>UTC</literal> is looked up in the
|
|
timezone database. So the old code could fail in the unlikely event
|
|
that the remote server's timezone database is missing entries.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: REL_16_STABLE [7c93f31de] 2024-04-16 12:25:48 +0900
|
|
Branch: REL_15_STABLE [689ba4f1c] 2024-04-16 12:26:10 +0900
|
|
Branch: REL_14_STABLE [6fa5e67e8] 2024-04-16 12:26:15 +0900
|
|
Branch: REL_13_STABLE [bb418aeee] 2024-04-16 12:26:17 +0900
|
|
Branch: REL_12_STABLE [4b0e5d601] 2024-04-16 12:26:21 +0900
|
|
-->
|
|
<para>
|
|
In <filename>contrib/xml2</filename>, avoid use of library functions
|
|
that have been deprecated in recent versions
|
|
of <application>libxml2</application> (Dmitry Koval)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [53c8d6c9f] 2024-04-10 12:13:46 +1200
|
|
Branch: REL_16_STABLE [bf1cfe77e] 2024-04-10 10:46:15 +1200
|
|
Branch: REL_15_STABLE [74992929a] 2024-04-10 12:14:04 +1200
|
|
Branch: REL_14_STABLE [7fe32eaa4] 2024-04-10 12:15:07 +1200
|
|
Branch: REL_13_STABLE [4f90750b5] 2024-04-10 12:15:41 +1200
|
|
Branch: REL_12_STABLE [01b55203a] 2024-04-10 12:15:59 +1200
|
|
-->
|
|
<para>
|
|
Fix incompatibility with LLVM 18 (Thomas Munro, Dmitry Dolgov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8a92b70c1] 2024-03-26 11:44:49 -0400
|
|
Branch: REL_16_STABLE [7651fd387] 2024-03-26 11:44:49 -0400
|
|
Branch: REL_15_STABLE [3c3f4fd74] 2024-03-26 11:44:49 -0400
|
|
Branch: REL_14_STABLE [d82605bcd] 2024-03-26 11:44:49 -0400
|
|
Branch: REL_13_STABLE [243e99532] 2024-03-26 11:44:49 -0400
|
|
Branch: REL_12_STABLE [7124e7d52] 2024-03-26 11:44:49 -0400
|
|
-->
|
|
<para>
|
|
Allow <literal>make check</literal> to work with
|
|
the <application>musl</application> C library (Thomas Munro, Bruce
|
|
Momjian, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-18">
|
|
<title>Release 12.18</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2024-02-08</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.17.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> community will stop
|
|
releasing updates for the 12.X release series in November 2024.
|
|
Users are encouraged to update to a newer release branch soon.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.18</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, one bug was fixed that could have resulted in corruption of
|
|
GIN indexes during concurrent updates. If you suspect such
|
|
corruption, reindex affected indexes after installing this update.
|
|
</para>
|
|
|
|
<para>
|
|
Also, if you are upgrading from a version earlier than 12.17,
|
|
see <xref linkend="release-12-17"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [5a9167c39] 2024-02-05 11:01:23 +0200
|
|
Branch: REL_16_STABLE [d6a61cb3b] 2024-02-05 11:02:56 +0200
|
|
Branch: REL_15_STABLE [f2fdea198] 2024-02-05 11:03:26 +0200
|
|
Branch: REL_14_STABLE [f4f288352] 2024-02-05 11:03:43 +0200
|
|
Branch: REL_13_STABLE [d541ce3b6] 2024-02-05 11:04:08 +0200
|
|
Branch: REL_12_STABLE [2699fc035] 2024-02-05 11:04:22 +0200
|
|
Branch: master [b96115acb] 2024-02-05 11:01:30 +0200
|
|
Branch: REL_16_STABLE [fb3836855] 2024-02-05 11:03:03 +0200
|
|
Branch: REL_15_STABLE [06f36bc01] 2024-02-05 11:03:28 +0200
|
|
Branch: REL_14_STABLE [a45c950ae] 2024-02-05 11:03:43 +0200
|
|
Branch: REL_13_STABLE [b73d21648] 2024-02-05 11:04:10 +0200
|
|
Branch: REL_12_STABLE [add8bc9b8] 2024-02-05 11:04:23 +0200
|
|
-->
|
|
<para>
|
|
Tighten security restrictions within <command>REFRESH MATERIALIZED
|
|
VIEW CONCURRENTLY</command> (Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
One step of a concurrent refresh command was run under weak security
|
|
restrictions. If a materialized view's owner could persuade a
|
|
superuser or other high-privileged user to perform a concurrent
|
|
refresh on that view, the view's owner could control code executed
|
|
with the privileges of the user running <command>REFRESH</command>.
|
|
Fix things so that all user-determined code is run as the view's
|
|
owner, as expected.
|
|
</para>
|
|
|
|
<para>
|
|
The only known exploit for this error does not work
|
|
in <productname>PostgreSQL</productname> 16.0 and later, so it may
|
|
be that v16 is not vulnerable in practice.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks Pedro
|
|
Gallegos for reporting this problem.
|
|
(CVE-2024-0985) <!-- not CVE-2023-5869 as claimed in commit msg -->
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
|
|
Branch: master [9dce22033] 2023-09-27 13:02:21 +0200
|
|
Branch: REL_16_STABLE [2cf50585e] 2023-11-17 10:18:38 +0100
|
|
Branch: REL_15_STABLE [aef521849] 2023-11-17 10:21:34 +0100
|
|
Branch: REL_14_STABLE [75a20a4b4] 2023-11-17 10:27:45 +0100
|
|
Branch: REL_13_STABLE [10912f7d4] 2023-11-17 11:46:31 +0100
|
|
Branch: REL_12_STABLE [3b991f81c] 2023-11-17 11:47:17 +0100
|
|
Branch: REL_12_STABLE [c922b2410] 2023-12-11 12:02:01 +0100
|
|
-->
|
|
<para>
|
|
Fix memory leak when performing JIT inlining (Andres Freund,
|
|
Daniel Gustafsson)
|
|
</para>
|
|
|
|
<para>
|
|
There have been multiple reports of backend processes suffering
|
|
out-of-memory conditions after sufficiently many JIT compilations.
|
|
This fix should resolve that.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: REL_15_STABLE [f374fb4aa] 2024-01-18 11:12:31 +0900
|
|
Branch: REL_14_STABLE [5f6ec27a6] 2024-01-18 11:12:38 +0900
|
|
Branch: REL_13_STABLE [dc9d424cf] 2024-01-18 11:12:43 +0900
|
|
Branch: REL_12_STABLE [810382285] 2024-01-18 11:12:48 +0900
|
|
-->
|
|
<para>
|
|
When dequeueing from an LWLock, avoid needing to search the list of
|
|
waiting processes (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
This fixes O(N^2) behavior when the list of waiters is long. In
|
|
some use-cases this results in substantial throughput improvements.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_16_STABLE [62f120203] 2024-02-01 12:34:21 -0500
|
|
Branch: REL_15_STABLE [12ec16d11] 2024-02-01 12:34:21 -0500
|
|
Branch: REL_14_STABLE [e031995d5] 2024-02-01 12:34:21 -0500
|
|
Branch: REL_13_STABLE [7af96a66f] 2024-02-01 12:34:21 -0500
|
|
Branch: REL_12_STABLE [2e822a1d6] 2024-02-01 12:34:21 -0500
|
|
-->
|
|
<para>
|
|
Avoid generating incorrect partitioned-join plans (Richard Guo)
|
|
</para>
|
|
|
|
<para>
|
|
Some uncommon situations involving lateral references could create
|
|
incorrect plans. Affected queries could produce wrong answers, or
|
|
odd failures such as <quote>variable not found in subplan target
|
|
list</quote>, or executor crashes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [29f114b6f] 2024-01-11 15:28:22 -0500
|
|
Branch: REL_16_STABLE [80bece312] 2024-01-11 15:28:13 -0500
|
|
Branch: REL_15_STABLE [a0b4fda44] 2024-01-11 15:28:13 -0500
|
|
Branch: REL_14_STABLE [ea1d54288] 2024-01-11 15:28:13 -0500
|
|
Branch: REL_13_STABLE [bfd28bb07] 2024-01-11 15:28:13 -0500
|
|
Branch: REL_12_STABLE [69c12c417] 2024-01-11 15:28:13 -0500
|
|
-->
|
|
<para>
|
|
Fix incorrect wrapping of subquery output expressions in
|
|
PlaceHolderVars (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This fixes incorrect results when a subquery is underneath an outer
|
|
join and has an output column that laterally references something
|
|
outside the outer join's scope. The output column might not appear
|
|
as NULL when it should do so due to the action of the outer join.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [2a67b5a60] 2024-01-07 09:10:19 +0200
|
|
Branch: REL_16_STABLE [714a987bc] 2024-01-07 09:32:58 +0200
|
|
Branch: REL_15_STABLE [1a7c03e6f] 2024-01-07 09:10:40 +0200
|
|
Branch: REL_14_STABLE [3bdaa8fc6] 2024-01-07 09:10:49 +0200
|
|
Branch: REL_13_STABLE [60de25c6e] 2024-01-07 09:11:00 +0200
|
|
Branch: REL_12_STABLE [72d5b2776] 2024-01-07 09:18:43 +0200
|
|
Branch: master [6d94cc6ca] 2024-01-08 20:00:20 +0200
|
|
Branch: REL_16_STABLE [20a566cd4] 2024-01-08 19:57:09 +0200
|
|
Branch: REL_15_STABLE [6eecc3a62] 2024-01-08 19:57:03 +0200
|
|
Branch: REL_14_STABLE [97e64911d] 2024-01-08 19:57:58 +0200
|
|
Branch: REL_13_STABLE [17b6f39f1] 2024-01-08 19:58:38 +0200
|
|
Branch: REL_12_STABLE [a5e2853c3] 2024-01-08 19:58:51 +0200
|
|
-->
|
|
<para>
|
|
Avoid requesting an oversize shared-memory area in parallel hash
|
|
join (Thomas Munro, Andrei Lepikhov, Alexander Korotkov)
|
|
</para>
|
|
|
|
<para>
|
|
The limiting value was too large, allowing <quote>invalid DSA memory
|
|
alloc request size</quote> errors to occur with sufficiently large
|
|
expected hash table sizes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [60f227316] 2023-11-28 12:00:14 +0200
|
|
Branch: REL_16_STABLE [9fee3232a] 2023-11-28 11:59:45 +0200
|
|
Branch: REL_15_STABLE [2873fbfe0] 2023-11-28 11:59:50 +0200
|
|
Branch: REL_14_STABLE [59c62a21f] 2023-11-28 11:59:51 +0200
|
|
Branch: REL_13_STABLE [e434d3620] 2023-11-28 11:59:52 +0200
|
|
Branch: REL_12_STABLE [b8a606e21] 2023-11-28 11:59:53 +0200
|
|
-->
|
|
<para>
|
|
Avoid assertion failures in <function>heap_update()</function>
|
|
and <function>heap_delete()</function> when a tuple to be updated by
|
|
a foreign-key enforcement trigger fails the extra visibility
|
|
crosscheck (Alexander Lakhin)
|
|
</para>
|
|
|
|
<para>
|
|
This error had no impact in non-assert builds.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [bb812ab09] 2024-01-24 14:20:01 +0900
|
|
Branch: REL_16_STABLE [51193e7a7] 2024-01-24 14:20:08 +0900
|
|
Branch: REL_15_STABLE [ad6fbbeeb] 2024-01-24 14:20:10 +0900
|
|
Branch: REL_14_STABLE [5a7833f49] 2024-01-24 14:20:11 +0900
|
|
Branch: REL_13_STABLE [bfec14d06] 2024-01-24 14:20:13 +0900
|
|
Branch: REL_12_STABLE [2f7242837] 2024-01-24 14:20:14 +0900
|
|
-->
|
|
<para>
|
|
Fix possible failure during <command>ALTER TABLE ADD
|
|
COLUMN</command> on a complex inheritance tree (Tender Wang)
|
|
</para>
|
|
|
|
<para>
|
|
If a grandchild table would inherit the new column via multiple
|
|
intermediate parents, the command failed with <quote>tuple already
|
|
updated by self</quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [3e91dba8b] 2024-01-31 13:15:21 +0900
|
|
Branch: REL_16_STABLE [f33e83285] 2024-01-31 13:16:43 +0900
|
|
Branch: REL_15_STABLE [41fa4b31c] 2024-01-31 13:16:46 +0900
|
|
Branch: REL_14_STABLE [dde5b01c3] 2024-01-31 13:16:47 +0900
|
|
Branch: REL_13_STABLE [4d0e8a008] 2024-01-31 13:16:49 +0900
|
|
Branch: REL_12_STABLE [056109782] 2024-01-31 13:16:50 +0900
|
|
-->
|
|
<para>
|
|
Fix problems with duplicate token names in <command>ALTER TEXT
|
|
SEARCH CONFIGURATION ... MAPPING</command> commands (Tender Wang,
|
|
Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [28f84f72f] 2023-11-19 21:03:38 +0100
|
|
Branch: REL_16_STABLE [ee32b824d] 2023-11-19 21:03:50 +0100
|
|
Branch: REL_15_STABLE [0177fc773] 2023-11-19 21:04:16 +0100
|
|
Branch: REL_14_STABLE [9dd50e92e] 2023-11-19 21:04:28 +0100
|
|
Branch: REL_13_STABLE [1e468ea4e] 2023-11-19 21:04:39 +0100
|
|
Branch: REL_12_STABLE [4f8d3c5b5] 2023-11-19 21:04:47 +0100
|
|
-->
|
|
<para>
|
|
Properly lock the associated table during <command>DROP
|
|
STATISTICS</command> (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
Failure to acquire the lock could result in <quote>tuple
|
|
concurrently deleted</quote> errors if the <command>DROP</command>
|
|
executes concurrently with <command>ANALYZE</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [743ddafc7] 2023-11-16 10:05:14 -0500
|
|
Branch: REL_16_STABLE [f07a3039c] 2023-11-16 10:05:14 -0500
|
|
Branch: REL_15_STABLE [9057ddbef] 2023-11-16 10:05:14 -0500
|
|
Branch: REL_14_STABLE [9bd0f74ea] 2023-11-16 10:05:14 -0500
|
|
Branch: REL_13_STABLE [5c11104c7] 2023-11-16 10:05:14 -0500
|
|
Branch: REL_12_STABLE [abd1b1325] 2023-11-16 10:05:14 -0500
|
|
-->
|
|
<para>
|
|
Fix function volatility checking for <literal>GENERATED</literal>
|
|
and <literal>DEFAULT</literal> expressions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
These places could fail to detect insertion of a volatile function
|
|
default-argument expression, or decide that a polymorphic function
|
|
is volatile although it is actually immutable on the datatype of
|
|
interest. This could lead to improperly rejecting or accepting
|
|
a <literal>GENERATED</literal> clause, or to mistakenly applying the
|
|
constant-default-value optimization in <command>ALTER TABLE ADD
|
|
COLUMN</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ad98fb142] 2024-01-13 13:46:27 -0500
|
|
Branch: REL_16_STABLE [7e2561e1a] 2024-01-13 13:46:27 -0500
|
|
Branch: REL_15_STABLE [2a46a0df4] 2024-01-13 13:46:27 -0500
|
|
Branch: REL_14_STABLE [db122d426] 2024-01-13 13:46:27 -0500
|
|
Branch: REL_13_STABLE [98e03f957] 2024-01-13 13:46:27 -0500
|
|
Branch: REL_12_STABLE [3b4d85cf1] 2024-01-13 13:46:27 -0500
|
|
Branch: master [96c019ffa] 2024-01-13 13:54:11 -0500
|
|
Branch: REL_16_STABLE [56dcd71de] 2024-01-13 13:54:11 -0500
|
|
Branch: REL_15_STABLE [d41358f4b] 2024-01-13 13:54:11 -0500
|
|
Branch: REL_14_STABLE [7ceeb57ba] 2024-01-13 13:54:11 -0500
|
|
Branch: REL_13_STABLE [475b3ea3c] 2024-01-13 13:54:11 -0500
|
|
Branch: REL_12_STABLE [d29a4fbac] 2024-01-13 13:54:11 -0500
|
|
-->
|
|
<para>
|
|
Detect that a new catalog cache entry became stale while detoasting
|
|
its fields (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
We expand any out-of-line fields in a catalog tuple before inserting
|
|
it into the catalog caches. That involves database access which
|
|
might cause invalidation of catalog cache entries — but the
|
|
new entry isn't in the cache yet, so we would miss noticing that it
|
|
should get invalidated. The result is a race condition in which an
|
|
already-stale cache entry could get made, and then persist
|
|
indefinitely. This would lead to hard-to-predict misbehavior.
|
|
Fix by rechecking the tuple's visibility after detoasting.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [0e3e8fbd3] 2023-11-09 09:50:23 +0000
|
|
Branch: REL_16_STABLE [c396aca2b] 2023-11-09 09:53:05 +0000
|
|
Branch: REL_15_STABLE [308a69a98] 2023-11-09 09:54:22 +0000
|
|
Branch: REL_14_STABLE [dea12b40d] 2023-11-09 09:55:39 +0000
|
|
Branch: REL_13_STABLE [4f4a0010a] 2023-11-09 09:56:31 +0000
|
|
Branch: REL_12_STABLE [b17a02be2] 2023-11-09 09:57:52 +0000
|
|
-->
|
|
<para>
|
|
Fix edge-case integer overflow detection bug on some platforms (Dean
|
|
Rasheed)
|
|
</para>
|
|
|
|
<para>
|
|
Computing <literal>0 - INT64_MIN</literal> should result in an
|
|
overflow error, and did on most platforms. However, platforms with
|
|
neither integer overflow builtins nor 128-bit integers would fail to
|
|
spot the overflow, instead returning <literal>INT64_MIN</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [25cd2d640] 2024-01-26 13:39:45 -0500
|
|
Branch: REL_16_STABLE [7204aea83] 2024-01-26 13:39:37 -0500
|
|
Branch: REL_15_STABLE [86b6243a8] 2024-01-26 13:39:37 -0500
|
|
Branch: REL_14_STABLE [3eb8a87f6] 2024-01-26 13:39:37 -0500
|
|
Branch: REL_13_STABLE [425127bed] 2024-01-26 13:39:37 -0500
|
|
Branch: REL_12_STABLE [c3bdb25fb] 2024-01-26 13:39:37 -0500
|
|
-->
|
|
<para>
|
|
Detect Julian-date overflow when adding or subtracting
|
|
an <type>interval</type> to/from a <type>timestamp</type> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Some cases that should cause an out-of-range error produced an
|
|
incorrect result instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [b218fbb7a] 2023-11-18 14:41:20 +0000
|
|
Branch: REL_16_STABLE [72d0c135b] 2023-11-18 14:46:02 +0000
|
|
Branch: REL_15_STABLE [2851aa7d1] 2023-11-18 14:47:04 +0000
|
|
Branch: REL_14_STABLE [2ffcebdba] 2023-11-18 14:48:10 +0000
|
|
Branch: REL_13_STABLE [428770aad] 2023-11-18 14:49:18 +0000
|
|
Branch: REL_12_STABLE [f499d2b20] 2023-11-18 14:50:00 +0000
|
|
-->
|
|
<para>
|
|
Add more checks for overflow in <function>interval_mul()</function>
|
|
and <function>interval_div()</function> (Dean Rasheed)
|
|
</para>
|
|
|
|
<para>
|
|
Some cases that should cause an out-of-range error produced an
|
|
incorrect result instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [059de3ca4] 2023-12-26 17:57:48 -0500
|
|
Branch: REL_16_STABLE [e87252ceb] 2023-12-26 17:57:48 -0500
|
|
Branch: REL_15_STABLE [76dd3d94a] 2023-12-26 17:57:48 -0500
|
|
Branch: REL_14_STABLE [bf4f30a0f] 2023-12-26 17:57:48 -0500
|
|
Branch: REL_13_STABLE [cb88f44ec] 2023-12-26 17:57:48 -0500
|
|
Branch: REL_12_STABLE [ea61b1cf6] 2023-12-26 17:57:48 -0500
|
|
-->
|
|
<para>
|
|
Make the <structname>pg_file_settings</structname> view check
|
|
validity of unapplied values for settings
|
|
with <literal>backend</literal>
|
|
or <literal>superuser-backend</literal> context (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Invalid values were not noted in the view as intended. This escaped
|
|
detection because there are very few settings in these groups.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [a11c9c42e] 2023-12-01 16:05:41 +0100
|
|
Branch: REL_16_STABLE [267f33f68] 2023-12-01 16:09:54 +0100
|
|
Branch: REL_15_STABLE [15d485921] 2023-12-01 16:14:22 +0100
|
|
Branch: REL_14_STABLE [e846fc491] 2023-12-01 16:17:38 +0100
|
|
Branch: REL_13_STABLE [3c49fa2af] 2023-12-01 16:23:18 +0100
|
|
Branch: REL_12_STABLE [5d40b3c4f] 2023-12-01 16:27:18 +0100
|
|
-->
|
|
<para>
|
|
Match collation too when matching an existing index to a new
|
|
partitioned index (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Previously we could accept an index that has a different collation
|
|
from the corresponding element of the partition key, possibly
|
|
leading to misbehavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [6a1ea02c4] 2024-01-29 13:46:22 +0200
|
|
Branch: REL_16_STABLE [b899e00e7] 2024-01-29 13:46:30 +0200
|
|
Branch: REL_15_STABLE [e43425f48] 2024-01-29 13:46:42 +0200
|
|
Branch: REL_14_STABLE [f120c0872] 2024-01-29 13:46:43 +0200
|
|
Branch: REL_13_STABLE [e74c91665] 2024-01-29 13:46:45 +0200
|
|
Branch: REL_12_STABLE [e6511fe64] 2024-01-29 13:46:48 +0200
|
|
-->
|
|
<para>
|
|
Fix insufficient locking when cleaning up an incomplete split of
|
|
a GIN index's internal page (Fei Changhong, Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
The code tried to do this with shared rather than exclusive lock on
|
|
the buffer. This could lead to index corruption if two processes
|
|
attempted the cleanup concurrently.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5c62ecf6e] 2023-11-13 11:44:35 -0500
|
|
Branch: REL_16_STABLE [f76b975d5] 2023-11-13 11:44:48 -0500
|
|
Branch: REL_15_STABLE [4c73ec604] 2023-11-13 11:44:57 -0500
|
|
Branch: REL_14_STABLE [d900e74e0] 2023-11-13 11:45:04 -0500
|
|
Branch: REL_13_STABLE [c859d688b] 2023-11-13 11:45:09 -0500
|
|
Branch: REL_12_STABLE [5a6937ec9] 2023-11-13 11:45:13 -0500
|
|
-->
|
|
<para>
|
|
Avoid premature release of buffer pin in GIN index insertion
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If an index root page split occurs concurrently with our own
|
|
insertion, the code could fail with <quote>buffer NNNN is not owned
|
|
by resource owner</quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [903737c5b] 2023-12-21 12:43:36 -0500
|
|
Branch: REL_16_STABLE [0977bd64e] 2023-12-21 12:43:36 -0500
|
|
Branch: REL_15_STABLE [ab04c1901] 2023-12-21 12:43:36 -0500
|
|
Branch: REL_14_STABLE [375f441bd] 2023-12-21 12:43:36 -0500
|
|
Branch: REL_13_STABLE [cc3865150] 2023-12-21 12:43:36 -0500
|
|
Branch: REL_12_STABLE [1771ec9a8] 2023-12-21 12:43:36 -0500
|
|
-->
|
|
<para>
|
|
Avoid failure with partitioned SP-GiST indexes (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Trying to use an index of this kind could lead to <quote>No such
|
|
file or directory</quote> errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [59bd34c2f] 2023-12-15 13:55:05 -0500
|
|
Branch: REL_16_STABLE [152bfc0af] 2023-12-15 13:55:05 -0500
|
|
Branch: REL_15_STABLE [7a99fb6e1] 2023-12-15 13:55:05 -0500
|
|
Branch: REL_14_STABLE [f552f2be2] 2023-12-15 13:55:05 -0500
|
|
Branch: REL_13_STABLE [55b5c67da] 2023-12-15 13:55:05 -0500
|
|
Branch: REL_12_STABLE [ba66f2533] 2023-12-15 13:55:05 -0500
|
|
-->
|
|
<para>
|
|
Fix ownership change reporting for large objects (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A no-op <command>ALTER LARGE OBJECT OWNER</command> command (that
|
|
is, one selecting the existing owner) passed the wrong class ID to
|
|
the <varname>PostAlterHook</varname>, probably confusing any
|
|
extension using that hook.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [8a7cbfce1] 2023-12-12 17:05:18 +0100
|
|
Branch: REL_16_STABLE [0e2c05af9] 2023-12-12 17:05:27 +0100
|
|
Branch: REL_15_STABLE [f5d8f59ca] 2023-12-12 17:05:29 +0100
|
|
Branch: REL_14_STABLE [0cfd3ddfe] 2023-12-12 17:05:33 +0100
|
|
Branch: REL_13_STABLE [d99294e77] 2023-12-12 17:05:34 +0100
|
|
Branch: REL_12_STABLE [4d45ecc92] 2023-12-12 17:05:36 +0100
|
|
-->
|
|
<para>
|
|
Prevent standby servers from incorrectly processing dead index
|
|
tuples during subtransactions (Fei Changhong)
|
|
</para>
|
|
|
|
<para>
|
|
The <structfield>startedInRecovery</structfield> flag was not
|
|
correctly set for a subtransaction. This affects only processing of
|
|
dead index tuples. It could allow a query in a subtransaction to
|
|
ignore index entries that it should return (if they are already dead
|
|
on the primary server, but not dead to the standby transaction), or
|
|
to prematurely mark index entries as dead that are not yet dead on
|
|
the primary. It is not clear that the latter case has any serious
|
|
consequences, but it's not the intended behavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [8d7d2197f] 2023-12-11 08:50:43 +0530
|
|
Branch: REL_16_STABLE [01cc92fa6] 2023-12-11 08:36:17 +0530
|
|
Branch: REL_15_STABLE [332b43063] 2023-12-11 08:23:33 +0530
|
|
Branch: REL_14_STABLE [3f86867d5] 2023-12-11 08:10:46 +0530
|
|
Branch: REL_13_STABLE [b47ea4f3d] 2023-12-11 07:57:50 +0530
|
|
Branch: REL_12_STABLE [e81e617f3] 2023-12-11 07:45:45 +0530
|
|
-->
|
|
<para>
|
|
Fix deadlock between a logical replication apply worker, its
|
|
tablesync worker, and a session process trying to alter the
|
|
subscription (Shlok Kyal)
|
|
</para>
|
|
|
|
<para>
|
|
One edge of the deadlock loop did not involve a lock wait, so the
|
|
deadlock went undetected and would persist until manual
|
|
intervention.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [aaf09c592] 2024-01-03 17:40:41 -0500
|
|
Branch: REL_16_STABLE [fb464a1ae] 2024-01-03 17:40:38 -0500
|
|
Branch: REL_15_STABLE [a0d016393] 2024-01-03 17:40:38 -0500
|
|
Branch: REL_14_STABLE [9b042e27e] 2024-01-03 17:40:38 -0500
|
|
Branch: REL_13_STABLE [5810888c5] 2024-01-03 17:40:38 -0500
|
|
Branch: REL_12_STABLE [c20f2aab6] 2024-01-03 17:40:38 -0500
|
|
-->
|
|
<para>
|
|
Return the correct status code when a new client disconnects without
|
|
responding to the server's password challenge (Liu Lang, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
In some cases we'd treat this as a loggable error, which was not the
|
|
intention and tends to create log spam, since common clients
|
|
like <application>psql</application> frequently do this. It may
|
|
also confuse extensions that
|
|
use <varname>ClientAuthentication_hook</varname>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c82207a54] 2023-11-28 12:34:03 -0500
|
|
Branch: REL_16_STABLE [efa8f6064] 2023-11-28 12:34:03 -0500
|
|
Branch: REL_15_STABLE [5dd30bb54] 2023-11-28 12:34:03 -0500
|
|
Branch: REL_14_STABLE [b2b1f1288] 2023-11-28 12:34:03 -0500
|
|
Branch: REL_13_STABLE [efb804682] 2023-11-28 12:34:03 -0500
|
|
Branch: REL_12_STABLE [0bd682246] 2023-11-28 12:34:03 -0500
|
|
-->
|
|
<para>
|
|
Fix incompatibility with <application>OpenSSL</application> 3.2
|
|
(Tristan Partin, Bo Andreson)
|
|
</para>
|
|
|
|
<para>
|
|
Use the BIO <quote>app_data</quote> field for our private storage,
|
|
instead of assuming it's okay to use the <quote>data</quote> field.
|
|
This mistake didn't cause problems before, but with 3.2 it leads
|
|
to crashes and complaints about double frees.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [0a5c46a7a] 2023-12-11 11:51:56 -0500
|
|
Branch: REL_16_STABLE [ebbd499d4] 2023-12-11 11:51:56 -0500
|
|
Branch: REL_15_STABLE [551d4b28e] 2023-12-11 11:51:56 -0500
|
|
Branch: REL_14_STABLE [07ce24326] 2023-12-11 11:51:56 -0500
|
|
Branch: REL_13_STABLE [87b46ad90] 2023-12-11 11:51:56 -0500
|
|
Branch: REL_12_STABLE [271d24f31] 2023-12-11 11:51:56 -0500
|
|
-->
|
|
<para>
|
|
Be more wary about <application>OpenSSL</application> not
|
|
setting <varname>errno</varname> on error (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If <varname>errno</varname> isn't set, assume the cause of the
|
|
reported failure is read EOF. This fixes rare cases of strange
|
|
error reports like <quote>could not accept SSL connection:
|
|
Success</quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e4e63cd98] 2024-02-02 15:34:29 -0500
|
|
Branch: REL_16_STABLE [a15378100] 2024-02-02 15:34:29 -0500
|
|
Branch: REL_15_STABLE [3766b8b64] 2024-02-02 15:34:29 -0500
|
|
Branch: REL_14_STABLE [329b96882] 2024-02-02 15:34:29 -0500
|
|
Branch: REL_13_STABLE [29df29dad] 2024-02-02 15:34:29 -0500
|
|
Branch: REL_12_STABLE [4493bfb70] 2024-02-02 15:34:29 -0500
|
|
-->
|
|
<para>
|
|
Report <systemitem>ENOMEM</systemitem> errors from file-related system
|
|
calls as <literal>ERRCODE_OUT_OF_MEMORY</literal>,
|
|
not <literal>ERRCODE_INTERNAL_ERROR</literal> (Alexander Kuzmenkov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [01eca6a91] 2023-11-27 09:40:44 +0900
|
|
Branch: REL_16_STABLE [8984480b5] 2023-11-27 09:40:49 +0900
|
|
Branch: REL_15_STABLE [b97226815] 2023-11-27 09:40:50 +0900
|
|
Branch: REL_14_STABLE [c3b79223f] 2023-11-27 09:40:52 +0900
|
|
Branch: REL_13_STABLE [09f680d11] 2023-11-27 09:40:55 +0900
|
|
Branch: REL_12_STABLE [0217a7444] 2023-11-27 09:40:57 +0900
|
|
-->
|
|
<para>
|
|
Avoid race condition when <application>libpq</application>
|
|
initializes OpenSSL support concurrently in two different threads
|
|
(Willi Mann, Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d053a879b] 2023-11-23 13:30:18 -0500
|
|
Branch: REL_16_STABLE [85eb77185] 2023-11-23 13:30:18 -0500
|
|
Branch: REL_15_STABLE [a50053777] 2023-11-23 13:30:18 -0500
|
|
Branch: REL_14_STABLE [8f23e6a45] 2023-11-23 13:30:18 -0500
|
|
Branch: REL_13_STABLE [5abdfd88f] 2023-11-23 13:30:18 -0500
|
|
Branch: REL_12_STABLE [18fad508b] 2023-11-23 13:30:19 -0500
|
|
-->
|
|
<para>
|
|
Fix timing-dependent failure in GSSAPI data transmission (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
When using GSSAPI encryption in non-blocking
|
|
mode, <application>libpq</application> sometimes failed
|
|
with <quote>GSSAPI caller failed to retransmit all data needing to
|
|
be retried</quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a70f2a57f] 2023-11-13 17:04:26 -0500
|
|
Branch: REL_16_STABLE [64d2467fc] 2023-11-13 17:04:26 -0500
|
|
Branch: REL_15_STABLE [f15147df6] 2023-11-13 17:04:10 -0500
|
|
Branch: REL_14_STABLE [15439205d] 2023-11-13 17:04:10 -0500
|
|
Branch: REL_13_STABLE [9e08789d4] 2023-11-13 17:04:10 -0500
|
|
Branch: REL_12_STABLE [891afa84c] 2023-11-13 17:04:10 -0500
|
|
Branch: master [1e3f461e8] 2023-11-14 00:31:39 -0500
|
|
Branch: REL_16_STABLE [f1674ac6b] 2023-11-14 00:31:39 -0500
|
|
Branch: REL_15_STABLE [63c1b4d88] 2023-11-14 00:31:39 -0500
|
|
Branch: REL_14_STABLE [c532be99d] 2023-11-14 00:31:39 -0500
|
|
Branch: REL_13_STABLE [7836f6838] 2023-11-14 00:31:39 -0500
|
|
Branch: REL_12_STABLE [e43790342] 2023-11-14 00:31:39 -0500
|
|
-->
|
|
<para>
|
|
In <application>pg_dump</application>, don't dump RLS policies or
|
|
security labels for extension member objects (Tom Lane, Jacob
|
|
Champion)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, commands would be included in the dump to set these
|
|
properties, which is really incorrect since they should be
|
|
considered as internal affairs of the extension. Moreover, the
|
|
restoring user might not have adequate privilege to set them, and
|
|
indeed the dumping user might not have enough privilege to dump them
|
|
(since dumping RLS policies requires acquiring lock on their table).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7418767f1] 2023-12-29 10:57:11 -0500
|
|
Branch: REL_16_STABLE [b2c9936a7] 2023-12-29 10:57:11 -0500
|
|
Branch: REL_15_STABLE [1e0841426] 2023-12-29 10:57:11 -0500
|
|
Branch: REL_14_STABLE [aa2e323ee] 2023-12-29 10:57:11 -0500
|
|
Branch: REL_13_STABLE [8d4e8b746] 2023-12-29 10:57:11 -0500
|
|
Branch: REL_12_STABLE [69d7edb06] 2023-12-29 10:57:11 -0500
|
|
-->
|
|
<para>
|
|
In <application>pg_dump</application>, don't dump an extended
|
|
statistics object if its underlying table isn't being dumped
|
|
(Rian McGuire, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This conforms to the behavior for other dependent objects such as
|
|
indexes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9034a2d51] 2024-01-07 15:19:50 -0500
|
|
Branch: REL_16_STABLE [cf6f802bf] 2024-01-07 15:19:50 -0500
|
|
Branch: REL_15_STABLE [940ab02b5] 2024-01-07 15:19:50 -0500
|
|
Branch: REL_14_STABLE [90e8b86fc] 2024-01-07 15:19:50 -0500
|
|
Branch: REL_13_STABLE [9e7432faf] 2024-01-07 15:19:50 -0500
|
|
Branch: REL_12_STABLE [1c7443521] 2024-01-07 15:19:50 -0500
|
|
-->
|
|
<para>
|
|
Fix crash in <filename>contrib/intarray</filename> if an array with
|
|
an element equal to <literal>INT_MAX</literal> is inserted into
|
|
a <literal>gist__int_ops</literal> index
|
|
(Alexander Lakhin, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [208470136] 2023-12-19 18:19:05 +0900
|
|
Branch: REL_16_STABLE [7f68b1462] 2023-12-19 18:19:15 +0900
|
|
Branch: REL_15_STABLE [2e08440d6] 2023-12-19 18:19:16 +0900
|
|
Branch: REL_14_STABLE [bfbe4a146] 2023-12-19 18:19:18 +0900
|
|
Branch: REL_13_STABLE [586c6a091] 2023-12-19 18:19:19 +0900
|
|
Branch: REL_12_STABLE [f610d4f11] 2023-12-19 18:19:21 +0900
|
|
-->
|
|
<para>
|
|
Report a better error
|
|
when <filename>contrib/pageinspect</filename>'s
|
|
<function>hash_bitmap_info()</function> function is applied to a
|
|
partitioned hash index (Alexander Lakhin, Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [a8dd62ef4] 2023-12-19 15:20:39 +0900
|
|
Branch: REL_16_STABLE [b4948ed66] 2023-12-19 15:20:48 +0900
|
|
Branch: REL_15_STABLE [b745f1680] 2023-12-19 15:20:50 +0900
|
|
Branch: REL_14_STABLE [f729fdab4] 2023-12-19 15:20:52 +0900
|
|
Branch: REL_13_STABLE [b4c1d255c] 2023-12-19 15:20:53 +0900
|
|
Branch: REL_12_STABLE [bd2d3c928] 2023-12-19 15:20:55 +0900
|
|
-->
|
|
<para>
|
|
Report a better error
|
|
when <filename>contrib/pgstattuple</filename>'s
|
|
<function>pgstathashindex()</function> function is applied to a
|
|
partitioned hash index (Alexander Lakhin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [9886744a3] 2024-01-10 10:41:57 +0900
|
|
Branch: REL_16_STABLE [714bfb781] 2024-01-12 13:53:07 +0900
|
|
Branch: REL_15_STABLE [33d1be06a] 2024-01-12 13:53:10 +0900
|
|
Branch: REL_14_STABLE [4c6944223] 2024-01-12 13:53:12 +0900
|
|
Branch: REL_13_STABLE [c8aab699e] 2024-01-12 13:53:13 +0900
|
|
Branch: REL_12_STABLE [9e70e6564] 2024-01-12 13:53:14 +0900
|
|
Branch: master [b83747a8a] 2024-01-11 10:39:58 +0900
|
|
Branch: REL_16_STABLE [506c77f9b] 2024-01-12 13:59:51 +0900
|
|
Branch: REL_15_STABLE [7e7d827f5] 2024-01-12 13:59:58 +0900
|
|
Branch: REL_14_STABLE [4a7475e9a] 2024-01-12 14:00:00 +0900
|
|
Branch: REL_13_STABLE [2a0eb80ae] 2024-01-12 14:00:01 +0900
|
|
Branch: REL_12_STABLE [e50a52b2b] 2024-01-12 14:00:02 +0900
|
|
-->
|
|
<para>
|
|
On Windows, suppress autorun options when launching subprocesses
|
|
in <application>pg_ctl</application>
|
|
and <application>pg_regress</application> (Kyotaro Horiguchi)
|
|
</para>
|
|
|
|
<para>
|
|
When launching a child process via <filename>cmd.exe</filename>,
|
|
pass the <option>/D</option> flag to prevent executing any autorun
|
|
commands specified in the registry. This avoids possibly-surprising
|
|
side effects.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [400928b83] 2024-01-29 12:06:13 -0500
|
|
Branch: REL_16_STABLE [e02fea093] 2024-01-29 12:06:07 -0500
|
|
Branch: REL_15_STABLE [3f8ac13b1] 2024-01-29 12:06:07 -0500
|
|
Branch: REL_14_STABLE [29e25a6b1] 2024-01-29 12:06:08 -0500
|
|
Branch: REL_13_STABLE [7c53b1977] 2024-01-29 12:06:08 -0500
|
|
Branch: REL_12_STABLE [b2fd1dab9] 2024-01-29 12:06:08 -0500
|
|
-->
|
|
<para>
|
|
Fix compilation failures with <application>libxml2</application>
|
|
version 2.12.0 and later (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [58c3151bb] 2023-12-26 16:16:37 -0500
|
|
Branch: REL_16_STABLE [b0115e7e2] 2023-12-26 16:16:29 -0500
|
|
Branch: REL_15_STABLE [5f8d6d709] 2023-12-26 16:16:29 -0500
|
|
Branch: REL_14_STABLE [7978eee02] 2023-12-26 16:16:29 -0500
|
|
Branch: REL_13_STABLE [48e797164] 2023-12-26 16:16:29 -0500
|
|
Branch: REL_12_STABLE [1613e2fae] 2023-12-26 16:16:29 -0500
|
|
Branch: master [a46972e30] 2023-12-26 17:03:02 -0500
|
|
Branch: REL_16_STABLE [c72049dbc] 2023-12-26 17:03:24 -0500
|
|
-->
|
|
<para>
|
|
Suppress compiler warnings from Python's header files
|
|
(Peter Eisentraut, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Our preferred compiler options provoke warnings about constructs
|
|
appearing in recent versions of Python's header files. When using
|
|
<application>gcc</application>, we can suppress these warnings with
|
|
a pragma.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [d282e88e5] 2024-01-25 13:44:54 +1300
|
|
Branch: REL_16_STABLE [60ba7cae7] 2024-01-25 13:45:22 +1300
|
|
Branch: REL_15_STABLE [67f7aaa38] 2024-01-25 13:46:07 +1300
|
|
Branch: REL_14_STABLE [364283c92] 2024-01-25 13:46:38 +1300
|
|
Branch: REL_13_STABLE [70a82f40a] 2024-01-25 13:47:20 +1300
|
|
Branch: REL_12_STABLE [d060cb658] 2024-01-25 13:47:35 +1300
|
|
-->
|
|
<para>
|
|
Avoid deprecation warning when compiling with LLVM 18 (Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [272a7c303] 2024-02-01 15:57:53 -0500
|
|
Branch: REL_16_STABLE [b4fb76fb5] 2024-02-01 15:57:53 -0500
|
|
Branch: REL_15_STABLE [970b1aeeb] 2024-02-01 15:57:53 -0500
|
|
Branch: REL_14_STABLE [35b8b2c4a] 2024-02-01 15:57:53 -0500
|
|
Branch: REL_13_STABLE [ac3afc3f7] 2024-02-01 15:57:53 -0500
|
|
Branch: REL_12_STABLE [b59ae79b7] 2024-02-01 15:57:53 -0500
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2024a for DST law changes in Greenland, Kazakhstan, and
|
|
Palestine, plus corrections for the Antarctic stations Casey and
|
|
Vostok. Also historical corrections for Vietnam, Toronto, and
|
|
Miquelon.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-17">
|
|
<title>Release 12.17</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2023-11-09</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.16.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.17</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you use GiST indexes, it may be advisable to reindex them;
|
|
see the fourth changelog entry below.
|
|
</para>
|
|
|
|
<para>
|
|
Also, if you are upgrading from a version earlier than 12.16,
|
|
see <xref linkend="release-12-16"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3b0776fde] 2023-11-06 10:38:00 -0500
|
|
Branch: REL_16_STABLE [d3d1e2509] 2023-11-06 10:38:00 -0500
|
|
Branch: REL_15_STABLE [4f4a422fb] 2023-11-06 10:38:00 -0500
|
|
Branch: REL_14_STABLE [9146d0d65] 2023-11-06 10:38:00 -0500
|
|
Branch: REL_13_STABLE [d3de70fdb] 2023-11-06 10:38:00 -0500
|
|
Branch: REL_12_STABLE [e911afd09] 2023-11-06 10:38:00 -0500
|
|
Branch: REL_11_STABLE [8c6633f4d] 2023-11-06 10:38:00 -0500
|
|
-->
|
|
<para>
|
|
Fix handling of unknown-type arguments
|
|
in <literal>DISTINCT</literal> <type>"any"</type> aggregate
|
|
functions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This error led to a <type>text</type>-type value being interpreted
|
|
as an <type>unknown</type>-type value (that is, a zero-terminated
|
|
string) at runtime. This could result in disclosure of server
|
|
memory following the <type>text</type> value.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks Jingzhou Fu
|
|
for reporting this problem.
|
|
(CVE-2023-5868)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [18b585155] 2023-11-06 10:56:43 -0500
|
|
Branch: REL_16_STABLE [e24daa94b] 2023-11-06 10:56:43 -0500
|
|
Branch: REL_15_STABLE [3bc6bc3ee] 2023-11-06 10:56:43 -0500
|
|
Branch: REL_14_STABLE [edc0a8d82] 2023-11-06 10:56:43 -0500
|
|
Branch: REL_13_STABLE [26c599beb] 2023-11-06 10:56:43 -0500
|
|
Branch: REL_12_STABLE [d267cea24] 2023-11-06 10:56:43 -0500
|
|
Branch: REL_11_STABLE [c48008f59] 2023-11-06 10:56:43 -0500
|
|
-->
|
|
<para>
|
|
Detect integer overflow while computing new array dimensions
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
When assigning new elements to array subscripts that are outside the
|
|
current array bounds, an undetected integer overflow could occur in
|
|
edge cases. Memory stomps that are potentially exploitable for
|
|
arbitrary code execution are possible, and so is disclosure of
|
|
server memory.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks Pedro
|
|
Gallegos for reporting this problem.
|
|
(CVE-2023-5869)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [3a9b18b30] 2023-11-06 06:14:13 -0800
|
|
Branch: REL_16_STABLE [785412731] 2023-11-06 06:14:16 -0800
|
|
Branch: REL_15_STABLE [595c988c9] 2023-11-06 06:14:16 -0800
|
|
Branch: REL_14_STABLE [508acb901] 2023-11-06 06:14:17 -0800
|
|
Branch: REL_13_STABLE [28b609550] 2023-11-06 06:14:17 -0800
|
|
Branch: REL_12_STABLE [2893f2f40] 2023-11-06 06:14:17 -0800
|
|
Branch: REL_11_STABLE [e082734c8] 2023-11-06 06:14:18 -0800
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [b72de09a1] 2023-11-06 06:14:13 -0800
|
|
Branch: REL_16_STABLE [2c3c5ec49] 2023-11-06 06:14:16 -0800
|
|
Branch: REL_15_STABLE [fbc371909] 2023-11-06 06:14:16 -0800
|
|
Branch: REL_14_STABLE [ecd5d240c] 2023-11-06 06:14:17 -0800
|
|
Branch: REL_13_STABLE [2c7a2a00a] 2023-11-06 06:14:17 -0800
|
|
Branch: REL_12_STABLE [7bbf4d037] 2023-11-06 06:14:17 -0800
|
|
Branch: REL_11_STABLE [a27be40c1] 2023-11-06 06:14:18 -0800
|
|
-->
|
|
<para>
|
|
Prevent the <literal>pg_signal_backend</literal> role from
|
|
signalling background workers and autovacuum processes
|
|
(Noah Misch, Jelte Fennema-Nio)
|
|
</para>
|
|
|
|
<para>
|
|
The documentation says that <literal>pg_signal_backend</literal>
|
|
cannot issue signals to superuser-owned processes. It was able to
|
|
signal these background processes, though, because they advertise a
|
|
role OID of zero. Treat that as indicating superuser ownership.
|
|
The security implications of cancelling one of these process types
|
|
are fairly small so far as the core code goes (we'll just start
|
|
another one), but extensions might add background workers that are
|
|
more vulnerable.
|
|
</para>
|
|
|
|
<para>
|
|
Also ensure that the <varname>is_superuser</varname> parameter is
|
|
set correctly in such processes. No specific security consequences
|
|
are known for that oversight, but it might be significant for some
|
|
extensions.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks
|
|
Hemanth Sandrana and Mahendrakar Srinivasarao
|
|
for reporting this problem.
|
|
(CVE-2023-5870)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [28d3c2ddc] 2023-09-26 14:14:49 +0300
|
|
Branch: REL_16_STABLE [d7f521325] 2023-09-26 14:15:01 +0300
|
|
Branch: REL_15_STABLE [c3c284b37] 2023-09-26 14:15:19 +0300
|
|
Branch: REL_14_STABLE [747cef5a5] 2023-09-26 14:15:28 +0300
|
|
Branch: REL_13_STABLE [db7394d4d] 2023-09-26 14:15:35 +0300
|
|
Branch: REL_12_STABLE [26917ebea] 2023-09-26 15:41:44 +0300
|
|
-->
|
|
<para>
|
|
Fix misbehavior during recursive page split in GiST index build
|
|
(Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
Fix a case where the location of a page downlink was incorrectly
|
|
tracked, and introduce some logic to allow recovering from such
|
|
situations rather than silently doing the wrong thing. This error
|
|
could result in incorrect answers from subsequent index searches.
|
|
It may be advisable to reindex all GiST indexes after installing
|
|
this update.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [d9e46dfb7] 2023-10-13 01:12:31 +1300
|
|
Branch: REL_16_STABLE [595db9e9c] 2023-10-13 01:13:07 +1300
|
|
Branch: REL_15_STABLE [1e81d3e6e] 2023-10-13 01:13:36 +1300
|
|
Branch: REL_14_STABLE [d26f33c32] 2023-10-13 01:13:59 +1300
|
|
Branch: REL_13_STABLE [890a73ba3] 2023-10-13 01:14:22 +1300
|
|
Branch: REL_12_STABLE [3cc0c2517] 2023-10-13 01:14:46 +1300
|
|
Branch: REL_11_STABLE [2759924f3] 2023-10-13 01:15:12 +1300
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [f0c409d9c] 2023-10-12 19:50:38 +1300
|
|
Branch: REL_16_STABLE [6352f1627] 2023-10-12 19:51:26 +1300
|
|
Branch: REL_15_STABLE [916adc7c5] 2023-10-12 19:52:05 +1300
|
|
Branch: REL_14_STABLE [cd15bff48] 2023-10-12 19:52:31 +1300
|
|
Branch: REL_13_STABLE [45c4b2a3a] 2023-10-12 19:52:58 +1300
|
|
Branch: REL_12_STABLE [cd259de50] 2023-10-12 19:53:23 +1300
|
|
Branch: REL_11_STABLE [07f261b31] 2023-10-12 19:53:50 +1300
|
|
-->
|
|
<para>
|
|
Fix partition step generation and runtime partition pruning for
|
|
hash-partitioned tables with multiple partition keys (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
Some cases involving an <literal>IS NULL</literal> condition on one
|
|
of the partition keys could result in a crash.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
Branch: master [714780dcd] 2023-09-28 16:29:37 -0700
|
|
Branch: REL_16_STABLE [3fa81b62e] 2023-09-28 16:29:35 -0700
|
|
Branch: REL_15_STABLE [cac37c1a1] 2023-09-28 16:29:32 -0700
|
|
Branch: REL_14_STABLE [41486c4aa] 2023-09-28 16:29:29 -0700
|
|
Branch: REL_13_STABLE [d4724e94a] 2023-09-28 16:29:27 -0700
|
|
Branch: REL_12_STABLE [b36d72cbc] 2023-09-28 16:29:24 -0700
|
|
Branch: REL_11_STABLE [7c07305e6] 2023-09-28 16:29:22 -0700
|
|
-->
|
|
<para>
|
|
Fix edge case in btree mark/restore processing of ScalarArrayOpExpr
|
|
clauses (Peter Geoghegan)
|
|
</para>
|
|
|
|
<para>
|
|
When restoring an indexscan to a previously marked position, the
|
|
code could miss required setup steps if the scan had advanced
|
|
exactly to the end of the matches for a ScalarArrayOpExpr (that is,
|
|
an <literal>indexcol = ANY(ARRAY[])</literal>) clause. This could
|
|
result in missing some rows that should have been fetched.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [237f8765d] 2023-10-28 14:05:01 -0400
|
|
Branch: REL_16_STABLE [07494a0df] 2023-10-28 14:04:43 -0400
|
|
Branch: REL_15_STABLE [592cb11fb] 2023-10-28 14:04:43 -0400
|
|
Branch: REL_14_STABLE [5d7515d7d] 2023-10-28 14:04:43 -0400
|
|
Branch: REL_13_STABLE [b7684473d] 2023-10-28 14:04:43 -0400
|
|
Branch: REL_12_STABLE [d8d7f282f] 2023-10-28 14:04:43 -0400
|
|
Branch: REL_11_STABLE [7ab6971c6] 2023-10-28 14:04:43 -0400
|
|
-->
|
|
<para>
|
|
Fix intra-query memory leak when a set-returning function repeatedly
|
|
returns zero rows (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f73fa5a47] 2023-09-18 14:28:17 -0400
|
|
Branch: REL_16_STABLE [ec693a3f3] 2023-09-18 14:27:47 -0400
|
|
Branch: REL_15_STABLE [95f54f0d0] 2023-09-18 14:27:47 -0400
|
|
Branch: REL_14_STABLE [9baabfa38] 2023-09-18 14:27:47 -0400
|
|
Branch: REL_13_STABLE [e6e50ada0] 2023-09-18 14:27:47 -0400
|
|
Branch: REL_12_STABLE [123337079] 2023-09-18 14:27:47 -0400
|
|
Branch: REL_11_STABLE [db00be6d7] 2023-09-18 14:27:47 -0400
|
|
-->
|
|
<para>
|
|
Don't crash if <function>cursor_to_xmlschema()</function> is applied
|
|
to a non-data-returning Portal (Boyu Yang)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [73635b6d6] 2023-10-31 16:42:08 +1300
|
|
Branch: REL_16_STABLE [a98f01c93] 2023-10-31 16:42:35 +1300
|
|
Branch: REL_15_STABLE [136068353] 2023-10-31 16:43:01 +1300
|
|
Branch: REL_14_STABLE [c5988e69f] 2023-10-31 16:43:28 +1300
|
|
Branch: REL_13_STABLE [b3c8d1d0e] 2023-10-31 16:44:00 +1300
|
|
Branch: REL_12_STABLE [efcb601d2] 2023-10-31 16:44:27 +1300
|
|
-->
|
|
<para>
|
|
Throw the intended error if <function>pgrowlocks()</function> is
|
|
applied to a partitioned table (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, a not-on-point complaint <quote>only heap AM is
|
|
supported</quote> would be raised.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [13503eb59] 2023-10-30 14:46:05 -0700
|
|
Branch: REL_16_STABLE [1a368dd3e] 2023-10-30 14:46:08 -0700
|
|
Branch: REL_15_STABLE [e633e9b13] 2023-10-30 14:46:08 -0700
|
|
Branch: REL_14_STABLE [0a7b183fd] 2023-10-30 14:46:09 -0700
|
|
Branch: REL_13_STABLE [123b0d111] 2023-10-30 14:46:09 -0700
|
|
Branch: REL_12_STABLE [975ae0553] 2023-10-30 14:46:09 -0700
|
|
Branch: REL_11_STABLE [bae063db4] 2023-10-30 14:46:09 -0700
|
|
-->
|
|
<para>
|
|
Handle invalid indexes more cleanly in assorted SQL functions
|
|
(Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
Report an error if <function>pgstatindex()</function>,
|
|
<function>pgstatginindex()</function>,
|
|
<function>pgstathashindex()</function>,
|
|
or <function>pgstattuple()</function> is applied to an invalid
|
|
index. If <function>brin_desummarize_range()</function>,
|
|
<function>brin_summarize_new_values()</function>,
|
|
<function>brin_summarize_range()</function>,
|
|
or <function>gin_clean_pending_list()</function> is applied to an
|
|
invalid index, do nothing except to report a debug-level message.
|
|
Formerly these functions attempted to process the index, and might
|
|
fail in strange ways depending on what the failed <command>CREATE
|
|
INDEX</command> had left behind.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [cf1c65070] 2023-09-25 11:50:28 -0400
|
|
Branch: REL_16_STABLE [8465efc1a] 2023-09-25 11:50:28 -0400
|
|
Branch: REL_15_STABLE [71bb73f60] 2023-09-25 11:50:28 -0400
|
|
Branch: REL_14_STABLE [a2799f53d] 2023-09-25 11:50:28 -0400
|
|
Branch: REL_13_STABLE [52a676ef4] 2023-09-25 11:50:28 -0400
|
|
Branch: REL_12_STABLE [4a81ed29d] 2023-09-25 11:50:28 -0400
|
|
Branch: REL_11_STABLE [0fb91ed2b] 2023-09-25 11:50:28 -0400
|
|
-->
|
|
<para>
|
|
Avoid premature memory allocation failure with long inputs
|
|
to <function>to_tsvector()</function> (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5b7b38246] 2023-10-01 13:16:47 -0400
|
|
Branch: REL_16_STABLE [5c34a7374] 2023-10-01 13:16:59 -0400
|
|
Branch: REL_15_STABLE [55e188a15] 2023-10-01 13:17:06 -0400
|
|
Branch: REL_14_STABLE [cf12c4fd2] 2023-10-01 13:17:11 -0400
|
|
Branch: REL_13_STABLE [9da153846] 2023-10-01 13:17:15 -0400
|
|
Branch: REL_12_STABLE [2296bc362] 2023-10-01 13:17:20 -0400
|
|
Branch: REL_11_STABLE [7a310cae0] 2023-10-01 13:17:25 -0400
|
|
-->
|
|
<para>
|
|
Fix over-allocation of the constructed <type>tsvector</type>
|
|
in <function>tsvectorrecv()</function> (Denis Erokhin)
|
|
</para>
|
|
|
|
<para>
|
|
If the incoming vector includes position data, the binary receive
|
|
function left wasted space (roughly equal to the size of the
|
|
position data) in the finished <type>tsvector</type>. In extreme
|
|
cases this could lead to <quote>maximum total lexeme length
|
|
exceeded</quote> failures for vectors that were under the length
|
|
limit when emitted. In any case it could lead to wasted space
|
|
on-disk.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [ae10dbb0c] 2023-09-04 14:55:37 +0900
|
|
Branch: REL_16_STABLE Release: REL_16_0 [fac3fa0d5] 2023-09-04 14:55:49 +0900
|
|
Branch: REL_15_STABLE [88aa4a049] 2023-09-04 14:55:51 +0900
|
|
Branch: REL_14_STABLE [df11421d8] 2023-09-04 14:55:53 +0900
|
|
Branch: REL_13_STABLE [82fa8ae5f] 2023-09-04 14:55:55 +0900
|
|
Branch: REL_12_STABLE [40ddb8db9] 2023-09-04 14:55:57 +0900
|
|
Branch: REL_11_STABLE [358cd2b25] 2023-09-04 14:55:58 +0900
|
|
-->
|
|
<para>
|
|
Fix incorrect coding in <function>gtsvector_picksplit()</function>
|
|
(Alexander Lakhin)
|
|
</para>
|
|
|
|
<para>
|
|
This could lead to poor page-split decisions in GiST indexes
|
|
on <type>tsvector</type> columns.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [48e2b234f] 2023-09-21 23:11:30 -0400
|
|
Branch: REL_16_STABLE [227c7cf15] 2023-09-21 23:11:30 -0400 !! no live bug
|
|
Branch: REL_15_STABLE [77dc81602] 2023-09-21 23:11:31 -0400 !! no live bug
|
|
Branch: REL_14_STABLE [10323f140] 2023-09-21 23:11:31 -0400
|
|
Branch: REL_13_STABLE [555a8d9d3] 2023-09-21 23:11:31 -0400
|
|
Branch: REL_12_STABLE [7cabb20a9] 2023-09-21 23:11:31 -0400
|
|
-->
|
|
<para>
|
|
Fix <command>COMMIT AND CHAIN</command>/<command>ROLLBACK AND
|
|
CHAIN</command> to work properly when there is an unreleased
|
|
savepoint (Liu Xiang, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Instead of propagating the current transaction's properties to the
|
|
new transaction, they propagated some previous transaction's
|
|
properties.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7704a1a72] 2023-11-02 11:47:33 -0400
|
|
Branch: REL_16_STABLE [82063edd4] 2023-11-02 11:47:33 -0400
|
|
Branch: REL_15_STABLE [ae33659d4] 2023-11-02 11:47:33 -0400
|
|
Branch: REL_14_STABLE [47c0f00cf] 2023-11-02 11:47:33 -0400
|
|
Branch: REL_13_STABLE [137227c6d] 2023-11-02 11:47:33 -0400
|
|
Branch: REL_12_STABLE [65810fc6d] 2023-11-02 11:47:33 -0400
|
|
Branch: REL_11_STABLE [6e1cca511] 2023-11-02 11:47:33 -0400 !! no live bug
|
|
-->
|
|
<para>
|
|
Avoid crash in <command>EXPLAIN</command> if a parameter marked to
|
|
be displayed by <command>EXPLAIN</command> has a NULL boot-time
|
|
value (Xing Guo, Aleksander Alekseev, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
No built-in parameter fits this description, but an extension could
|
|
define such a parameter.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [54b208f90] 2023-10-16 14:06:14 -0400
|
|
Branch: REL_16_STABLE [57e6e861d] 2023-10-16 14:06:15 -0400
|
|
Branch: REL_15_STABLE [0d1a7cd14] 2023-10-16 14:06:15 -0400
|
|
Branch: REL_14_STABLE [f6e1ee3cf] 2023-10-16 14:06:11 -0400
|
|
Branch: REL_13_STABLE [1e678175c] 2023-10-16 14:06:11 -0400
|
|
Branch: REL_12_STABLE [07eb22a77] 2023-10-16 14:06:11 -0400
|
|
Branch: REL_11_STABLE [a295684b8] 2023-10-16 14:06:12 -0400
|
|
-->
|
|
<para>
|
|
Ensure we have a snapshot while dropping <literal>ON COMMIT
|
|
DROP</literal> temp tables (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents possible misbehavior if any catalog entries for the
|
|
temp tables have fields wide enough to require toasting (such as a
|
|
very complex <literal>CHECK</literal> condition).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Nathan Bossart <nathan@postgresql.org>
|
|
Branch: master [97550c071] 2023-10-17 10:41:48 -0500
|
|
Branch: REL_16_STABLE [ee06199fc] 2023-10-17 10:41:58 -0500
|
|
Branch: REL_15_STABLE [c9265ae80] 2023-10-17 10:42:06 -0500
|
|
Branch: REL_14_STABLE [54fc9dca5] 2023-10-17 10:42:12 -0500
|
|
Branch: REL_13_STABLE [ac1dfc303] 2023-10-17 10:42:17 -0500
|
|
Branch: REL_12_STABLE [e2e169042] 2023-10-17 10:42:22 -0500
|
|
Branch: REL_11_STABLE [d0e7f95b4] 2023-10-17 10:42:28 -0500
|
|
Author: Nathan Bossart <nathan@postgresql.org>
|
|
Branch: REL_14_STABLE [555bc89c9] 2023-10-17 16:11:03 -0500
|
|
Branch: REL_13_STABLE [ebc093fa6] 2023-10-17 16:11:08 -0500
|
|
Branch: REL_12_STABLE [0e32652a7] 2023-10-17 16:11:13 -0500
|
|
Branch: REL_11_STABLE [bc322c73c] 2023-10-17 16:11:18 -0500
|
|
-->
|
|
<para>
|
|
Avoid improper response to shutdown signals in child processes
|
|
just forked by <function>system()</function> (Nathan Bossart)
|
|
</para>
|
|
|
|
<para>
|
|
This fix avoids a race condition in which a child process that has
|
|
been forked off by <function>system()</function>, but hasn't yet
|
|
exec'd the intended child program, might receive and act on a signal
|
|
intended for the parent server process. That would lead to
|
|
duplicate cleanup actions being performed, which will not end well.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [63a582222] 2023-10-16 17:33:08 +1300
|
|
Branch: REL_16_STABLE [5725e4ebe] 2023-10-16 17:21:41 +1300
|
|
Branch: REL_15_STABLE [5e39884d3] 2023-10-16 17:23:02 +1300
|
|
Branch: REL_14_STABLE [dc75748a9] 2023-10-16 17:23:25 +1300
|
|
Branch: REL_13_STABLE [67060be3d] 2023-10-16 17:24:35 +1300
|
|
Branch: REL_12_STABLE [43c979086] 2023-10-16 17:25:43 +1300
|
|
-->
|
|
<para>
|
|
Cope with torn reads of <filename>pg_control</filename> in frontend
|
|
programs (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
On some file systems, reading <filename>pg_control</filename> may
|
|
not be an atomic action when the server concurrently writes that
|
|
file. This is detectable via a bad CRC. Retry a few times to see
|
|
if the file becomes valid before we report error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [c558e6fd9] 2023-10-16 10:43:47 +1300
|
|
Branch: REL_16_STABLE [2371432cd] 2023-10-16 10:45:05 +1300
|
|
Branch: REL_15_STABLE [606be8a35] 2023-10-16 10:45:18 +1300
|
|
Branch: REL_14_STABLE [a56fe5cf0] 2023-10-16 10:47:01 +1300
|
|
Branch: REL_13_STABLE [ae9da357b] 2023-10-16 10:47:10 +1300
|
|
Branch: REL_12_STABLE [637e86ecc] 2023-10-16 10:47:33 +1300
|
|
Branch: REL_11_STABLE [f1634c968] 2023-10-16 10:52:40 +1300
|
|
-->
|
|
<para>
|
|
Avoid torn reads of <filename>pg_control</filename> in relevant SQL
|
|
functions (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Acquire the appropriate lock before
|
|
reading <filename>pg_control</filename>, to ensure we get a
|
|
consistent view of that file.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [a956bd3fa] 2023-10-03 15:37:00 +0900
|
|
Branch: REL_16_STABLE [75f31a3f2] 2023-10-03 15:37:18 +0900
|
|
Branch: REL_15_STABLE [95e91da66] 2023-10-03 15:37:19 +0900
|
|
Branch: REL_14_STABLE [f91c87b31] 2023-10-03 15:37:21 +0900
|
|
Branch: REL_13_STABLE [a0b013625] 2023-10-03 15:37:23 +0900
|
|
Branch: REL_12_STABLE [9b3900cdb] 2023-10-03 15:37:24 +0900
|
|
-->
|
|
<para>
|
|
Avoid integer overflow when computing size of backend activity
|
|
string array (Jakub Wartak)
|
|
</para>
|
|
|
|
<para>
|
|
On 64-bit machines we will allow values
|
|
of <varname>track_activity_query_size</varname> large enough to
|
|
cause 32-bit overflow when multiplied by the allowed number of
|
|
connections. The code actually allocating the per-backend local
|
|
array was careless about this though, and allocated the array
|
|
incorrectly.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [dc8d72c1c] 2023-09-25 14:42:17 -0400
|
|
Branch: REL_16_STABLE [055f786ea] 2023-09-25 14:42:17 -0400
|
|
Branch: REL_15_STABLE [0e59266a5] 2023-09-25 14:41:57 -0400
|
|
Branch: REL_14_STABLE [5cff431bc] 2023-09-25 14:41:57 -0400
|
|
Branch: REL_13_STABLE [8cfc3e80b] 2023-09-25 14:41:57 -0400
|
|
Branch: REL_12_STABLE [4435a8d5d] 2023-09-25 14:41:57 -0400
|
|
Branch: REL_11_STABLE [fdc7cf73b] 2023-09-25 14:41:57 -0400
|
|
-->
|
|
<para>
|
|
Track the dependencies of cached <command>CALL</command> statements,
|
|
and re-plan them when needed (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
DDL commands, such as replacement of a function that has been
|
|
inlined into a <command>CALL</command> argument, can create the need
|
|
to re-plan a <command>CALL</command> that has been cached by
|
|
PL/pgSQL. That was not happening, leading to misbehavior or strange
|
|
errors such as <quote>cache lookup failed</quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e0e492e5a] 2023-09-15 17:01:52 -0400
|
|
Branch: REL_16_STABLE [53630f12d] 2023-09-15 17:01:26 -0400
|
|
Branch: REL_15_STABLE [2679a107a] 2023-09-15 17:01:26 -0400
|
|
Branch: REL_14_STABLE [ae13f8166] 2023-09-15 17:01:26 -0400
|
|
Branch: REL_13_STABLE [c5b7f791d] 2023-09-15 17:01:26 -0400
|
|
Branch: REL_12_STABLE [d29812c0c] 2023-09-15 17:01:26 -0400
|
|
Branch: REL_11_STABLE [a374f6c61] 2023-09-15 17:01:26 -0400
|
|
-->
|
|
<para>
|
|
Track nesting depth correctly when
|
|
inspecting <type>RECORD</type>-type Vars from outer query levels
|
|
(Richard Guo)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead to assertion failures, core dumps,
|
|
or <quote>bogus varno</quote> errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_13_STABLE [59bc0dfe4] 2023-09-15 16:39:27 -0400
|
|
Branch: REL_12_STABLE [8a15b4178] 2023-09-15 16:39:27 -0400
|
|
Branch: REL_11_STABLE [479b99125] 2023-09-15 16:39:27 -0400
|
|
-->
|
|
<para>
|
|
Avoid <quote>record type has not been registered</quote> failure
|
|
when deparsing a view that contains references to fields of
|
|
composite constants (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_12_STABLE [2f02d4a2b] 2023-09-15 16:20:08 -0400
|
|
Branch: REL_11_STABLE [ece1154f4] 2023-09-15 16:20:08 -0400
|
|
-->
|
|
<para>
|
|
Allow extracting fields from
|
|
a <type>RECORD</type>-type <literal>ROW()</literal> expression
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
SQL code that knows that we name such
|
|
fields <literal>f1</literal>, <literal>f2</literal>, etc can use
|
|
those names to extract fields from the expression. This change was
|
|
originally made in version 13, and is now being back-patched into
|
|
older branches to support tests for a related bug.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [3acd0599b] 2023-09-13 14:58:22 +1200
|
|
Branch: REL_16_STABLE [f899c7f1e] 2023-09-13 15:06:07 +1200
|
|
Branch: REL_15_STABLE [a26cc0334] 2023-09-13 14:43:04 +1200
|
|
Branch: REL_14_STABLE [e2452c2a6] 2023-09-13 14:46:16 +1200
|
|
Branch: REL_13_STABLE [189097db8] 2023-09-13 14:48:00 +1200
|
|
Branch: REL_12_STABLE [012b80ad2] 2023-09-13 14:50:14 +1200
|
|
Branch: REL_11_STABLE [6ae57f190] 2023-09-13 14:52:34 +1200
|
|
-->
|
|
<para>
|
|
Fix error-handling bug in <type>RECORD</type> type cache management
|
|
(Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
An out-of-memory error occurring at just the wrong point could leave
|
|
behind inconsistent state that would lead to an infinite loop.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: REL_15_STABLE [c7256e656] 2023-09-12 10:23:17 +0530
|
|
Branch: REL_14_STABLE [f7d25117b] 2023-09-12 10:12:51 +0530
|
|
Branch: REL_13_STABLE [c570bb4d6] 2023-09-12 09:58:50 +0530
|
|
Branch: REL_12_STABLE [7e57208ed] 2023-09-12 09:44:37 +0530
|
|
Branch: REL_11_STABLE [feb4e218e] 2023-09-12 09:36:56 +0530
|
|
-->
|
|
<para>
|
|
Fix assertion failure when logical decoding is retried in the same
|
|
session after an error (Hou Zhijie)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [6b18b3fe2] 2023-10-03 10:21:44 +0900
|
|
Branch: REL_16_STABLE [a06efbc3a] 2023-10-03 10:25:12 +0900
|
|
Branch: REL_15_STABLE [afc79591d] 2023-10-03 10:25:14 +0900
|
|
Branch: REL_14_STABLE [baeb8542c] 2023-10-03 10:25:15 +0900
|
|
Branch: REL_13_STABLE [6103d2cca] 2023-10-03 10:25:17 +0900
|
|
Branch: REL_12_STABLE [22b2e6e9d] 2023-10-03 10:25:19 +0900
|
|
-->
|
|
<para>
|
|
Treat out-of-memory failures as fatal while reading WAL
|
|
(Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Previously this would be treated as a bogus-data condition, leading
|
|
to the conclusion that we'd reached the end of WAL, which is
|
|
incorrect and could lead to inconsistent WAL replay.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [bae868caf] 2023-09-23 10:26:24 +1200
|
|
Branch: REL_16_STABLE [ce497f648] 2023-09-23 10:27:02 +1200
|
|
Branch: REL_15_STABLE [f4d152edd] 2023-09-23 10:28:12 +1200
|
|
Branch: REL_14_STABLE [3ce3b53d7] 2023-09-23 10:28:40 +1200
|
|
Branch: REL_13_STABLE [6606c5716] 2023-09-23 10:29:44 +1200
|
|
Branch: REL_12_STABLE [e8f3c0687] 2023-09-23 10:29:56 +1200
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [becfbdd6c] 2023-09-26 10:53:38 +1300
|
|
Branch: REL_16_STABLE [10d0591ea] 2023-09-26 10:53:52 +1300
|
|
Branch: REL_15_STABLE [99d334a18] 2023-09-26 10:54:02 +1300
|
|
Branch: REL_14_STABLE [3d413c5a7] 2023-09-26 10:54:24 +1300
|
|
Branch: REL_13_STABLE [45d1fe8b5] 2023-09-26 10:54:47 +1300
|
|
Branch: REL_12_STABLE [bde2f1847] 2023-09-26 10:59:49 +1300
|
|
-->
|
|
<para>
|
|
Fix possible recovery failure due to trying to allocate memory based
|
|
on a bogus WAL record length field (Thomas Munro, Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: REL_14_STABLE [2f13e8d9e] 2023-09-12 09:35:42 +0900
|
|
Branch: REL_13_STABLE [5dc093eac] 2023-09-12 09:35:51 +0900
|
|
Branch: REL_12_STABLE [7b03d3a3b] 2023-09-12 09:35:57 +0900
|
|
-->
|
|
<para>
|
|
Ensure that standby-mode WAL recovery reports an error when an
|
|
invalid page header is found (Yugo Nagata, Kyotaro Horiguchi)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d8b2fcc9d] 2023-08-24 12:02:46 -0400
|
|
Branch: REL_16_STABLE Release: REL_16_0 [ba0d737ca] 2023-08-24 12:02:40 -0400
|
|
Branch: REL_15_STABLE [870085135] 2023-08-24 12:02:40 -0400
|
|
Branch: REL_14_STABLE [9b2a41db1] 2023-08-24 12:02:40 -0400
|
|
Branch: REL_13_STABLE [27566bcf3] 2023-08-24 12:02:40 -0400
|
|
Branch: REL_12_STABLE [b808dbf90] 2023-08-24 12:02:40 -0400
|
|
Branch: REL_11_STABLE [9c59f3862] 2023-08-24 12:02:40 -0400
|
|
-->
|
|
<para>
|
|
Avoid doing plan cache revalidation of utility statements
|
|
that do not receive interesting processing during parse analysis
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Aside from saving a few cycles, this prevents failure after a cache
|
|
invalidation for statements that must not set a snapshot, such
|
|
as <command>SET TRANSACTION ISOLATION LEVEL</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [a68458108] 2023-08-22 15:17:05 -0400
|
|
Branch: REL_16_STABLE Release: REL_16_0 [f938acd68] 2023-08-22 15:18:19 -0400
|
|
Branch: REL_15_STABLE [75f323aa1] 2023-08-22 15:16:01 -0400
|
|
Branch: REL_14_STABLE [7f4515a58] 2023-08-22 15:15:45 -0400
|
|
Branch: REL_13_STABLE [1bb619d4d] 2023-08-22 15:15:31 -0400
|
|
Branch: REL_12_STABLE [01993ac74] 2023-08-22 15:15:18 -0400
|
|
Branch: REL_11_STABLE [2d13dab04] 2023-08-23 17:22:16 -0400
|
|
Branch: REL_11_STABLE [b915bf495] 2023-08-24 16:14:26 -0400
|
|
-->
|
|
<para>
|
|
Keep by-reference <structfield>attmissingval</structfield> values in
|
|
a long-lived context while they are being used (Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids possible use of dangling pointers when a tuple slot
|
|
outlives the tuple descriptor with which its value was constructed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Jeff Davis <jdavis@postgresql.org>
|
|
Branch: master [fa2e87494] 2023-08-09 13:09:25 -0700
|
|
Branch: REL_16_STABLE Release: REL_16_0 [0d56c32c8] 2023-08-09 13:09:01 -0700
|
|
Branch: REL_15_STABLE [9f3343e40] 2023-08-07 15:12:49 -0700
|
|
Branch: REL_14_STABLE [00953f1e2] 2023-08-07 15:12:33 -0700
|
|
Branch: REL_13_STABLE [90cadfd49] 2023-08-07 15:12:09 -0700
|
|
Branch: REL_12_STABLE [a86d40227] 2023-08-07 15:11:18 -0700
|
|
Branch: REL_11_STABLE [43ba5105a] 2023-08-07 15:09:11 -0700
|
|
Branch: master [bee263b08] 2023-08-10 10:20:54 -0700
|
|
Branch: REL_16_STABLE Release: REL_16_0 [7bed93a46] 2023-08-10 10:24:58 -0700
|
|
Branch: REL_15_STABLE [1bc19dfcf] 2023-08-10 10:25:47 -0700
|
|
Branch: REL_14_STABLE [5a32af3f2] 2023-08-10 10:26:12 -0700
|
|
Branch: REL_13_STABLE [4caa9e33e] 2023-08-10 10:26:46 -0700
|
|
Branch: REL_12_STABLE [01bc42634] 2023-08-10 10:27:00 -0700
|
|
Branch: REL_11_STABLE [ae1269295] 2023-08-10 10:27:24 -0700
|
|
-->
|
|
<para>
|
|
Recalculate the effective value of <varname>search_path</varname>
|
|
after <command>ALTER ROLE</command> (Jeff Davis)
|
|
</para>
|
|
|
|
<para>
|
|
This ensures that after renaming a role, the meaning of the special
|
|
string <literal>$user</literal> is re-determined.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Jeff Davis <jdavis@postgresql.org>
|
|
Branch: master [ef74c7197] 2023-10-10 11:01:13 -0700
|
|
Branch: REL_16_STABLE [b8963e8a2] 2023-10-10 11:01:55 -0700
|
|
Branch: REL_15_STABLE [b9bb02620] 2023-10-10 11:02:45 -0700
|
|
Branch: REL_14_STABLE [6615bb95a] 2023-10-10 11:02:56 -0700
|
|
Branch: REL_13_STABLE [469d367be] 2023-10-10 11:03:03 -0700
|
|
Branch: REL_12_STABLE [6dbd01b9f] 2023-10-10 11:03:10 -0700
|
|
Branch: REL_11_STABLE [04f0baa85] 2023-10-10 11:03:20 -0700
|
|
-->
|
|
<para>
|
|
Fix order of operations in <function>GenericXLogFinish</function>
|
|
(Jeff Davis)
|
|
</para>
|
|
|
|
<para>
|
|
This code violated the conditions required for crash safety by
|
|
writing WAL before marking changed buffers dirty. No core code uses
|
|
this function, but extensions do (<filename>contrib/bloom</filename>
|
|
does, for example).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [af5b3c3d1] 2023-09-19 08:31:06 +0900
|
|
Branch: REL_16_STABLE [f171430f0] 2023-09-19 08:31:22 +0900
|
|
Branch: REL_15_STABLE [9e0ce80f3] 2023-09-19 08:31:24 +0900
|
|
Branch: REL_14_STABLE [bb65f3c1b] 2023-09-19 08:31:26 +0900
|
|
Branch: REL_13_STABLE [35e8ba3e5] 2023-09-19 08:31:27 +0900
|
|
Branch: REL_12_STABLE [99d27e55c] 2023-09-19 08:31:29 +0900
|
|
Branch: REL_11_STABLE [ddded779a] 2023-09-19 08:31:31 +0900
|
|
-->
|
|
<para>
|
|
Remove incorrect assertion in PL/Python exception handling
|
|
(Alexander Lakhin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [06c0c3688] 2023-10-02 13:27:58 -0400
|
|
Branch: REL_16_STABLE [aaaf8fbb6] 2023-10-02 13:27:51 -0400
|
|
Branch: REL_15_STABLE [10e705bd2] 2023-10-02 13:27:51 -0400
|
|
Branch: REL_14_STABLE [829d91cc6] 2023-10-02 13:27:51 -0400
|
|
Branch: REL_13_STABLE [295953f8b] 2023-10-02 13:27:51 -0400
|
|
Branch: REL_12_STABLE [c02f29758] 2023-10-02 13:27:51 -0400
|
|
Branch: REL_11_STABLE [4f16152d9] 2023-10-02 13:27:51 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>pg_restore</application> so that selective restores
|
|
will include both table-level and column-level ACLs for selected
|
|
tables (Euler Taveira, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Formerly, only the table-level ACL would get restored if both types
|
|
were present.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [2e3dc8c14] 2023-09-25 14:27:33 +0200
|
|
Branch: REL_16_STABLE [fb9ddd0fa] 2023-09-25 14:34:06 +0200
|
|
Branch: REL_15_STABLE [8845d8597] 2023-09-25 14:34:06 +0200
|
|
Branch: REL_14_STABLE [26c291a15] 2023-09-25 14:34:06 +0200
|
|
Branch: REL_13_STABLE [d3946c4f6] 2023-09-25 14:34:05 +0200
|
|
Branch: REL_12_STABLE [af9f6cd1d] 2023-09-25 14:34:05 +0200
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: REL_15_STABLE [04d2d605f] 2023-11-03 12:07:11 -0400
|
|
Branch: REL_14_STABLE [f9280e77e] 2023-11-03 12:07:25 -0400
|
|
Branch: REL_13_STABLE [2f1f49975] 2023-11-03 12:07:35 -0400
|
|
Branch: REL_12_STABLE [d3246a2ad] 2023-11-03 12:07:40 -0400
|
|
-->
|
|
<para>
|
|
Add logic to <application>pg_upgrade</application> to check for use
|
|
of <type>abstime</type>, <type>reltime</type>,
|
|
and <type>tinterval</type> data types (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
These obsolete data types were removed
|
|
in <productname>PostgreSQL</productname> version 12, so check to
|
|
make sure they aren't present in an older database before claiming
|
|
it can be upgraded.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [e1c6db630] 2023-09-07 14:12:18 +0900
|
|
Branch: REL_16_STABLE Release: REL_16_0 [105795843] 2023-09-07 14:12:25 +0900
|
|
Branch: REL_15_STABLE [574bff7bd] 2023-09-07 14:12:29 +0900
|
|
Branch: REL_14_STABLE [9de74ca70] 2023-09-07 14:12:31 +0900
|
|
Branch: REL_13_STABLE [6cdd7b805] 2023-09-07 14:12:33 +0900
|
|
Branch: REL_12_STABLE [2fe968ce9] 2023-09-07 14:12:34 +0900
|
|
Branch: REL_11_STABLE [dbd1a06c9] 2023-09-07 14:12:36 +0900
|
|
-->
|
|
<para>
|
|
Avoid generating invalid temporary slot names
|
|
in <application>pg_basebackup</application> (Jelte Fennema)
|
|
</para>
|
|
|
|
<para>
|
|
This has only been seen to occur when the server connection runs
|
|
through <application>pgbouncer</application>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [90ebcc32d] 2023-10-14 15:54:46 -0700
|
|
Branch: REL_16_STABLE [06ff06484] 2023-10-14 15:54:49 -0700
|
|
Branch: REL_15_STABLE [1102f4ece] 2023-10-14 15:54:49 -0700
|
|
Branch: REL_14_STABLE [0df88a686] 2023-10-14 15:54:49 -0700
|
|
Branch: REL_13_STABLE [3895e9153] 2023-10-14 15:54:50 -0700
|
|
Branch: REL_12_STABLE [73cda80a3] 2023-10-14 15:54:50 -0700
|
|
-->
|
|
<para>
|
|
Avoid false <quote>too many client connections</quote> errors
|
|
in <application>pgbench</application> on Windows (Noah Misch)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [6ec9e9975] 2023-10-30 14:46:05 -0700
|
|
Branch: REL_16_STABLE [3c6a05b80] 2023-10-30 14:46:08 -0700
|
|
Branch: REL_15_STABLE [6f81386a9] 2023-10-30 14:46:08 -0700
|
|
Branch: REL_14_STABLE [42496cba6] 2023-10-30 14:46:09 -0700
|
|
Branch: REL_13_STABLE [f31ccb575] 2023-10-30 14:46:09 -0700
|
|
Branch: REL_12_STABLE [3a205c916] 2023-10-30 14:46:09 -0700
|
|
Branch: REL_11_STABLE [e04509f32] 2023-10-30 14:46:09 -0700
|
|
-->
|
|
<para>
|
|
In <filename>contrib/amcheck</filename>, do not report interrupted
|
|
page deletion as corruption (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
This fix prevents false-positive reports of <quote>the first child
|
|
of leftmost target page is not leftmost of its
|
|
level</quote>, <quote>block NNNN is not leftmost</quote>
|
|
or <quote>left link/right link pair in index XXXX not in
|
|
agreement</quote>. They appeared
|
|
if <application>amcheck</application> ran after an unfinished btree
|
|
index page deletion and before <command>VACUUM</command> had cleaned
|
|
things up.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [849172ff4] 2023-10-29 11:14:37 +0000
|
|
Branch: REL_16_STABLE [ab73a37e9] 2023-10-29 11:14:36 +0000
|
|
Branch: REL_15_STABLE [5f0691839] 2023-10-29 11:14:35 +0000
|
|
Branch: REL_14_STABLE [162b38a06] 2023-10-29 11:14:34 +0000
|
|
Branch: REL_13_STABLE [35e6a5c20] 2023-10-29 11:14:34 +0000
|
|
Branch: REL_12_STABLE [f7cd7b265] 2023-10-29 11:14:33 +0000
|
|
Branch: REL_11_STABLE [c804ffb56] 2023-10-29 11:14:32 +0000
|
|
-->
|
|
<para>
|
|
Fix failure of <filename>contrib/btree_gin</filename> indexes
|
|
on <type>interval</type> columns,
|
|
when an indexscan using the <literal><</literal>
|
|
or <literal><=</literal> operator is performed (Dean Rasheed)
|
|
</para>
|
|
|
|
<para>
|
|
Such an indexscan failed to return all the entries it should.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [76200e5ee] 2023-10-19 05:13:23 +1300
|
|
Branch: REL_16_STABLE [774185056] 2023-10-19 05:14:07 +1300
|
|
Branch: REL_15_STABLE [b60e3ac76] 2023-10-19 05:15:38 +1300
|
|
Branch: REL_14_STABLE [0a8b7d5c1] 2023-10-19 05:16:00 +1300
|
|
Branch: REL_13_STABLE [53c4dabe1] 2023-10-19 05:16:24 +1300
|
|
Branch: REL_12_STABLE [7da915e33] 2023-10-19 05:17:27 +1300
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [37d5babb5] 2023-10-18 22:47:23 +1300
|
|
Branch: REL_16_STABLE [74d19ec09] 2023-10-18 22:53:56 +1300
|
|
Branch: REL_15_STABLE [eed1feb3f] 2023-10-18 22:59:46 +1300
|
|
Branch: REL_14_STABLE [82d9a782a] 2023-10-18 23:04:09 +1300
|
|
Branch: REL_13_STABLE [f28956b23] 2023-10-18 23:16:48 +1300
|
|
Branch: REL_12_STABLE [15ddc9725] 2023-10-18 23:18:16 +1300
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [f90b4a846] 2023-10-19 03:01:55 +1300
|
|
Branch: REL_16_STABLE [60596f148] 2023-10-19 03:07:18 +1300
|
|
Branch: REL_15_STABLE [b2e097788] 2023-10-19 03:03:27 +1300
|
|
Branch: REL_14_STABLE [ee3e4c41f] 2023-10-19 03:03:46 +1300
|
|
Branch: REL_13_STABLE [981292c19] 2023-10-19 03:04:00 +1300
|
|
Branch: REL_12_STABLE [d701f0d1f] 2023-10-19 03:04:09 +1300
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: REL_13_STABLE [7c070e224] 2023-10-24 11:23:08 +1300
|
|
Branch: REL_12_STABLE [9ad986276] 2023-10-24 11:23:21 +1300
|
|
-->
|
|
<para>
|
|
Add support for LLVM 16 and 17 (Thomas Munro, Dmitry Dolgov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [06843df4a] 2023-09-29 14:07:30 -0400
|
|
Branch: REL_16_STABLE [75c562653] 2023-09-29 14:07:30 -0400
|
|
Branch: REL_15_STABLE [be3398ea1] 2023-09-29 14:07:30 -0400
|
|
Branch: REL_14_STABLE [e9d1560d3] 2023-09-29 14:07:30 -0400
|
|
Branch: REL_13_STABLE [1b64e374c] 2023-09-29 14:07:30 -0400
|
|
Branch: REL_12_STABLE [d8ceb98e4] 2023-09-29 14:07:30 -0400
|
|
Branch: REL_11_STABLE [4d10fda52] 2023-09-29 14:07:30 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3aa021b29] 2023-09-26 21:06:21 -0400
|
|
Branch: REL_16_STABLE [e73d6a0df] 2023-09-26 21:06:21 -0400
|
|
Branch: REL_15_STABLE [78f17fb97] 2023-09-26 21:06:21 -0400
|
|
Branch: REL_14_STABLE [5d60e8ed3] 2023-09-26 21:06:21 -0400
|
|
Branch: REL_13_STABLE [53cc19bfa] 2023-09-26 21:06:21 -0400
|
|
Branch: REL_12_STABLE [abe423712] 2023-09-26 21:06:21 -0400
|
|
Branch: REL_11_STABLE [0e0de20c8] 2023-09-26 21:06:21 -0400
|
|
-->
|
|
<para>
|
|
Suppress assorted build-time warnings on
|
|
recent <productname>macOS</productname> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
<productname>Xcode 15</productname> (released
|
|
with <productname>macOS Sonoma</productname>) changed the linker's
|
|
behavior in a way that causes many duplicate-library warnings while
|
|
building <productname>PostgreSQL</productname>. These were
|
|
harmless, but they're annoying so avoid citing the same libraries
|
|
twice. Also remove use of the <option>-multiply_defined
|
|
suppress</option> linker switch, which apparently has been a no-op
|
|
for a long time, and is now actively complained of.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5fd3e06f6] 2023-10-28 11:54:40 -0400
|
|
Branch: REL_16_STABLE [d1537afe3] 2023-10-28 11:54:51 -0400
|
|
Branch: REL_15_STABLE [85b98a70b] 2023-10-28 11:54:59 -0400
|
|
Branch: REL_14_STABLE [877e7b4b9] 2023-10-28 11:55:06 -0400
|
|
Branch: REL_13_STABLE [d94612873] 2023-10-28 11:55:14 -0400
|
|
Branch: REL_12_STABLE [7180bb827] 2023-10-28 11:55:22 -0400
|
|
Branch: REL_11_STABLE [64fc5e005] 2023-10-28 11:55:30 -0400
|
|
-->
|
|
<para>
|
|
Remove <literal>PHOT</literal> (Phoenix Islands Time) from the
|
|
default timezone abbreviations list (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Presence of this abbreviation in the default list can cause failures
|
|
on recent Debian and Ubuntu releases, as they no longer install the
|
|
underlying tzdb entry by default. Since this is a made-up
|
|
abbreviation for a zone with a total human population of about two
|
|
dozen, it seems unlikely that anyone will miss it. If someone does,
|
|
they can put it back via a custom abbreviations file.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-16">
|
|
<title>Release 12.16</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2023-08-10</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.15.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.16</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you use BRIN indexes, it may be advisable to reindex them;
|
|
see the second changelog entry below.
|
|
</para>
|
|
|
|
<para>
|
|
Also, if you are upgrading from a version earlier than 12.10,
|
|
see <xref linkend="release-12-10"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [cd5f2a357] 2023-08-07 06:05:56 -0700
|
|
Branch: REL_16_STABLE [f53511010] 2023-08-07 06:05:59 -0700
|
|
Branch: REL_15_STABLE [de494ec14] 2023-08-07 06:06:00 -0700
|
|
Branch: REL_14_STABLE [d4648a74b] 2023-08-07 06:06:00 -0700
|
|
Branch: REL_13_STABLE [b1b585e0f] 2023-08-07 06:06:00 -0700
|
|
Branch: REL_12_STABLE [eb044d8f0] 2023-08-07 06:06:00 -0700
|
|
Branch: REL_11_STABLE [919ebb023] 2023-08-07 06:06:01 -0700
|
|
-->
|
|
<para>
|
|
Disallow substituting a schema or owner name into an extension script
|
|
if the name contains a quote, backslash, or dollar sign (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
This restriction guards against SQL-injection hazards for trusted
|
|
extensions.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks Micah Gates,
|
|
Valerie Woolard, Tim Carey-Smith, and Christoph Berg for reporting
|
|
this problem.
|
|
(CVE-2023-39417)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master Release: REL_16_BR [3581cbdcd] 2023-05-19 01:29:44 +0200
|
|
Branch: REL_15_STABLE [e18769323] 2023-05-19 00:15:13 +0200
|
|
Branch: REL_14_STABLE [40d465caf] 2023-05-19 00:15:00 +0200
|
|
Branch: REL_13_STABLE [6c512fc6e] 2023-05-19 00:14:05 +0200
|
|
Branch: REL_12_STABLE [d78a66d92] 2023-05-19 00:16:13 +0200
|
|
Branch: REL_11_STABLE [fc7dc728d] 2023-05-19 00:21:05 +0200
|
|
Branch: master Release: REL_16_BR [3ec8a3bfb] 2023-05-18 23:33:23 +0200
|
|
Branch: REL_15_STABLE [80f64b900] 2023-05-18 23:33:45 +0200
|
|
Branch: REL_14_STABLE [3f1356e5d] 2023-05-18 23:34:10 +0200
|
|
Branch: REL_13_STABLE [2b1ab28b9] 2023-05-18 23:34:35 +0200
|
|
Branch: REL_12_STABLE [d42ffda68] 2023-05-18 23:34:56 +0200
|
|
Branch: REL_11_STABLE [b511d7323] 2023-05-18 23:35:16 +0200
|
|
-->
|
|
<para>
|
|
Fix confusion between empty (no rows) ranges and all-NULL ranges in
|
|
BRIN indexes, as well as incorrect merging of all-NULL summaries
|
|
(Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
Each of these oversights could result in forgetting that a BRIN
|
|
index range contains any NULL values, potentially allowing
|
|
subsequent queries that should return NULL values to miss doing so.
|
|
</para>
|
|
|
|
<para>
|
|
This fix will not in itself correct faulty BRIN entries.
|
|
It's recommended to <command>REINDEX</command> any BRIN indexes that
|
|
may be used to search for nulls.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [c66a7d75e] 2023-07-13 13:03:28 -0700
|
|
Branch: REL_16_STABLE [a4b4cc1d6] 2023-07-13 13:03:30 -0700
|
|
Branch: REL_15_STABLE [f66403749] 2023-07-13 13:04:45 -0700
|
|
Branch: REL_14_STABLE [d11efe830] 2023-07-13 13:03:33 -0700
|
|
Branch: REL_13_STABLE [81ce00006] 2023-07-13 13:03:34 -0700
|
|
Branch: REL_12_STABLE [034a9fcd2] 2023-07-13 13:03:36 -0700
|
|
Branch: REL_11_STABLE [1c38e7ae1] 2023-07-13 13:03:37 -0700
|
|
-->
|
|
<para>
|
|
Avoid leaving a corrupted database behind when <command>DROP
|
|
DATABASE</command> is interrupted (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
If <command>DROP DATABASE</command> was interrupted after it had
|
|
already begun taking irreversible steps, the target database
|
|
remained accessible (because the removal of
|
|
its <structname>pg_database</structname> row would roll back),
|
|
but it would have corrupt contents. Fix by marking the database
|
|
as inaccessible before we begin to perform irreversible operations.
|
|
A failure after that will leave the database still partially
|
|
present, but nothing can be done with it except to issue
|
|
another <command>DROP DATABASE</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [cfc43aeb3] 2023-06-30 13:54:48 +0900
|
|
Branch: REL_16_STABLE [f4691e2e7] 2023-06-30 13:54:53 +0900
|
|
Branch: REL_15_STABLE [cb4ac3e56] 2023-06-30 13:54:55 +0900
|
|
Branch: REL_14_STABLE [663b35f2d] 2023-06-30 13:54:56 +0900
|
|
Branch: REL_13_STABLE [537b70b82] 2023-06-30 13:54:59 +0900
|
|
Branch: REL_12_STABLE [dbe0e5c56] 2023-06-30 13:55:02 +0900
|
|
Branch: REL_11_STABLE [c75c33de5] 2023-06-30 13:55:07 +0900
|
|
-->
|
|
<para>
|
|
Ensure that partitioned indexes are correctly marked as valid or not
|
|
at creation (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
If a new partitioned index matches an existing but invalid index on
|
|
one of the partitions, the partitioned index could end up being
|
|
marked valid prematurely. This could lead to misbehavior or
|
|
assertion failures in subsequent queries on the partitioned table.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_16_BR [fc55c7ff8] 2023-06-28 15:57:31 +0900
|
|
Branch: REL_15_STABLE [7aa17b498] 2023-06-28 15:57:43 +0900
|
|
Branch: REL_14_STABLE [6160e221d] 2023-06-28 15:57:48 +0900
|
|
Branch: REL_13_STABLE [f42844069] 2023-06-28 15:57:51 +0900
|
|
Branch: REL_12_STABLE [63b292e73] 2023-06-28 15:57:53 +0900
|
|
Branch: REL_11_STABLE [e90e9275f] 2023-06-28 15:57:55 +0900
|
|
-->
|
|
<para>
|
|
Ignore invalid child indexes when matching partitioned indexes to
|
|
child indexes during <command>ALTER TABLE ATTACH PARTITION</command>
|
|
(Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Such an index will now be ignored, and a new child index created
|
|
instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [38ea6aa90] 2023-07-14 10:12:48 +0900
|
|
Branch: REL_16_STABLE [31f9d41d6] 2023-07-14 10:13:14 +0900
|
|
Branch: REL_15_STABLE [c0dc97c7b] 2023-07-14 10:13:15 +0900
|
|
Branch: REL_14_STABLE [954cc2139] 2023-07-14 10:13:17 +0900
|
|
Branch: REL_13_STABLE [c89d74c18] 2023-07-14 10:13:20 +0900
|
|
Branch: REL_12_STABLE [f1d6bcdd8] 2023-07-14 10:13:21 +0900
|
|
Branch: REL_11_STABLE [ed2b58c15] 2023-07-14 10:13:22 +0900
|
|
-->
|
|
<para>
|
|
Fix possible failure when marking a partitioned index valid after
|
|
all of its partitions have been attached (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
The update of the index's <structname>pg_index</structname> entry
|
|
could use stale data for other columns. One reported symptom is
|
|
an <quote>attempted to update invisible tuple</quote> error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [bd5ddbe86] 2023-07-10 09:40:07 +0900
|
|
Branch: REL_16_STABLE [55c95f24c] 2023-07-10 09:40:12 +0900
|
|
Branch: REL_15_STABLE [d1e0f408c] 2023-07-10 09:40:14 +0900
|
|
Branch: REL_14_STABLE [235e716bc] 2023-07-10 09:40:15 +0900
|
|
Branch: REL_13_STABLE [f5b075adc] 2023-07-10 09:40:17 +0900
|
|
Branch: REL_12_STABLE [02021f1b2] 2023-07-10 09:40:22 +0900
|
|
Branch: REL_11_STABLE [914e72e6e] 2023-07-10 09:40:24 +0900
|
|
-->
|
|
<para>
|
|
Fix <command>ALTER EXTENSION SET SCHEMA</command> to complain if the
|
|
extension contains any objects outside the extension's schema
|
|
(Michael Paquier, Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
Erroring out if the extension contains objects in multiple schemas
|
|
was always intended; but the check was mis-coded so that it would
|
|
fail to detect some cases, leading to surprising behavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master Release: REL_16_BR [7fcd7ef2a] 2023-06-19 13:00:42 +1200
|
|
Branch: REL_15_STABLE [8f2ec8cc7] 2023-06-19 13:01:29 +1200
|
|
Branch: REL_14_STABLE [73f1c17fc] 2023-06-19 13:01:58 +1200
|
|
Branch: REL_13_STABLE [06286f8a2] 2023-06-19 13:02:24 +1200
|
|
Branch: REL_12_STABLE [dcef5b052] 2023-06-19 13:02:52 +1200
|
|
Branch: REL_11_STABLE [f6345f03f] 2023-06-19 13:03:17 +1200
|
|
-->
|
|
<para>
|
|
Don't use partial unique indexes for uniqueness proofs in the
|
|
planner (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
This could give rise to incorrect plans, since the presumed
|
|
uniqueness of rows read from a table might not hold if the index in
|
|
question isn't used to scan the table.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
Branch: master [6f80a8d9c] 2023-07-28 15:45:00 +0900
|
|
Branch: REL_16_STABLE [695f5deb7] 2023-07-28 15:45:01 +0900
|
|
Branch: REL_15_STABLE [d1ef5631e] 2023-07-28 15:45:02 +0900
|
|
Branch: REL_14_STABLE [b0e390e6d] 2023-07-28 15:45:04 +0900
|
|
Branch: REL_13_STABLE [730f983ef] 2023-07-28 15:45:06 +0900
|
|
Branch: REL_12_STABLE [9edf72aa7] 2023-07-28 15:45:08 +0900
|
|
Branch: REL_11_STABLE [db01f2696] 2023-07-28 15:45:09 +0900
|
|
-->
|
|
<para>
|
|
Avoid producing incorrect plans for foreign joins with
|
|
pseudoconstant join clauses (Etsuro Fujita)
|
|
</para>
|
|
|
|
<para>
|
|
The planner currently lacks support for attaching pseudoconstant
|
|
join clauses to a pushed-down remote join, so disable generation
|
|
of remote joins in such cases. (A better solution will require
|
|
ABI-breaking changes of planner data structures, so it will have to
|
|
wait for a future major release.)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_16_BR [792213f2e] 2023-06-13 15:58:43 -0400
|
|
Branch: REL_15_STABLE [cc6974df1] 2023-06-13 15:58:37 -0400
|
|
Branch: REL_14_STABLE [d1423c52e] 2023-06-13 15:58:37 -0400
|
|
Branch: REL_13_STABLE [a36d0014f] 2023-06-13 15:58:37 -0400
|
|
Branch: REL_12_STABLE [b4110bdbf] 2023-06-13 15:58:37 -0400
|
|
Branch: REL_11_STABLE [13192a324] 2023-06-13 15:58:37 -0400
|
|
-->
|
|
<para>
|
|
Correctly handle sub-SELECTs in RLS policy expressions and
|
|
security-barrier views when expanding rule actions (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [126552c85] 2023-07-04 09:07:31 +1200
|
|
Branch: REL_16_STABLE [12529028a] 2023-07-04 09:04:35 +1200
|
|
Branch: REL_15_STABLE [d34aa0a2f] 2023-07-04 09:10:37 +1200
|
|
Branch: REL_14_STABLE [fb663f387] 2023-07-04 09:14:16 +1200
|
|
Branch: REL_13_STABLE [fc1547384] 2023-07-04 09:20:55 +1200
|
|
Branch: REL_12_STABLE [255a925d3] 2023-07-04 09:21:33 +1200
|
|
Branch: REL_11_STABLE [13f127800] 2023-07-04 09:40:30 +1200
|
|
Branch: master [bcc93a389] 2023-07-04 09:07:31 +1200
|
|
Branch: REL_16_STABLE [d03d9a261] 2023-07-04 09:04:35 +1200
|
|
Branch: REL_15_STABLE [ab265e985] 2023-07-04 09:10:37 +1200
|
|
Branch: REL_14_STABLE [3f7d3a77e] 2023-07-04 09:14:16 +1200
|
|
Branch: REL_13_STABLE [8976ac5c5] 2023-07-04 09:20:55 +1200
|
|
Branch: REL_12_STABLE [17b8887c2] 2023-07-04 09:21:33 +1200
|
|
Branch: REL_11_STABLE [814f3c8e4] 2023-07-04 09:40:30 +1200
|
|
Branch: master [f9b7fc651] 2023-07-04 09:07:31 +1200
|
|
Branch: REL_16_STABLE [0cb1fb2c9] 2023-07-04 09:04:35 +1200
|
|
Branch: REL_15_STABLE [0f275b0ee] 2023-07-04 09:10:37 +1200
|
|
Branch: REL_14_STABLE [ae6d536ed] 2023-07-04 09:14:16 +1200
|
|
Branch: REL_13_STABLE [8f705d7b9] 2023-07-04 09:20:55 +1200
|
|
Branch: REL_12_STABLE [fe88497b4] 2023-07-04 09:21:33 +1200
|
|
Branch: REL_11_STABLE [0048c3b51] 2023-07-04 09:27:00 +1200
|
|
-->
|
|
<para>
|
|
Fix race conditions in conflict detection
|
|
for <literal>SERIALIZABLE</literal> isolation mode
|
|
(Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Conflicts could be missed when using bitmap heap scans, when using
|
|
GIN indexes, and when examining an initially-empty btree index.
|
|
All these cases could lead to serializability failures due to
|
|
improperly allowing conflicting transactions to commit.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_16_BR [45392626c] 2023-06-20 17:47:53 -0400
|
|
Branch: REL_15_STABLE [c2f974fff] 2023-06-20 17:47:53 -0400
|
|
Branch: REL_14_STABLE [d911dce14] 2023-06-20 17:47:36 -0400
|
|
Branch: REL_13_STABLE [2f97105e9] 2023-06-20 17:47:36 -0400
|
|
Branch: REL_12_STABLE [9529b1eb1] 2023-06-20 17:47:36 -0400
|
|
-->
|
|
<para>
|
|
Fix hash join with an inner-side hash key that contains Params
|
|
coming from an outer nested loop (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
When rescanning the join after the values of such Params have
|
|
changed, we must rebuild the hash table, but neglected to do so.
|
|
This could result in missing join output rows.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_16_BR [43af714de] 2023-06-29 10:19:10 -0400
|
|
Branch: REL_15_STABLE [cc8cca3c2] 2023-06-29 10:19:10 -0400
|
|
Branch: REL_14_STABLE [0789b82a9] 2023-06-29 10:19:10 -0400
|
|
Branch: REL_13_STABLE [d0ab203bc] 2023-06-29 10:19:10 -0400
|
|
Branch: REL_12_STABLE [53b93e853] 2023-06-29 10:19:10 -0400
|
|
Branch: REL_11_STABLE [7f11b7a9c] 2023-06-29 10:19:10 -0400
|
|
-->
|
|
<para>
|
|
Fix intermittent failures when trying to update a field of a
|
|
composite column (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If the overall value of the composite column is wide enough to
|
|
require out-of-line toasting, then an unluckily-timed cache flush
|
|
could cause errors or server crashes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master Release: REL_16_BR [f24523672] 2023-06-07 18:54:34 +0200
|
|
Branch: REL_15_STABLE [ee87f8b63] 2023-06-07 18:52:21 +0200
|
|
Branch: REL_14_STABLE [7f528e96c] 2023-06-07 18:53:04 +0200
|
|
Branch: REL_13_STABLE [c504aa857] 2023-06-07 18:53:16 +0200
|
|
Branch: REL_12_STABLE [54e1b8587] 2023-06-07 18:53:30 +0200
|
|
Branch: master [ce5aaea8c] 2023-07-02 22:21:02 +0200
|
|
Branch: REL_16_STABLE [9cf85093b] 2023-07-02 22:22:31 +0200
|
|
Branch: REL_15_STABLE [7ae4e7868] 2023-07-02 22:22:50 +0200
|
|
Branch: REL_14_STABLE [260dbf19a] 2023-07-02 22:23:04 +0200
|
|
Branch: REL_13_STABLE [984c23f6f] 2023-07-02 22:23:20 +0200
|
|
-->
|
|
<para>
|
|
Prevent query-lifespan memory leaks in some <command>UPDATE</command>
|
|
queries with triggers (Tomas Vondra)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_16_BR [691594acd] 2023-06-24 17:18:08 -0400
|
|
Branch: REL_15_STABLE [a77d90171] 2023-06-24 17:18:08 -0400
|
|
Branch: REL_14_STABLE [4c61afa47] 2023-06-24 17:18:08 -0400
|
|
Branch: REL_13_STABLE [b6ab18a99] 2023-06-24 17:18:08 -0400
|
|
Branch: REL_12_STABLE [3b4580f5c] 2023-06-24 17:18:08 -0400
|
|
Branch: REL_11_STABLE [c7f33a197] 2023-06-24 17:18:08 -0400
|
|
-->
|
|
<para>
|
|
Prevent stack-overflow crashes with very complex text search
|
|
patterns (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [38df84c65] 2023-07-27 11:56:35 -0400
|
|
Branch: REL_16_STABLE [de3f0e3fe] 2023-07-27 11:56:35 -0400
|
|
Branch: REL_15_STABLE [313ceda2f] 2023-07-27 12:07:48 -0400
|
|
Branch: REL_14_STABLE [341996248] 2023-07-27 12:07:48 -0400
|
|
Branch: REL_13_STABLE [288b4288c] 2023-07-27 12:07:48 -0400
|
|
Branch: REL_12_STABLE [0660f74e8] 2023-07-27 12:07:48 -0400
|
|
Branch: REL_11_STABLE [1d031ad54] 2023-07-27 12:07:48 -0400
|
|
-->
|
|
<para>
|
|
Allow tokens up to 10240 bytes long
|
|
in <filename>pg_hba.conf</filename>
|
|
and <filename>pg_ident.conf</filename> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The previous limit of 256 bytes has been found insufficient for some
|
|
use-cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [4f4d73466] 2023-07-05 13:13:13 +0300
|
|
Branch: REL_16_STABLE [dc0b58417] 2023-07-05 13:25:59 +0300
|
|
Branch: REL_15_STABLE [fa96a74a0] 2023-07-05 13:13:30 +0300
|
|
Branch: REL_14_STABLE [bfb493dba] 2023-07-05 13:13:35 +0300
|
|
Branch: REL_13_STABLE [59c2a6fe9] 2023-07-05 13:13:39 +0300
|
|
Branch: REL_12_STABLE [162aa47c3] 2023-07-05 13:14:24 +0300
|
|
Branch: REL_11_STABLE [2316ff1ae] 2023-07-05 13:14:33 +0300
|
|
-->
|
|
<para>
|
|
Fix mishandling of C++ out-of-memory conditions (Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
If JIT is in use, running out of memory in a
|
|
C++ <function>new</function> call would lead to
|
|
a <productname>PostgreSQL</productname> FATAL error, instead of the
|
|
expected C++ exception.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [03f80daac] 2023-07-04 15:16:47 +1200
|
|
Branch: REL_16_STABLE [af8f9ec66] 2023-07-04 15:21:36 +1200
|
|
Branch: REL_15_STABLE [9ffb10f18] 2023-07-04 15:24:42 +1200
|
|
Branch: REL_14_STABLE [b7ec66731] 2023-07-04 15:26:42 +1200
|
|
Branch: REL_13_STABLE [a0003572f] 2023-07-04 15:28:29 +1200
|
|
Branch: REL_12_STABLE [74ad9b0d1] 2023-07-04 15:29:41 +1200
|
|
Branch: REL_11_STABLE [1605623ec] 2023-07-04 16:13:12 +1200
|
|
-->
|
|
<para>
|
|
Avoid losing track of possibly-useful shared memory segments when a
|
|
page free results in coalescing ranges of free space (Dongming Liu)
|
|
</para>
|
|
|
|
<para>
|
|
Ensure that the segment is moved into the
|
|
appropriate <quote>bin</quote> for its new amount of free space, so
|
|
that it will be found by subsequent searches.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
Branch: master Release: REL_16_BR [5f0762f14] 2023-06-21 17:41:58 -0700
|
|
Branch: REL_15_STABLE [642bec1f8] 2023-06-21 17:41:56 -0700
|
|
Branch: REL_14_STABLE [63fa0deb3] 2023-06-21 17:41:54 -0700
|
|
Branch: REL_13_STABLE [b6311824f] 2023-06-21 17:41:52 -0700
|
|
Branch: REL_12_STABLE [355917c07] 2023-06-21 17:41:50 -0700
|
|
Branch: REL_11_STABLE [7ddba19eb] 2023-06-21 17:41:48 -0700
|
|
Branch: master Release: REL_16_BR [5abff197c] 2023-05-25 15:33:00 -0700
|
|
Branch: REL_15_STABLE [6983a5112] 2023-05-25 15:32:57 -0700
|
|
Branch: REL_14_STABLE [322c9b340] 2023-05-25 15:32:53 -0700
|
|
Branch: REL_13_STABLE [8f876d15c] 2023-05-25 15:32:50 -0700
|
|
Branch: REL_12_STABLE [188dad680] 2023-05-25 15:32:48 -0700
|
|
Branch: REL_11_STABLE [a72b503ca] 2023-05-25 15:32:45 -0700
|
|
-->
|
|
<para>
|
|
Allow <command>VACUUM</command> to continue after detecting certain
|
|
types of b-tree index corruption (Peter Geoghegan)
|
|
</para>
|
|
|
|
<para>
|
|
If an invalid sibling-page link is detected, log the issue and press
|
|
on, rather than throwing an error as before. Nothing short
|
|
of <command>REINDEX</command> will fix the broken index, but
|
|
preventing <command>VACUUM</command> from completing until that is
|
|
done risks making matters far worse.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [83ecfa9fa] 2023-07-13 13:03:28 -0700
|
|
Branch: REL_16_STABLE [03ccc9569] 2023-07-13 13:03:30 -0700
|
|
Branch: REL_15_STABLE [82e97b864] 2023-07-13 13:03:31 -0700
|
|
Branch: REL_14_STABLE [e246fd423] 2023-07-13 13:03:33 -0700
|
|
Branch: REL_13_STABLE [53336e8f6] 2023-07-13 13:03:34 -0700
|
|
Branch: REL_12_STABLE [7aec84e4c] 2023-07-13 13:03:36 -0700
|
|
Branch: REL_11_STABLE [1386f0987] 2023-07-13 13:03:37 -0700
|
|
-->
|
|
<para>
|
|
Ensure that <varname>WrapLimitsVacuumLock</varname> is released
|
|
after <command>VACUUM</command> detects invalid data
|
|
in <structname>pg_database</structname>.<structfield>datfrozenxid</structfield>
|
|
or <structname>pg_database</structname>.<structfield>datminmxid</structfield>
|
|
(Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
Failure to release this lock could lead to a deadlock later,
|
|
although the lock would be cleaned up if the session exits or
|
|
encounters some other error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [cb0cca188] 2023-07-18 13:43:44 +0900
|
|
Branch: REL_16_STABLE [f88bc9f38] 2023-07-18 13:44:27 +0900
|
|
Branch: REL_15_STABLE [a878eff6b] 2023-07-18 13:44:29 +0900
|
|
Branch: REL_14_STABLE [442749100] 2023-07-18 13:44:31 +0900
|
|
Branch: REL_13_STABLE [db59108a2] 2023-07-18 13:44:33 +0900
|
|
Branch: REL_12_STABLE [d2ee542a2] 2023-07-18 13:44:34 +0900
|
|
Branch: REL_11_STABLE [bc0581f8f] 2023-07-18 13:44:35 +0900
|
|
Branch: master [4e465aac3] 2023-07-18 14:04:31 +0900
|
|
Branch: REL_16_STABLE [926aa6d11] 2023-07-18 14:04:46 +0900
|
|
Branch: REL_15_STABLE [f6ecd2622] 2023-07-18 14:04:48 +0900
|
|
Branch: REL_14_STABLE [763d26205] 2023-07-18 14:04:50 +0900
|
|
Branch: REL_13_STABLE [b3ca4f0a5] 2023-07-18 14:04:51 +0900
|
|
Branch: REL_12_STABLE [410a0d6bd] 2023-07-18 14:04:52 +0900
|
|
Branch: REL_11_STABLE [6c7bffc09] 2023-07-18 14:04:54 +0900
|
|
-->
|
|
<para>
|
|
Avoid double replay of prepared transactions during crash
|
|
recovery (suyu.cmj, Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
After a crash partway through a checkpoint with some two-phase
|
|
transaction state data already flushed to disk by this checkpoint,
|
|
crash recovery could attempt to replay the prepared transaction(s)
|
|
twice, leading to a fatal error such as <quote>lock is already
|
|
held</quote> in the startup process.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [4b4798e13] 2023-07-04 17:57:03 +0300
|
|
Branch: REL_16_STABLE [d431644b4] 2023-07-04 18:04:27 +0300
|
|
Branch: REL_15_STABLE [e24c02e4d] 2023-07-04 18:07:27 +0300
|
|
Branch: REL_14_STABLE [d85bf0719] 2023-07-04 18:07:46 +0300
|
|
Branch: REL_13_STABLE [acc8cdff4] 2023-07-04 18:08:08 +0300
|
|
Branch: REL_12_STABLE [1b4f1c6f8] 2023-07-04 18:08:26 +0300
|
|
Branch: REL_11_STABLE [6377f705c] 2023-07-04 18:08:40 +0300
|
|
-->
|
|
<para>
|
|
Ensure that a newly created, but still empty table
|
|
is <function>fsync</function>'ed at the next checkpoint (Heikki
|
|
Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
Without this, if there is an operating system crash causing the
|
|
empty file to disappear, subsequent operations on the table might
|
|
fail with <quote>could not open file</quote> errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [3142a8845] 2023-07-06 17:25:29 +0300
|
|
Branch: REL_16_STABLE [bf7b70e6b] 2023-07-06 17:28:50 +0300
|
|
Branch: REL_15_STABLE [25624c5d3] 2023-07-06 17:29:12 +0300
|
|
Branch: REL_14_STABLE [32f327f68] 2023-07-06 17:29:13 +0300
|
|
Branch: REL_13_STABLE [c50b869ed] 2023-07-06 17:29:14 +0300
|
|
Branch: REL_12_STABLE [80abec387] 2023-07-06 17:29:15 +0300
|
|
Branch: REL_11_STABLE [988719b88] 2023-07-06 17:29:16 +0300
|
|
-->
|
|
<para>
|
|
Ensure that creation of the init fork of an unlogged index is
|
|
WAL-logged (Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
While an unlogged index's main data fork is not WAL-logged, its init
|
|
fork should be, to ensure that we have a consistent state to restore
|
|
the index to after a crash. This step was missed if the init fork
|
|
contains no data, which is a case not used by any standard index AM;
|
|
but perhaps some extension behaves that way.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: REL_14_STABLE [c6043fcbb] 2023-06-11 10:33:46 +0900
|
|
Branch: REL_13_STABLE [37236ca06] 2023-06-11 10:33:56 +0900
|
|
Branch: REL_12_STABLE [9920552e1] 2023-06-11 10:33:59 +0900
|
|
Branch: REL_11_STABLE [a9c3472e0] 2023-06-11 10:34:00 +0900
|
|
-->
|
|
<para>
|
|
Fix missing reinitializations of delay-checkpoint-end flags
|
|
(suyu.cmj)
|
|
</para>
|
|
|
|
<para>
|
|
This could result in unnecessary delays of checkpoints, or in
|
|
assertion failures in assert-enabled builds.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [deae1657e] 2023-08-02 01:39:47 +1200
|
|
Branch: REL_16_STABLE [b25acc302] 2023-08-02 01:40:27 +1200
|
|
Branch: REL_15_STABLE [67f3a697b] 2023-08-02 01:40:56 +1200
|
|
Branch: REL_14_STABLE [f457f2ef1] 2023-08-02 01:41:21 +1200
|
|
Branch: REL_13_STABLE [74a5bf1b6] 2023-08-02 01:41:55 +1200
|
|
Branch: REL_12_STABLE [668990980] 2023-08-02 01:44:31 +1200
|
|
-->
|
|
<para>
|
|
Fix overly strict assertion in <type>jsonpath</type> code
|
|
(David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
This assertion failed if a query applied
|
|
the <literal>.type()</literal> operator to
|
|
a <literal>like_regex</literal> result.
|
|
There was no bug in non-assert builds.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_16_BR [555b929bb] 2023-06-21 11:07:24 -0400
|
|
Branch: REL_15_STABLE [cb74f7bec] 2023-06-21 11:07:11 -0400
|
|
Branch: REL_14_STABLE [120ea65b8] 2023-06-21 11:07:11 -0400
|
|
Branch: REL_13_STABLE [d1fc0f382] 2023-06-21 11:07:11 -0400
|
|
Branch: REL_12_STABLE [a98a04005] 2023-06-21 11:07:11 -0400
|
|
Branch: REL_11_STABLE [a8be2356c] 2023-06-21 11:07:11 -0400
|
|
-->
|
|
<para>
|
|
Avoid assertion failure when processing an empty statement via the
|
|
extended query protocol in an already-aborted transaction (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_16_BR [1d369c9e9] 2023-05-16 10:53:42 -0400
|
|
Branch: REL_15_STABLE [eaf99e4c4] 2023-05-16 10:53:42 -0400
|
|
Branch: REL_14_STABLE [ccd362325] 2023-05-16 10:53:42 -0400
|
|
Branch: REL_13_STABLE [0409c7fc7] 2023-05-16 10:53:42 -0400
|
|
Branch: REL_12_STABLE [0966291a4] 2023-05-16 10:53:42 -0400
|
|
Branch: REL_11_STABLE [8084bf9a4] 2023-05-16 10:53:42 -0400
|
|
-->
|
|
<para>
|
|
Fix <filename>contrib/fuzzystrmatch</filename>'s
|
|
Soundex <function>difference()</function> function to handle empty
|
|
input sanely (Alexander Lakhin, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
An input string containing no alphabetic characters resulted in
|
|
unpredictable output.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_16_BR [d522b05c8] 2023-06-12 09:14:03 +0900
|
|
Branch: REL_15_STABLE [3a5222a43] 2023-06-12 09:14:13 +0900
|
|
Branch: REL_14_STABLE [e0e682945] 2023-06-12 09:14:14 +0900
|
|
Branch: REL_13_STABLE [78bf0a256] 2023-06-12 09:14:17 +0900
|
|
Branch: REL_12_STABLE [edf1de65e] 2023-06-12 09:14:19 +0900
|
|
Branch: REL_11_STABLE [bbfc26d86] 2023-06-12 09:14:20 +0900
|
|
-->
|
|
<para>
|
|
Tighten whitespace checks in <filename>contrib/hstore</filename>
|
|
input (Evan Jones)
|
|
</para>
|
|
|
|
<para>
|
|
In some cases, characters would be falsely recognized as whitespace
|
|
and hence discarded.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_16_BR [c00fbe89d] 2023-06-15 13:45:34 +0900
|
|
Branch: REL_15_STABLE [4be308ede] 2023-06-15 13:45:38 +0900
|
|
Branch: REL_14_STABLE [019a40d61] 2023-06-15 13:45:40 +0900
|
|
Branch: REL_13_STABLE [ae9aac64a] 2023-06-15 13:45:41 +0900
|
|
Branch: REL_12_STABLE [6ecc1c02a] 2023-06-15 13:45:42 +0900
|
|
Branch: REL_11_STABLE [ab40b0395] 2023-06-15 13:45:44 +0900
|
|
-->
|
|
<para>
|
|
Disallow oversize input arrays
|
|
with <filename>contrib/intarray</filename>'s
|
|
<literal>gist__int_ops</literal> index opclass (Ankit Kumar Pandey,
|
|
Alexander Lakhin)
|
|
</para>
|
|
|
|
<para>
|
|
Previously this code would report a <literal>NOTICE</literal> but
|
|
press on anyway, creating an invalid index entry that presents a
|
|
risk of crashes when the index is read.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8aac9759b] 2023-07-13 13:07:51 -0400
|
|
Branch: REL_16_STABLE [e27f3f52c] 2023-07-13 13:08:08 -0400
|
|
Branch: REL_15_STABLE [5cb461989] 2023-07-13 13:08:17 -0400
|
|
Branch: REL_14_STABLE [a6991f763] 2023-07-13 13:08:23 -0400
|
|
Branch: REL_13_STABLE [7fffcc2ee] 2023-07-13 13:08:28 -0400
|
|
Branch: REL_12_STABLE [8d8f37149] 2023-07-13 13:08:33 -0400
|
|
Branch: REL_11_STABLE [9f70f6d4c] 2023-07-13 13:08:40 -0400
|
|
-->
|
|
<para>
|
|
Avoid useless double decompression of GiST index entries
|
|
in <filename>contrib/intarray</filename> (Konstantin Knizhnik,
|
|
Matthias van de Meent, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [a5ea825f9] 2023-07-14 11:15:34 +0900
|
|
Branch: REL_16_STABLE [27da47122] 2023-07-14 11:16:03 +0900
|
|
Branch: REL_15_STABLE [eb3abec4b] 2023-07-14 11:16:06 +0900
|
|
Branch: REL_14_STABLE [7af65523a] 2023-07-14 11:16:08 +0900
|
|
Branch: REL_13_STABLE [bdaaf1bf1] 2023-07-14 11:16:10 +0900
|
|
Branch: REL_12_STABLE [7d27493b7] 2023-07-14 11:16:11 +0900
|
|
Branch: REL_11_STABLE [db9813819] 2023-07-14 11:16:13 +0900
|
|
-->
|
|
<para>
|
|
Ensure
|
|
that <structname>pg_index</structname>.<structfield>indisreplident</structfield>
|
|
is kept up-to-date in relation cache entries (Shruthi Gowda)
|
|
</para>
|
|
|
|
<para>
|
|
This value could be stale in some cases. There is no core code that
|
|
relies on the relation cache's copy, so this is only a latent bug as
|
|
far as Postgres itself is concerned; but there may be extensions for
|
|
which it is a live bug.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: REL_13_STABLE [8aa9a2623] 2023-06-24 20:22:57 +0900
|
|
Branch: REL_12_STABLE [265c9138d] 2023-06-24 20:26:56 +0900
|
|
Branch: REL_11_STABLE [96f96398d] 2023-06-24 20:29:42 +0900
|
|
-->
|
|
<para>
|
|
Silence deprecation warnings when compiling with OpenSSL 3.0.0 or
|
|
later (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-15">
|
|
<title>Release 12.15</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2023-05-11</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.14.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.15</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you are upgrading from a version earlier than 12.10,
|
|
see <xref linkend="release-12-10"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [681d9e462] 2023-05-08 06:14:07 -0700
|
|
Branch: REL_15_STABLE [dbd5795e7] 2023-05-08 06:14:11 -0700
|
|
Branch: REL_14_STABLE [01e8182c7] 2023-05-08 06:14:11 -0700
|
|
Branch: REL_13_STABLE [2212f7db8] 2023-05-08 06:14:12 -0700
|
|
Branch: REL_12_STABLE [78119a0bf] 2023-05-08 06:14:12 -0700
|
|
Branch: REL_11_STABLE [23cb8eaeb] 2023-05-08 06:14:12 -0700
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8d525d7b9] 2023-05-08 11:24:47 -0400
|
|
Branch: REL_15_STABLE [1b761d896] 2023-05-08 11:24:47 -0400
|
|
Branch: REL_14_STABLE [1913f63dc] 2023-05-08 11:24:47 -0400
|
|
Branch: REL_13_STABLE [feb9e7fbb] 2023-05-08 11:24:47 -0400
|
|
Branch: REL_12_STABLE [2cd843cc9] 2023-05-08 11:24:47 -0400
|
|
Branch: REL_11_STABLE [766e06140] 2023-05-08 11:24:47 -0400
|
|
-->
|
|
<para>
|
|
Prevent <command>CREATE SCHEMA</command> from defeating changes
|
|
in <varname>search_path</varname> (Alexander Lakhin)
|
|
</para>
|
|
|
|
<para>
|
|
Within a <command>CREATE SCHEMA</command> command, objects in the
|
|
prevailing <varname>search_path</varname>, as well as those in the
|
|
newly-created schema, would be visible even within a called
|
|
function or script that attempted to set a
|
|
secure <varname>search_path</varname>. This could allow any user
|
|
having permission to create a schema to hijack the privileges of a
|
|
security definer function or extension script.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks
|
|
Alexander Lakhin for reporting this problem.
|
|
(CVE-2023-2454)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ca73753b0] 2023-05-08 10:12:44 -0400
|
|
Branch: REL_15_STABLE [04e560604] 2023-05-08 10:12:44 -0400
|
|
Branch: REL_14_STABLE [f8d799eda] 2023-05-08 10:12:44 -0400
|
|
Branch: REL_13_STABLE [b8e28f04f] 2023-05-08 10:12:44 -0400
|
|
Branch: REL_12_STABLE [ee87b482c] 2023-05-08 10:12:45 -0400
|
|
Branch: REL_11_STABLE [473626cf0] 2023-05-08 10:12:45 -0400
|
|
-->
|
|
<para>
|
|
Enforce row-level security policies correctly after inlining a
|
|
set-returning function (Stephen Frost, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If a set-returning SQL-language function refers to a table having
|
|
row-level security policies, and it can be inlined into a calling
|
|
query, those RLS policies would not get enforced properly in some
|
|
cases involving re-using a cached plan under a different role.
|
|
This could allow a user to see or modify rows that should have been
|
|
invisible.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks
|
|
Wolfgang Walther for reporting this problem.
|
|
(CVE-2023-2455)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [4dadd660f] 2023-04-28 19:29:12 +0900
|
|
Branch: REL_15_STABLE [b9ad73ad2] 2023-04-28 19:29:36 +0900
|
|
Branch: REL_14_STABLE [d29eba198] 2023-04-28 19:29:38 +0900
|
|
Branch: REL_13_STABLE [7e95a33b4] 2023-04-28 19:29:40 +0900
|
|
Branch: REL_12_STABLE [63f7e91ec] 2023-04-28 19:29:42 +0900
|
|
Branch: REL_11_STABLE [a9212716b] 2023-04-28 19:29:44 +0900
|
|
-->
|
|
<para>
|
|
Avoid crash when the new schema name is omitted
|
|
in <command>CREATE SCHEMA</command> (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
The SQL standard allows writing <literal>CREATE SCHEMA AUTHORIZATION
|
|
<replaceable>owner_name</replaceable></literal>, with the schema
|
|
name defaulting to <replaceable>owner_name</replaceable>. However
|
|
some code paths expected the schema name to be present and would
|
|
fail.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a3c9d35ae] 2023-03-27 15:04:15 -0400
|
|
Branch: REL_15_STABLE [d90d59e25] 2023-03-27 15:04:02 -0400
|
|
Branch: REL_14_STABLE [334cc4c96] 2023-03-27 15:04:02 -0400
|
|
Branch: REL_13_STABLE [29a20ff06] 2023-03-27 15:04:02 -0400
|
|
Branch: REL_12_STABLE [cd07163c0] 2023-03-27 15:04:02 -0400
|
|
Branch: REL_11_STABLE [78838bc3d] 2023-03-27 15:04:02 -0400
|
|
-->
|
|
<para>
|
|
Disallow altering composite types that are stored in indexes
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
<command>ALTER TYPE</command> disallows non-binary-compatible
|
|
modifications of composite types if they are stored in any table
|
|
columns. (Perhaps that will be allowed someday, but it hasn't
|
|
happened yet; the locking implications of rewriting many tables are
|
|
daunting.) We overlooked the possibility that an index might
|
|
contain a composite type that doesn't also appear in its table.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f0d65c0ea] 2023-03-31 11:18:49 -0400
|
|
Branch: REL_15_STABLE [6e3698173] 2023-03-31 11:18:49 -0400
|
|
Branch: REL_14_STABLE [b0b55d8b8] 2023-03-31 11:18:49 -0400
|
|
Branch: REL_13_STABLE [bfb993b1b] 2023-03-31 11:18:49 -0400
|
|
Branch: REL_12_STABLE [e8d74aac5] 2023-03-31 11:18:49 -0400
|
|
-->
|
|
<para>
|
|
Disallow system columns as elements of foreign keys (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Since the removal of OID as a system column, there is no plausible
|
|
use-case for this, and various bits of code no longer support it.
|
|
Disallow it rather than trying to fix all the cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d66bb048c] 2023-03-10 13:52:44 -0500
|
|
Branch: REL_15_STABLE [59947bac7] 2023-03-10 13:52:28 -0500
|
|
Branch: REL_14_STABLE [53a53ea33] 2023-03-10 13:52:28 -0500
|
|
Branch: REL_13_STABLE [866fd004d] 2023-03-10 13:52:28 -0500
|
|
Branch: REL_12_STABLE [a30310833] 2023-03-10 13:52:28 -0500
|
|
Branch: REL_11_STABLE [6e2674d77] 2023-03-10 13:52:28 -0500
|
|
-->
|
|
<para>
|
|
Ensure that <command>COPY TO</command> from an RLS-enabled parent
|
|
table does not copy any rows from child tables (Antonin Houska)
|
|
</para>
|
|
|
|
<para>
|
|
The documentation is quite clear that <command>COPY TO</command>
|
|
copies rows from only the named table, not any inheritance children
|
|
it may have. However, if row-level security was enabled on the table
|
|
then this stopped being true.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4c40995f6] 2023-05-04 11:48:23 -0400
|
|
Branch: REL_15_STABLE [ccb479e76] 2023-05-04 11:48:23 -0400
|
|
Branch: REL_14_STABLE [d5de344a5] 2023-05-04 11:48:23 -0400
|
|
Branch: REL_13_STABLE [9a72f499a] 2023-05-04 11:48:23 -0400
|
|
Branch: REL_12_STABLE [580df5078] 2023-05-04 11:48:23 -0400
|
|
Branch: REL_11_STABLE [4624aad61] 2023-05-04 11:48:23 -0400
|
|
-->
|
|
<para>
|
|
Avoid possible crash when <function>array_position()</function>
|
|
or <function>array_positions()</function> is passed an empty array
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b081fe419] 2023-03-14 19:17:31 -0400
|
|
Branch: REL_15_STABLE [a67c75f82] 2023-03-14 19:17:31 -0400
|
|
Branch: REL_14_STABLE [7cac19105] 2023-03-14 19:17:31 -0400
|
|
Branch: REL_13_STABLE [386a26023] 2023-03-14 19:17:31 -0400
|
|
Branch: REL_12_STABLE [6d3a9a60f] 2023-03-14 19:17:31 -0400
|
|
Branch: REL_11_STABLE [8e33fb9ef] 2023-03-14 19:17:31 -0400
|
|
-->
|
|
<para>
|
|
Fix possible out-of-bounds fetch in <function>to_char()</function>
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
With bad luck this could have resulted in a server crash.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d7056bc1c] 2023-03-01 11:30:31 -0500
|
|
Branch: REL_15_STABLE [eae09137d] 2023-03-01 11:30:17 -0500
|
|
Branch: REL_14_STABLE [1a9356f65] 2023-03-01 11:30:17 -0500
|
|
Branch: REL_13_STABLE [3b37e8442] 2023-03-01 11:30:17 -0500
|
|
Branch: REL_12_STABLE [b162660d3] 2023-03-01 11:30:17 -0500
|
|
Branch: REL_11_STABLE [b1a9d8ef2] 2023-03-01 11:30:17 -0500
|
|
-->
|
|
<para>
|
|
Avoid buffer overread in <function>translate()</function> function
|
|
(Daniil Anisimov)
|
|
</para>
|
|
|
|
<para>
|
|
When using the deletion feature, the function might fetch the byte
|
|
just after the input string, creating a small risk of crash.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [25a7812cd] 2023-03-13 15:19:00 -0400
|
|
Branch: REL_15_STABLE [74a1a36d7] 2023-03-13 15:19:00 -0400
|
|
Branch: REL_14_STABLE [0ee9d685d] 2023-03-13 15:19:00 -0400
|
|
Branch: REL_13_STABLE [52e9a7816] 2023-03-13 15:19:00 -0400
|
|
Branch: REL_12_STABLE [c25a929a6] 2023-03-13 15:19:00 -0400
|
|
Branch: REL_11_STABLE [234941a3b] 2023-03-13 15:19:00 -0400
|
|
-->
|
|
<para>
|
|
Fix error cursor setting for parse errors in JSON string literals
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Most cases in which a syntax error is detected in a string literal
|
|
within a JSON value failed to set the error cursor appropriately.
|
|
This led at least to an unhelpful error message (pointing to the
|
|
token before the string, rather than the actual trouble spot), and
|
|
could even result in a crash in v14 and later.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [be504a3e9] 2023-03-07 21:52:32 -0800
|
|
Branch: REL_15_STABLE [391f08fd6] 2023-03-07 21:36:48 -0800
|
|
Branch: REL_14_STABLE [324281fd5] 2023-03-07 21:36:49 -0800
|
|
Branch: REL_13_STABLE [e6d77f22c] 2023-03-07 21:36:51 -0800
|
|
Branch: REL_12_STABLE [3c92f7e9d] 2023-03-07 21:36:52 -0800
|
|
-->
|
|
<para>
|
|
Fix data corruption due to <varname>vacuum_defer_cleanup_age</varname>
|
|
being larger than the current 64-bit xid (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
In v14 and later with non-default settings
|
|
of <varname>vacuum_defer_cleanup_age</varname>, it was possible to
|
|
compute a very large vacuum cleanup horizon xid, leading to vacuum
|
|
removing rows that are still live. v12 and v13 have a lesser form
|
|
of the same problem affecting only GiST indexes, which could lead to
|
|
index pages getting recycled too early.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [30dbdbe75] 2023-03-13 12:40:28 -0400
|
|
Branch: REL_15_STABLE [5fd61bdc1] 2023-03-13 12:40:28 -0400
|
|
Branch: REL_14_STABLE [096e70805] 2023-03-13 12:40:28 -0400
|
|
Branch: REL_13_STABLE [bc0bcce2e] 2023-03-13 12:40:28 -0400
|
|
Branch: REL_12_STABLE [62a91a1b0] 2023-03-13 12:40:28 -0400
|
|
Branch: REL_11_STABLE [0736b1131] 2023-03-13 12:40:28 -0400
|
|
-->
|
|
<para>
|
|
Fix parser's failure to detect some cases of improperly-nested
|
|
aggregates (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead to executor failures for queries that
|
|
should have been rejected as invalid.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [6c3b697b1] 2023-03-31 12:13:05 +1300
|
|
Branch: REL_15_STABLE [df567fbf6] 2023-03-31 12:13:34 +1300
|
|
Branch: REL_14_STABLE [211016220] 2023-03-31 12:14:04 +1300
|
|
Branch: REL_13_STABLE [8d684c445] 2023-03-31 12:14:31 +1300
|
|
Branch: REL_12_STABLE [33510bc64] 2023-03-31 12:15:07 +1300
|
|
Branch: REL_11_STABLE [07554c99d] 2023-03-31 12:15:39 +1300
|
|
-->
|
|
<para>
|
|
Fix data structure corruption during parsing of
|
|
serial <literal>SEQUENCE NAME</literal> options (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
This can lead to trouble if an event trigger captures the corrupted
|
|
parse tree.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [88ceac5d7] 2023-04-12 10:46:38 -0400
|
|
Branch: REL_15_STABLE [f4badbcf4] 2023-04-12 10:46:30 -0400
|
|
Branch: REL_14_STABLE [0dd55ef9b] 2023-04-12 10:46:30 -0400
|
|
Branch: REL_13_STABLE [96c698e3f] 2023-04-12 10:46:30 -0400
|
|
Branch: REL_12_STABLE [953ff99c2] 2023-04-12 10:46:30 -0400
|
|
Branch: REL_11_STABLE [60c8aeaf6] 2023-04-12 10:46:30 -0400
|
|
-->
|
|
<para>
|
|
Correctly update plan nodes' parallel-safety markings when moving
|
|
initplans from one node to another (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This planner oversight could lead to <quote>subplan was not
|
|
initialized</quote> errors at runtime.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [836c31ba5] 2023-02-13 17:11:03 +1300
|
|
Branch: REL_15_STABLE [a9fa6d79a] 2023-02-13 17:10:31 +1300
|
|
Branch: REL_14_STABLE [4aa43ba21] 2023-02-13 17:09:55 +1300
|
|
Branch: REL_13_STABLE [301eb3ee4] 2023-02-13 17:09:26 +1300
|
|
Branch: REL_12_STABLE [ac55abd33] 2023-02-13 17:08:46 +1300
|
|
Branch: REL_11_STABLE [8d2a8581b] 2023-02-13 17:07:04 +1300
|
|
-->
|
|
<para>
|
|
Disable the inverse-transition optimization for window aggregates
|
|
when the call contains sub-SELECTs (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
This optimization requires that the aggregate's argument expressions
|
|
have repeatable results, which might not hold for a sub-SELECT.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [554841699] 2023-03-26 13:41:06 -0400
|
|
Branch: REL_15_STABLE [7c4873438] 2023-03-26 13:41:06 -0400
|
|
Branch: REL_14_STABLE [11213d446] 2023-03-26 13:41:06 -0400
|
|
Branch: REL_13_STABLE [1bbbe1460] 2023-03-26 13:41:06 -0400
|
|
Branch: REL_12_STABLE [ad5fe7420] 2023-03-26 13:41:06 -0400
|
|
Branch: REL_11_STABLE [ae320fc21] 2023-03-26 13:41:06 -0400
|
|
-->
|
|
<para>
|
|
Fix oversights in execution of nested <literal>ARRAY[]</literal>
|
|
constructs (Alexander Lakhin, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Correctly detect overflow of the total space needed for the result
|
|
array, avoiding a possible crash due to undersized output
|
|
allocation. Also ensure that any trailing padding space in the
|
|
result array is zeroed; while leaving garbage there is harmless for
|
|
most purposes, it can result in odd behavior later.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [064eb89e8] 2023-04-15 12:01:39 -0400
|
|
Branch: REL_15_STABLE [c53ed26ea] 2023-04-15 12:01:39 -0400
|
|
Branch: REL_14_STABLE [9b104a27c] 2023-04-15 12:01:39 -0400
|
|
Branch: REL_13_STABLE [7428aecdd] 2023-04-15 12:01:39 -0400
|
|
Branch: REL_12_STABLE [048caf8d7] 2023-04-15 12:01:39 -0400
|
|
-->
|
|
<para>
|
|
Prevent crash when updating a field within an
|
|
array-of-domain-over-composite-type column (Dmitry Dolgov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [e0693faf7] 2023-04-14 16:20:27 +1200
|
|
Branch: REL_15_STABLE [0c09160e1] 2023-04-14 16:21:07 +1200
|
|
Branch: REL_14_STABLE [ae85fb828] 2023-04-14 16:21:42 +1200
|
|
Branch: REL_13_STABLE [6848f0c67] 2023-04-14 16:22:11 +1200
|
|
Branch: REL_12_STABLE [0b2e77ce2] 2023-04-14 16:22:46 +1200
|
|
Branch: REL_11_STABLE [1c19e2863] 2023-04-14 16:23:11 +1200
|
|
-->
|
|
<para>
|
|
Fix partition pruning logic for partitioning on boolean columns
|
|
(David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
Pruning with a condition like <literal>boolcol IS NOT TRUE</literal>
|
|
was done incorrectly, leading to possibly not returning rows in
|
|
which <literal>boolcol</literal> is NULL. Also, the rather unlikely
|
|
case of partitioning on <literal>NOT boolcol</literal> was handled
|
|
incorrectly.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [8d578b9b2] 2023-03-21 14:29:34 +1300
|
|
Branch: REL_15_STABLE [c03c6e8cf] 2023-03-21 14:32:14 +1300
|
|
Branch: REL_14_STABLE [1b9e42e82] 2023-03-21 14:37:33 +1300
|
|
Branch: REL_13_STABLE [6e94d62e3] 2023-03-21 14:38:59 +1300
|
|
Branch: REL_12_STABLE [44d44aa97] 2023-03-21 14:41:35 +1300
|
|
Branch: REL_11_STABLE [ef16d2724] 2023-03-21 14:43:07 +1300
|
|
-->
|
|
<para>
|
|
Fix race condition in per-batch cleanup during parallel hash join
|
|
(Thomas Munro, Melanie Plageman)
|
|
</para>
|
|
|
|
<para>
|
|
A crash was possible given unlucky timing and
|
|
<varname>parallel_leader_participation</varname>
|
|
= <literal>off</literal> (which is not the default).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7fee7871b] 2023-03-06 18:31:27 -0500
|
|
Branch: REL_15_STABLE [70ef50954] 2023-03-06 18:31:16 -0500
|
|
Branch: REL_14_STABLE [1e05ea51d] 2023-03-06 18:31:16 -0500
|
|
Branch: REL_13_STABLE [4a94cbd02] 2023-03-06 18:31:16 -0500
|
|
Branch: REL_12_STABLE [23b75dd03] 2023-03-06 18:31:16 -0500
|
|
-->
|
|
<para>
|
|
Recalculate <literal>GENERATED</literal> columns after an
|
|
EvalPlanQual check (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
In <literal>READ COMMITTED</literal> isolation mode, the effects of
|
|
a row update might need to get reapplied to a newer version of the
|
|
row than the query found originally. If so, we need to recompute
|
|
any <literal>GENERATED</literal> columns, in case they depend on
|
|
columns that were changed by the concurrent update.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
|
|
Branch: master [bfac8f8bc] 2023-04-25 13:54:10 +0200
|
|
Branch: REL_15_STABLE [0319b306e] 2023-04-25 13:54:10 +0200
|
|
Branch: REL_14_STABLE [0e8e5e856] 2023-04-25 13:54:10 +0200
|
|
Branch: REL_13_STABLE [b95f36f86] 2023-04-25 13:54:10 +0200
|
|
Branch: REL_12_STABLE [cba3c8f6d] 2023-04-25 13:54:10 +0200
|
|
Branch: REL_11_STABLE [0151d2c5f] 2023-04-25 13:54:10 +0200
|
|
-->
|
|
<para>
|
|
Don't balance vacuum cost delay when a table has a
|
|
per-relation <varname>vacuum_cost_delay</varname> setting of zero
|
|
(Masahiko Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
Delay balancing is supposed to be disabled whenever autovacuum is
|
|
processing a table with a
|
|
per-relation <varname>vacuum_cost_delay</varname> setting, but this
|
|
was done only for positive settings, not zero.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [99be6feec] 2023-03-07 18:21:53 -0500
|
|
Branch: REL_15_STABLE [76d2177fb] 2023-03-07 18:21:53 -0500
|
|
Branch: REL_14_STABLE [9f1e51b59] 2023-03-07 18:21:37 -0500
|
|
Branch: REL_13_STABLE [695b34ab3] 2023-03-07 18:21:37 -0500
|
|
Branch: REL_12_STABLE [5a19da58e] 2023-03-07 18:21:37 -0500
|
|
Branch: REL_11_STABLE [721626cb5] 2023-03-07 18:21:37 -0500
|
|
-->
|
|
<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 [87f3667ec] 2023-02-25 14:44:14 -0500
|
|
Branch: REL_15_STABLE [a033f9165] 2023-02-25 14:44:14 -0500
|
|
Branch: REL_14_STABLE [9eaba0602] 2023-02-25 14:44:14 -0500
|
|
Branch: REL_13_STABLE [1e199c259] 2023-02-25 14:44:14 -0500
|
|
Branch: REL_12_STABLE [904b171a4] 2023-02-25 14:44:14 -0500
|
|
Branch: REL_11_STABLE [ffec64ba8] 2023-02-25 14:44:14 -0500
|
|
-->
|
|
<para>
|
|
Repair rare failure of MULTIEXPR_SUBLINK subplans in partitioned
|
|
updates (Andres Freund, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Use of the syntax <literal>INSERT ... ON CONFLICT DO UPDATE SET (c1,
|
|
...) = (SELECT ...)</literal> with a partitioned target table could
|
|
result in failure if any child table is dissimilar from the parent
|
|
(for example, different physical column order).
|
|
This typically manifested as failure of consistency checks in the
|
|
executor; but a crash or incorrect data updates are also possible.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [75c737636] 2023-02-23 10:53:01 +0000
|
|
Branch: REL_15_STABLE [940b54743] 2023-02-23 10:54:51 +0000
|
|
Branch: REL_14_STABLE [f0423bea7] 2023-02-23 10:55:48 +0000
|
|
Branch: REL_13_STABLE [226da3d47] 2023-02-23 10:56:41 +0000
|
|
Branch: REL_12_STABLE [98b83b734] 2023-02-23 10:57:46 +0000
|
|
Branch: REL_11_STABLE [e68b133c3] 2023-02-23 10:58:43 +0000
|
|
-->
|
|
<para>
|
|
Fix handling of <literal>DEFAULT</literal> markers within a
|
|
multi-row <literal>INSERT ... VALUES</literal> query on a view that
|
|
has a <literal>DO ALSO INSERT ... SELECT</literal> rule (Dean
|
|
Rasheed)
|
|
</para>
|
|
|
|
<para>
|
|
Such cases typically failed with <quote>unrecognized node
|
|
type</quote> errors or assertion failures.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [a7d71c41d] 2023-02-25 14:41:12 +0000
|
|
Branch: REL_15_STABLE [8e5b4e001] 2023-02-25 14:43:57 +0000
|
|
Branch: REL_14_STABLE [27ff93d18] 2023-02-25 14:44:49 +0000
|
|
Branch: REL_13_STABLE [39ad791e8] 2023-02-25 14:45:44 +0000
|
|
Branch: REL_12_STABLE [4fd093af7] 2023-02-25 14:47:03 +0000
|
|
Branch: REL_11_STABLE [79f194cc0] 2023-02-25 14:48:08 +0000
|
|
-->
|
|
<para>
|
|
Support references to <literal>OLD</literal>
|
|
and <literal>NEW</literal> within subqueries in rule actions
|
|
(Dean Rasheed, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Such references are really lateral references, but the server could
|
|
crash if the subquery wasn't explicitly marked
|
|
with <literal>LATERAL</literal>. Arrange to do that implicitly when
|
|
necessary.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [393430f57] 2023-02-17 16:40:34 -0500
|
|
Branch: REL_15_STABLE [c8a5f1685] 2023-02-17 16:40:34 -0500
|
|
Branch: REL_14_STABLE [14345f3c6] 2023-02-17 16:40:34 -0500
|
|
Branch: REL_13_STABLE [4efb4f0d4] 2023-02-17 16:40:34 -0500
|
|
Branch: REL_12_STABLE [3dd287c14] 2023-02-17 16:40:34 -0500
|
|
Branch: REL_11_STABLE [df931e9ab] 2023-02-17 16:40:34 -0500
|
|
-->
|
|
<para>
|
|
When decompiling a rule or SQL function body
|
|
containing <command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command>
|
|
within <command>WITH</command>, take care to print the correct alias
|
|
for the target table (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [47c0accbe] 2023-03-06 15:07:15 +1300
|
|
Branch: REL_15_STABLE [055990904] 2023-03-06 16:05:47 +1300
|
|
Branch: REL_14_STABLE [e9051ecd5] 2023-03-06 16:17:22 +1300
|
|
Branch: REL_13_STABLE [a0f55fc86] 2023-03-06 16:28:34 +1300
|
|
Branch: REL_12_STABLE [afa122e41] 2023-03-06 16:41:34 +1300
|
|
Branch: master [65e388d41] 2023-03-09 16:33:24 +1300
|
|
Branch: REL_15_STABLE [af397c6c2] 2023-03-09 16:56:51 +1300
|
|
Branch: REL_14_STABLE [d811d74be] 2023-03-09 16:57:11 +1300
|
|
Branch: REL_13_STABLE [ae632f7a3] 2023-03-09 17:09:57 +1300
|
|
Branch: REL_12_STABLE [e30fd0942] 2023-03-09 17:25:20 +1300
|
|
Branch: REL_11_STABLE [d1c0f81e7] 2023-03-09 17:26:06 +1300
|
|
-->
|
|
<para>
|
|
Fix glitches in <literal>SERIALIZABLE READ ONLY</literal>
|
|
optimization (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Transactions already marked as <quote>doomed</quote> confused the
|
|
safe-snapshot optimization for <literal>SERIALIZABLE READ
|
|
ONLY</literal> transactions. The optimization was unnecessarily
|
|
skipped in some cases. In other cases an assertion failure occurred
|
|
(but there was no problem in non-assert builds).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [05172f1f3] 2023-02-23 15:40:42 -0500
|
|
Branch: REL_15_STABLE [cef1c9c0c] 2023-02-23 15:40:28 -0500
|
|
Branch: REL_14_STABLE [0f78df719] 2023-02-23 15:40:28 -0500
|
|
Branch: REL_13_STABLE [861e9e486] 2023-02-23 15:40:28 -0500
|
|
Branch: REL_12_STABLE [95558bc8f] 2023-02-23 15:40:28 -0500
|
|
Branch: REL_11_STABLE [44dbc960f] 2023-02-23 15:40:28 -0500
|
|
-->
|
|
<para>
|
|
Avoid leaking cache callback slots in
|
|
the <literal>pgoutput</literal> logical decoding plugin (Shi Yu)
|
|
</para>
|
|
|
|
<para>
|
|
Multiple cycles of starting up and shutting down the plugin within a
|
|
single session would eventually lead to an <quote>out of
|
|
relcache_callback_list slots</quote> error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8e5eef50c] 2023-03-29 11:31:30 -0400
|
|
Branch: REL_15_STABLE [2dc77adc7] 2023-03-29 11:31:30 -0400
|
|
Branch: REL_14_STABLE [a1904c9ce] 2023-03-29 11:31:30 -0400
|
|
Branch: REL_13_STABLE [2adb6adad] 2023-03-29 11:31:30 -0400
|
|
Branch: REL_12_STABLE [d2a1d4b19] 2023-03-29 11:31:30 -0400
|
|
Branch: REL_11_STABLE [b5c6776c1] 2023-03-29 11:31:30 -0400
|
|
-->
|
|
<para>
|
|
Fix dereference of dangling pointer during buffering build of a GiST
|
|
index (Alexander Lakhin)
|
|
</para>
|
|
|
|
<para>
|
|
This error seems to usually be harmless in production builds, as the
|
|
fetched value is noncritical; but in principle it could cause a
|
|
server crash.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [adedf54e6] 2023-03-23 11:58:36 +0530
|
|
Branch: REL_15_STABLE [b6bf90edc] 2023-03-23 11:46:16 +0530
|
|
Branch: REL_14_STABLE [9dac02c77] 2023-03-23 11:32:22 +0530
|
|
Branch: REL_13_STABLE [be52fff91] 2023-03-23 11:21:13 +0530
|
|
Branch: REL_12_STABLE [0f2d4adbf] 2023-03-23 11:08:38 +0530
|
|
Branch: master [b797def59] 2023-03-21 09:47:21 +0530
|
|
Branch: REL_15_STABLE [3c12407f4] 2023-03-21 09:40:41 +0530
|
|
Branch: REL_14_STABLE [65ead7696] 2023-03-21 09:18:51 +0530
|
|
Branch: REL_13_STABLE [751d6676d] 2023-03-21 09:07:37 +0530
|
|
Branch: REL_12_STABLE [fc63e6ba8] 2023-03-21 08:50:23 +0530
|
|
Branch: REL_11_STABLE [4cdaea7a2] 2023-03-21 08:39:00 +0530
|
|
-->
|
|
<para>
|
|
Ignore dropped columns and generated columns during logical
|
|
replication of an update or delete action (Onder Kalaci, Shi Yu)
|
|
</para>
|
|
|
|
<para>
|
|
Replication with the <literal>REPLICA IDENTITY FULL</literal> option
|
|
failed if the table contained such columns.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [9244c11af] 2023-02-15 10:12:16 +0900
|
|
Branch: REL_15_STABLE [5fd61055e] 2023-02-15 10:12:31 +0900
|
|
Branch: REL_14_STABLE [864f80fea] 2023-02-15 10:12:33 +0900
|
|
Branch: REL_13_STABLE [2eb8e54cc] 2023-02-15 10:12:36 +0900
|
|
Branch: REL_12_STABLE [a40e7b75e] 2023-02-15 10:12:38 +0900
|
|
Branch: REL_11_STABLE [88d606f7c] 2023-02-15 10:12:40 +0900
|
|
-->
|
|
<para>
|
|
Support RSA-PSS certificates with SCRAM-SHA-256 channel binding
|
|
(Jacob Champion, Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
This feature requires building with OpenSSL 1.1.1 or newer. Both
|
|
the server and <application>libpq</application> are affected.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [d41a178b3] 2023-03-15 13:24:47 +1300
|
|
Branch: REL_15_STABLE [06066915d] 2023-03-15 13:25:56 +1300
|
|
Branch: REL_14_STABLE [9b6e0b9c3] 2023-03-15 13:30:58 +1300
|
|
Branch: REL_13_STABLE [9f1c64018] 2023-03-15 13:31:34 +1300
|
|
Branch: REL_12_STABLE [836288427] 2023-03-15 13:32:21 +1300
|
|
Branch: REL_11_STABLE [5ff8e69d8] 2023-03-15 13:32:41 +1300
|
|
Branch: master [6a9229da6] 2023-03-17 10:44:46 +1300
|
|
Branch: REL_15_STABLE [75e7378f6] 2023-03-17 10:45:20 +1300
|
|
Branch: REL_14_STABLE [00fc4b3a3] 2023-03-17 09:52:45 +1300
|
|
Branch: REL_13_STABLE [798dae9f6] 2023-03-17 09:54:03 +1300
|
|
Branch: REL_12_STABLE [6f508b8bc] 2023-03-17 09:54:51 +1300
|
|
Branch: REL_11_STABLE [9d6c34397] 2023-03-17 09:58:08 +1300
|
|
Branch: master [10b6745d3] 2023-03-17 14:44:12 +1300
|
|
Branch: REL_15_STABLE [e8a774d00] 2023-03-17 14:46:03 +1300
|
|
Branch: REL_14_STABLE [1c0d4affa] 2023-03-17 14:46:50 +1300
|
|
Branch: REL_13_STABLE [77a8133c9] 2023-03-17 14:47:16 +1300
|
|
Branch: REL_12_STABLE [8fcd1517f] 2023-03-17 14:47:38 +1300
|
|
Branch: REL_11_STABLE [b23f2a729] 2023-03-17 14:48:08 +1300
|
|
-->
|
|
<para>
|
|
Avoid race condition with process ID tracking on Windows (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
The operating system could recycle a PID before the postmaster
|
|
observed that that child process was gone. This could lead to
|
|
tracking more than one child with the same PID, resulting in
|
|
confusion.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [d0460a31d] 2023-02-22 13:23:09 +0000
|
|
Branch: REL_15_STABLE [576b25bfd] 2023-02-22 13:24:51 +0000
|
|
Branch: REL_14_STABLE [482ab3e4f] 2023-02-22 13:26:20 +0000
|
|
Branch: REL_13_STABLE [906356cf6] 2023-02-22 13:27:29 +0000
|
|
Branch: REL_12_STABLE [52dbd9f84] 2023-02-22 13:28:30 +0000
|
|
Branch: REL_11_STABLE [83a54d966] 2023-02-22 13:29:39 +0000
|
|
-->
|
|
<para>
|
|
Add missing cases to <function>SPI_result_code_string()</function>
|
|
(Dean Rasheed)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b3e184a5d] 2023-02-21 18:48:15 -0500
|
|
Branch: REL_15_STABLE [f6a55c1d5] 2023-02-21 18:47:46 -0500
|
|
Branch: REL_14_STABLE [dc44180f6] 2023-02-21 18:47:47 -0500
|
|
Branch: REL_13_STABLE [99e74cd23] 2023-02-21 18:47:47 -0500
|
|
Branch: REL_12_STABLE [463bef383] 2023-02-21 18:47:47 -0500
|
|
Branch: REL_11_STABLE [21bd818d0] 2023-02-21 18:47:47 -0500
|
|
-->
|
|
<para>
|
|
Fix erroneous Valgrind markings
|
|
in <function>AllocSetRealloc()</function> (Karina Litskevich)
|
|
</para>
|
|
|
|
<para>
|
|
In the unusual case where the size of a large (>8kB) palloc chunk
|
|
is decreased, a Valgrind-aware build would mismark the defined-ness
|
|
state of the memory released from the chunk, possibly causing
|
|
incorrect results during Valgrind testing.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [7fe1aa991] 2023-02-22 15:24:18 +0100
|
|
Branch: REL_15_STABLE [949ac32e1] 2023-02-22 16:48:30 +0100
|
|
Branch: REL_14_STABLE [8b9cbd42b] 2023-02-22 16:25:45 +0100
|
|
Branch: REL_13_STABLE [4df581fa0] 2023-02-22 16:09:30 +0100
|
|
Branch: REL_12_STABLE [497f863f0] 2023-02-22 15:50:37 +0100
|
|
Branch: REL_11_STABLE [8de91ebf2] 2023-02-22 15:35:19 +0100
|
|
-->
|
|
<para>
|
|
Avoid assertion failure when decoding a transactional logical
|
|
replication message (Tomas Vondra)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Jeff Davis <jdavis@postgresql.org>
|
|
Branch: master [c04c6c5d6] 2023-04-21 08:19:41 -0700
|
|
Branch: REL_15_STABLE [109363de0] 2023-04-21 08:20:17 -0700
|
|
Branch: REL_14_STABLE [dde926b0f] 2023-04-21 08:20:32 -0700
|
|
Branch: REL_13_STABLE [79a66c617] 2023-04-21 08:20:47 -0700
|
|
Branch: REL_12_STABLE [5bcb15b81] 2023-04-21 08:21:04 -0700
|
|
Branch: REL_11_STABLE [106a1bf82] 2023-04-21 08:21:18 -0700
|
|
-->
|
|
<para>
|
|
Avoid locale sensitivity when processing regular expression escapes
|
|
(Jeff Davis)
|
|
</para>
|
|
|
|
<para>
|
|
A backslash followed by a non-ASCII character could sometimes cause
|
|
an assertion failure, depending on the prevailing locale.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3e383f9b6] 2023-04-17 14:22:26 -0400
|
|
Branch: REL_15_STABLE [2207df7c3] 2023-04-17 14:22:06 -0400
|
|
Branch: REL_14_STABLE [72a914e9f] 2023-04-17 14:22:06 -0400
|
|
Branch: REL_13_STABLE [86874a6df] 2023-04-17 14:22:06 -0400
|
|
Branch: REL_12_STABLE [9b0c1f213] 2023-04-17 14:22:06 -0400
|
|
Branch: REL_11_STABLE [c796d7296] 2023-04-17 14:22:06 -0400
|
|
-->
|
|
<para>
|
|
Avoid trying to write an empty WAL record
|
|
in <function>log_newpage_range()</function> when the last few pages
|
|
in the specified range are empty (Matthias van de Meent)
|
|
</para>
|
|
|
|
<para>
|
|
It is not entirely clear whether this case is reachable in released
|
|
branches, but if it is then an assertion failure could occur.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [441ee1677] 2023-04-24 14:19:46 -0400
|
|
Branch: REL_15_STABLE [c1598d85f] 2023-04-24 14:19:46 -0400
|
|
Branch: REL_14_STABLE [2ba890ce7] 2023-04-24 14:19:46 -0400
|
|
Branch: REL_13_STABLE [bfa691087] 2023-04-24 14:19:46 -0400
|
|
Branch: REL_12_STABLE [ee71cad9a] 2023-04-24 14:19:46 -0400
|
|
-->
|
|
<para>
|
|
Fix session-lifespan memory leakage in <application>plpgsql</application>
|
|
<literal>DO</literal> blocks that use cast expressions
|
|
(Ajit Awekar, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f47004add] 2023-04-29 13:06:44 -0400
|
|
Branch: REL_15_STABLE [ce9a1a3ea] 2023-04-29 13:06:44 -0400
|
|
Branch: REL_14_STABLE [1e868bb6c] 2023-04-29 13:06:44 -0400
|
|
Branch: REL_13_STABLE [ee24b5e79] 2023-04-29 13:06:44 -0400
|
|
Branch: REL_12_STABLE [900a8d526] 2023-04-29 13:06:44 -0400
|
|
Branch: REL_11_STABLE [ea96fbe77] 2023-04-29 13:06:44 -0400
|
|
-->
|
|
<para>
|
|
Tighten array dimensionality checks when converting Perl
|
|
list structures to multi-dimensional SQL arrays (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
<application>plperl</application> could misbehave when the nesting
|
|
of sub-lists is inconsistent so that the data does not represent a
|
|
rectangular array of values. Such cases now produce errors, but
|
|
previously they could result in a crash or garbage output.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [0553528e7] 2023-05-04 11:00:33 -0400
|
|
Branch: REL_15_STABLE [b7001c6b6] 2023-05-04 11:00:33 -0400
|
|
Branch: REL_14_STABLE [9d517339e] 2023-05-04 11:00:33 -0400
|
|
Branch: REL_13_STABLE [0e6354ed9] 2023-05-04 11:00:33 -0400
|
|
Branch: REL_12_STABLE [b7fcf3824] 2023-05-04 11:00:33 -0400
|
|
Branch: REL_11_STABLE [aa7e5e404] 2023-05-04 11:00:33 -0400
|
|
Branch: master [81eaaf65e] 2023-04-28 12:24:29 -0400
|
|
Branch: REL_15_STABLE [512c55522] 2023-04-28 12:24:29 -0400
|
|
Branch: REL_14_STABLE [a1d9aacc4] 2023-04-28 12:24:29 -0400
|
|
Branch: REL_13_STABLE [7dcd9998c] 2023-04-28 12:24:29 -0400
|
|
Branch: REL_12_STABLE [ff9203f46] 2023-04-28 12:24:29 -0400
|
|
Branch: REL_11_STABLE [b7c6af375] 2023-04-28 12:24:29 -0400
|
|
-->
|
|
<para>
|
|
Tighten array dimensionality checks when converting Python
|
|
list structures to multi-dimensional SQL arrays (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
<application>plpython</application> could misbehave when dealing
|
|
with empty sub-lists, or when the nesting of sub-lists is
|
|
inconsistent so that the data does not represent a rectangular array
|
|
of values. The former should result in an empty output array, and
|
|
the latter in an error. But some cases resulted in a crash, and
|
|
others in unexpected output.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Nathan Bossart <nathan@postgresql.org>
|
|
Branch: master [57d005170] 2023-05-04 16:23:05 -0700
|
|
Branch: REL_15_STABLE [825ebc984] 2023-05-04 16:24:48 -0700
|
|
Branch: REL_14_STABLE [52c9cf323] 2023-05-04 16:25:05 -0700
|
|
Branch: REL_13_STABLE [800531846] 2023-05-04 16:26:00 -0700
|
|
Branch: REL_12_STABLE [24964394a] 2023-05-04 16:26:05 -0700
|
|
Branch: REL_11_STABLE [0af386b0f] 2023-05-04 16:26:11 -0700
|
|
-->
|
|
<para>
|
|
Fix unwinding of exception stack
|
|
in <application>plpython</application> (Xing Guo)
|
|
</para>
|
|
|
|
<para>
|
|
Some rare failure cases could return without cleaning up the PG_TRY
|
|
exception stack, risking a crash if another error was raised before
|
|
the next stack level was unwound.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [e0a09d4e3] 2023-03-13 16:36:20 +0900
|
|
Branch: REL_15_STABLE [4493256c5] 2023-03-13 16:36:28 +0900
|
|
Branch: REL_14_STABLE [7e319231c] 2023-03-13 16:36:31 +0900
|
|
Branch: REL_13_STABLE [96bef4374] 2023-03-13 16:36:33 +0900
|
|
Branch: REL_12_STABLE [2bc36a56c] 2023-03-13 16:36:34 +0900
|
|
-->
|
|
<para>
|
|
Fix inconsistent GSS-encryption error handling
|
|
in <application>libpq</application>'s
|
|
<function>PQconnectPoll()</function>
|
|
(Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
With <option>gssencmode</option> set to <literal>require</literal>,
|
|
the connection was not marked dead after a GSS initialization
|
|
failure. Make it fail immediately, as the equivalent case for TLS
|
|
encryption has long done.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [f18029084] 2023-04-18 11:20:41 +0900
|
|
Branch: REL_15_STABLE [8c746be44] 2023-04-18 11:20:47 +0900
|
|
Branch: REL_14_STABLE [02f076454] 2023-04-18 11:20:50 +0900
|
|
Branch: REL_13_STABLE [e9e457d22] 2023-04-18 11:20:51 +0900
|
|
Branch: REL_12_STABLE [a28bd7713] 2023-04-18 11:20:53 +0900
|
|
Branch: REL_11_STABLE [9eb44bb04] 2023-04-18 11:20:55 +0900
|
|
Branch: REL_11_STABLE [dbd25dd0b] 2023-04-18 12:00:31 +0900
|
|
-->
|
|
<para>
|
|
Fix possible data corruption in <application>ecpg</application>
|
|
programs built with the <option>-C ORACLE</option> option
|
|
(Kyotaro Horiguchi)
|
|
</para>
|
|
|
|
<para>
|
|
When <function>ecpg_get_data()</function> is called
|
|
with <varname>varcharsize</varname> set to zero, it could write a
|
|
terminating zero character into the last byte of the preceding
|
|
field, truncating the data in that field.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [bc8cd50fe] 2023-03-17 13:31:40 -0400
|
|
Branch: REL_15_STABLE [2b216da1e] 2023-03-17 13:31:40 -0400
|
|
Branch: REL_14_STABLE [5fc1ac151] 2023-03-17 13:31:40 -0400
|
|
Branch: REL_13_STABLE [7e7c5b683] 2023-03-17 13:31:40 -0400
|
|
Branch: REL_12_STABLE [8f83ce8c5] 2023-03-17 13:31:40 -0400
|
|
Branch: REL_11_STABLE [012ffb365] 2023-03-17 13:31:40 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application> so that partitioned tables
|
|
that are hash-partitioned on an enum-type column can be restored
|
|
successfully (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Since the hash codes for enum values depend on the OIDs assigned to
|
|
the enum, they are typically different after a dump and restore,
|
|
meaning that rows often need to go into a different partition than
|
|
they were in originally. Users can work around that by specifying
|
|
the <option>--load-via-partition-root</option> option; but since
|
|
there is very little chance of success without that,
|
|
teach <application>pg_dump</application> to apply it automatically
|
|
to such tables.
|
|
</para>
|
|
|
|
<para>
|
|
Also, fix <application>pg_restore</application> to not try
|
|
to <command>TRUNCATE</command> target tables before restoring into
|
|
them when <option>--load-via-partition-root</option> mode is used.
|
|
This avoids a hazard of deadlocks and lost data.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [df38157d9] 2023-04-27 11:55:06 -0400
|
|
Branch: REL_15_STABLE [85ec8bcce] 2023-04-27 11:55:06 -0400
|
|
Branch: REL_14_STABLE [c74f88c40] 2023-04-27 11:55:06 -0400
|
|
Branch: REL_13_STABLE [de2dfa053] 2023-04-27 11:55:06 -0400
|
|
Branch: REL_12_STABLE [ce9662598] 2023-04-27 11:55:06 -0400
|
|
Branch: REL_11_STABLE [c3c1097dc] 2023-04-27 11:55:06 -0400
|
|
-->
|
|
<para>
|
|
In <filename>contrib/hstore_plpython</filename>, avoid crashing if
|
|
the Python value to be transformed isn't a mapping (Dmitry Dolgov,
|
|
Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This should give an error, but Python 3 changed some APIs in a way
|
|
that caused the check to misbehave, allowing a crash to ensue.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1925ac281] 2023-03-11 12:15:41 -0500
|
|
Branch: REL_15_STABLE [6170386c7] 2023-03-11 12:15:41 -0500
|
|
Branch: REL_14_STABLE [786528039] 2023-03-11 12:15:41 -0500
|
|
Branch: REL_13_STABLE [bc436e4a9] 2023-03-11 12:15:41 -0500
|
|
Branch: REL_12_STABLE [1279414bc] 2023-03-11 12:15:41 -0500
|
|
Branch: REL_11_STABLE [b18327489] 2023-03-11 12:15:41 -0500
|
|
-->
|
|
<para>
|
|
Fix misbehavior in <filename>contrib/pg_trgm</filename> with an
|
|
unsatisfiable regular expression (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A regex such as <literal>$foo</literal> is legal but unsatisfiable;
|
|
the regex compiler recognizes that and produces an empty NFA graph.
|
|
Attempting to optimize such a graph into a pg_trgm GIN or GiST index
|
|
qualification resulted in accessing off the end of a work array,
|
|
possibly leading to crashes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [eab2d3147] 2023-04-20 18:12:32 -0400
|
|
Branch: REL_15_STABLE [a14afd3bd] 2023-04-20 18:12:48 -0400
|
|
Branch: REL_14_STABLE [6d60b718c] 2023-04-20 18:12:32 -0400
|
|
Branch: REL_13_STABLE [6dce37203] 2023-04-20 18:12:32 -0400
|
|
Branch: REL_12_STABLE [e2e34dfff] 2023-04-20 18:12:32 -0400
|
|
Branch: REL_11_STABLE [c976ccc9e] 2023-04-20 18:12:32 -0400
|
|
-->
|
|
<para>
|
|
Use the <option>--strip-unneeded</option> option when stripping
|
|
static libraries with
|
|
GNU-compatible <application>strip</application> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, <literal>make install-strip</literal> used
|
|
the <option>-x</option> option in this case. This change avoids
|
|
misbehavior of <application>llvm-strip</application>, and gives
|
|
slightly smaller output as well.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [969509c3f] 2023-02-08 17:15:25 -0500
|
|
Branch: REL_15_STABLE [2ee703c9d] 2023-02-08 17:15:23 -0500
|
|
Branch: REL_14_STABLE [7f8778fcf] 2023-02-08 17:15:23 -0500
|
|
Branch: REL_13_STABLE [c7b608600] 2023-02-08 17:15:23 -0500
|
|
Branch: REL_12_STABLE [11f1f9f4f] 2023-02-08 17:15:27 -0500
|
|
Branch: REL_11_STABLE [36a646d99] 2023-02-08 17:15:27 -0500
|
|
-->
|
|
<para>
|
|
Stop recommending auto-download of DTD files for building the
|
|
documentation, and indeed disable it (Aleksander Alekseev, Peter
|
|
Eisentraut, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
It appears no longer possible to build the SGML documentation
|
|
without a local installation of the DocBook DTD files.
|
|
Formerly <application>xsltproc</application> could download those
|
|
files on-the-fly from sourceforge.net; but sourceforge.net now
|
|
permits only HTTPS access, and no common version
|
|
of <application>xsltproc</application> supports that. Hence, remove
|
|
the bits of our documentation suggesting that that's possible or
|
|
useful, and instead
|
|
add <application>xsltproc</application>'s <option>--nonet</option>
|
|
option to the build recipes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [5d42a9751] 2023-05-05 07:09:52 +0200
|
|
Branch: REL_15_STABLE [3d37476f5] 2023-05-05 07:10:15 +0200
|
|
Branch: REL_14_STABLE [e07022500] 2023-05-05 07:10:30 +0200
|
|
Branch: REL_13_STABLE [670494477] 2023-05-05 07:11:58 +0200
|
|
Branch: REL_12_STABLE [14bb2e76c] 2023-05-05 07:12:18 +0200
|
|
Branch: REL_11_STABLE [b189f71e5] 2023-05-05 07:12:26 +0200
|
|
-->
|
|
<para>
|
|
When running TAP tests in PGXS builds, use a saner location for the
|
|
temporary <filename>portlock</filename> directory (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Place it under <filename>tmp_check</filename> in the build
|
|
directory. With the previous coding, a PGXS build would try to place
|
|
it in the installation directory, which is not necessarily writable.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4ddee4d9d] 2023-04-18 14:46:39 -0400
|
|
Branch: REL_15_STABLE [62b22caa5] 2023-04-18 14:46:39 -0400
|
|
Branch: REL_14_STABLE [b79b36f26] 2023-04-18 14:46:39 -0400
|
|
Branch: REL_13_STABLE [87d8ec3e4] 2023-04-18 14:46:39 -0400
|
|
Branch: REL_12_STABLE [2ad35cf06] 2023-04-18 14:46:39 -0400
|
|
Branch: REL_11_STABLE [7228f2f81] 2023-04-18 14:46:39 -0400
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2023c for DST law changes in Egypt, Greenland, Morocco, and
|
|
Palestine.
|
|
</para>
|
|
|
|
<para>
|
|
When observing Moscow time, Europe/Kirov and Europe/Volgograd now
|
|
use the abbreviations MSK/MSD instead of numeric abbreviations,
|
|
for consistency with other timezones observing Moscow time.
|
|
Also, America/Yellowknife is no longer distinct from America/Edmonton;
|
|
this affects some pre-1948 timestamps in that area.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-14">
|
|
<title>Release 12.14</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2023-02-09</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.13.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.14</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you are upgrading from a version earlier than 12.10,
|
|
see <xref linkend="release-12-10"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [71c37797d] 2023-02-06 11:20:07 +0900
|
|
Branch: REL_15_STABLE [715c345dd] 2023-02-06 11:20:20 +0900
|
|
Branch: REL_14_STABLE [626f2c1d6] 2023-02-06 11:20:23 +0900
|
|
Branch: REL_13_STABLE [45a945ee9] 2023-02-06 11:20:27 +0900
|
|
Branch: REL_12_STABLE [3f7342671] 2023-02-06 11:20:31 +0900
|
|
-->
|
|
<para>
|
|
<application>libpq</application> can leak memory contents after
|
|
GSSAPI transport encryption initiation fails (Jacob Champion)
|
|
</para>
|
|
|
|
<para>
|
|
A modified server, or an unauthenticated man-in-the-middle, can
|
|
send a not-zero-terminated error message during setup of GSSAPI
|
|
(Kerberos) transport encryption. <application>libpq</application>
|
|
will then copy that string, as well as following bytes in
|
|
application memory up to the next zero byte, to its error report.
|
|
Depending on what the calling application does with the error
|
|
report, this could result in disclosure of application memory
|
|
contents. There is also a small probability of a crash due to
|
|
reading beyond the end of memory. Fix by properly zero-terminating
|
|
the server message.
|
|
(CVE-2022-41862)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c9f7f9264] 2023-01-21 13:10:29 -0500
|
|
Branch: REL_15_STABLE [9e4288ce6] 2023-01-21 13:10:29 -0500
|
|
Branch: REL_14_STABLE [70ec756b0] 2023-01-21 13:10:29 -0500
|
|
Branch: REL_13_STABLE [72d611109] 2023-01-21 13:10:29 -0500
|
|
Branch: REL_12_STABLE [a5f3f2fce] 2023-01-21 13:10:30 -0500
|
|
Branch: REL_11_STABLE [6c122edde] 2023-01-21 13:10:30 -0500
|
|
-->
|
|
<para>
|
|
Allow <literal>REPLICA IDENTITY</literal>
|
|
to be set on an index that's not (yet) valid (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
When <application>pg_dump</application> dumps a partitioned index
|
|
that's marked <literal>REPLICA IDENTITY</literal>, it generates a
|
|
command sequence that applies <literal>REPLICA IDENTITY</literal>
|
|
before the partitioned index has been marked valid, causing restore
|
|
to fail. There seems no very good reason to prohibit doing it in
|
|
that order, so allow it. The marking will have no effect anyway
|
|
until the index becomes valid.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [2605643a3] 2022-12-03 12:11:33 +0000
|
|
Branch: REL_15_STABLE [c67204db6] 2022-12-03 12:14:36 +0000
|
|
Branch: REL_14_STABLE [2c7ed9f75] 2022-12-03 12:16:07 +0000
|
|
Branch: REL_13_STABLE [3bed88123] 2022-12-03 12:17:47 +0000
|
|
Branch: REL_12_STABLE [33f600f04] 2022-12-03 12:18:58 +0000
|
|
Branch: REL_11_STABLE [30f9b03a0] 2022-12-03 12:20:02 +0000
|
|
-->
|
|
<para>
|
|
Fix handling of <literal>DEFAULT</literal> markers in rules that
|
|
perform an <command>INSERT</command> from a
|
|
multi-row <literal>VALUES</literal> list (Dean Rasheed)
|
|
</para>
|
|
|
|
<para>
|
|
In some cases a <literal>DEFAULT</literal> marker would not get
|
|
replaced with the proper default-value expression, leading to
|
|
an <quote>unrecognized node type</quote> error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [3161ae86c] 2023-01-12 18:16:34 +0300
|
|
Branch: REL_15_STABLE [4dc3f94fa] 2023-01-12 18:17:43 +0300
|
|
Branch: REL_14_STABLE [0d9221f1d] 2023-01-12 18:18:04 +0300
|
|
Branch: REL_13_STABLE [2ff3ac3b5] 2023-01-12 18:18:31 +0300
|
|
Branch: REL_12_STABLE [9e24e4781] 2023-01-12 18:19:19 +0300
|
|
-->
|
|
<para>
|
|
Reject uses of undefined variables in <type>jsonpath</type>
|
|
existence checks (Alexander Korotkov, David G. Johnston)
|
|
</para>
|
|
|
|
<para>
|
|
While <type>jsonpath</type> match operators threw an error for an
|
|
undefined variable in the path pattern, the existence operators
|
|
silently treated it as a match.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [ffcf6f4cf] 2023-01-26 14:52:19 +1300
|
|
Branch: REL_15_STABLE [d9f5345bf] 2023-01-26 14:53:37 +1300
|
|
Branch: REL_14_STABLE [2f65b8468] 2023-01-26 14:54:17 +1300
|
|
Branch: REL_13_STABLE [1a5afe007] 2023-01-26 14:54:39 +1300
|
|
Branch: REL_12_STABLE [b55303792] 2023-01-26 14:55:03 +1300
|
|
Branch: REL_11_STABLE [d95dcc9ab] 2023-01-26 14:55:37 +1300
|
|
-->
|
|
<para>
|
|
Fix edge-case data corruption in parallel hash joins (Dmitry Astapov)
|
|
</para>
|
|
|
|
<para>
|
|
If the final chunk of a large tuple being written out to a temporary
|
|
file was exactly 32760 bytes, it would be corrupted due to a
|
|
fencepost bug. The query would typically fail later with
|
|
corrupted-data symptoms.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [7e8a80d1f] 2023-01-19 13:13:05 +0900
|
|
Branch: REL_15_STABLE [49e3a5e71] 2023-01-19 13:13:27 +0900
|
|
Branch: REL_14_STABLE [2e21e2857] 2023-01-19 13:13:28 +0900
|
|
Branch: REL_13_STABLE [fed4e92f3] 2023-01-19 13:13:30 +0900
|
|
Branch: REL_12_STABLE [162a48287] 2023-01-19 13:13:32 +0900
|
|
Branch: REL_11_STABLE [0c2f34af7] 2023-01-19 13:13:34 +0900
|
|
-->
|
|
<para>
|
|
Honor non-default settings
|
|
of <varname>checkpoint_completion_target</varname>
|
|
(Bharath Rupireddy)
|
|
</para>
|
|
|
|
<para>
|
|
Internal state was not updated after a change
|
|
in <varname>checkpoint_completion_target</varname>, possibly
|
|
resulting in performing checkpoint I/O faster or slower than
|
|
desired, especially if that setting was changed on-the-fly.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [44e9e3426] 2023-01-19 12:23:20 -0500
|
|
Branch: REL_15_STABLE [abe203304] 2023-01-19 12:23:20 -0500
|
|
Branch: REL_14_STABLE [103450724] 2023-01-19 12:23:20 -0500
|
|
Branch: REL_13_STABLE [1b9a0b96a] 2023-01-19 12:23:20 -0500
|
|
Branch: REL_12_STABLE [87591db19] 2023-01-19 12:23:20 -0500
|
|
Branch: REL_11_STABLE [0a269527f] 2023-01-19 12:23:20 -0500
|
|
-->
|
|
<para>
|
|
Log the correct ending timestamp
|
|
in <varname>recovery_target_xid</varname> mode (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
When ending recovery based on the <varname>recovery_target_xid</varname>
|
|
setting with <varname>recovery_target_inclusive</varname>
|
|
= <literal>off</literal>, we printed an incorrect timestamp (always
|
|
2000-01-01) in the <quote>recovery stopping before
|
|
... transaction</quote> log message.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: REL_13_STABLE [72b6098be] 2023-01-11 09:56:14 +0900
|
|
Branch: REL_12_STABLE [c0ee6943c] 2023-01-11 09:56:18 +0900
|
|
-->
|
|
<para>
|
|
Prevent <quote>wrong tuple length</quote> failure
|
|
at the end of <command>VACUUM</command> (Ashwin Agrawal, Junfeng Yang)
|
|
</para>
|
|
|
|
<para>
|
|
This occurred if <command>VACUUM</command> needed to update the
|
|
current database's <structfield>datfrozenxid</structfield> value and
|
|
the database has so many granted privileges that
|
|
its <structfield>datacl</structfield> value has been pushed
|
|
out-of-line.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [20432f873] 2022-12-13 14:23:58 -0500
|
|
Branch: REL_15_STABLE [18431ee6f] 2022-12-13 14:23:59 -0500
|
|
Branch: REL_14_STABLE [ae47f8a96] 2022-12-13 14:23:59 -0500
|
|
Branch: REL_13_STABLE [942cc240f] 2022-12-13 14:23:59 -0500
|
|
Branch: REL_12_STABLE [1cca4a75f] 2022-12-13 14:23:59 -0500
|
|
Branch: REL_11_STABLE [f48aa5df4] 2022-12-13 14:23:59 -0500
|
|
-->
|
|
<para>
|
|
In extended query protocol, avoid an immediate commit
|
|
after <command>ANALYZE</command> if we're running a pipeline
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If there's not been an explicit <command>BEGIN
|
|
TRANSACTION</command>, <command>ANALYZE</command> would take it on
|
|
itself to commit, which should not happen within a pipelined series
|
|
of commands.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [e52daaabf] 2023-01-21 06:08:00 -0800
|
|
Branch: REL_15_STABLE [b152bb7b2] 2023-01-21 06:08:03 -0800
|
|
Branch: REL_14_STABLE [6900aea67] 2023-01-21 06:08:04 -0800
|
|
Branch: REL_13_STABLE [a9bccffe5] 2023-01-21 06:08:04 -0800
|
|
Branch: REL_12_STABLE [e75b5c855] 2023-01-21 06:08:04 -0800
|
|
Branch: REL_11_STABLE [8f70de7e0] 2023-01-21 06:08:05 -0800
|
|
-->
|
|
<para>
|
|
Reject cancel request packets having the wrong length
|
|
(Andrey Borodin)
|
|
</para>
|
|
|
|
<para>
|
|
The server would process a cancel request even if its length word
|
|
was too small. This led to reading beyond the end of the allocated
|
|
buffer. In theory that could cause a segfault, but it seems quite
|
|
unlikely to happen in practice, since the buffer would have to be
|
|
very close to the end of memory. The more likely outcome was a bogus
|
|
log message about wrong backend PID or cancel code. Complain about
|
|
the wrong length, instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5beb7881f] 2022-12-22 10:35:02 -0500
|
|
Branch: REL_15_STABLE [1a3daa5bb] 2022-12-22 10:35:02 -0500
|
|
Branch: REL_14_STABLE [97431d673] 2022-12-22 10:35:02 -0500
|
|
Branch: REL_13_STABLE [4fceb454f] 2022-12-22 10:35:03 -0500
|
|
Branch: REL_12_STABLE [d572003f7] 2022-12-22 10:35:03 -0500
|
|
Branch: REL_11_STABLE [8cd700cc5] 2022-12-22 10:35:03 -0500
|
|
-->
|
|
<para>
|
|
Add recursion and looping defenses in subquery pullup (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A contrived query can result in deep recursion and unreasonable
|
|
amounts of time spent trying to flatten subqueries. A proper fix
|
|
for that seems unduly invasive for a back-patch, but we can at least
|
|
add stack depth checks and an interrupt check to allow the query to
|
|
be cancelled.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [fe12f2f8f] 2022-12-04 13:17:18 -0500
|
|
Branch: REL_15_STABLE [bf8fd64ff] 2022-12-04 13:17:18 -0500
|
|
Branch: REL_14_STABLE [ec3daeec3] 2022-12-04 13:17:18 -0500
|
|
Branch: REL_13_STABLE [4ebca555c] 2022-12-04 13:17:18 -0500
|
|
Branch: REL_12_STABLE [1ff549e84] 2022-12-04 13:17:18 -0500
|
|
Branch: REL_11_STABLE [2df073313] 2022-12-04 13:17:18 -0500
|
|
-->
|
|
<para>
|
|
Fix partitionwise-join code to tolerate failure to produce a plan for
|
|
each partition (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This could result in <quote>could not devise a query plan for the
|
|
given query</quote> errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9c6ad5eaa] 2022-11-22 14:40:20 -0500
|
|
Branch: REL_15_STABLE [2debceed2] 2022-11-22 14:40:44 -0500
|
|
Branch: REL_14_STABLE [bd06fe4de] 2022-11-22 14:40:45 -0500
|
|
Branch: REL_13_STABLE [6e639267a] 2022-11-22 14:40:45 -0500
|
|
Branch: REL_12_STABLE [ec10b6139] 2022-11-22 14:40:45 -0500
|
|
Branch: REL_11_STABLE [b96a096db] 2022-11-22 14:40:46 -0500
|
|
-->
|
|
<para>
|
|
Limit the amount of cleanup work done
|
|
by <function>get_actual_variable_range</function> (Simon Riggs)
|
|
</para>
|
|
|
|
<para>
|
|
Planner runs occurring just after deletion of a large number of
|
|
tuples appearing at the end of an index could expend significant
|
|
amounts of work setting the <quote>killed</quote> bits for those
|
|
index entries. Limit the amount of work done in any one query by
|
|
giving up on this process after examining 100 heap pages. All the
|
|
cleanup will still happen eventually, but without so large a
|
|
performance hiccup.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5644d6f90] 2022-11-21 17:07:29 -0500
|
|
Branch: REL_15_STABLE [0353db996] 2022-11-21 17:07:07 -0500
|
|
Branch: REL_14_STABLE [1b9c04b13] 2022-11-21 17:07:07 -0500
|
|
Branch: REL_13_STABLE [74670688f] 2022-11-21 17:07:07 -0500
|
|
Branch: REL_12_STABLE [1aed4c4fd] 2022-11-21 17:07:07 -0500
|
|
Branch: REL_11_STABLE [c0eed8891] 2022-11-21 17:07:07 -0500
|
|
-->
|
|
<para>
|
|
Ensure that execution of full-text-search queries can be cancelled
|
|
while they are performing phrase matches (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Jeff Davis <jdavis@postgresql.org>
|
|
Branch: master [edf12e7bb] 2022-12-01 11:49:15 -0800
|
|
Branch: REL_15_STABLE [9377b4f30] 2022-12-01 11:55:59 -0800
|
|
Branch: REL_14_STABLE [47e1224d5] 2022-12-01 11:53:53 -0800
|
|
Branch: REL_13_STABLE [a844052b5] 2022-12-01 11:52:06 -0800
|
|
Branch: REL_12_STABLE [f98c4fb1d] 2022-12-01 11:49:43 -0800
|
|
-->
|
|
<para>
|
|
Fix memory leak in hashing strings with nondeterministic collations
|
|
(Jeff Davis)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [bc54ef4ec] 2023-01-23 18:27:42 -0800
|
|
Branch: REL_15_STABLE [704a330a9] 2023-01-23 18:27:45 -0800
|
|
Branch: REL_14_STABLE [0a796b8b3] 2023-01-23 18:27:48 -0800
|
|
Branch: REL_13_STABLE [c5864805b] 2023-01-23 18:27:51 -0800
|
|
Branch: REL_12_STABLE [92fc12787] 2023-01-23 18:27:55 -0800
|
|
Branch: REL_11_STABLE [243373159] 2023-01-23 18:27:58 -0800
|
|
-->
|
|
<para>
|
|
Clean up the <application>libpq</application> connection object
|
|
after a failed replication connection attempt (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
The previous coding leaked the connection object. In background
|
|
code paths that's pretty harmless because the calling process will
|
|
give up and exit. But in commands such as <command>CREATE
|
|
SUBSCRIPTION</command>, such a failure resulted in a small
|
|
session-lifespan memory leak.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8242752f9] 2022-11-29 15:43:17 -0500
|
|
Branch: REL_15_STABLE [55fa993d7] 2022-11-29 15:43:17 -0500
|
|
Branch: REL_14_STABLE [06998eab1] 2022-11-29 15:43:17 -0500
|
|
Branch: REL_13_STABLE [6e8ad1152] 2022-11-29 15:43:17 -0500
|
|
Branch: REL_12_STABLE [c4a153d77] 2022-11-29 15:43:17 -0500
|
|
Branch: REL_11_STABLE [a6c9e1db2] 2022-11-29 15:43:17 -0500
|
|
-->
|
|
<para>
|
|
In hot-standby servers, reduce processing effort for tracking XIDs
|
|
known to be active on the primary (Simon Riggs, Michail Nikolaev)
|
|
</para>
|
|
|
|
<para>
|
|
Insufficiently-aggressive cleanup of the KnownAssignedXids array
|
|
could lead to poor performance, particularly
|
|
when <varname>max_connections</varname> is set to a large value on
|
|
the standby.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: REL_15_STABLE [898ef41bf] 2022-11-25 09:38:03 +0530
|
|
Branch: REL_14_STABLE [9f2cc1a73] 2022-11-25 09:25:50 +0530
|
|
Branch: REL_13_STABLE [4ec157c15] 2022-11-25 09:15:31 +0530
|
|
Branch: REL_12_STABLE [aa9d916f6] 2022-11-25 09:00:15 +0530
|
|
Branch: REL_11_STABLE [9b788aafd] 2022-11-25 08:56:54 +0530
|
|
-->
|
|
<para>
|
|
Fix uninitialized-memory usage in logical decoding (Masahiko Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
In certain cases, resumption of logical decoding could try to re-use
|
|
XID data that had already been freed, leading to unpredictable
|
|
behavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [e848be60b] 2022-11-14 10:43:33 +0530
|
|
Branch: REL_15_STABLE [e49e19181] 2022-11-14 10:32:47 +0530
|
|
Branch: REL_14_STABLE [9693f1900] 2022-11-14 10:22:28 +0530
|
|
Branch: REL_13_STABLE [20c223336] 2022-11-14 10:11:10 +0530
|
|
Branch: REL_12_STABLE [4dccccb37] 2022-11-14 10:01:14 +0530
|
|
Branch: REL_11_STABLE [1703033f8] 2022-11-14 09:52:06 +0530
|
|
-->
|
|
<para>
|
|
Avoid rare <quote>failed to acquire cleanup lock</quote> panic
|
|
during WAL replay of hash-index page split operations (Robert Haas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Jeff Davis <jdavis@postgresql.org>
|
|
Branch: master [d6a3dbe14] 2022-11-11 12:38:29 -0800
|
|
Branch: REL_15_STABLE [7bf713dd2] 2022-11-11 12:46:11 -0800
|
|
Branch: REL_14_STABLE [f893af496] 2022-11-11 12:46:22 -0800
|
|
Branch: REL_13_STABLE [58a45bb1d] 2022-11-11 12:46:34 -0800
|
|
Branch: REL_12_STABLE [7dd39e9e8] 2022-11-11 12:46:44 -0800
|
|
Branch: REL_11_STABLE [5eaf3e375] 2022-11-11 12:46:52 -0800
|
|
-->
|
|
<para>
|
|
Advance a heap page's LSN when setting its all-visible bit during
|
|
WAL replay (Jeff Davis)
|
|
</para>
|
|
|
|
<para>
|
|
Failure to do this left the page possibly different on standby
|
|
servers than the primary, and violated some other expectations about
|
|
when the LSN changes. This seems only a theoretical hazard so
|
|
far as <productname>PostgreSQL</productname> itself is concerned,
|
|
but it could upset third-party tools.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_14_STABLE [32d5a4974] 2022-11-17 16:54:30 -0500
|
|
Branch: REL_13_STABLE [9a299cf7c] 2022-11-17 16:54:30 -0500
|
|
Branch: REL_12_STABLE [e21856fd6] 2022-11-17 16:54:31 -0500
|
|
Branch: REL_11_STABLE [d4acf2eb9] 2022-11-17 16:54:31 -0500
|
|
-->
|
|
<para>
|
|
Prevent unsafe usage of a relation cache
|
|
entry's <structfield>rd_smgr</structfield> pointer (Amul Sul)
|
|
</para>
|
|
|
|
<para>
|
|
Remove various assumptions that <structfield>rd_smgr</structfield>
|
|
would stay valid over a series of operations, by wrapping all uses
|
|
of it in a function that will recompute it if needed. This prevents
|
|
bugs occurring when an unexpected cache flush occurs partway through
|
|
such a series.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [f1821b58f] 2023-01-13 11:02:12 +1300
|
|
Branch: REL_15_STABLE [8a98523a5] 2023-01-13 11:02:00 +1300
|
|
Branch: REL_14_STABLE [547e60b83] 2023-01-13 10:57:29 +1300
|
|
Branch: REL_13_STABLE [c159b0383] 2023-01-13 10:54:49 +1300
|
|
Branch: REL_12_STABLE [bf388ab82] 2023-01-13 10:54:34 +1300
|
|
Branch: REL_11_STABLE [1b40710a8] 2023-01-13 10:54:20 +1300
|
|
-->
|
|
<para>
|
|
Fix latent buffer-overrun problem in <literal>WaitEventSet</literal>
|
|
logic (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
The <function>epoll</function>-based
|
|
and <function>kqueue</function>-based implementations could ask the
|
|
kernel for too many events if the size of their internal buffer was
|
|
different from the size of the caller's output buffer. That case is
|
|
not known to occur in released <productname>PostgreSQL</productname>
|
|
versions, but this error is a hazard for external modules and future
|
|
bug fixes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [8c954168c] 2022-11-19 12:22:04 -0800
|
|
Branch: REL_15_STABLE [a0d35ebcc] 2022-11-19 12:33:11 -0800
|
|
Branch: REL_14_STABLE [fc4154286] 2022-11-19 12:33:14 -0800
|
|
Branch: REL_13_STABLE [c13667b51] 2022-11-19 12:36:33 -0800
|
|
Branch: REL_12_STABLE [4cbcb7ed8] 2022-11-19 12:36:48 -0800
|
|
Branch: REL_11_STABLE [140c80372] 2022-11-19 12:36:52 -0800
|
|
-->
|
|
<para>
|
|
Avoid nominally-undefined behavior when accessing shared memory in
|
|
32-bit builds (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
clang's undefined-behavior sanitizer complained about use of a
|
|
pointer that was less aligned than it should be. It's very unlikely
|
|
that this would cause a problem in non-debug builds, but it's worth
|
|
fixing for testing purposes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [51dfaa0b0] 2022-11-29 10:52:44 -0500
|
|
Branch: REL_15_STABLE [556c0b913] 2022-11-29 10:52:44 -0500
|
|
Branch: REL_14_STABLE [0224646be] 2022-11-29 10:52:44 -0500
|
|
Branch: REL_13_STABLE [aca695fb6] 2022-11-29 10:52:44 -0500
|
|
Branch: REL_12_STABLE [bb8d48cb9] 2022-11-29 10:52:44 -0500
|
|
-->
|
|
<para>
|
|
Remove faulty assertion in useless-RESULT-RTE optimization logic
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [2fcf685f6] 2022-12-23 10:04:18 +0900
|
|
Branch: REL_15_STABLE [e3897a3a4] 2022-12-23 10:04:30 +0900
|
|
Branch: REL_14_STABLE [7ad458e06] 2022-12-23 10:04:33 +0900
|
|
Branch: REL_13_STABLE [4dbe72d61] 2022-12-23 10:04:34 +0900
|
|
Branch: REL_12_STABLE [7445869e1] 2022-12-23 10:04:36 +0900
|
|
Branch: REL_11_STABLE [df6fea51f] 2022-12-23 10:04:37 +0900
|
|
-->
|
|
<para>
|
|
Fix copy-and-paste errors in cache-lookup-failure messages for ACL
|
|
checks (Justin Pryzby)
|
|
</para>
|
|
|
|
<para>
|
|
In principle these errors should never be reached. But if they are,
|
|
some of them reported the wrong type of object.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_14_STABLE [55f30e6c7] 2022-11-19 11:40:30 -0500
|
|
Branch: REL_13_STABLE [e46e986ba] 2022-11-19 11:40:30 -0500
|
|
Branch: REL_12_STABLE [344b78492] 2022-11-19 11:40:30 -0500
|
|
Branch: REL_11_STABLE [b1f106420] 2022-11-19 11:40:30 -0500
|
|
Branch: REL_14_STABLE [03ac48549] 2022-11-19 12:00:27 -0500
|
|
Branch: REL_13_STABLE [a5b26aaaf] 2022-11-19 12:00:27 -0500
|
|
Branch: REL_12_STABLE [1ed6f1b91] 2022-11-19 12:00:27 -0500
|
|
Branch: REL_11_STABLE [b7333e826] 2022-11-19 12:00:27 -0500
|
|
-->
|
|
<para>
|
|
In <application>pg_dump</application>,
|
|
avoid calling unsafe server functions before we have locks on the
|
|
tables to be examined (Tom Lane, Gilles Darold)
|
|
</para>
|
|
|
|
<para>
|
|
<application>pg_dump</application> uses certain server functions
|
|
that can fail if examining a table that gets dropped concurrently.
|
|
Avoid this type of failure by ensuring that we obtain access share
|
|
lock before inquiring too deeply into a table's properties, and that
|
|
we don't apply such functions to tables we don't intend to dump at
|
|
all.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [e7a59094b] 2023-01-06 11:18:44 +0000
|
|
Branch: REL_15_STABLE [2daf4664c] 2023-01-06 11:16:53 +0000
|
|
Branch: REL_14_STABLE [48599a18d] 2023-01-06 11:15:22 +0000
|
|
Branch: REL_13_STABLE [2ad4abedf] 2023-01-06 11:13:34 +0000
|
|
Branch: REL_12_STABLE [274185d11] 2023-01-06 11:11:51 +0000
|
|
Branch: REL_11_STABLE [c54b88870] 2023-01-06 11:09:56 +0000
|
|
-->
|
|
<para>
|
|
Fix tab completion of <command>ALTER
|
|
FUNCTION/PROCEDURE/ROUTINE</command> ... <command>SET
|
|
SCHEMA</command> (Dean Rasheed)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
Branch: REL_12_STABLE [69f75bf82] 2022-12-15 21:15:00 +0900
|
|
-->
|
|
<para>
|
|
Fix faulty assertion in <filename>contrib/postgres_fdw</filename>
|
|
(Etsuro Fujita)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [701c881f7] 2022-12-21 17:51:50 -0500
|
|
Branch: REL_15_STABLE [b87037b37] 2022-12-21 17:51:50 -0500
|
|
Branch: REL_14_STABLE [f489b480f] 2022-12-21 17:51:50 -0500
|
|
Branch: REL_13_STABLE [d35f1d485] 2022-12-21 17:51:50 -0500
|
|
Branch: REL_12_STABLE [c8314d62a] 2022-12-21 17:51:50 -0500
|
|
Branch: REL_11_STABLE [0ff4056b8] 2022-12-21 17:51:50 -0500
|
|
-->
|
|
<para>
|
|
Fix <filename>contrib/seg</filename> to not crash or print garbage
|
|
if an input number has more than 127 digits (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: REL_13_STABLE [c304c069d] 2022-11-09 09:39:53 +0900
|
|
Branch: REL_12_STABLE [edb4ef48d] 2022-11-09 09:39:55 +0900
|
|
Branch: REL_11_STABLE [91723759e] 2022-11-09 09:39:57 +0900
|
|
Branch: REL_10_STABLE [8f5d4ee6c] 2022-11-09 09:39:58 +0900
|
|
Branch: REL9_6_STABLE [b2b988110] 2022-11-09 09:40:01 +0900
|
|
Branch: REL9_5_STABLE [40064e103] 2022-11-09 09:40:02 +0900
|
|
Branch: REL9_4_STABLE [0f5812df6] 2022-11-09 09:40:05 +0900
|
|
Branch: REL9_3_STABLE [a5171b880] 2022-11-09 09:40:06 +0900
|
|
Branch: REL9_2_STABLE [c58c0770a] 2022-11-09 09:40:09 +0900
|
|
-->
|
|
<para>
|
|
In <filename>contrib/sepgsql</filename>, avoid deprecation warnings
|
|
with recent <application>libselinux</application> (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_15_STABLE [576506303] 2022-11-10 10:23:49 -0500
|
|
Branch: REL_14_STABLE [06dca17ad] 2022-11-10 10:23:49 -0500
|
|
Branch: REL_13_STABLE [0942acb73] 2022-11-10 10:23:49 -0500
|
|
Branch: REL_12_STABLE [cf0f465c0] 2022-11-10 10:23:49 -0500
|
|
-->
|
|
<para>
|
|
Fix build on Microsoft Visual Studio 2013 (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A previous patch supposed that all platforms of interest
|
|
have <function>snprintf()</function>, but MSVC 2013 isn't quite
|
|
there yet. Revert to using <function>sprintf()</function> on that
|
|
platform.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [341f4e002] 2022-11-25 15:28:38 -0500
|
|
Branch: REL_15_STABLE [fed54fc9a] 2022-11-25 15:37:33 -0500
|
|
Branch: REL_14_STABLE [f76191fd9] 2022-11-25 15:37:33 -0500
|
|
Branch: REL_13_STABLE [9fe5cff14] 2022-11-25 15:37:33 -0500
|
|
Branch: REL_12_STABLE [171c7fffa] 2022-11-25 15:37:34 -0500
|
|
Branch: REL_11_STABLE [ae7c51213] 2022-11-25 15:37:34 -0500
|
|
-->
|
|
<para>
|
|
Fix compile failure in building PL/Perl with MSVC when using
|
|
Strawberry Perl (Andrew Dunstan)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [ccc59a83c] 2022-11-27 09:03:22 -0500
|
|
Branch: REL_15_STABLE [b5d8fd418] 2022-11-27 09:18:14 -0500
|
|
Branch: REL_14_STABLE [f3f70b8de] 2022-11-27 09:18:20 -0500
|
|
Branch: REL_13_STABLE [68d89d80c] 2022-11-27 09:18:32 -0500
|
|
Branch: REL_12_STABLE [85565cbca] 2022-11-27 09:18:40 -0500
|
|
Branch: REL_11_STABLE [724dd5649] 2022-11-27 09:18:46 -0500
|
|
-->
|
|
<para>
|
|
Fix mismatch of PL/Perl built with MSVC versus a Perl library built
|
|
with gcc (Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
Such combinations could previously fail with <quote>loadable library
|
|
and perl binaries are mismatched</quote> errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [388e80132] 2022-12-29 12:47:29 -0800
|
|
Branch: REL_15_STABLE [c6e75e4c2] 2023-01-02 15:49:33 -0800
|
|
Branch: REL_14_STABLE [7b5dec760] 2023-01-02 15:50:00 -0800
|
|
Branch: REL_13_STABLE [ce073d014] 2023-01-02 15:50:33 -0800
|
|
Branch: REL_12_STABLE [f0e13802f] 2023-01-02 15:51:03 -0800
|
|
Branch: REL_11_STABLE [99f8bc335] 2023-01-02 15:51:05 -0800
|
|
-->
|
|
<para>
|
|
Suppress compiler warnings from Perl's header files (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
Our preferred compiler options provoke warnings about constructs
|
|
appearing in recent versions of Perl's header files. When using
|
|
<application>gcc</application>, we can suppress these warnings with
|
|
a pragma.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_15_STABLE [9a40a0311] 2023-01-20 11:58:12 -0500
|
|
Branch: REL_14_STABLE [21c058648] 2023-01-20 11:58:12 -0500
|
|
Branch: REL_13_STABLE [c78f109b8] 2023-01-20 11:58:12 -0500
|
|
Branch: REL_12_STABLE [6d066d56b] 2023-01-20 11:58:12 -0500
|
|
Branch: REL_11_STABLE [b69e9dfab] 2023-01-20 11:58:12 -0500
|
|
-->
|
|
<para>
|
|
Fix <application>pg_waldump</application> to build on compilers that
|
|
don't discard unused static-inline functions (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [758f44bc3] 2023-01-31 17:36:55 -0500
|
|
Branch: REL_15_STABLE [65f0d9d27] 2023-01-31 17:37:06 -0500
|
|
Branch: REL_14_STABLE [7e6154779] 2023-01-31 17:37:14 -0500
|
|
Branch: REL_13_STABLE [20d9da107] 2023-01-31 17:37:22 -0500
|
|
Branch: REL_12_STABLE [2c95d8776] 2023-01-31 17:37:28 -0500
|
|
Branch: REL_11_STABLE [7ddc428ef] 2023-01-31 17:37:34 -0500
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2022g for DST law changes in Greenland and Mexico,
|
|
plus historical corrections for northern Canada, Colombia, and
|
|
Singapore.
|
|
</para>
|
|
|
|
<para>
|
|
Notably, a new timezone America/Ciudad_Juarez has been split off
|
|
from America/Ojinaga.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-13">
|
|
<title>Release 12.13</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2022-11-10</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.12.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.13</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you are upgrading from a version earlier than 12.10,
|
|
see <xref linkend="release-12-10"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2dc2e4e31] 2022-09-30 19:37:00 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [2267085c1] 2022-09-30 19:36:46 -0400
|
|
Branch: REL_14_STABLE [b93d7e688] 2022-09-30 19:36:46 -0400
|
|
Branch: REL_13_STABLE [92941f264] 2022-09-30 19:36:46 -0400
|
|
Branch: REL_12_STABLE [e7bd2d671] 2022-09-30 19:36:46 -0400
|
|
Author: Jeff Davis <jdavis@postgresql.org>
|
|
Branch: master [163b0993a] 2022-09-22 11:04:00 -0700
|
|
Branch: REL_15_STABLE Release: REL_15_0 [dd6070bc8] 2022-09-22 11:04:36 -0700
|
|
Branch: REL_14_STABLE [21934612d] 2022-09-22 11:04:58 -0700
|
|
Branch: REL_13_STABLE [410c422b7] 2022-09-22 11:06:42 -0700
|
|
Branch: REL_12_STABLE [cab72f0fd] 2022-09-22 11:07:05 -0700
|
|
-->
|
|
<para>
|
|
Avoid rare PANIC during updates occurring concurrently
|
|
with <command>VACUUM</command> (Tom Lane, Jeff Davis)
|
|
</para>
|
|
|
|
<para>
|
|
If a concurrent <command>VACUUM</command> sets the all-visible flag
|
|
bit in a page that <command>UPDATE</command>
|
|
or <command>DELETE</command> is in process of modifying, the
|
|
updating command needs to clear that bit again; but some code paths
|
|
failed to do so, ending in a PANIC exit and database restart.
|
|
</para>
|
|
|
|
<para>
|
|
This is known to be possible in versions 14 and 15. It may be only
|
|
latent in previous branches.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
Branch: REL_13_STABLE [43e409cea] 2022-09-05 11:20:05 -0700
|
|
Branch: REL_12_STABLE [7adc34832] 2022-09-05 11:20:03 -0700
|
|
Branch: REL_11_STABLE [a228cca46] 2022-09-05 11:20:01 -0700
|
|
Branch: REL_10_STABLE [cfe41f976] 2022-09-05 11:19:59 -0700
|
|
-->
|
|
<para>
|
|
Fix <command>VACUUM</command> to press on if an attempted page
|
|
deletion in a btree index fails to find the page's parent downlink
|
|
(Peter Geoghegan)
|
|
</para>
|
|
|
|
<para>
|
|
Rather than throwing an error, just log the issue and continue
|
|
without deleting the empty page. Previously, a buggy operator class
|
|
or corrupted index could indefinitely prevent completion of
|
|
vacuuming of the index, eventually leading to transaction wraparound
|
|
problems.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b8f2687fd] 2022-10-11 18:24:14 -0400
|
|
Branch: REL_15_STABLE [07ce67698] 2022-10-11 18:24:14 -0400
|
|
Branch: REL_14_STABLE [3162bd95c] 2022-10-11 18:24:14 -0400
|
|
Branch: REL_13_STABLE [21e042b0b] 2022-10-11 18:24:14 -0400
|
|
Branch: REL_12_STABLE [abc510fa2] 2022-10-11 18:24:15 -0400
|
|
Branch: REL_11_STABLE [addde9bc6] 2022-10-11 18:24:15 -0400
|
|
Branch: REL_10_STABLE [23e2a06ac] 2022-10-11 18:24:15 -0400
|
|
-->
|
|
<para>
|
|
Fix handling of <literal>DEFAULT</literal> tokens that appear
|
|
in a multi-row <literal>VALUES</literal> clause of an
|
|
<command>INSERT</command> on an updatable view (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead to <quote>cache lookup failed for
|
|
type</quote> errors, or in older branches even to crashes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [797e313dc] 2022-10-17 12:14:39 -0400
|
|
Branch: REL_15_STABLE [4a41a069e] 2022-10-17 12:14:39 -0400
|
|
Branch: REL_14_STABLE [2f26cec48] 2022-10-17 12:14:39 -0400
|
|
Branch: REL_13_STABLE [b21615d1e] 2022-10-17 12:14:39 -0400
|
|
Branch: REL_12_STABLE [65c1106d8] 2022-10-17 12:14:39 -0400
|
|
Branch: REL_11_STABLE [e9377e3e5] 2022-10-17 12:14:39 -0400
|
|
Branch: REL_10_STABLE [ecf4ce689] 2022-10-17 12:14:39 -0400
|
|
-->
|
|
<para>
|
|
Disallow rules named <literal>_RETURN</literal> that are
|
|
not <literal>ON SELECT</literal> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids confusion between a view's <literal>ON SELECT</literal>
|
|
rule and any other rules it may have.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [216f9c1ab] 2022-09-25 17:10:58 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [c82766c02] 2022-09-25 17:10:58 -0400
|
|
Branch: REL_14_STABLE [992376461] 2022-09-25 17:10:58 -0400
|
|
Branch: REL_13_STABLE [8c17c8615] 2022-09-25 17:10:58 -0400
|
|
Branch: REL_12_STABLE [519763094] 2022-09-25 17:10:58 -0400
|
|
-->
|
|
<para>
|
|
Fix resource management bug in saving tuples
|
|
for <literal>AFTER</literal> triggers (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Given the right circumstances, this manifested as a <quote>tupdesc
|
|
reference <replaceable>NNNN</replaceable> is not owned by resource
|
|
owner</quote> error followed by a PANIC exit.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_13_STABLE [3f7323cbb] 2022-08-27 12:11:20 -0400
|
|
Branch: REL_12_STABLE [f8e70cfb8] 2022-08-27 12:11:20 -0400
|
|
Branch: REL_11_STABLE [d9ebc582f] 2022-08-27 12:11:20 -0400
|
|
Branch: REL_10_STABLE [e1ea6f374] 2022-08-27 12:11:20 -0400
|
|
Branch: REL_13_STABLE [18f51083c] 2022-09-02 14:54:40 -0400
|
|
Branch: REL_12_STABLE [df92bc115] 2022-09-02 14:54:40 -0400
|
|
Branch: REL_11_STABLE [56dc44244] 2022-09-02 14:54:40 -0400
|
|
Branch: REL_10_STABLE [42d0d46f9] 2022-09-02 14:54:41 -0400
|
|
Branch: REL_13_STABLE [ccbb54c72] 2022-09-06 16:38:18 -0400
|
|
Branch: REL_12_STABLE [4d7c0fe51] 2022-09-06 16:38:18 -0400
|
|
Branch: REL_11_STABLE [9bcf6fb28] 2022-09-06 16:38:18 -0400
|
|
Branch: REL_10_STABLE [174c929e3] 2022-09-06 16:38:18 -0400
|
|
-->
|
|
<para>
|
|
Repair rare failure of MULTIEXPR_SUBLINK subplans in inherited
|
|
updates (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Use of the syntax <literal>UPDATE tab SET (c1, ...) = (SELECT
|
|
...)</literal> with an inherited or partitioned target table could
|
|
result in failure if the child tables are sufficiently dissimilar.
|
|
This typically manifested as failure of consistency checks in the
|
|
executor; but a crash or incorrect data updates are also possible.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [b0284bfb1] 2022-11-03 20:40:21 +0100
|
|
Branch: REL_15_STABLE [c301e1c0c] 2022-11-03 20:40:21 +0100
|
|
Branch: REL_14_STABLE [18865f4df] 2022-11-03 20:40:21 +0100
|
|
Branch: REL_13_STABLE [41b6e7c9a] 2022-11-03 20:40:21 +0100
|
|
Branch: REL_12_STABLE [ab70b3a52] 2022-11-03 20:40:21 +0100
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [614a406b4] 2022-10-07 19:37:48 +0200
|
|
Branch: REL_15_STABLE Release: REL_15_0 [6083132ab] 2022-10-07 19:37:48 +0200
|
|
Branch: REL_14_STABLE [483d26930] 2022-10-07 19:37:48 +0200
|
|
Branch: REL_13_STABLE [7d520e68e] 2022-10-07 19:37:48 +0200
|
|
Branch: REL_12_STABLE [669803af0] 2022-10-07 19:37:48 +0200
|
|
-->
|
|
<para>
|
|
Fix construction of per-partition foreign key constraints while
|
|
doing <command>ALTER TABLE ATTACH PARTITION</command>
|
|
(Jehan-Guillaume de Rorthais, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, incorrect or duplicate constraints could be constructed
|
|
for the newly-added partition.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [e7936f8b3] 2022-09-08 13:17:02 +0200
|
|
Branch: REL_15_STABLE Release: REL_15_0 [ade2409b1] 2022-09-08 13:17:02 +0200
|
|
Branch: REL_14_STABLE [640c20d62] 2022-09-08 13:17:02 +0200
|
|
Branch: REL_13_STABLE [80ef25b1a] 2022-09-08 13:17:02 +0200
|
|
Branch: REL_12_STABLE [562e100ae] 2022-09-08 13:17:02 +0200
|
|
-->
|
|
<para>
|
|
Fix generation of constraint names for per-partition foreign key
|
|
constraints (Jehan-Guillaume de Rorthais)
|
|
</para>
|
|
|
|
<para>
|
|
If the initially-given name is already in use for some constraint of
|
|
the partition, a new one is selected; but it wasn't being spelled as
|
|
intended.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e6dbb4848] 2022-08-18 12:12:03 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [2a42c1c51] 2022-08-18 12:12:03 -0400
|
|
Branch: REL_14_STABLE [3bfea5cbb] 2022-08-18 12:11:47 -0400
|
|
Branch: REL_13_STABLE [9f0073ef7] 2022-08-18 12:11:47 -0400
|
|
Branch: REL_12_STABLE [2cf16cd74] 2022-08-18 12:11:47 -0400
|
|
Branch: REL_11_STABLE [116f20f92] 2022-08-18 12:11:47 -0400
|
|
-->
|
|
<para>
|
|
Fix incorrect matching of index expressions and predicates when
|
|
creating a partitioned index (Richard Guo, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
While creating a partitioned index, we try to identify any existing
|
|
indexes on the partitions that match the partitioned index, so that
|
|
we can absorb those as child indexes instead of building new ones.
|
|
Matching of expressions was not done right, so that a usable child
|
|
index might be ignored, leading to creation of a duplicative index.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [6672d7913] 2022-08-29 11:07:37 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [eb29fa388] 2022-08-29 11:18:55 -0400
|
|
Branch: REL_14_STABLE [0e54a5e27] 2022-08-29 11:25:00 -0400
|
|
Branch: REL_13_STABLE [3f2701cda] 2022-08-29 11:30:17 -0400
|
|
Branch: REL_12_STABLE [3c0ef0832] 2022-08-29 11:55:49 -0400
|
|
Branch: REL_11_STABLE [002fba80e] 2022-08-29 12:06:30 -0400
|
|
Branch: REL_10_STABLE [0b3ff539d] 2022-08-29 12:21:50 -0400
|
|
-->
|
|
<para>
|
|
Prevent WAL corruption after a standby promotion (Dilip Kumar,
|
|
Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
When a <productname>PostgreSQL</productname> instance performing
|
|
archive recovery (but not using standby mode) is promoted, and the
|
|
last WAL segment that it attempted to read ended in a partial
|
|
record, the instance would write an invalid WAL segment on the new
|
|
timeline.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [56b662523] 2022-10-13 09:31:57 +0900
|
|
Branch: REL_15_STABLE [ca4070f2b] 2022-10-26 09:41:13 +0900
|
|
Branch: REL_14_STABLE [5a30d43fa] 2022-10-26 09:41:18 +0900
|
|
Branch: REL_13_STABLE [594b97509] 2022-10-26 09:41:22 +0900
|
|
Branch: REL_12_STABLE [51c24d9e2] 2022-10-26 09:41:26 +0900
|
|
Branch: REL_11_STABLE [341fba2a6] 2022-10-26 09:41:28 +0900
|
|
Branch: REL_10_STABLE [b02fc7df1] 2022-10-26 09:41:31 +0900
|
|
-->
|
|
<para>
|
|
Fix mis-ordering of WAL operations in fast insert path for GIN
|
|
indexes (Matthias van de Meent, Zhang Mingli)
|
|
</para>
|
|
|
|
<para>
|
|
This mistake is not known to have any negative consequences within
|
|
core <productname>PostgreSQL</productname>, but it did cause issues
|
|
for some extensions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [16b1fe003] 2022-10-20 08:49:48 +0530
|
|
Branch: REL_15_STABLE [64ff0fe4e] 2022-10-20 09:43:59 +0530
|
|
Branch: REL_14_STABLE [a592ed923] 2022-10-20 09:34:18 +0530
|
|
Branch: REL_13_STABLE [25f7be1ca] 2022-10-20 09:25:13 +0530
|
|
Branch: REL_12_STABLE [1bf4d9206] 2022-10-20 09:16:28 +0530
|
|
Branch: REL_11_STABLE [5f7076cb6] 2022-10-20 09:07:04 +0530
|
|
Branch: REL_10_STABLE [10ed7b9e4] 2022-10-20 08:58:11 +0530
|
|
Branch: REL_15_STABLE [343afa967] 2022-10-21 10:03:35 +0530
|
|
Branch: REL_14_STABLE [4fbe6096b] 2022-10-21 09:52:44 +0530
|
|
Branch: REL_13_STABLE [38dbaaf27] 2022-10-21 09:42:24 +0530
|
|
Branch: REL_12_STABLE [02600886c] 2022-10-21 09:32:21 +0530
|
|
Branch: REL_11_STABLE [216af69ae] 2022-10-21 09:22:20 +0530
|
|
-->
|
|
<para>
|
|
Fix bugs in logical decoding when replay starts from a point
|
|
between the beginning of a transaction and the beginning of its
|
|
subtransaction (Masahiko Sawada, Kuroda Hayato)
|
|
</para>
|
|
|
|
<para>
|
|
These errors could lead to assertion failures in debug builds, and
|
|
otherwise to memory leaks.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: REL_15_STABLE Release: REL_15_0 [272248a0c] 2022-08-11 09:56:49 +0530
|
|
Branch: REL_14_STABLE [68dcce247] 2022-08-11 09:45:04 +0530
|
|
Branch: REL_13_STABLE [547b96368] 2022-08-11 09:30:55 +0530
|
|
Branch: REL_12_STABLE [794460783] 2022-08-11 09:09:36 +0530
|
|
Branch: REL_11_STABLE [e721123b7] 2022-08-11 08:55:31 +0530
|
|
Branch: REL_10_STABLE [bf0718c13] 2022-08-11 08:45:20 +0530
|
|
-->
|
|
<para>
|
|
Prevent examining system catalogs with the wrong snapshot during
|
|
logical decoding (Masahiko Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
If decoding begins partway through a transaction that modifies
|
|
system catalogs, the decoder may not recognize that, causing it to
|
|
fail to treat that transaction as in-progress for catalog lookups.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [ce20f8b9f] 2022-10-21 12:57:18 +0530
|
|
Branch: REL_15_STABLE [10eaa9750] 2022-10-21 12:43:28 +0530
|
|
Branch: REL_14_STABLE [36fc013fa] 2022-10-21 12:33:47 +0530
|
|
Branch: REL_13_STABLE [1eed947f9] 2022-10-21 12:22:47 +0530
|
|
Branch: REL_12_STABLE [f7f82cf05] 2022-10-21 12:10:11 +0530
|
|
Branch: REL_11_STABLE [5c51afe23] 2022-10-21 12:08:14 +0530
|
|
Branch: REL_10_STABLE [61838d2dd] 2022-10-21 11:54:34 +0530
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [f972ec5c2] 2022-08-23 10:20:02 +0530
|
|
Branch: REL_15_STABLE Release: REL_15_0 [42681dffa] 2022-08-23 10:08:43 +0530
|
|
Branch: REL_14_STABLE [6d05d575b] 2022-08-23 09:24:51 +0530
|
|
Branch: REL_13_STABLE [4985a4591] 2022-08-23 09:10:28 +0530
|
|
Branch: REL_12_STABLE [9415873ae] 2022-08-23 08:51:20 +0530
|
|
Branch: REL_11_STABLE [51e9469a4] 2022-08-23 08:42:51 +0530
|
|
Branch: REL_10_STABLE [6b50433e8] 2022-08-23 08:39:31 +0530
|
|
-->
|
|
<para>
|
|
Accept interrupts in more places during logical decoding (Amit
|
|
Kapila, Masahiko Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
This ameliorates problems with slow shutdown of replication workers.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [dea834938] 2022-11-03 12:02:14 -0400
|
|
Branch: REL_15_STABLE [f2dc7f9e3] 2022-11-03 12:01:57 -0400
|
|
Branch: REL_14_STABLE [2489c38cd] 2022-11-03 12:01:57 -0400
|
|
Branch: REL_13_STABLE [b00f342ea] 2022-11-03 12:01:57 -0400
|
|
Branch: REL_12_STABLE [d9ffccf8d] 2022-11-03 12:01:57 -0400
|
|
Branch: REL_11_STABLE [ed019b5ef] 2022-11-03 12:01:57 -0400
|
|
Branch: REL_10_STABLE [5f3cec77b] 2022-11-03 12:01:57 -0400
|
|
-->
|
|
<para>
|
|
Avoid crash after function syntax error in replication workers
|
|
(Maxim Orlov, Anton Melnikov, Masahiko Sawada, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If a syntax error occurred in a SQL-language or PL/pgSQL-language
|
|
<command>CREATE FUNCTION</command> or <command>DO</command> command
|
|
executed in a logical replication worker, the worker process would
|
|
crash with a null pointer dereference or assertion failure.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [309857f9c] 2022-08-10 13:37:25 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [ad3e07c15] 2022-08-10 13:37:25 -0400
|
|
Branch: REL_14_STABLE [95bfadd4e] 2022-08-10 13:37:25 -0400
|
|
Branch: REL_13_STABLE [71caf3c4d] 2022-08-10 13:37:25 -0400
|
|
Branch: REL_12_STABLE [5b948b5c1] 2022-08-10 13:37:25 -0400
|
|
Branch: REL_11_STABLE [442dbd669] 2022-08-10 13:37:25 -0400
|
|
Branch: REL_10_STABLE [1446612c5] 2022-08-10 13:37:25 -0400
|
|
-->
|
|
<para>
|
|
Fix handling of read-write expanded datums that are passed to SQL
|
|
functions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If a non-inlined SQL function uses a parameter in more than one
|
|
place, and one of those functions expects to be able to modify
|
|
read-write datums in place, then later uses of the parameter would
|
|
observe the wrong value. (Within
|
|
core <productname>PostgreSQL</productname>, the expanded-datum
|
|
mechanism is only used for array and composite-type values; but
|
|
extensions might use it for other structured types.)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
|
|
Branch: master [8cb2a22bb] 2022-09-12 12:59:06 +0200
|
|
Branch: REL_15_STABLE Release: REL_15_0 [56d238846] 2022-09-12 12:59:06 +0200
|
|
Branch: REL_14_STABLE [13b8a1c19] 2022-09-12 12:59:06 +0200
|
|
Branch: REL_13_STABLE [eb8b84807] 2022-09-12 12:59:06 +0200
|
|
Branch: REL_12_STABLE [9ebfbd23b] 2022-09-12 12:59:06 +0200
|
|
-->
|
|
<para>
|
|
Fix type <type>circle</type>'s equality comparator to handle NaNs
|
|
properly (Ranier Vilela)
|
|
</para>
|
|
|
|
<para>
|
|
If the left-hand circle had a floating-point NaN for its radius,
|
|
it would be considered equal to a circle with the same center and
|
|
any radius.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1058555a5] 2022-08-31 10:42:05 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [61f6e5c23] 2022-08-31 10:42:05 -0400
|
|
Branch: REL_14_STABLE [e969f1ae2] 2022-08-31 10:42:05 -0400
|
|
Branch: REL_13_STABLE [f204ad3a2] 2022-08-31 10:42:05 -0400
|
|
Branch: REL_12_STABLE [a53e0ea78] 2022-08-31 10:42:05 -0400
|
|
Branch: REL_11_STABLE [f5aa855cd] 2022-08-31 10:42:05 -0400
|
|
Branch: REL_10_STABLE [cba393a10] 2022-08-31 10:42:05 -0400
|
|
-->
|
|
<para>
|
|
In Snowball dictionaries, don't try to stem excessively-long words
|
|
(Olly Betts, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If the input word exceeds 1000 bytes, return it as-is after case
|
|
folding, rather than trying to run it through the Snowball code.
|
|
This restriction protects against a known
|
|
recursion-to-stack-overflow problem in the Turkish stemmer, and it
|
|
seems like good insurance against any other safety or performance
|
|
issues that may exist in the Snowball stemmers. Such a long string
|
|
is surely not a word in any human language, so it's doubtful that
|
|
the stemmer would have done anything desirable with it anyway.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a46621942] 2022-08-14 12:05:27 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [9ae484121] 2022-08-14 12:05:27 -0400
|
|
Branch: REL_14_STABLE [06602372b] 2022-08-14 12:05:27 -0400
|
|
Branch: REL_13_STABLE [9fe285f85] 2022-08-14 12:05:27 -0400
|
|
Branch: REL_12_STABLE [ee8a2f9d7] 2022-08-14 12:05:27 -0400
|
|
Branch: REL_11_STABLE [84f9691a1] 2022-08-14 12:05:27 -0400
|
|
Branch: REL_10_STABLE [d3cf15dfc] 2022-08-14 12:05:27 -0400
|
|
-->
|
|
<para>
|
|
Fix use-after-free hazard in string comparisons (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Improper memory management in the string comparison functions
|
|
could result in scribbling on no-longer-allocated buffers,
|
|
potentially breaking things for whatever is using that memory
|
|
now. This would only happen with fairly long strings (more than
|
|
1kB), and only if an ICU collation is in use.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [eec346611] 2022-10-17 11:35:23 -0400
|
|
Branch: REL_15_STABLE [2e3326929] 2022-10-17 11:35:23 -0400
|
|
Branch: REL_14_STABLE [8c611602b] 2022-10-17 11:35:23 -0400
|
|
Branch: REL_13_STABLE [62b263bf7] 2022-10-17 11:35:23 -0400
|
|
Branch: REL_12_STABLE [99b6b705d] 2022-10-17 11:35:23 -0400
|
|
-->
|
|
<para>
|
|
Add plan-time check for attempted access to a table that has no
|
|
table access method (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents a crash in some catalog-corruption scenarios, for
|
|
example use of a view whose <literal>ON SELECT</literal> rule is
|
|
missing.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [18a4a620e] 2022-10-11 18:54:31 -0400
|
|
Branch: REL_15_STABLE [e7b4ff327] 2022-10-11 18:54:31 -0400
|
|
Branch: REL_14_STABLE [b10546ecf] 2022-10-11 18:54:31 -0400
|
|
Branch: REL_13_STABLE [744270137] 2022-10-11 18:54:31 -0400
|
|
Branch: REL_12_STABLE [8f98352b5] 2022-10-11 18:54:31 -0400
|
|
Branch: REL_11_STABLE [6c1de98ba] 2022-10-11 18:54:31 -0400
|
|
Branch: REL_10_STABLE [ab35b9dd7] 2022-10-11 18:54:31 -0400
|
|
-->
|
|
<para>
|
|
Prevent postmaster crash when shared-memory state is corrupted
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The postmaster process is supposed to survive and initiate a
|
|
database restart if shared memory becomes corrupted, but one
|
|
bit of code was being insufficiently cautious about that.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f25bed380] 2022-08-24 13:02:19 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [3d3c05c70] 2022-08-24 13:02:19 -0400
|
|
Branch: REL_14_STABLE [444ec169a] 2022-08-24 13:01:40 -0400
|
|
Branch: REL_13_STABLE [2d1f1523c] 2022-08-24 13:01:40 -0400
|
|
Branch: REL_12_STABLE [599a487b0] 2022-08-24 13:01:40 -0400
|
|
Branch: REL_11_STABLE [310d734ef] 2022-08-24 13:01:40 -0400
|
|
Branch: REL_10_STABLE [f5157a9ac] 2022-08-24 13:01:40 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e07ebd4b6] 2022-08-13 15:21:28 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [00ac61695] 2022-08-13 15:21:28 -0400
|
|
Branch: REL_14_STABLE [496ab1d6c] 2022-08-13 15:21:28 -0400
|
|
Branch: REL_13_STABLE [60f876317] 2022-08-13 15:21:28 -0400
|
|
Branch: REL_12_STABLE [ba516fb07] 2022-08-13 15:21:28 -0400
|
|
Branch: REL_11_STABLE [b744e13b0] 2022-08-13 15:21:28 -0400
|
|
Branch: REL_10_STABLE [362032f17] 2022-08-13 15:21:28 -0400
|
|
-->
|
|
<para>
|
|
Add some more defenses against recursion till stack overrun
|
|
(Richard Guo, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1c1294be7] 2022-08-31 16:23:35 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [0c599e748] 2022-08-31 16:23:20 -0400
|
|
Branch: REL_14_STABLE [feec1b2d5] 2022-08-31 16:23:20 -0400
|
|
Branch: REL_13_STABLE [45f7152b9] 2022-08-31 16:23:20 -0400
|
|
Branch: REL_12_STABLE [8fc6b9635] 2022-08-31 16:23:20 -0400
|
|
Branch: REL_11_STABLE [cb9232d16] 2022-08-31 16:23:20 -0400
|
|
Branch: REL_10_STABLE [fd640dbb8] 2022-08-31 16:23:20 -0400
|
|
-->
|
|
<para>
|
|
Avoid long-term memory leakage in the autovacuum launcher process
|
|
(Reid Thompson)
|
|
</para>
|
|
|
|
<para>
|
|
The lack of field reports suggests that this problem is only latent
|
|
in pre-v15 branches; but it's not very clear why, so back-patch the
|
|
fix anyway.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [bfd6b3bc4] 2022-09-16 13:23:01 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [b759bb671] 2022-09-16 13:23:01 -0400
|
|
Branch: REL_14_STABLE [56d45fdab] 2022-09-16 13:23:01 -0400
|
|
Branch: REL_13_STABLE [c18d946e2] 2022-09-16 13:23:01 -0400
|
|
Branch: REL_12_STABLE [b3b88d748] 2022-09-16 13:23:01 -0400
|
|
Branch: REL_11_STABLE [7391ab28a] 2022-09-16 13:23:01 -0400
|
|
-->
|
|
<para>
|
|
Improve <application>PL/pgSQL</application>'s ability to handle
|
|
parameters declared as <type>RECORD</type> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Build a separate function cache entry for each concrete type passed
|
|
to the <type>RECORD</type> parameter during a session, much as we do
|
|
for polymorphic parameters. This allows some usages to work that
|
|
previously failed with errors such as <quote>type of parameter does
|
|
not match that when preparing the plan</quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [bb9237a12] 2022-08-15 15:40:07 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [ef9f35964] 2022-08-15 15:40:07 -0400
|
|
Branch: REL_14_STABLE [d63a69157] 2022-08-15 15:40:07 -0400
|
|
Branch: REL_13_STABLE [e37e9a655] 2022-08-15 15:40:07 -0400
|
|
Branch: REL_12_STABLE [c19024d74] 2022-08-15 15:40:07 -0400
|
|
Branch: REL_11_STABLE [ee4a17e20] 2022-08-15 15:40:07 -0400
|
|
Branch: REL_10_STABLE [2a280832e] 2022-08-15 15:40:07 -0400
|
|
-->
|
|
<para>
|
|
Add missing guards for <literal>NULL</literal> connection pointer
|
|
in <application>libpq</application> (Daniele Varrazzo, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
There's a convention that <application>libpq</application> functions
|
|
should check for a NULL PGconn argument, and fail gracefully instead
|
|
of crashing. <function>PQflush()</function>
|
|
and <function>PQisnonblocking()</function> didn't get that memo, so
|
|
fix them.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b7050e258] 2022-09-09 15:34:04 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [fbb54d742] 2022-09-09 15:34:04 -0400
|
|
Branch: REL_14_STABLE [be0b0528c] 2022-09-09 15:34:04 -0400
|
|
Branch: REL_13_STABLE [a6618842f] 2022-09-09 15:34:04 -0400
|
|
Branch: REL_12_STABLE [9fbc6d548] 2022-09-09 15:34:04 -0400
|
|
Branch: REL_11_STABLE [fe4e151d4] 2022-09-09 15:34:04 -0400
|
|
Branch: REL_10_STABLE [8fe26bca1] 2022-09-09 15:34:04 -0400
|
|
-->
|
|
<para>
|
|
In <application>ecpg</application>, fix omission of variable storage
|
|
classes when multiple <type>varchar</type> or <type>bytea</type>
|
|
variables are declared in the same declaration (Andrey Sokolov)
|
|
</para>
|
|
|
|
<para>
|
|
For example, <application>ecpg</application>
|
|
translated <literal>static varchar str1[10], str2[20],
|
|
str3[30];</literal> in such a way that only <varname>str1</varname>
|
|
was marked <literal>static</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [1f0c4fa25] 2022-10-21 08:21:55 -0400
|
|
Branch: REL_15_STABLE [5c013e620] 2022-10-21 08:31:39 -0400
|
|
Branch: REL_14_STABLE [aaad8adb0] 2022-10-21 08:39:48 -0400
|
|
Branch: REL_13_STABLE [0bf2cd160] 2022-10-21 08:45:08 -0400
|
|
Branch: REL_12_STABLE [475e9daf3] 2022-10-21 08:59:26 -0400
|
|
Branch: REL_11_STABLE [38214dabd] 2022-10-21 09:05:57 -0400
|
|
Branch: REL_10_STABLE [ba58266eb] 2022-10-21 09:11:47 -0400
|
|
-->
|
|
<para>
|
|
Allow cross-platform tablespace relocation
|
|
in <application>pg_basebackup</application> (Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
Allow the remote path in <option>--tablespace-mapping</option> to be
|
|
either a Unix-style or Windows-style absolute path, since the source
|
|
server could be on a different OS than the local system.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [495e73c20] 2022-11-01 12:48:01 -0400
|
|
Branch: REL_15_STABLE [8b0a5cf3f] 2022-11-01 12:48:01 -0400
|
|
Branch: REL_14_STABLE [0f2f5645a] 2022-11-01 12:48:01 -0400
|
|
Branch: REL_13_STABLE [a9fdb48b7] 2022-11-01 12:48:01 -0400
|
|
Branch: REL_12_STABLE [ca4c6764b] 2022-11-01 12:48:01 -0400
|
|
Branch: REL_11_STABLE [149e00192] 2022-11-01 12:48:01 -0400
|
|
Branch: REL_10_STABLE [56083ff30] 2022-11-01 12:48:01 -0400
|
|
-->
|
|
<para>
|
|
In <application>pg_stat_statements</application>, fix access to
|
|
already-freed memory (zhaoqigui)
|
|
</para>
|
|
|
|
<para>
|
|
This occurred if <application>pg_stat_statements</application>
|
|
tracked a <command>ROLLBACK</command> command issued via extended
|
|
query protocol. In debug builds it consistently led to an assertion
|
|
failure. In production builds there would often be no visible ill
|
|
effect; but if the freed memory had already been reused, the likely
|
|
result would be to store garbage for the query string.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
Branch: master [9320cfdd0] 2022-09-14 18:45:00 +0900
|
|
Branch: REL_15_STABLE Release: REL_15_0 [64387c540] 2022-09-14 18:45:01 +0900
|
|
Branch: REL_14_STABLE [b53d104ae] 2022-09-14 18:45:03 +0900
|
|
Branch: REL_13_STABLE [6749d4e8c] 2022-09-14 18:45:04 +0900
|
|
Branch: REL_12_STABLE [87fd3c902] 2022-09-14 18:45:06 +0900
|
|
Branch: REL_11_STABLE [07d81d1e5] 2022-09-14 18:45:07 +0900
|
|
Branch: REL_10_STABLE [d4adff0e9] 2022-09-14 18:45:09 +0900
|
|
-->
|
|
<para>
|
|
In <application>postgres_fdw</application>, ensure that target lists
|
|
constructed for EvalPlanQual plans will have all required columns
|
|
(Richard Guo, Etsuro Fujita)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids <quote>variable not found in subplan target list</quote>
|
|
errors in rare cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c4b6d218e] 2022-09-09 12:41:36 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [100a8ca2c] 2022-09-09 12:41:36 -0400
|
|
Branch: REL_14_STABLE [e55ccb3b1] 2022-09-09 12:41:36 -0400
|
|
Branch: REL_13_STABLE [a61095aa7] 2022-09-09 12:41:36 -0400
|
|
Branch: REL_12_STABLE [23fe89a61] 2022-09-09 12:41:36 -0400
|
|
Branch: REL_11_STABLE [4d3f54bd7] 2022-09-09 12:41:36 -0400
|
|
Branch: REL_10_STABLE [95028d9de] 2022-09-09 12:41:36 -0400
|
|
-->
|
|
<para>
|
|
Reject unwanted output from the platform's
|
|
<function>uuid_create()</function> function (Nazir Bilal Yavuz)
|
|
</para>
|
|
|
|
<para>
|
|
The <application>uuid-ossp</application> module expects
|
|
libc's <function>uuid_create()</function> to produce a version-1
|
|
UUID, but recent NetBSD releases produce a version-4 (random) UUID
|
|
instead. Check for that, and complain if so. Drop the
|
|
documentation's claim that the NetBSD implementation is usable
|
|
for <application>uuid-ossp</application>.
|
|
(If a version-4 UUID is okay for your purposes, you don't
|
|
need <application>uuid-ossp</application> at all; just
|
|
use <function>gen_random_uuid()</function>.)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: REL_14_STABLE [4f6d1cfd6] 2022-10-11 09:56:13 +0200
|
|
Branch: REL_13_STABLE [33d979aee] 2022-10-11 09:56:13 +0200
|
|
Branch: REL_12_STABLE [fa5c13178] 2022-10-11 09:56:13 +0200
|
|
Branch: REL_11_STABLE [dd8263873] 2022-10-11 09:56:13 +0200
|
|
Branch: REL_10_STABLE [8bf470527] 2022-10-11 09:56:13 +0200
|
|
-->
|
|
<para>
|
|
Include new Perl test modules in standard installations
|
|
(Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Add <filename>PostgreSQL/Test/Cluster.pm</filename> and
|
|
<filename>PostgreSQL/Test/Utils.pm</filename> to the standard
|
|
installation file set in pre-version-15 branches. This is for the
|
|
benefit of extensions that want to use newly-written test code in
|
|
older branches.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8acd8f869] 2022-08-30 17:28:37 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [529d8f373] 2022-08-30 17:28:55 -0400
|
|
Branch: REL_14_STABLE [464db4676] 2022-08-30 17:29:03 -0400
|
|
Branch: REL_13_STABLE [a94b019d4] 2022-08-30 17:29:08 -0400
|
|
Branch: REL_12_STABLE [68bfe36c5] 2022-08-30 17:29:13 -0400
|
|
Branch: REL_11_STABLE [6fd58ca77] 2022-08-30 17:29:17 -0400
|
|
Branch: REL_10_STABLE [5bed28e69] 2022-08-30 17:29:23 -0400
|
|
-->
|
|
<para>
|
|
On NetBSD, force dynamic symbol resolution at postmaster start
|
|
(Andres Freund, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids a risk of deadlock in the dynamic linker on NetBSD 10.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [c2ae01f69] 2022-10-19 22:18:26 +1300
|
|
Branch: REL_15_STABLE [af64846e1] 2022-10-19 22:18:54 +1300
|
|
Branch: REL_14_STABLE [d033f8f8b] 2022-10-19 22:32:14 +1300
|
|
Branch: REL_13_STABLE [cf94cb586] 2022-10-19 22:38:58 +1300
|
|
Branch: REL_12_STABLE [aa34bc4e2] 2022-10-19 22:44:53 +1300
|
|
Branch: REL_11_STABLE [da3a6825e] 2022-10-19 22:49:25 +1300
|
|
-->
|
|
<para>
|
|
Fix incompatibilities with LLVM 15 (Thomas Munro, Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1c72d82c2] 2022-11-02 17:37:29 -0400
|
|
Branch: REL_15_STABLE [a5737e765] 2022-11-02 17:37:26 -0400
|
|
Branch: REL_14_STABLE [058c7b5dd] 2022-11-02 17:37:26 -0400
|
|
Branch: REL_13_STABLE [c479492c0] 2022-11-02 17:37:26 -0400
|
|
Branch: REL_12_STABLE [5ecf836e9] 2022-11-02 17:37:26 -0400
|
|
Branch: REL_11_STABLE [a0f9be1f9] 2022-11-02 17:37:26 -0400
|
|
Branch: REL_10_STABLE [19cefebe7] 2022-11-02 17:37:26 -0400
|
|
-->
|
|
<para>
|
|
Allow use of <function>__sync_lock_test_and_set()</function> for
|
|
spinlocks on any machine (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This eases porting to new machine architectures, at least if you're
|
|
using a compiler that supports this GCC builtin function.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [717ec1aae] 2022-10-16 15:27:04 -0400
|
|
Branch: REL_15_STABLE [24c4c2617] 2022-10-16 15:27:04 -0400
|
|
Branch: REL_14_STABLE [18e60712d] 2022-10-16 15:27:04 -0400
|
|
Branch: REL_13_STABLE [bc7a40b42] 2022-10-16 15:27:04 -0400
|
|
Branch: REL_12_STABLE [3d7df87c4] 2022-10-16 15:27:04 -0400
|
|
Branch: REL_11_STABLE [6618c276b] 2022-10-16 15:27:04 -0400
|
|
Branch: REL_10_STABLE [02d074e3e] 2022-10-16 15:27:04 -0400
|
|
Branch: REL9_6_STABLE [9bfa043a1] 2022-10-16 15:27:04 -0400
|
|
Branch: REL9_5_STABLE [377b37cf7] 2022-10-16 15:27:04 -0400
|
|
Branch: REL9_4_STABLE [57dfb6ce6] 2022-10-16 15:27:04 -0400
|
|
Branch: REL9_3_STABLE [ee4c44014] 2022-10-16 15:27:04 -0400
|
|
Branch: REL9_2_STABLE [fec443414] 2022-10-16 15:27:04 -0400
|
|
-->
|
|
<para>
|
|
Rename symbol <literal>REF</literal> to <literal>REF_P</literal> to
|
|
avoid compile failure on recent macOS (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [450ee7012] 2022-10-16 11:47:44 -0400
|
|
Branch: REL_15_STABLE [bd4b2926e] 2022-10-16 11:47:44 -0400
|
|
Branch: REL_14_STABLE [6fa431d84] 2022-10-16 11:47:44 -0400
|
|
Branch: REL_13_STABLE [a2acafc7b] 2022-10-16 11:47:44 -0400
|
|
Branch: REL_12_STABLE [d33ac1ec2] 2022-10-16 11:47:44 -0400
|
|
-->
|
|
<para>
|
|
Avoid using <function>sprintf</function>, to avoid compile-time
|
|
deprecation warnings (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_15_STABLE Release: REL_15_0 [f9a56e726] 2022-09-20 18:59:53 -0400
|
|
Branch: REL_14_STABLE [dcd7dbed5] 2022-09-20 18:59:53 -0400
|
|
Branch: REL_13_STABLE [43f72e0f7] 2022-09-20 18:59:53 -0400
|
|
Branch: REL_12_STABLE [52a5fd5b9] 2022-09-20 18:59:53 -0400
|
|
Branch: REL_11_STABLE [9afdf3950] 2022-09-20 18:59:53 -0400
|
|
Branch: REL_10_STABLE [4c5a29c0e] 2022-09-20 18:59:53 -0400
|
|
Branch: REL9_6_STABLE [ca8fd341e] 2022-09-20 18:59:53 -0400
|
|
Branch: REL9_5_STABLE [1b6986599] 2022-09-20 18:59:53 -0400
|
|
Branch: REL9_4_STABLE [7d5d3f05b] 2022-09-20 18:59:53 -0400
|
|
Branch: REL9_3_STABLE [8c8ee5c99] 2022-09-20 18:59:54 -0400
|
|
Branch: REL9_2_STABLE [5d3ce0d82] 2022-09-20 18:59:54 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [152c9f7b8] 2022-09-20 12:04:37 -0400
|
|
Branch: REL_15_STABLE Release: REL_15_0 [b7d9b0c26] 2022-09-20 12:04:37 -0400
|
|
Branch: REL_14_STABLE [2e124d857] 2022-09-20 12:04:37 -0400
|
|
Branch: REL_13_STABLE [ca3b730ba] 2022-09-20 12:04:37 -0400
|
|
Branch: REL_12_STABLE [f38a0bde2] 2022-09-20 12:04:37 -0400
|
|
Branch: REL_11_STABLE [6ae8aee0b] 2022-09-20 12:04:37 -0400
|
|
Branch: REL_10_STABLE [760308704] 2022-09-20 12:04:37 -0400
|
|
Branch: REL9_6_STABLE [85c077f9e] 2022-09-20 12:04:37 -0400
|
|
Branch: REL9_5_STABLE [612e79661] 2022-09-20 12:04:37 -0400
|
|
Branch: REL_14_STABLE [88c947cb5] 2022-09-21 13:52:38 -0400
|
|
Branch: REL_13_STABLE [db8e36682] 2022-09-21 13:52:38 -0400
|
|
Branch: REL_12_STABLE [9a2267bcf] 2022-09-21 13:52:38 -0400
|
|
Branch: REL_11_STABLE [bb8dbc9f2] 2022-09-21 13:52:38 -0400
|
|
Branch: REL_10_STABLE [9c69e2640] 2022-09-21 13:52:38 -0400
|
|
Branch: REL9_6_STABLE [c705646b7] 2022-09-21 13:52:38 -0400
|
|
Branch: REL9_5_STABLE [96e595124] 2022-09-21 13:52:38 -0400
|
|
Branch: REL9_4_STABLE [3c5a33a52] 2022-09-21 13:52:38 -0400
|
|
Branch: REL9_3_STABLE [bf2161234] 2022-09-21 13:52:38 -0400
|
|
Branch: REL9_2_STABLE [850cb88e4] 2022-09-21 13:52:38 -0400
|
|
-->
|
|
<para>
|
|
Silence assorted compiler warnings from clang 15 and later (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e7c7605a7] 2022-11-01 17:08:28 -0400
|
|
Branch: REL_15_STABLE [c3d16eb3d] 2022-11-01 17:08:49 -0400
|
|
Branch: REL_14_STABLE [97bb80b1b] 2022-11-01 17:08:58 -0400
|
|
Branch: REL_13_STABLE [ebf48810b] 2022-11-01 17:09:04 -0400
|
|
Branch: REL_12_STABLE [ec9a000d8] 2022-11-01 17:09:09 -0400
|
|
Branch: REL_11_STABLE [b1cb77bdf] 2022-11-01 17:09:16 -0400
|
|
Branch: REL_10_STABLE [b3326a753] 2022-11-01 17:09:21 -0400
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2022f for DST law changes in Chile, Fiji, Iran, Jordan,
|
|
Mexico, Palestine, and Syria, plus historical corrections for Chile,
|
|
Crimea, Iran, and Mexico.
|
|
</para>
|
|
|
|
<para>
|
|
Also, the Europe/Kiev zone has been renamed to Europe/Kyiv.
|
|
Also, the following zones have been merged into nearby,
|
|
more-populous zones whose clocks have agreed with them since 1970:
|
|
Antarctica/Vostok, Asia/Brunei,
|
|
Asia/Kuala_Lumpur, Atlantic/Reykjavik, Europe/Amsterdam,
|
|
Europe/Copenhagen, Europe/Luxembourg, Europe/Monaco, Europe/Oslo,
|
|
Europe/Stockholm, Indian/Christmas, Indian/Cocos, Indian/Kerguelen,
|
|
Indian/Mahe, Indian/Reunion, Pacific/Chuuk, Pacific/Funafuti,
|
|
Pacific/Majuro, Pacific/Pohnpei, Pacific/Wake and Pacific/Wallis.
|
|
(This indirectly affects zones that were already links to one of
|
|
these: Arctic/Longyearbyen, Atlantic/Jan_Mayen, Iceland,
|
|
Pacific/Ponape, Pacific/Truk, and Pacific/Yap.) America/Nipigon,
|
|
America/Rainy_River, America/Thunder_Bay, Europe/Uzhgorod, and
|
|
Europe/Zaporozhye were also merged into nearby zones after
|
|
discovering that their claimed post-1970 differences from those
|
|
zones seem to have been errors.
|
|
In all these cases, the previous zone name remains as an alias;
|
|
but the actual data is that of the zone that was merged into.
|
|
</para>
|
|
|
|
<para>
|
|
These zone mergers result in loss of pre-1970 timezone history for
|
|
the merged zones, which may be troublesome for applications
|
|
expecting consistency of <type>timestamptz</type> display. As an
|
|
example, the stored value <literal>1944-06-01 12:00 UTC</literal>
|
|
would previously display as <literal>1944-06-01
|
|
13:00:00+01</literal> if the Europe/Stockholm zone is selected, but
|
|
now it will read out as <literal>1944-06-01 14:00:00+02</literal>.
|
|
</para>
|
|
|
|
<para>
|
|
It is possible to build the time zone data files with options that
|
|
will restore the older zone data, but that choice also inserts a lot
|
|
of other old (and typically poorly-attested) zone data, resulting in
|
|
more total changes from the previous release than accepting these
|
|
upstream changes does. <productname>PostgreSQL</productname> has
|
|
chosen to ship the <productname>tzdb</productname> data
|
|
as-recommended, and so far as we are aware most major operating
|
|
system distributions are doing likewise. However, if these changes
|
|
cause significant problems for your application, a possible solution
|
|
is to install a local build of the time zone data files using
|
|
<productname>tzdb</productname>'s backwards-compatibility options
|
|
(see their <literal>PACKRATDATA</literal>
|
|
and <literal>PACKRATLIST</literal> options).
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-12">
|
|
<title>Release 12.12</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2022-08-11</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.11.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.12</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you are upgrading from a version earlier than 12.10,
|
|
see <xref linkend="release-12-10"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b9b21acc7] 2022-08-08 11:12:31 -0400
|
|
Branch: REL_15_STABLE [cc7e0feba] 2022-08-08 11:12:31 -0400
|
|
Branch: REL_14_STABLE [5721da7e4] 2022-08-08 11:12:31 -0400
|
|
Branch: REL_13_STABLE [7e92f78ab] 2022-08-08 11:12:31 -0400
|
|
Branch: REL_12_STABLE [5579726bd] 2022-08-08 11:12:31 -0400
|
|
Branch: REL_11_STABLE [f52d2fbd8] 2022-08-08 11:12:31 -0400
|
|
Branch: REL_10_STABLE [5919bb5a5] 2022-08-08 11:12:31 -0400
|
|
-->
|
|
<para>
|
|
Do not let extension scripts replace objects not already belonging
|
|
to the extension (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This change prevents extension scripts from doing <command>CREATE
|
|
OR REPLACE</command> if there is an existing object that does not
|
|
belong to the extension. It also prevents <command>CREATE IF NOT
|
|
EXISTS</command> in the same situation. This prevents a form of
|
|
trojan-horse attack in which a hostile database user could become
|
|
the owner of an extension object and then modify it to compromise
|
|
future uses of the object by other users. As a side benefit, it
|
|
also reduces the risk of accidentally replacing objects one did
|
|
not mean to.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks
|
|
Sven Klemm for reporting this problem.
|
|
(CVE-2022-2625)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [9e4f914b5] 2022-07-28 08:40:06 +0200
|
|
Branch: REL_15_STABLE [8348413db] 2022-07-28 08:26:05 +0200
|
|
Branch: REL_14_STABLE [a3aacb7cb] 2022-07-28 08:26:05 +0200
|
|
Branch: REL_13_STABLE [9a7e26b9c] 2022-07-28 08:26:05 +0200
|
|
Branch: REL_12_STABLE [6d20f8c5a] 2022-07-28 08:26:05 +0200
|
|
Branch: REL_11_STABLE [5a10c262f] 2022-07-28 08:26:05 +0200
|
|
Branch: REL_10_STABLE [084318c33] 2022-07-28 08:26:05 +0200
|
|
Branch: master [59be1c942] 2022-07-29 12:50:47 +0200
|
|
Branch: REL_15_STABLE [798d64488] 2022-07-29 12:50:47 +0200
|
|
Branch: REL_14_STABLE [4d8d85740] 2022-07-29 12:50:47 +0200
|
|
Branch: REL_13_STABLE [7cfe688de] 2022-07-29 12:50:47 +0200
|
|
Branch: REL_12_STABLE [658e5d534] 2022-07-29 12:50:47 +0200
|
|
Branch: REL_11_STABLE [fcd72cf29] 2022-07-29 12:50:47 +0200
|
|
Branch: REL_10_STABLE [6ffaf75a8] 2022-07-29 12:50:47 +0200
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [b998196bb] 2022-07-29 17:54:19 -0400
|
|
Branch: REL_15_STABLE [2eb3f167f] 2022-07-29 18:17:17 -0400
|
|
Branch: REL_14_STABLE [e90c4fc88] 2022-07-29 18:17:30 -0400
|
|
Branch: REL_13_STABLE [b76e136ce] 2022-07-29 18:17:36 -0400
|
|
Branch: REL_12_STABLE [4349a7615] 2022-07-29 18:17:42 -0400
|
|
Branch: REL_11_STABLE [3f9c20536] 2022-07-29 18:17:49 -0400
|
|
Branch: REL_10_STABLE [c308003d2] 2022-07-29 18:17:55 -0400
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [6c1c9f88a] 2022-08-06 15:52:10 +0200
|
|
Branch: REL_15_STABLE [6390bc740] 2022-08-06 15:52:10 +0200
|
|
Branch: REL_14_STABLE [9d5c96d9b] 2022-08-06 15:52:10 +0200
|
|
Branch: REL_13_STABLE [8c5d9ccca] 2022-08-06 15:52:10 +0200
|
|
Branch: REL_12_STABLE [782e5631e] 2022-08-06 15:52:10 +0200
|
|
Branch: REL_11_STABLE [772e6383d] 2022-08-06 15:52:10 +0200
|
|
Branch: REL_10_STABLE [ad0e08394] 2022-08-06 15:52:10 +0200
|
|
-->
|
|
<para>
|
|
Fix replay of <command>CREATE DATABASE</command> WAL
|
|
records on standby servers
|
|
(Kyotaro Horiguchi, Asim R Praveen, Paul Guo)
|
|
</para>
|
|
|
|
<para>
|
|
Standby servers may encounter missing tablespace directories
|
|
when replaying database-creation WAL records. Prior to this
|
|
patch, a standby would fail to recover in such a case;
|
|
however, such directories could be legitimately missing.
|
|
Create the tablespace (as a plain directory), then check that it
|
|
has been dropped again once replay reaches a consistent state.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: REL_14_STABLE [961cab0a5] 2022-07-27 07:55:13 +0200
|
|
Branch: REL_13_STABLE [16e7a8fd8] 2022-07-27 07:55:13 +0200
|
|
Branch: REL_12_STABLE [ca347f543] 2022-07-27 07:55:12 +0200
|
|
Branch: REL_11_STABLE [258c89641] 2022-07-27 07:55:12 +0200
|
|
Branch: REL_10_STABLE [7bdbbb873] 2022-07-27 07:55:12 +0200
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [9d3444dcc] 2022-07-22 16:57:12 +1200
|
|
Branch: REL_15_STABLE [6d306ab73] 2022-07-22 16:57:36 +1200
|
|
Branch: REL_14_STABLE [fee0165fc] 2022-07-22 16:57:57 +1200
|
|
Branch: master [4fc6b6eef] 2022-07-28 14:26:12 +1200
|
|
Branch: REL_15_STABLE [fc4e5af30] 2022-07-28 14:27:28 +1200
|
|
Branch: REL_14_STABLE [5ad478c9d] 2022-07-28 14:27:06 +1200
|
|
-->
|
|
<para>
|
|
Support <quote>in place</quote> tablespaces
|
|
(Thomas Munro, Michael Paquier, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Normally a Postgres tablespace is a symbolic link to a directory on
|
|
some other filesystem. This change allows it to just be a plain
|
|
directory. While this has no use for separating tables onto
|
|
different filesystems, it is a convenient setup for testing.
|
|
Moreover, it is necessary to support the <command>CREATE
|
|
DATABASE</command> replay fix, which transiently creates a missing
|
|
tablespace as an <quote>in place</quote> tablespace.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master Release: REL_15_BR [00377b9a0] 2022-06-25 09:07:41 -0700
|
|
Branch: REL_14_STABLE [ace997386] 2022-06-25 09:07:44 -0700
|
|
Branch: REL_13_STABLE [8782ce49e] 2022-06-25 09:07:45 -0700
|
|
Branch: REL_12_STABLE [93731d549] 2022-06-25 09:07:45 -0700
|
|
Branch: REL_11_STABLE [6d49cc286] 2022-06-25 09:07:46 -0700
|
|
Branch: REL_10_STABLE [88b39e614] 2022-06-25 09:07:46 -0700
|
|
-->
|
|
<para>
|
|
Fix permissions checks in <command>CREATE INDEX</command> (Nathan
|
|
Bossart, Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
The fix for CVE-2022-1552 caused <command>CREATE INDEX</command> to
|
|
apply the table owner's permissions while performing lookups of
|
|
operator classes and other objects, where formerly the calling
|
|
user's permissions were used. This broke dump/restore scenarios,
|
|
because <application>pg_dump</application> issues <command>CREATE
|
|
INDEX</command> before re-granting permissions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f92944137] 2022-07-26 13:07:03 -0400
|
|
Branch: REL_15_STABLE [a0c632c1d] 2022-07-26 13:07:03 -0400
|
|
Branch: REL_14_STABLE [3e1297a63] 2022-07-26 13:07:03 -0400
|
|
Branch: REL_13_STABLE [6c193c2ac] 2022-07-26 13:07:03 -0400
|
|
Branch: REL_12_STABLE [968b89257] 2022-07-26 13:07:03 -0400
|
|
Branch: REL_11_STABLE [9e3e1ac45] 2022-07-26 13:07:03 -0400
|
|
Branch: REL_10_STABLE [964f42aa2] 2022-07-26 13:07:03 -0400
|
|
-->
|
|
<para>
|
|
In extended query protocol, force an immediate commit
|
|
after <command>CREATE DATABASE</command> and other commands that
|
|
can't run in a transaction block (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If the client does not send a Sync message immediately after such a
|
|
command, but instead sends another command, any failure in that
|
|
command would lead to rolling back the preceding command, typically
|
|
leaving inconsistent state on-disk (such as a missing or extra
|
|
database directory). The mechanisms intended to prevent that
|
|
situation turn out to work for multiple commands in a simple-Query
|
|
message, but not for a series of extended-protocol messages. To
|
|
prevent inconsistency without breaking use-cases that work today,
|
|
force an implicit commit after such commands.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master Release: REL_15_BR [adf6d5dfb] 2022-06-27 08:21:08 +0300
|
|
Branch: REL_14_STABLE [e24615a00] 2022-06-27 08:24:30 +0300
|
|
Branch: REL_13_STABLE [7ba325fd7] 2022-06-27 08:24:35 +0300
|
|
Branch: REL_12_STABLE [af530898e] 2022-06-27 08:24:36 +0300
|
|
Branch: REL_11_STABLE [b49889f3c] 2022-06-27 08:24:37 +0300
|
|
Branch: REL_10_STABLE [4822b4627] 2022-06-27 08:24:38 +0300
|
|
-->
|
|
<para>
|
|
Fix race condition when checking transaction visibility (Simon Riggs)
|
|
</para>
|
|
|
|
<para>
|
|
<function>TransactionIdIsInProgress</function> could
|
|
report <literal>false</literal> before the subject transaction is
|
|
considered visible, leading to various misbehaviors. The race
|
|
condition window is normally very narrow, but use of synchronous
|
|
replication makes it much wider, because the wait for a synchronous
|
|
replica happens in that window.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_15_BR [1218780cc] 2022-06-10 10:35:57 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_4 [77c1d92cb] 2022-06-10 10:35:57 -0400
|
|
Branch: REL_13_STABLE [254cd7f31] 2022-06-10 10:35:57 -0400
|
|
Branch: REL_12_STABLE [d3ef5c3ef] 2022-06-10 10:35:57 -0400
|
|
Branch: REL_11_STABLE [199aac8b2] 2022-06-10 10:35:57 -0400
|
|
-->
|
|
<para>
|
|
Fix queries in which a <quote>whole-row variable</quote> references
|
|
the result of a function that returns a domain over composite type
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_15_BR [79b58c6f6] 2022-05-12 11:31:46 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_4 [ac51c9fba] 2022-05-12 11:31:46 -0400
|
|
Branch: REL_13_STABLE [b7579b25c] 2022-05-12 11:31:46 -0400
|
|
Branch: REL_12_STABLE [301b91c56] 2022-05-12 11:31:46 -0400
|
|
Branch: REL_11_STABLE [7f7f1750d] 2022-05-12 11:31:46 -0400
|
|
Branch: REL_10_STABLE [b53442f6f] 2022-05-12 11:31:46 -0400
|
|
-->
|
|
<para>
|
|
Fix <quote>variable not found in subplan target list</quote> planner
|
|
error when pulling up a sub-<literal>SELECT</literal> that's
|
|
referenced in a <literal>GROUPING</literal> function (Richard Guo)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [ec0925c22] 2022-08-05 09:47:26 +0200
|
|
Branch: REL_15_STABLE [e78fd9084] 2022-08-05 09:47:15 +0200
|
|
Branch: REL_14_STABLE [731d514ae] 2022-08-05 09:47:11 +0200
|
|
Branch: REL_13_STABLE [ab8556630] 2022-08-05 09:47:06 +0200
|
|
Branch: REL_12_STABLE [6e7b37264] 2022-08-05 09:47:02 +0200
|
|
Branch: REL_11_STABLE [ce8e06652] 2022-08-05 09:46:58 +0200
|
|
Branch: master [90a4b6413] 2022-08-05 11:55:52 +0200
|
|
Branch: REL_15_STABLE [aa242501a] 2022-08-05 11:55:52 +0200
|
|
Branch: REL_14_STABLE [6d9481cd0] 2022-08-05 11:55:52 +0200
|
|
Branch: REL_13_STABLE [d2a74621e] 2022-08-05 11:55:52 +0200
|
|
Branch: REL_12_STABLE [4ad4c1f41] 2022-08-05 11:55:52 +0200
|
|
Branch: REL_11_STABLE [91130dd31] 2022-08-05 11:55:52 +0200
|
|
-->
|
|
<para>
|
|
Fix <literal>ALTER TABLE ... ENABLE/DISABLE TRIGGER</literal> to
|
|
handle recursion correctly for triggers on partitioned tables
|
|
(Álvaro Herrera, Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
In certain cases, a <quote>trigger does not exist</quote> failure
|
|
would occur because the command would try to adjust the trigger on a
|
|
child partition that doesn't have it.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [89a39d4a4] 2022-07-03 17:08:25 -0400
|
|
Branch: REL_15_STABLE [7d9bf589b] 2022-07-03 17:27:03 -0400
|
|
Branch: REL_14_STABLE [7fd43684f] 2022-07-03 17:16:11 -0400
|
|
Branch: REL_13_STABLE [03cefe814] 2022-07-03 17:16:58 -0400
|
|
Branch: REL_12_STABLE [2cf875a4b] 2022-07-03 17:17:08 -0400
|
|
-->
|
|
<para>
|
|
Improve syntax error messages for type <type>jsonpath</type>
|
|
(Andrew Dunstan)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_15_BR [bf4717b09] 2022-06-07 15:34:30 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_4 [5c3b5f7db] 2022-06-07 15:34:30 -0400
|
|
Branch: REL_13_STABLE [a36196972] 2022-06-07 15:34:30 -0400
|
|
Branch: REL_12_STABLE [435251b85] 2022-06-07 15:34:30 -0400
|
|
Branch: REL_11_STABLE [d628ce048] 2022-06-07 15:34:30 -0400
|
|
Branch: REL_10_STABLE [fb646cbd5] 2022-06-07 15:34:30 -0400
|
|
-->
|
|
<para>
|
|
Prevent <function>pg_stat_get_subscription()</function> from
|
|
possibly returning an extra row containing garbage values
|
|
(Kuntal Ghosh)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [b24b2be11] 2022-07-20 09:57:01 +0900
|
|
Branch: REL_15_STABLE [0829cc43e] 2022-07-20 09:57:07 +0900
|
|
Branch: REL_14_STABLE [be2e842c8] 2022-07-20 09:53:37 +0900
|
|
Branch: REL_13_STABLE [162ade612] 2022-07-20 09:53:53 +0900
|
|
Branch: REL_12_STABLE [f0eb83f81] 2022-07-20 09:54:03 +0900
|
|
Branch: REL_11_STABLE [80c3ea918] 2022-07-20 09:54:10 +0900
|
|
Branch: REL_10_STABLE [2497d2b77] 2022-07-20 09:54:24 +0900
|
|
-->
|
|
<para>
|
|
Ensure that <function>pg_stop_backup()</function> cleans up session
|
|
state properly (Fujii Masao)
|
|
</para>
|
|
|
|
<para>
|
|
This omission could lead to assertion failures or crashes later in
|
|
the session.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [8d367a44d] 2022-07-07 13:08:08 +0100
|
|
Branch: REL_15_STABLE [ea9e59d70] 2022-07-07 13:08:06 +0100
|
|
Branch: REL_14_STABLE [8d8464445] 2022-07-07 13:08:03 +0100
|
|
Branch: REL_13_STABLE [f890223bc] 2022-07-07 13:08:00 +0100
|
|
Branch: REL_12_STABLE [f9c655d64] 2022-07-07 13:07:57 +0100
|
|
Branch: REL_11_STABLE [e88b1f1e2] 2022-07-07 13:07:54 +0100
|
|
Branch: REL_10_STABLE [8ace122d4] 2022-07-07 13:07:51 +0100
|
|
-->
|
|
<para>
|
|
Fix join alias matching in <literal>FOR [KEY] UPDATE/SHARE</literal>
|
|
clauses (Dean Rasheed)
|
|
</para>
|
|
|
|
<para>
|
|
In corner cases, a misleading error could be reported.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master Release: REL_15_BR [0fbf01120] 2022-05-18 20:28:31 +0200
|
|
Branch: REL_14_STABLE Release: REL_14_4 [94edb85d2] 2022-05-18 20:28:31 +0200
|
|
Branch: REL_13_STABLE [80656f00f] 2022-05-18 20:28:31 +0200
|
|
Branch: REL_12_STABLE [ade17703d] 2022-05-18 20:28:31 +0200
|
|
Branch: REL_11_STABLE [ba83de8ad] 2022-05-18 20:28:31 +0200
|
|
Branch: REL_10_STABLE [16cb7db34] 2022-05-18 20:28:31 +0200
|
|
Branch: master Release: REL_15_BR [62221ef18] 2022-05-18 23:19:53 +0200
|
|
Branch: REL_14_STABLE Release: REL_14_4 [e8b93c6e2] 2022-05-18 23:19:53 +0200
|
|
Branch: REL_13_STABLE [5139db556] 2022-05-18 23:19:53 +0200
|
|
Branch: REL_12_STABLE [0ebd20e20] 2022-05-18 23:19:53 +0200
|
|
Branch: REL_11_STABLE [50bf3157a] 2022-05-18 23:19:53 +0200
|
|
Branch: REL_10_STABLE [29d111518] 2022-05-18 23:19:53 +0200
|
|
-->
|
|
<para>
|
|
Avoid crashing if too many column aliases are attached to
|
|
an <literal>XMLTABLE</literal> or <literal>JSON_TABLE</literal>
|
|
construct (Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [fd96d14d9] 2022-07-29 13:31:10 -0400
|
|
Branch: REL_15_STABLE [e6e804aa2] 2022-07-29 13:31:11 -0400
|
|
Branch: REL_14_STABLE [8df167baa] 2022-07-29 13:30:50 -0400
|
|
Branch: REL_13_STABLE [ba2002d02] 2022-07-29 13:30:50 -0400
|
|
Branch: REL_12_STABLE [d79f00e82] 2022-07-29 13:30:50 -0400
|
|
Branch: REL_11_STABLE [8dea18372] 2022-07-29 13:30:50 -0400
|
|
Branch: REL_10_STABLE [e6a48014d] 2022-07-29 13:30:50 -0400
|
|
Branch: master [83f1793d6] 2022-08-01 12:22:35 -0400
|
|
Branch: REL_15_STABLE [adc3ae6eb] 2022-08-01 12:22:35 -0400
|
|
Branch: REL_14_STABLE [d947a8bd5] 2022-08-01 12:22:35 -0400
|
|
Branch: REL_13_STABLE [331f8b851] 2022-08-01 12:22:35 -0400
|
|
Branch: REL_12_STABLE [5d280bc89] 2022-08-01 12:22:35 -0400
|
|
Branch: REL_11_STABLE [51d8b52fc] 2022-08-01 12:22:35 -0400
|
|
Branch: REL_10_STABLE [d54fc7e67] 2022-08-01 12:22:35 -0400
|
|
-->
|
|
<para>
|
|
Reject <literal>ROW()</literal> expressions and functions
|
|
in <literal>FROM</literal> that have too many columns (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Cases with more than about 1600 columns are unsupported, and
|
|
have always failed at execution. However, it emerges that some
|
|
earlier code could be driven to assertion failures or crashes by
|
|
queries with more than 32K columns. Add a parse-time check to
|
|
prevent that.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_15_BR [c7461fc25] 2022-05-21 14:45:58 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_4 [6f7eec119] 2022-05-21 14:45:58 -0400
|
|
Branch: REL_13_STABLE [fefd54631] 2022-05-21 14:45:58 -0400
|
|
Branch: REL_12_STABLE [bb2c04676] 2022-05-21 14:45:58 -0400
|
|
Branch: REL_11_STABLE [f3b8d7244] 2022-05-21 14:45:58 -0400
|
|
Branch: REL_10_STABLE [7686403b4] 2022-05-21 14:45:58 -0400
|
|
-->
|
|
<para>
|
|
When decompiling a view or rule, show a <command>SELECT</command>
|
|
output column's <literal>AS "?column?"</literal> alias clause
|
|
if it could be referenced elsewhere (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, this auto-generated alias was always hidden; but there
|
|
are corner cases where doing so results in a non-restorable view or
|
|
rule definition.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b9654cece] 2022-07-21 13:56:02 -0400
|
|
Branch: REL_15_STABLE [c1d1e8469] 2022-07-21 13:56:05 -0400
|
|
Branch: REL_14_STABLE [da9a28fd5] 2022-07-21 13:56:02 -0400
|
|
Branch: REL_13_STABLE [5b5d43513] 2022-07-21 13:56:02 -0400
|
|
Branch: REL_12_STABLE [b243092a6] 2022-07-21 13:56:02 -0400
|
|
Branch: REL_11_STABLE [1078742af] 2022-07-21 13:56:02 -0400
|
|
Branch: REL_10_STABLE [6bceacfe8] 2022-07-21 13:56:02 -0400
|
|
-->
|
|
<para>
|
|
Fix dumping of a view using a function in <literal>FROM</literal>
|
|
that returns a composite type, when column(s) of the composite type
|
|
have been dropped since the view was made (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead to dump/reload
|
|
or <application>pg_upgrade</application> failures, as the dumped
|
|
view would have too many column aliases for the function.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master Release: REL_15_BR [602986191] 2022-05-20 18:52:55 +0200
|
|
Branch: REL_14_STABLE Release: REL_14_4 [58b088a9b] 2022-05-20 18:52:55 +0200
|
|
Branch: REL_13_STABLE [3753a169e] 2022-05-20 18:52:55 +0200
|
|
Branch: REL_12_STABLE [4492e73a6] 2022-05-20 18:52:55 +0200
|
|
Branch: REL_11_STABLE [6c6ea6ea8] 2022-05-20 18:52:55 +0200
|
|
Branch: REL_10_STABLE [70f70d7d3] 2022-05-20 18:52:55 +0200
|
|
Branch: REL_10_STABLE [8c47622bb] 2022-05-20 19:05:55 +0200
|
|
-->
|
|
<para>
|
|
Report implicitly-created operator families to event triggers
|
|
(Masahiko Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
If <command>CREATE OPERATOR CLASS</command> results in the implicit
|
|
creation of an operator family, that object was not reported to
|
|
event triggers that should capture such events.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: REL_14_STABLE Release: REL_14_4 [6dced63b4] 2022-05-16 11:26:22 +0900
|
|
Branch: REL_13_STABLE [2e9559b30] 2022-05-16 11:26:26 +0900
|
|
Branch: REL_12_STABLE [7e59b1219] 2022-05-16 11:26:30 +0900
|
|
Branch: REL_11_STABLE [4525151d4] 2022-05-16 11:26:36 +0900
|
|
Branch: REL_10_STABLE [60e956eb8] 2022-05-16 11:26:41 +0900
|
|
-->
|
|
<para>
|
|
Fix control file updates made when a restartpoint is running during
|
|
promotion of a standby server (Kyotaro Horiguchi)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, when the restartpoint completed it could incorrectly
|
|
update the last-checkpoint fields of the control file, potentially
|
|
leading to PANIC and failure to restart if the server crashes before
|
|
the next normal checkpoint completes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master Release: REL_15_BR [f95d53ede] 2022-05-11 11:11:44 +0530
|
|
Branch: REL_14_STABLE Release: REL_14_4 [d6da71fa8] 2022-05-11 10:51:04 +0530
|
|
Branch: REL_13_STABLE [55558df23] 2022-05-11 10:41:24 +0530
|
|
Branch: REL_12_STABLE [f832b5007] 2022-05-11 10:25:56 +0530
|
|
Branch: REL_11_STABLE [87c1dd246] 2022-05-11 10:12:23 +0530
|
|
Branch: REL_10_STABLE [a4015ec03] 2022-05-11 10:01:35 +0530
|
|
-->
|
|
<para>
|
|
Prevent triggering of
|
|
standby's <varname>wal_receiver_timeout</varname> during logical
|
|
replication of large transactions (Wang Wei, Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
If a large transaction on the primary server sends no data to the
|
|
standby (perhaps because no table it changes is published), it was
|
|
possible for the standby to timeout. Fix that by ensuring we send
|
|
keepalive messages periodically in such situations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [ee7964776] 2022-07-20 09:56:42 +0900
|
|
Branch: REL_15_STABLE [286793b98] 2022-07-20 09:56:52 +0900
|
|
Branch: REL_14_STABLE [2aedf25eb] 2022-07-20 09:52:11 +0900
|
|
Branch: REL_13_STABLE [5630f39b3] 2022-07-20 09:52:23 +0900
|
|
Branch: REL_12_STABLE [9fa00e312] 2022-07-20 09:52:29 +0900
|
|
Branch: REL_11_STABLE [87e504487] 2022-07-20 09:52:36 +0900
|
|
Branch: REL_10_STABLE [dd831afc4] 2022-07-20 09:52:43 +0900
|
|
-->
|
|
<para>
|
|
Disallow nested backup operations in logical replication walsenders
|
|
(Fujii Masao)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master Release: REL_15_BR [ac0e2d387] 2022-06-23 09:23:46 +0530
|
|
Branch: REL_14_STABLE [3238b5c33] 2022-06-23 09:20:41 +0530
|
|
Branch: REL_13_STABLE [3a6ef0cdf] 2022-06-23 09:02:16 +0530
|
|
Branch: REL_12_STABLE [9e0d9a24e] 2022-06-23 08:47:15 +0530
|
|
Branch: REL_11_STABLE [ed2a7a6bf] 2022-06-23 08:37:40 +0530
|
|
Branch: REL_10_STABLE [d873b5a5a] 2022-06-23 08:26:56 +0530
|
|
-->
|
|
<para>
|
|
Fix memory leak in logical replication subscribers (Hou Zhijie)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_15_BR [16c80e7d0] 2022-05-31 14:47:44 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_4 [c47a55852] 2022-05-31 14:47:44 -0400
|
|
Branch: REL_13_STABLE [c73748b68] 2022-05-31 14:47:44 -0400
|
|
Branch: REL_12_STABLE [a3faebd6a] 2022-05-31 14:47:44 -0400
|
|
Branch: REL_11_STABLE [ae758e603] 2022-05-31 14:47:44 -0400
|
|
Branch: REL_10_STABLE [2114910ca] 2022-05-31 14:47:44 -0400
|
|
-->
|
|
<para>
|
|
Prevent open-file leak when reading an invalid timezone abbreviation
|
|
file (Kyotaro Horiguchi)
|
|
</para>
|
|
|
|
<para>
|
|
Such cases could result in harmless warning messages.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_15_BR [f1431f3bf] 2022-05-28 12:12:40 +0900
|
|
Branch: REL_14_STABLE Release: REL_14_4 [fe441a031] 2022-05-28 12:12:46 +0900
|
|
Branch: REL_13_STABLE [1e6802990] 2022-05-28 12:12:51 +0900
|
|
Branch: REL_12_STABLE [ae236bf66] 2022-05-28 12:12:55 +0900
|
|
Branch: REL_11_STABLE [c3db8a2e2] 2022-05-28 12:12:58 +0900
|
|
Branch: REL_10_STABLE [1b40ceea2] 2022-05-28 12:13:02 +0900
|
|
-->
|
|
<para>
|
|
Allow custom server parameters to have short descriptions that are
|
|
NULL (Steve Chavez)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, although extensions could choose to create such
|
|
settings, some code paths would crash while processing them.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [e44dae07f] 2022-08-05 18:00:17 +0200
|
|
Branch: REL_15_STABLE [2cff30259] 2022-08-05 18:00:17 +0200
|
|
Branch: REL_14_STABLE [541f41d4f] 2022-08-05 18:00:17 +0200
|
|
Branch: REL_13_STABLE [de31e6f81] 2022-08-05 18:00:17 +0200
|
|
Branch: REL_12_STABLE [49b85e481] 2022-08-05 18:00:17 +0200
|
|
Branch: REL_11_STABLE [39e45d3ce] 2022-08-05 18:00:17 +0200
|
|
Branch: REL_10_STABLE [e797c7a6f] 2022-08-05 18:00:17 +0200
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [afe58c8b7] 2022-08-07 10:19:40 +0200
|
|
Branch: REL_15_STABLE [9c3006000] 2022-08-07 10:19:40 +0200
|
|
Branch: REL_14_STABLE [f4beef1c2] 2022-08-07 10:19:40 +0200
|
|
Branch: REL_13_STABLE [1626590f2] 2022-08-07 10:19:40 +0200
|
|
Branch: REL_12_STABLE [3aafd5da7] 2022-08-07 10:19:40 +0200
|
|
Branch: REL_11_STABLE [61904503b] 2022-08-07 10:19:40 +0200
|
|
Branch: REL_10_STABLE [8e5874964] 2022-08-07 10:19:40 +0200
|
|
-->
|
|
<para>
|
|
Fix WAL consistency checking logic to correctly
|
|
handle <literal>BRIN_EVACUATE_PAGE</literal> flags (Haiyang Wang)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [eed959a45] 2022-07-11 16:43:29 +1200
|
|
Branch: REL_15_STABLE [53df1e28d] 2022-07-11 16:01:22 +1200
|
|
Branch: REL_14_STABLE [5e7608e81] 2022-07-11 15:47:12 +1200
|
|
Branch: REL_13_STABLE [7cdd0c2d7] 2022-07-11 15:48:54 +1200
|
|
Branch: REL_12_STABLE [4f88dbac2] 2022-07-11 15:51:47 +1200
|
|
Branch: REL_11_STABLE [cd26139a3] 2022-07-11 15:54:24 +1200
|
|
-->
|
|
<para>
|
|
Fix erroneous assertion checks in shared hashtable management
|
|
(Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_14_STABLE [604651880] 2022-06-22 12:11:59 -0400
|
|
Branch: REL_13_STABLE [cfc86f987] 2022-06-22 12:12:00 -0400
|
|
Branch: REL_12_STABLE [293f5c5f4] 2022-06-22 12:12:00 -0400
|
|
Branch: REL_11_STABLE [2f6b8c287] 2022-06-22 12:12:00 -0400
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: REL_14_STABLE [8657946d3] 2022-07-18 16:23:48 +0200
|
|
Branch: REL_13_STABLE [b2c8d5661] 2022-07-18 19:20:07 +0200
|
|
Branch: REL_12_STABLE [9af9e2094] 2022-07-18 19:33:46 +0200
|
|
Branch: REL_11_STABLE [6d61aef5d] 2022-07-18 19:38:24 +0200
|
|
-->
|
|
<para>
|
|
Arrange to clean up after commit-time errors
|
|
within <function>SPI_commit()</function>, rather than expecting
|
|
callers to do that (Peter Eisentraut, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Proper cleanup is complicated and requires use of low-level
|
|
facilities, so it's not surprising that no known caller got it
|
|
right. This led to misbehaviors when a PL procedure
|
|
issued <command>COMMIT</command> but a failure occurred (such as a
|
|
deferred constraint check). To improve matters,
|
|
redefine <function>SPI_commit()</function> as starting a new
|
|
transaction, so that it becomes equivalent
|
|
to <function>SPI_commit_and_chain()</function> except that you get
|
|
default transaction characteristics instead of preserving the prior
|
|
transaction's characteristics. To make this somewhat transparent
|
|
API-wise, redefine <function>SPI_start_transaction()</function> as a
|
|
no-op. All known callers of <function>SPI_commit()</function>
|
|
immediately call <function>SPI_start_transaction()</function>, so
|
|
they will not notice any change. Similar remarks apply
|
|
to <function>SPI_rollback()</function>.
|
|
</para>
|
|
|
|
<para>
|
|
Also fix PL/Python, which omitted any handling of such errors at all,
|
|
resulting in jumping out of the Python interpreter. This is
|
|
reported to crash Python 3.11. Older Python releases leak some
|
|
memory but seem okay with it otherwise.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_15_BR [2b65de7fc] 2022-05-26 14:14:05 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_4 [b4be4a082] 2022-05-26 14:14:05 -0400
|
|
Branch: REL_13_STABLE [9e3dbc6fd] 2022-05-26 14:14:05 -0400
|
|
Branch: REL_12_STABLE [01ab9fb7d] 2022-05-26 14:14:05 -0400
|
|
Branch: REL_11_STABLE [a44bc8b8f] 2022-05-26 14:14:05 -0400
|
|
Branch: REL_10_STABLE [ef54a6576] 2022-05-26 14:14:05 -0400
|
|
-->
|
|
<para>
|
|
Remove misguided SSL key file ownership check
|
|
in <application>libpq</application> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
In the previous minor releases, we copied the server's permission
|
|
checking rules for SSL private key files into libpq. But we should
|
|
not have also copied the server's file-ownership check. While that
|
|
works in normal use-cases, it can result in an unexpected failure
|
|
for clients running as root, and perhaps in other cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_15_BR [6d157e7cb] 2022-06-06 11:20:21 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_4 [a5dbca460] 2022-06-06 11:20:31 -0400
|
|
Branch: REL_13_STABLE [16d68007c] 2022-06-06 11:20:36 -0400
|
|
Branch: REL_12_STABLE [02026cadb] 2022-06-06 11:20:41 -0400
|
|
Branch: REL_11_STABLE [d82ed5b2f] 2022-06-06 11:20:46 -0400
|
|
Branch: REL_10_STABLE [89254606b] 2022-06-06 11:20:52 -0400
|
|
-->
|
|
<para>
|
|
Ensure <application>ecpg</application> reports server connection loss
|
|
sanely (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Misprocessing of a libpq-generated error result, such as a report of
|
|
lost connection, would lead to printing <quote>(null)</quote>
|
|
instead of a useful error message; or in older releases it would
|
|
lead to a crash.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_15_BR [ba412c905] 2022-06-14 18:16:46 -0400
|
|
Branch: REL_14_STABLE [7bc21ed8c] 2022-06-14 18:16:46 -0400
|
|
Branch: REL_13_STABLE [12b8fb34a] 2022-06-14 18:16:46 -0400
|
|
Branch: REL_12_STABLE [9a3aab0f2] 2022-06-14 18:16:46 -0400
|
|
Branch: REL_11_STABLE [f7797747f] 2022-06-14 18:16:46 -0400
|
|
Branch: REL_10_STABLE [86258f083] 2022-06-14 18:16:46 -0400
|
|
-->
|
|
<para>
|
|
Avoid core dump in <application>ecpglib</application> with
|
|
unexpected orders of operations (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Certain operations such as <command>EXEC SQL PREPARE</command> would
|
|
crash (rather than reporting an error as expected) if called before
|
|
establishing any database connection.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [5633836ef] 2022-07-02 13:00:30 -0700
|
|
Branch: REL_15_STABLE [7a28f7cb0] 2022-07-02 13:00:34 -0700
|
|
Branch: REL_14_STABLE [5b94e2bd4] 2022-07-02 13:00:34 -0700
|
|
Branch: REL_13_STABLE [b4d7e92bd] 2022-07-02 13:00:34 -0700
|
|
Branch: REL_12_STABLE [5e0b8f3f4] 2022-07-02 13:00:34 -0700
|
|
Branch: REL_11_STABLE [d68b731a1] 2022-07-02 13:00:35 -0700
|
|
Branch: REL_10_STABLE [12b2a2369] 2022-07-02 13:00:35 -0700
|
|
Branch: master [e2bc24283] 2022-07-02 21:03:19 -0700
|
|
Branch: REL_15_STABLE [8533eb181] 2022-07-02 21:03:22 -0700
|
|
Branch: REL_14_STABLE [463a841d7] 2022-07-02 21:03:22 -0700
|
|
Branch: REL_13_STABLE [97b005f3f] 2022-07-02 21:03:23 -0700
|
|
Branch: REL_12_STABLE [a4240139f] 2022-07-02 21:03:23 -0700
|
|
Branch: REL_11_STABLE [1cad30e3b] 2022-07-02 21:03:24 -0700
|
|
Branch: REL_10_STABLE [f5e4d64bb] 2022-07-02 21:03:24 -0700
|
|
-->
|
|
<para>
|
|
In <application>ecpglib</application>, avoid
|
|
redundant <function>newlocale()</function> calls (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
Allocate a C locale object once per process when first connecting,
|
|
rather than creating and freeing locale objects once per query.
|
|
This mitigates a libc memory leak on AIX, and may offer some
|
|
performance benefit everywhere.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [21267b647] 2022-07-10 16:52:38 +1200
|
|
Branch: REL_15_STABLE [31b485f88] 2022-07-10 16:53:05 +1200
|
|
Branch: REL_14_STABLE [ab7fef0ac] 2022-07-10 16:53:18 +1200
|
|
Branch: REL_13_STABLE [e5b5b4448] 2022-07-10 16:53:39 +1200
|
|
Branch: REL_12_STABLE [09224a35c] 2022-07-10 16:54:09 +1200
|
|
Branch: REL_11_STABLE [21ed12b14] 2022-07-10 16:55:18 +1200
|
|
Branch: REL_10_STABLE [7c5953b7b] 2022-07-10 16:57:04 +1200
|
|
-->
|
|
<para>
|
|
In <application>psql</application>'s <command>\watch</command>
|
|
command, echo a newline after cancellation with control-C
|
|
(Pavel Stehule)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents libedit (and possibly also libreadline) from becoming
|
|
confused about which column the cursor is in.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [8b1ec7d29] 2022-08-01 16:38:23 +0900
|
|
Branch: REL_15_STABLE [07abcd9ab] 2022-08-01 16:39:16 +0900
|
|
Branch: REL_14_STABLE [523926dea] 2022-08-01 16:39:27 +0900
|
|
Branch: REL_13_STABLE [aadaaeff4] 2022-08-01 16:39:30 +0900
|
|
Branch: REL_12_STABLE [24872bbf9] 2022-08-01 16:39:33 +0900
|
|
-->
|
|
<para>
|
|
Fix possible report of wrong error condition
|
|
after <function>clone()</function> failure
|
|
in <application>pg_upgrade</application>
|
|
with <option>--clone</option> option (Justin Pryzby)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c67c2e2a2] 2022-08-02 18:05:38 -0400
|
|
Branch: REL_15_STABLE [82ebc70d1] 2022-08-02 18:05:34 -0400
|
|
Branch: REL_14_STABLE [17fd203b4] 2022-08-02 18:05:34 -0400
|
|
Branch: REL_13_STABLE [6b67db10c] 2022-08-02 18:05:34 -0400
|
|
Branch: REL_12_STABLE [6608a4305] 2022-08-02 18:05:34 -0400
|
|
Branch: REL_11_STABLE [06f6a07ba] 2022-08-02 18:05:34 -0400
|
|
Branch: REL_10_STABLE [dd414bf4e] 2022-08-02 18:05:34 -0400
|
|
-->
|
|
<para>
|
|
Fix <filename>contrib/pg_stat_statements</filename> to avoid
|
|
problems with very large query-text files on 32-bit platforms
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [0a7ccee8f] 2022-07-17 17:27:50 -0400
|
|
Branch: REL_15_STABLE [b8032f481] 2022-07-17 17:27:50 -0400
|
|
Branch: REL_14_STABLE [810bcbd38] 2022-07-17 17:27:50 -0400
|
|
Branch: REL_13_STABLE [6230bd7df] 2022-07-17 17:27:50 -0400
|
|
Branch: REL_12_STABLE [288e499ba] 2022-07-17 17:27:50 -0400
|
|
Branch: REL_11_STABLE [94bcb48ab] 2022-07-17 17:27:50 -0400
|
|
Branch: REL_10_STABLE [26c9e1bd8] 2022-07-17 17:27:51 -0400
|
|
-->
|
|
<para>
|
|
Ensure that <filename>contrib/postgres_fdw</filename> sends
|
|
constants of <type>regconfig</type> and other <type>reg*</type>
|
|
types with proper schema qualification (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [4518c798b] 2022-07-14 18:01:27 +1200
|
|
Branch: REL_15_STABLE [c4a617ea1] 2022-07-14 18:00:58 +1200
|
|
Branch: REL_14_STABLE [2019e6ecf] 2022-07-14 17:48:32 +1200
|
|
Branch: REL_13_STABLE [e73fe6e82] 2022-07-14 14:32:48 +1200
|
|
Branch: REL_12_STABLE [ff78bf796] 2022-07-14 14:26:49 +1200
|
|
Branch: REL_11_STABLE [39683c69a] 2022-07-14 14:23:03 +1200
|
|
Branch: REL_10_STABLE [53cfe403c] 2022-07-14 10:50:13 +1200
|
|
Branch: master [80845b7c0] 2022-07-15 02:00:09 +1200
|
|
Branch: REL_15_STABLE [a715c2004] 2022-07-15 02:00:35 +1200
|
|
Branch: REL_14_STABLE [838364559] 2022-07-15 02:02:28 +1200
|
|
Branch: REL_13_STABLE [17aa39da5] 2022-07-15 02:04:53 +1200
|
|
Branch: REL_12_STABLE [a05f40ef8] 2022-07-15 02:06:01 +1200
|
|
Branch: REL_11_STABLE [74a9ee034] 2022-07-15 02:07:15 +1200
|
|
Branch: REL_10_STABLE [e26024bea] 2022-07-15 02:08:27 +1200
|
|
Branch: master [3b8d23a3e] 2022-07-16 12:22:42 +1200
|
|
Branch: REL_15_STABLE [91377a455] 2022-07-16 12:23:03 +1200
|
|
Branch: REL_14_STABLE [c412c60b9] 2022-07-16 12:23:14 +1200
|
|
Branch: REL_13_STABLE [c75b6b454] 2022-07-16 12:23:24 +1200
|
|
Branch: REL_12_STABLE [1661c40b9] 2022-07-16 12:23:34 +1200
|
|
Branch: REL_11_STABLE [3f2344d4a] 2022-07-16 12:23:43 +1200
|
|
Branch: REL_10_STABLE [d3b0884c0] 2022-07-16 12:23:52 +1200
|
|
-->
|
|
<para>
|
|
Block signals while allocating dynamic shared memory on Linux
|
|
(Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids problems when a signal
|
|
interrupts <function>posix_fallocate()</function>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [389869af5] 2022-07-01 14:17:54 +1200
|
|
Branch: REL_15_STABLE [fef8c7a0c] 2022-07-01 13:15:17 +1200
|
|
Branch: REL_14_STABLE [fb81a93a6] 2022-07-01 13:16:27 +1200
|
|
Branch: REL_13_STABLE [b436047dc] 2022-07-01 14:03:48 +1200
|
|
Branch: REL_12_STABLE [f7b69b1e3] 2022-07-01 13:26:50 +1200
|
|
Branch: REL_11_STABLE [facfd0467] 2022-07-01 13:21:28 +1200
|
|
Branch: REL_10_STABLE [22b9afaf5] 2022-07-01 13:19:06 +1200
|
|
-->
|
|
<para>
|
|
Detect unexpected <literal>EEXIST</literal> error
|
|
from <function>shm_open()</function> (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids a possible crash on Solaris.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_15_BR [eb39610f8] 2022-06-01 16:15:47 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_4 [1072e4c45] 2022-06-01 16:15:47 -0400
|
|
Branch: REL_13_STABLE [eeac7dd9f] 2022-06-01 16:15:47 -0400
|
|
Branch: REL_12_STABLE [c08538734] 2022-06-01 16:15:47 -0400
|
|
Branch: REL_11_STABLE [b5265196e] 2022-06-01 16:15:47 -0400
|
|
Branch: REL_10_STABLE [d5e1d5ed9] 2022-06-01 16:15:47 -0400
|
|
Branch: REL9_6_STABLE [d4c161842] 2022-06-01 16:15:47 -0400
|
|
Branch: REL9_5_STABLE [9fdeae848] 2022-06-01 16:15:47 -0400
|
|
Branch: REL9_4_STABLE [b53780e1b] 2022-06-01 16:15:47 -0400
|
|
Branch: REL9_3_STABLE [a3b685fdd] 2022-06-01 16:15:47 -0400
|
|
Branch: REL9_2_STABLE [6f9ea6cf3] 2022-06-01 16:15:47 -0400
|
|
-->
|
|
<para>
|
|
Adjust PL/Perl test case so it will work under Perl 5.36
|
|
(Dagfinn Ilmari Mannsåker)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_15_BR [aff45c879] 2022-05-10 18:42:02 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_4 [12736e7dc] 2022-05-10 18:42:02 -0400
|
|
Branch: REL_13_STABLE [af9b96767] 2022-05-10 18:42:02 -0400
|
|
Branch: REL_12_STABLE [8ed13fb93] 2022-05-10 18:42:02 -0400
|
|
Branch: REL_11_STABLE [36d76da81] 2022-05-10 18:42:02 -0400
|
|
Branch: REL_10_STABLE [c61f36d99] 2022-05-10 18:42:02 -0400
|
|
-->
|
|
<para>
|
|
Avoid incorrectly using an
|
|
out-of-date <application>libldap_r</application> library when
|
|
multiple <productname>OpenLDAP</productname> installations are
|
|
present while building <productname>PostgreSQL</productname>
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-11">
|
|
<title>Release 12.11</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2022-05-12</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.10.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.11</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you are upgrading from a version earlier than 12.10,
|
|
see <xref linkend="release-12-10"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [a117cebd6] 2022-05-09 08:35:08 -0700
|
|
Branch: REL_14_STABLE [ab49ce7c3] 2022-05-09 08:35:12 -0700
|
|
Branch: REL_13_STABLE [35edcc0ce] 2022-05-09 08:35:12 -0700
|
|
Branch: REL_12_STABLE [7f098f7b5] 2022-05-09 08:35:12 -0700
|
|
Branch: REL_11_STABLE [48ca2904c] 2022-05-09 08:35:13 -0700
|
|
Branch: REL_10_STABLE [ef792f785] 2022-05-09 08:35:13 -0700
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [0abc1a059] 2022-05-09 08:35:08 -0700
|
|
Branch: REL_14_STABLE [677a49478] 2022-05-09 08:35:12 -0700
|
|
Branch: REL_13_STABLE [88743d581] 2022-05-09 08:35:12 -0700
|
|
Branch: REL_12_STABLE [880511cb0] 2022-05-09 08:35:12 -0700
|
|
Branch: REL_11_STABLE [34ff15660] 2022-05-09 08:35:13 -0700
|
|
Branch: REL_10_STABLE [f26d57028] 2022-05-09 08:35:13 -0700
|
|
-->
|
|
<para>
|
|
Confine additional operations within <quote>security restricted
|
|
operation</quote> sandboxes (Sergey Shinderuk, Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
Autovacuum, <command>CLUSTER</command>, <command>CREATE
|
|
INDEX</command>, <command>REINDEX</command>, <command>REFRESH
|
|
MATERIALIZED VIEW</command>,
|
|
and <application>pg_amcheck</application> activated
|
|
the <quote>security restricted operation</quote> protection
|
|
mechanism too late, or even not at all in some code paths.
|
|
A user having permission to create non-temporary objects within a
|
|
database could define an object that would execute arbitrary SQL
|
|
code with superuser permissions the next time that autovacuum
|
|
processed the object, or that some superuser ran one of the affected
|
|
commands against it.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks
|
|
Alexander Lakhin for reporting this problem.
|
|
(CVE-2022-1552)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ec62cb0aa] 2022-03-17 18:18:05 -0400
|
|
Branch: REL_14_STABLE [1d072bd20] 2022-03-17 18:18:05 -0400
|
|
Branch: REL_13_STABLE [5e144cc89] 2022-03-17 18:18:05 -0400
|
|
Branch: REL_12_STABLE [1f5ef5ae0] 2022-03-17 18:18:05 -0400
|
|
Branch: REL_11_STABLE [13b54d1e0] 2022-03-17 18:18:05 -0400
|
|
Branch: REL_10_STABLE [205214c8b] 2022-03-17 18:18:05 -0400
|
|
-->
|
|
<para>
|
|
Stop using query-provided column aliases for the columns of
|
|
whole-row variables that refer to plain tables (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The column names in tuples produced by a whole-row variable (such
|
|
as <literal>tbl.*</literal> in contexts other than the top level of
|
|
a <literal>SELECT</literal> list) are now always those of the
|
|
associated named composite type, if there is one. We'd previously
|
|
attempted to make them track any column aliases that had been
|
|
applied to the <literal>FROM</literal> entry the variable refers to.
|
|
But that's semantically dubious, because really then the output of
|
|
the variable is not at all of the composite type it claims to be.
|
|
Previous attempts to deal with that inconsistency had bad results up
|
|
to and including storing unreadable data on disk, so just give up on
|
|
the whole idea.
|
|
</para>
|
|
|
|
<para>
|
|
In cases where it's important to be able to relabel such columns,
|
|
a workaround is to introduce an extra level of
|
|
sub-<literal>SELECT</literal>, so that the whole-row variable is
|
|
referring to the sub-<literal>SELECT</literal>'s output and not to a
|
|
plain table. Then the variable is of type <type>record</type>
|
|
to begin with and there's no issue.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [068739fb4] 2022-03-18 16:01:42 -0400
|
|
Branch: REL_14_STABLE [ae8ec7feb] 2022-03-18 16:01:42 -0400
|
|
Branch: REL_13_STABLE [88ae77588] 2022-03-18 16:01:42 -0400
|
|
Branch: REL_12_STABLE [840729fd1] 2022-03-18 16:01:42 -0400
|
|
Branch: REL_11_STABLE [84f3ecdaa] 2022-03-18 16:01:42 -0400
|
|
Branch: REL_10_STABLE [e6fd4a3da] 2022-03-18 16:01:42 -0400
|
|
-->
|
|
<para>
|
|
Fix incorrect output for types <type>timestamptz</type>
|
|
and <type>timetz</type> in <function>table_to_xmlschema()</function>
|
|
and allied functions (Renan Soares Lopes)
|
|
</para>
|
|
|
|
<para>
|
|
The xmlschema output for these types included a malformed regular
|
|
expression.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [fe20afaee] 2022-05-09 14:15:37 -0400
|
|
Branch: REL_14_STABLE [ab2f78392] 2022-05-09 14:15:37 -0400
|
|
Branch: REL_13_STABLE [91a3a74c6] 2022-05-09 14:15:37 -0400
|
|
Branch: REL_12_STABLE [90e52884e] 2022-05-09 14:15:37 -0400
|
|
Branch: REL_11_STABLE [539f8c563] 2022-05-09 14:15:37 -0400
|
|
Branch: REL_10_STABLE [4eabaffca] 2022-05-09 14:15:37 -0400
|
|
-->
|
|
<para>
|
|
Avoid core dump in parser for a <literal>VALUES</literal> clause with
|
|
zero columns (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2591ee8ec] 2022-03-21 17:44:29 -0400
|
|
Branch: REL_14_STABLE [48b6035f0] 2022-03-21 17:44:29 -0400
|
|
Branch: REL_13_STABLE [dfefe38fb] 2022-03-21 17:44:29 -0400
|
|
Branch: REL_12_STABLE [69c88e2fb] 2022-03-21 17:44:29 -0400
|
|
Branch: REL_11_STABLE [5de244196] 2022-03-21 17:44:29 -0400
|
|
Branch: REL_10_STABLE [2afa031ac] 2022-03-21 17:44:29 -0400
|
|
-->
|
|
<para>
|
|
Fix planner errors for <function>GROUPING()</function> constructs
|
|
that reference outer query levels (Richard Guo, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e5691cc91] 2022-02-11 15:24:02 -0500
|
|
Branch: REL_14_STABLE [277e744ae] 2022-02-11 15:23:52 -0500
|
|
Branch: REL_13_STABLE [0778b24ce] 2022-02-11 15:23:52 -0500
|
|
Branch: REL_12_STABLE [32e801676] 2022-02-11 15:23:52 -0500
|
|
Branch: REL_11_STABLE [14ee565f3] 2022-02-11 15:23:52 -0500
|
|
Branch: REL_10_STABLE [b6f869bee] 2022-02-11 15:23:52 -0500
|
|
-->
|
|
<para>
|
|
Fix plan generation for index-only scans on indexes with
|
|
both returnable and non-returnable columns (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The previous coding could try to read non-returnable columns
|
|
in addition to the returnable ones. This was fairly harmless
|
|
because it didn't actually do anything with the bogus values,
|
|
but it fell foul of a recently-added error check that rejected
|
|
such a plan.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7b7ed046c] 2022-04-13 13:35:07 -0400
|
|
Branch: REL_14_STABLE [c590e514a] 2022-04-13 13:35:02 -0400
|
|
Branch: REL_13_STABLE [44096c31e] 2022-04-13 13:35:02 -0400
|
|
Branch: REL_12_STABLE [e0ed20d0b] 2022-04-13 13:35:02 -0400
|
|
-->
|
|
<para>
|
|
Avoid accessing a no-longer-pinned shared buffer while attempting
|
|
to lock an outdated tuple during EvalPlanQual (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The code would touch the buffer a couple more times after releasing
|
|
its pin. In theory another process could recycle the buffer (or
|
|
more likely, try to defragment its free space) as soon as the pin is
|
|
gone, probably leading to failure to find the newer version of the
|
|
tuple.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [3f74daa8d] 2022-02-14 04:17:04 +0300
|
|
Branch: REL_14_STABLE [c76665edc] 2022-02-14 03:32:31 +0300
|
|
Branch: REL_13_STABLE [ac2303aa0] 2022-02-14 03:32:34 +0300
|
|
Branch: REL_12_STABLE [7a12a9e3c] 2022-02-14 03:32:39 +0300
|
|
Branch: REL_11_STABLE [0d554775b] 2022-02-14 04:04:19 +0300
|
|
Branch: REL_10_STABLE [2e9033a54] 2022-02-14 04:04:28 +0300
|
|
-->
|
|
<para>
|
|
Fix query-lifespan memory leak in an IndexScan node that is
|
|
performing reordering (Aliaksandr Kalenik)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [344a225cb] 2022-04-19 23:03:59 -0400
|
|
Branch: REL_14_STABLE [08a9e7a8c] 2022-04-19 23:03:59 -0400
|
|
Branch: REL_13_STABLE [f583633bc] 2022-04-19 23:03:59 -0400
|
|
Branch: REL_12_STABLE [481a99811] 2022-04-19 23:03:59 -0400
|
|
Branch: REL_11_STABLE [9130f8cbb] 2022-04-19 23:03:59 -0400
|
|
Branch: REL_10_STABLE [409bcfda6] 2022-04-19 23:03:59 -0400
|
|
-->
|
|
<para>
|
|
Fix <command>ALTER FUNCTION</command> to support changing a
|
|
function's parallelism property and
|
|
its <literal>SET</literal>-variable list in the same command (Tom
|
|
Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The parallelism property change was lost if the same command also
|
|
updated the function's <literal>SET</literal> clause.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [36d4efe77] 2022-04-18 12:16:45 -0400
|
|
Branch: REL_14_STABLE [e805735a8] 2022-04-18 12:16:45 -0400
|
|
Branch: REL_13_STABLE [69cefb3fb] 2022-04-18 12:16:45 -0400
|
|
Branch: REL_12_STABLE [0795da869] 2022-04-18 12:16:45 -0400
|
|
-->
|
|
<para>
|
|
Fix bogus errors from attempts to alter system columns of tables
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The system should just tell you that you can't do it, but sometimes
|
|
it would report <quote>no owned sequence found</quote> instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
Branch: master [8ab0ebb9a] 2022-04-20 17:17:43 -0700
|
|
Branch: REL_14_STABLE [e4521841a] 2022-04-20 17:17:41 -0700
|
|
Branch: REL_13_STABLE [1272630a2] 2022-04-20 17:17:39 -0700
|
|
Branch: REL_12_STABLE [5487585e3] 2022-04-20 17:17:37 -0700
|
|
Branch: REL_11_STABLE [adb2d84fc] 2022-04-20 17:17:35 -0700
|
|
Branch: REL_10_STABLE [a903895b3] 2022-04-20 17:17:33 -0700
|
|
-->
|
|
<para>
|
|
Fix mis-sorting of table rows when <command>CLUSTER</command>ing
|
|
using an index whose leading key is an expression (Peter Geoghegan,
|
|
Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
The table would be rebuilt with the correct data, but in an order
|
|
having little to do with the index order.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7b6ec8653] 2022-03-21 12:22:13 -0400
|
|
Branch: REL_14_STABLE [05ccf974c] 2022-03-21 12:22:13 -0400
|
|
Branch: REL_13_STABLE [2241e5ced] 2022-03-21 12:22:13 -0400
|
|
Branch: REL_12_STABLE [d8d378d51] 2022-03-21 12:22:13 -0400
|
|
Branch: REL_11_STABLE [b8ae17fd9] 2022-03-21 12:22:13 -0400
|
|
-->
|
|
<para>
|
|
Fix risk of deadlock failures while dropping a partitioned index
|
|
(Jimmy Yih, Gaurab Dey, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Ensure that the required table and index locks are taken in the
|
|
standard order (parents before children, tables before indexes).
|
|
The previous coding for <command>DROP INDEX</command> did it
|
|
differently, and so could deadlock against concurrent queries taking
|
|
these locks in the standard order.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [46d9bfb0a] 2022-03-16 17:20:24 +1300
|
|
Branch: REL_14_STABLE [26e007939] 2022-03-16 17:20:50 +1300
|
|
Branch: REL_13_STABLE [51e760e5a] 2022-03-16 17:21:19 +1300
|
|
Branch: REL_12_STABLE [c918f07dd] 2022-03-16 17:21:46 +1300
|
|
Branch: REL_11_STABLE [ca522c60a] 2022-03-16 17:38:55 +1300
|
|
Branch: REL_10_STABLE [fe197872c] 2022-03-16 17:41:31 +1300
|
|
-->
|
|
<para>
|
|
Fix race condition between <command>DROP TABLESPACE</command> and
|
|
checkpointing (Nathan Bossart)
|
|
</para>
|
|
|
|
<para>
|
|
The checkpoint forced by <command>DROP TABLESPACE</command> could
|
|
sometimes fail to remove all dead files from the tablespace's
|
|
directory, leading to a bogus <quote>tablespace is not empty</quote>
|
|
error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [412ad7a55] 2022-03-24 14:52:28 -0400
|
|
Branch: REL_14_STABLE [bbace5697] 2022-03-24 14:32:48 -0400
|
|
Branch: REL_13_STABLE [1ce14b6b2] 2022-03-24 14:36:06 -0400
|
|
Branch: REL_12_STABLE [3821d66a7] 2022-03-24 14:38:51 -0400
|
|
Branch: REL_11_STABLE [118f1a332] 2022-03-24 14:49:08 -0400
|
|
Branch: REL_10_STABLE [57f618310] 2022-03-24 14:50:06 -0400
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: REL_14_STABLE [10520f434] 2022-04-14 11:10:07 -0400
|
|
Branch: REL_13_STABLE [d18c913b7] 2022-04-14 11:10:11 -0400
|
|
Branch: REL_12_STABLE [68e605b9e] 2022-04-14 11:10:13 -0400
|
|
Branch: REL_11_STABLE [6270ee445] 2022-04-14 11:10:16 -0400
|
|
Branch: REL_10_STABLE [48b398943] 2022-04-14 11:10:18 -0400
|
|
-->
|
|
<para>
|
|
Fix possible trouble in crash recovery after
|
|
a <command>TRUNCATE</command> command that overlaps a checkpoint
|
|
(Kyotaro Horiguchi, Heikki Linnakangas, Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
<command>TRUNCATE</command> must ensure that the table's disk file
|
|
is truncated before the checkpoint is allowed to complete.
|
|
Otherwise, replay starting from that checkpoint might find
|
|
unexpected data in the supposedly-removed pages, possibly causing
|
|
replay failure.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [7c38ef2a5] 2022-02-21 08:57:34 -0800
|
|
Branch: REL_14_STABLE [7bbfe5994] 2022-02-21 09:57:05 -0800
|
|
Branch: REL_13_STABLE [c2551483e] 2022-02-21 08:59:30 -0800
|
|
Branch: REL_12_STABLE [0033fc63f] 2022-02-21 08:59:32 -0800
|
|
Branch: REL_11_STABLE [3faa21bb7] 2022-02-21 08:59:34 -0800
|
|
Branch: REL_10_STABLE [cebc54b90] 2022-02-21 08:59:36 -0800
|
|
-->
|
|
<para>
|
|
Fix unsafe toast-data accesses during temporary object cleanup
|
|
(Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
Temporary-object deletion during server process exit could fail
|
|
with <quote>FATAL: cannot fetch toast data without an active
|
|
snapshot</quote>. This was usually harmless since the next use of
|
|
that temporary schema would clean up successfully.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [3390ef1b7] 2022-03-16 15:35:16 +1300
|
|
Branch: REL_14_STABLE [1396b5c6e] 2022-03-16 15:35:42 +1300
|
|
Branch: REL_13_STABLE [cfdb303be] 2022-03-16 15:37:15 +1300
|
|
Branch: REL_12_STABLE [368ffdeee] 2022-03-16 15:38:13 +1300
|
|
-->
|
|
<para>
|
|
Improve wait logic in RegisterSyncRequest (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
If we run out of space in the checkpointer sync request queue (which
|
|
is hopefully rare on real systems, but is common when testing with a
|
|
very small buffer pool), we wait for it to drain. While waiting, we
|
|
should report that as a wait event so that users know what is going
|
|
on, and also watch for postmaster death, since otherwise the loop might
|
|
never terminate if the checkpointer has already exited.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [9d92582ab] 2022-03-23 18:22:10 +0100
|
|
Branch: REL_14_STABLE [caaeb88ff] 2022-03-23 18:22:10 +0100
|
|
Branch: REL_13_STABLE [98eb3e06c] 2022-03-23 18:22:10 +0100
|
|
Branch: REL_12_STABLE [c714ebd0e] 2022-03-23 18:22:10 +0100
|
|
Branch: REL_11_STABLE [199cd7b59] 2022-03-23 18:22:10 +0100
|
|
Branch: REL_10_STABLE [9ade3c09a] 2022-03-23 18:22:10 +0100
|
|
-->
|
|
<para>
|
|
Fix <quote>PANIC: xlog flush request is not satisfied</quote>
|
|
failure during standby promotion when there is a missing WAL
|
|
continuation record (Sami Imseih)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [8f1537d10] 2022-05-02 18:25:00 -0700
|
|
Branch: REL_14_STABLE [9ab3b2bdb] 2022-05-02 18:25:59 -0700
|
|
Branch: REL_13_STABLE [57c5ad168] 2022-05-02 18:28:10 -0700
|
|
Branch: REL_12_STABLE [edfc03ec9] 2022-05-02 18:29:52 -0700
|
|
Branch: REL_11_STABLE [9cda785b4] 2022-05-02 18:30:15 -0700
|
|
Branch: REL_10_STABLE [cbc47ad7e] 2022-05-02 18:30:38 -0700
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: REL_14_STABLE [f74496dd6] 2022-05-02 18:26:09 -0700
|
|
Branch: REL_13_STABLE [0446d3bf3] 2022-05-02 18:29:35 -0700
|
|
Branch: REL_12_STABLE [a5ede1391] 2022-05-02 18:29:52 -0700
|
|
Branch: REL_11_STABLE [25d5494e2] 2022-05-02 18:30:15 -0700
|
|
Branch: REL_10_STABLE [b1f35a36e] 2022-05-02 18:30:38 -0700
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: REL_14_STABLE [5ab8e8014] 2022-05-02 18:09:42 -0700
|
|
Branch: REL_13_STABLE [90abe1e17] 2022-05-02 18:09:43 -0700
|
|
Branch: REL_12_STABLE [5c8b14a71] 2022-05-02 18:09:43 -0700
|
|
Branch: REL_11_STABLE [2adb8debe] 2022-05-02 18:09:44 -0700
|
|
Branch: REL_10_STABLE [e8a0cf9b2] 2022-05-02 18:09:44 -0700
|
|
-->
|
|
<para>
|
|
Fix possibility of self-deadlock in hot standby conflict handling
|
|
(Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
With unlucky timing, the WAL-applying process could get stuck
|
|
while waiting for some other process to release a buffer lock.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [dd4ab6fd6] 2022-04-19 08:49:49 +0530
|
|
Branch: REL_14_STABLE [c9dea58e2] 2022-04-19 08:54:37 +0530
|
|
Branch: REL_13_STABLE [82d4a17a1] 2022-04-19 09:08:05 +0530
|
|
Branch: REL_12_STABLE [59348fbde] 2022-04-19 09:18:44 +0530
|
|
Branch: REL_11_STABLE [a90de822e] 2022-04-19 09:29:34 +0530
|
|
Branch: REL_10_STABLE [be46985be] 2022-04-19 09:38:25 +0530
|
|
-->
|
|
<para>
|
|
Ensure that logical replication apply workers can be restarted even
|
|
when we're up against
|
|
the <varname>max_sync_workers_per_subscription</varname> limit
|
|
(Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
Faulty coding of the limit check caused a restarted worker to exit
|
|
immediately, leaving fewer workers than there should be.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [5e01001ff] 2022-02-14 08:55:58 +0530
|
|
Branch: REL_14_STABLE [04645bbca] 2022-02-14 08:07:46 +0530
|
|
Branch: REL_13_STABLE [caa231be9] 2022-02-14 08:24:44 +0530
|
|
Branch: REL_12_STABLE [ce349cf17] 2022-02-14 08:27:56 +0530
|
|
Branch: REL_11_STABLE [1cd5802ac] 2022-02-14 08:37:23 +0530
|
|
Branch: REL_10_STABLE [b5e060473] 2022-02-14 08:45:54 +0530
|
|
-->
|
|
<para>
|
|
Include unchanged replica identity key columns in the WAL log for an
|
|
update, if they are stored out-of-line (Dilip Kumar, Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
Otherwise subscribers cannot see the values and will fail to
|
|
replicate the update.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_12_STABLE [e16db75dd] 2022-02-15 12:21:28 -0500
|
|
Branch: REL_11_STABLE [efae4401c] 2022-02-15 12:21:28 -0500
|
|
Branch: REL_10_STABLE [17a8c4c3a] 2022-02-15 12:21:28 -0500
|
|
-->
|
|
<para>
|
|
Improve logical replication subscriber's error message for an
|
|
unsupported relation kind (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
v13 and later servers support publishing partitioned tables. Older
|
|
server versions cannot handle subscribing to such a table, and they
|
|
gave a very misleading error message: <quote>table XYZ not found on
|
|
publisher</quote>. Arrange to deliver a more on-point message.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [638300fef] 2022-02-25 17:40:43 -0500
|
|
Branch: REL_14_STABLE [ac910bb23] 2022-02-25 17:40:43 -0500
|
|
Branch: REL_13_STABLE [9b2d762a2] 2022-02-25 17:40:44 -0500
|
|
Branch: REL_12_STABLE [0f7b62f29] 2022-02-25 17:40:45 -0500
|
|
Branch: REL_11_STABLE [31befa6be] 2022-02-25 17:40:45 -0500
|
|
Branch: REL_10_STABLE [4936747c4] 2022-02-25 17:40:21 -0500
|
|
-->
|
|
<para>
|
|
Disallow execution of SPI functions during PL/Perl function
|
|
compilation (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Perl can be convinced to execute user-defined code during compilation
|
|
of a PL/Perl function. However, it's not okay for such code to try
|
|
to invoke SQL operations via SPI. That results in a crash, and if
|
|
it didn't crash it would be a security hazard, because we really
|
|
don't want code execution during function validation. Put in a
|
|
check to give a friendlier error message instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a59c79564] 2022-02-28 14:12:52 -0500
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [50f03473e] 2022-03-02 11:29:11 -0500
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_14_STABLE [2a1f84636] 2022-03-02 11:57:02 -0500
|
|
Branch: REL_13_STABLE [6599d8f12] 2022-03-02 11:57:02 -0500
|
|
Branch: REL_12_STABLE [72918ea86] 2022-03-02 11:57:02 -0500
|
|
Branch: REL_11_STABLE [5bb3d91ea] 2022-03-02 11:57:02 -0500
|
|
Branch: REL_10_STABLE [9050999ef] 2022-03-02 11:57:02 -0500
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [878e64d0f] 2022-03-31 11:24:26 -0400
|
|
Branch: REL_14_STABLE [402279afe] 2022-03-31 11:24:26 -0400
|
|
Branch: REL_13_STABLE [fb1d7f451] 2022-03-31 11:24:26 -0400
|
|
Branch: REL_12_STABLE [fcaf7d725] 2022-03-31 11:24:26 -0400
|
|
Branch: REL_11_STABLE [143043191] 2022-03-31 11:24:26 -0400
|
|
Branch: REL_10_STABLE [a6bd1f0ee] 2022-03-31 11:24:26 -0400
|
|
-->
|
|
<para>
|
|
Make <application>libpq</application> accept root-owned SSL private
|
|
key files (David Steele)
|
|
</para>
|
|
|
|
<para>
|
|
This change synchronizes <application>libpq</application>'s rules
|
|
for safe ownership and permissions of SSL key files with the rules
|
|
the server has used since release 9.6. Namely, in addition to the
|
|
current rules, allow the case where the key file is owned by root
|
|
and has permissions <literal>rw-r-----</literal> or less. This is
|
|
helpful for system-wide management of key files.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [335fa5a26] 2022-02-12 13:23:20 -0500
|
|
Branch: REL_14_STABLE [ae27b1acc] 2022-02-12 13:23:20 -0500
|
|
Branch: REL_13_STABLE [51ee561f5] 2022-02-12 13:23:20 -0500
|
|
Branch: REL_12_STABLE [c9d35dc7f] 2022-02-12 13:23:20 -0500
|
|
-->
|
|
<para>
|
|
Fix behavior of <application>libpq</application>'s
|
|
<function>PQisBusy()</function> function after a connection failure
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If we'd detected a write failure, <function>PQisBusy()</function>
|
|
would always return true, which is the wrong thing: we want input
|
|
processing to carry on normally until we've read whatever is
|
|
available from the server. The practical effect of this error is
|
|
that applications using <application>libpq</application>'s
|
|
async-query API would typically detect connection loss only
|
|
when <function>PQconsumeInput()</function> returns a hard failure.
|
|
With this fix, a connection loss will normally be reported via an
|
|
error <structname>PGresult</structname> object, which is a much
|
|
cleaner behavior for most applications.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a745b9365] 2022-02-10 16:49:39 -0500
|
|
Branch: REL_14_STABLE [1e8c5cf7c] 2022-02-10 16:49:39 -0500
|
|
Branch: REL_13_STABLE [d0e1fd958] 2022-02-10 16:49:39 -0500
|
|
Branch: REL_12_STABLE [61c20a5ea] 2022-02-10 16:49:39 -0500
|
|
Branch: REL_11_STABLE [69cc15c31] 2022-02-10 16:49:39 -0500
|
|
Branch: REL_10_STABLE [34523933b] 2022-02-10 16:49:39 -0500
|
|
-->
|
|
<para>
|
|
Make <application>pg_ctl</application> recheck postmaster aliveness
|
|
while waiting for stop/restart/promote actions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
<application>pg_ctl</application> would verify that the postmaster
|
|
is alive as a side-effect of sending the stop or promote signal, but
|
|
then it just naively waited to see the on-disk state change. If the
|
|
postmaster died uncleanly without having removed its PID file or
|
|
updated the control file, <application>pg_ctl</application> would
|
|
wait until timeout. Instead make it recheck every so often that the
|
|
postmaster process is still there.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [cd83cb953] 2022-02-25 10:30:05 -0800
|
|
Branch: REL_14_STABLE [9ff7fd906] 2022-02-25 10:31:16 -0800
|
|
Branch: REL_13_STABLE [0b1020a96] 2022-02-25 10:32:38 -0800
|
|
Branch: REL_12_STABLE [5407241a8] 2022-02-25 10:34:38 -0800
|
|
Branch: REL_11_STABLE [51c341656] 2022-02-25 10:40:32 -0800
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [264d28492] 2022-03-27 18:13:50 -0700
|
|
Branch: REL_14_STABLE [6839aa7a6] 2022-03-27 18:15:10 -0700
|
|
Branch: REL_13_STABLE [344d89abf] 2022-03-27 18:15:14 -0700
|
|
Branch: REL_12_STABLE [5ebd262dc] 2022-03-27 18:15:15 -0700
|
|
Branch: REL_11_STABLE [7d935bdf7] 2022-03-27 18:15:17 -0700
|
|
-->
|
|
<para>
|
|
Fix error handling in <application>pg_waldump</application> (Kyotaro
|
|
Horiguchi, Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
While trying to read a WAL file to determine the WAL segment size,
|
|
<application>pg_waldump</application> would report an incorrect
|
|
error for the case of a too-short file. In addition, the file name
|
|
reported in this and related error messages could be garbage.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [cd4868a57] 2022-04-14 15:08:03 +0900
|
|
Branch: REL_14_STABLE [df6bbe73b] 2022-04-14 15:09:26 +0900
|
|
Branch: REL_13_STABLE [2275d044d] 2022-04-14 15:09:36 +0900
|
|
Branch: REL_12_STABLE [5378d55cb] 2022-04-14 15:09:39 +0900
|
|
Branch: REL_11_STABLE [79fed072b] 2022-04-14 15:09:42 +0900
|
|
Branch: REL_10_STABLE [12d32b7bc] 2022-04-14 15:09:46 +0900
|
|
-->
|
|
<para>
|
|
Ensure that <filename>contrib/pageinspect</filename> functions cope
|
|
with all-zero pages (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This is a legitimate edge case, but the module was mostly unprepared
|
|
for it. Arrange to return nulls, or no rows, as appropriate; that
|
|
seems more useful than raising an error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [291e517a4] 2022-03-27 17:53:40 +0900
|
|
Branch: REL_14_STABLE [27d384441] 2022-03-27 17:53:51 +0900
|
|
Branch: REL_13_STABLE [3d4d6dee0] 2022-03-27 17:53:55 +0900
|
|
Branch: REL_12_STABLE [5ca2aa2f2] 2022-03-27 17:53:59 +0900
|
|
Branch: REL_11_STABLE [1a2fdf86a] 2022-03-27 17:54:03 +0900
|
|
Branch: REL_10_STABLE [ab80b0fbb] 2022-03-27 17:54:08 +0900
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [076f4d953] 2022-03-16 11:19:39 +0900
|
|
Branch: REL_14_STABLE [b61e6214c] 2022-03-16 11:20:47 +0900
|
|
Branch: REL_13_STABLE [d3a9b83c3] 2022-03-16 11:20:51 +0900
|
|
Branch: REL_12_STABLE [af8a8eb54] 2022-03-16 11:20:54 +0900
|
|
Branch: REL_11_STABLE [2389ee8dd] 2022-03-16 11:20:57 +0900
|
|
Branch: REL_10_STABLE [c42b88932] 2022-03-16 11:21:00 +0900
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [4477dcb20] 2022-03-16 12:29:39 +0900
|
|
Branch: REL_14_STABLE [dc5b3bdae] 2022-03-16 12:29:47 +0900
|
|
Branch: REL_13_STABLE [028a3c6b1] 2022-03-16 12:29:55 +0900
|
|
Branch: REL_12_STABLE [5cb770210] 2022-03-16 12:29:59 +0900
|
|
Branch: REL_11_STABLE [09c97746d] 2022-03-16 12:30:02 +0900
|
|
Branch: REL_10_STABLE [07e343513] 2022-03-16 12:30:07 +0900
|
|
-->
|
|
<para>
|
|
In <filename>contrib/pageinspect</filename>, add defenses against
|
|
incorrect page <quote>special space</quote> contents, tighten checks
|
|
for correct page size, and add some missing checks that an index is
|
|
of the expected type (Michael Paquier, Justin Pryzby, Julien
|
|
Rouhaud)
|
|
</para>
|
|
|
|
<para>
|
|
These changes make it less likely that the module will crash on bad
|
|
data.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f3dd9fe1d] 2022-03-31 14:29:48 -0400
|
|
Branch: REL_14_STABLE [9f9489aa2] 2022-03-31 14:29:24 -0400
|
|
Branch: REL_13_STABLE [79df1d20c] 2022-03-31 14:29:24 -0400
|
|
Branch: REL_12_STABLE [989d3e4a2] 2022-03-31 14:29:24 -0400
|
|
Branch: REL_11_STABLE [b9eb0412f] 2022-03-31 14:29:24 -0400
|
|
Branch: REL_10_STABLE [728fc0f9a] 2022-03-31 14:29:24 -0400
|
|
-->
|
|
<para>
|
|
In <filename>contrib/postgres_fdw</filename>, verify
|
|
that <literal>ORDER BY</literal> clauses are safe to ship before
|
|
requesting a remotely-ordered query, and include
|
|
a <literal>USING</literal> clause if necessary (Ronan Dunklau)
|
|
</para>
|
|
|
|
<para>
|
|
This fix prevents situations where the remote server might sort in a
|
|
different order than we intend. While sometimes that would be only
|
|
cosmetic, it could produce thoroughly wrong results if the remote
|
|
data is used as input for a locally-performed merge join.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [e6a760020] 2021-09-27 10:53:20 +1300
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [807fee1a3] 2022-02-04 16:16:10 +1300
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [a56e7b660] 2022-03-16 10:30:55 +1300
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: REL_14_STABLE [d9f7ad54e] 2022-03-16 11:42:00 +1300
|
|
Branch: REL_13_STABLE [5610411ac] 2022-03-16 11:41:13 +1300
|
|
Branch: REL_12_STABLE [45a469eb2] 2022-03-16 11:40:43 +1300
|
|
Branch: REL_11_STABLE [986d24042] 2022-03-16 11:35:00 +1300
|
|
-->
|
|
<para>
|
|
Update <acronym>JIT</acronym> code to work with LLVM 14
|
|
(Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [46ab07ffd] 2022-03-03 18:13:24 -0500
|
|
Branch: REL_14_STABLE [b0bc196e5] 2022-03-03 18:13:24 -0500
|
|
Branch: REL_13_STABLE [1a027e6b7] 2022-03-03 18:13:24 -0500
|
|
Branch: REL_12_STABLE [f727b6ea8] 2022-03-03 18:13:24 -0500
|
|
Branch: REL_11_STABLE [f2087e26e] 2022-03-03 18:13:24 -0500
|
|
Branch: REL_10_STABLE [cfbe87bd6] 2022-03-03 18:13:24 -0500
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [0fbdfaf79] 2022-03-03 19:03:17 -0500
|
|
Branch: REL_14_STABLE [5c9d17e94] 2022-03-03 19:03:35 -0500
|
|
Branch: REL_13_STABLE [97031f440] 2022-03-03 19:03:42 -0500
|
|
Branch: REL_12_STABLE [4b0696b36] 2022-03-03 19:03:46 -0500
|
|
Branch: REL_11_STABLE [566e1c04d] 2022-03-03 19:03:50 -0500
|
|
Branch: REL_10_STABLE [18c04d157] 2022-03-03 19:03:55 -0500
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [3ac7d0241] 2022-03-23 13:05:59 -0700
|
|
Branch: REL_14_STABLE [81045e1e1] 2022-03-23 13:18:02 -0700
|
|
Branch: REL_13_STABLE [c0f99bb52] 2022-03-23 13:18:00 -0700
|
|
Branch: REL_12_STABLE [61a007fee] 2022-03-23 13:17:59 -0700
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [1c6bb380e] 2022-03-23 13:05:25 -0700
|
|
Branch: REL_14_STABLE [89a94c24a] 2022-03-23 13:13:18 -0700
|
|
Branch: REL_13_STABLE [8014c61eb] 2022-03-23 13:13:20 -0700
|
|
Branch: REL_12_STABLE [c5b60a68c] 2022-03-23 13:13:33 -0700
|
|
Branch: REL_11_STABLE [2121d5809] 2022-03-23 13:13:40 -0700
|
|
Branch: REL_10_STABLE [5f4615b9d] 2022-03-23 13:13:49 -0700
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [e71c76fca] 2022-03-23 12:43:14 -0700
|
|
Branch: REL_14_STABLE [e52e9bd57] 2022-03-23 12:43:41 -0700
|
|
Branch: REL_13_STABLE [7c163aa93] 2022-03-23 12:43:40 -0700
|
|
Branch: REL_12_STABLE [6a767bc2e] 2022-03-23 12:43:38 -0700
|
|
Branch: REL_11_STABLE [a77dddb42] 2022-03-23 12:43:36 -0700
|
|
Branch: REL_10_STABLE [2a9193726] 2022-03-23 12:43:33 -0700
|
|
-->
|
|
<para>
|
|
Clean up assorted failures under <productname>clang</productname>'s
|
|
<literal>-fsanitize=undefined</literal> checks (Tom Lane, Andres
|
|
Freund, Zhihong Yu)
|
|
</para>
|
|
|
|
<para>
|
|
Most of these changes are just for pro-forma compliance with the
|
|
letter of the C and POSIX standards, and are unlikely to have any
|
|
effect on production builds.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d5c2a91e5] 2022-02-08 19:25:56 -0500
|
|
Branch: REL_14_STABLE [e327291e4] 2022-02-08 19:26:09 -0500
|
|
Branch: REL_13_STABLE [5ea3b99de] 2022-02-08 19:26:17 -0500
|
|
Branch: REL_12_STABLE [eba0f095c] 2022-02-08 19:26:22 -0500
|
|
Branch: REL_11_STABLE [3a6e3a890] 2022-02-08 19:26:26 -0500
|
|
Branch: REL_10_STABLE [1a8b6f055] 2022-02-08 19:26:30 -0500
|
|
-->
|
|
<para>
|
|
Fix PL/Perl so it builds on C compilers that don't support statements
|
|
nested within expressions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [097786fbb] 2022-03-22 08:22:02 -0700
|
|
Branch: REL_14_STABLE [2d608c960] 2022-03-22 08:28:51 -0700
|
|
Branch: REL_13_STABLE [f183e23cc] 2022-03-22 08:28:52 -0700
|
|
Branch: REL_12_STABLE [4553b960f] 2022-03-22 08:28:53 -0700
|
|
Branch: REL_11_STABLE [cd1951ba0] 2022-03-22 08:28:54 -0700
|
|
Branch: REL_10_STABLE [083031aa9] 2022-03-22 08:28:55 -0700
|
|
-->
|
|
<para>
|
|
Fix possible build failure of <application>pg_dumpall</application>
|
|
on Windows, when not using MSVC to build (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [ea09a75e1] 2022-02-10 13:44:05 -0500
|
|
Branch: REL_14_STABLE [92f60f536] 2022-02-10 13:51:19 -0500
|
|
Branch: REL_13_STABLE [eec7c640f] 2022-02-10 13:51:40 -0500
|
|
Branch: REL_12_STABLE [64dd64807] 2022-02-10 13:51:49 -0500
|
|
Branch: REL_11_STABLE [e2d104e19] 2022-02-10 13:51:59 -0500
|
|
Branch: REL_10_STABLE [a5eef80c2] 2022-02-10 13:52:05 -0500
|
|
Branch: REL9_6_STABLE [622ab6a34] 2022-02-10 13:52:37 -0500
|
|
Branch: REL9_5_STABLE [3a5034b5e] 2022-02-10 13:53:56 -0500
|
|
Branch: REL9_4_STABLE [c76164ea0] 2022-02-10 13:56:55 -0500
|
|
-->
|
|
<para>
|
|
In Windows builds, use <application>gendef</application> instead
|
|
of <application>pexports</application> to build DEF files (Andrew
|
|
Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
This adapts the build process to work on recent MSys tool chains.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [b787c554c] 2022-04-25 15:47:55 -0400
|
|
Branch: REL_14_STABLE [71f394667] 2022-04-25 15:49:35 -0400
|
|
Branch: REL_13_STABLE [d9cede2c3] 2022-04-25 15:50:01 -0400
|
|
Branch: REL_12_STABLE [01f2bc5af] 2022-04-25 15:50:07 -0400
|
|
Branch: REL_11_STABLE [b90ce0dd7] 2022-04-25 15:51:27 -0400
|
|
Branch: REL_10_STABLE [58887d58c] 2022-04-25 15:51:58 -0400
|
|
-->
|
|
<para>
|
|
Prevent extra expansion of shell wildcard patterns in programs built
|
|
under MinGW (Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
For some reason the C library provided by MinGW will expand shell
|
|
wildcard characters in a program's command-line arguments by
|
|
default. This is confusing, not least because it doesn't happen
|
|
under MSVC, so turn it off.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ab3479bf5] 2022-05-05 14:54:53 -0400
|
|
Branch: REL_14_STABLE [77ee14ed9] 2022-05-05 14:55:03 -0400
|
|
Branch: REL_13_STABLE [e9735d1af] 2022-05-05 14:55:10 -0400
|
|
Branch: REL_12_STABLE [2bb9f7501] 2022-05-05 14:55:17 -0400
|
|
Branch: REL_11_STABLE [da72ff09b] 2022-05-05 14:55:22 -0400
|
|
Branch: REL_10_STABLE [bc334ec9f] 2022-05-05 14:55:30 -0400
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2022a for DST law changes in Palestine, plus historical
|
|
corrections for Chile and Ukraine.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-10">
|
|
<title>Release 12.10</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2022-02-10</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.9.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.10</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you have applied <command>REINDEX CONCURRENTLY</command>
|
|
to a TOAST table's index, or observe failures to access TOAST datums,
|
|
see the first changelog entry below.
|
|
</para>
|
|
|
|
<para>
|
|
Also, if you are upgrading from a version earlier than 12.9,
|
|
see <xref linkend="release-12-9"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [f99870dd8] 2021-12-08 11:01:08 +0900
|
|
Branch: REL_14_STABLE [64ab21f0e] 2021-12-08 11:01:14 +0900
|
|
Branch: REL_13_STABLE [9acea52ea] 2021-12-08 11:01:19 +0900
|
|
Branch: REL_12_STABLE [5ed74d874] 2021-12-08 11:01:23 +0900
|
|
-->
|
|
<para>
|
|
Enforce standard locking protocol for TOAST table updates, to prevent
|
|
problems with <command>REINDEX CONCURRENTLY</command> (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
If applied to a TOAST table or TOAST table's index, <command>REINDEX
|
|
CONCURRENTLY</command> tended to produce a corrupted index. This
|
|
happened because sessions updating TOAST entries released
|
|
their <literal>ROW EXCLUSIVE</literal> locks immediately, rather
|
|
than holding them until transaction commit as all other updates do.
|
|
The fix is to make TOAST updates hold the table lock according to the
|
|
normal rule. Any existing corrupted indexes can be repaired by
|
|
reindexing again.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [f9a74c149] 2022-01-25 21:10:03 +1300
|
|
Branch: REL_14_STABLE [357ff6615] 2022-01-25 21:14:27 +1300
|
|
Branch: REL_13_STABLE [f8807e774] 2022-01-25 21:15:00 +1300
|
|
Branch: REL_12_STABLE [2ccd8fb29] 2022-01-25 21:15:40 +1300
|
|
-->
|
|
<para>
|
|
Fix incorrect plan creation for parallel single-child Append nodes
|
|
(David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
In some cases the Append would be simplified away when it should not
|
|
be, leading to wrong query results (duplicated rows).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4ace45677] 2022-01-01 16:12:03 -0500
|
|
Branch: REL_14_STABLE [cabea571d] 2022-01-01 16:12:03 -0500
|
|
Branch: REL_13_STABLE [45ae42714] 2022-01-01 16:12:03 -0500
|
|
Branch: REL_12_STABLE [f789b7732] 2022-01-01 16:12:03 -0500
|
|
Branch: REL_11_STABLE [e3a4c7981] 2022-01-01 16:12:03 -0500
|
|
Branch: REL_10_STABLE [70a31a0e3] 2022-01-01 16:12:03 -0500
|
|
Branch: master [9a3ddeb51] 2022-01-03 15:42:27 -0500
|
|
Branch: REL_14_STABLE [d228af79d] 2022-01-03 15:42:27 -0500
|
|
Branch: REL_13_STABLE [20d08b2c6] 2022-01-03 15:42:27 -0500
|
|
Branch: REL_12_STABLE [9c4f38908] 2022-01-03 15:42:27 -0500
|
|
Branch: REL_11_STABLE [ec3674521] 2022-01-03 15:42:27 -0500
|
|
Branch: REL_10_STABLE [7d344f004] 2022-01-03 15:42:27 -0500
|
|
-->
|
|
<para>
|
|
Fix index-only scan plans for cases where not all index columns can
|
|
be returned (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If an index has both returnable and non-returnable columns, and one
|
|
of the non-returnable columns is an expression using a table column
|
|
that appears in a returnable index column, then a query using that
|
|
expression could result in an index-only scan plan that attempts to
|
|
read the non-returnable column, instead of recomputing the
|
|
expression from the returnable column as intended. The
|
|
non-returnable column would read as NULL, resulting in wrong query
|
|
results.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9c356f4b2] 2021-12-16 15:36:02 -0500
|
|
Branch: REL_14_STABLE [f9a8bc9f2] 2021-12-16 15:36:02 -0500
|
|
Branch: REL_13_STABLE [da0d8a454] 2021-12-16 15:36:02 -0500
|
|
Branch: REL_12_STABLE [e1fd61c8c] 2021-12-16 15:36:02 -0500
|
|
Branch: REL_11_STABLE [c43d72b24] 2021-12-16 15:36:02 -0500
|
|
Branch: REL_10_STABLE [1acf34586] 2021-12-16 15:36:02 -0500
|
|
-->
|
|
<para>
|
|
Ensure that casting to an unspecified typmod generates a RelabelType
|
|
node rather than a length-coercion function call (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
While the coercion function should do the right thing (nothing),
|
|
this translation is undesirably inefficient.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [44bd3ed33] 2021-11-26 11:14:27 -0300
|
|
Branch: REL_14_STABLE [d24dac954] 2021-11-26 11:14:27 -0300
|
|
Branch: REL_13_STABLE [ef41c3fd6] 2021-11-26 11:14:27 -0300
|
|
Branch: REL_12_STABLE [9c6ab1ef3] 2021-11-26 11:14:27 -0300
|
|
Branch: REL_11_STABLE [2c3fddcbb] 2021-11-26 11:14:27 -0300
|
|
Branch: REL_10_STABLE [72cf39d51] 2021-11-26 11:14:27 -0300
|
|
-->
|
|
<para>
|
|
Fix WAL replay failure when database consistency is reached exactly
|
|
at a WAL page boundary (Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [f192e1bdf] 2022-01-27 20:13:55 +0100
|
|
Branch: REL_14_STABLE [fb2f8e534] 2022-01-27 20:15:37 +0100
|
|
Branch: REL_13_STABLE [e90f258ac] 2022-01-27 20:16:39 +0100
|
|
Branch: REL_12_STABLE [4b8af2bf8] 2022-01-27 20:17:36 +0100
|
|
Branch: REL_11_STABLE [5cb88648e] 2022-01-27 20:18:22 +0100
|
|
Branch: REL_10_STABLE [4ef38fbe8] 2022-01-27 20:19:39 +0100
|
|
-->
|
|
<para>
|
|
Fix startup of a physical replica to tolerate transaction ID
|
|
wraparound (Abhijit Menon-Sen, Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
If a replica server is started while the set of active transactions
|
|
on the primary crosses a wraparound boundary (so that there are some
|
|
newer transactions with smaller XIDs than older ones), the replica
|
|
would fail with <quote>out-of-order XID insertion in
|
|
KnownAssignedXids</quote>. The replica would retry, but could never
|
|
get past that error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [6aa518614] 2022-01-24 15:33:38 -0500
|
|
Branch: REL_14_STABLE [1efcc5946] 2022-01-24 15:33:34 -0500
|
|
Branch: REL_13_STABLE [d67354d87] 2022-01-24 15:33:34 -0500
|
|
Branch: REL_12_STABLE [689f75d6e] 2022-01-24 15:33:34 -0500
|
|
Branch: REL_11_STABLE [4ec54498c] 2022-01-24 15:33:34 -0500
|
|
Branch: REL_10_STABLE [9af6d4b5a] 2022-01-24 15:33:34 -0500
|
|
Branch: master [3c06ec6d1] 2022-01-24 12:09:46 -0500
|
|
Branch: REL_14_STABLE [ef9706bbc] 2022-01-24 12:09:46 -0500
|
|
Branch: REL_13_STABLE [c94c6612d] 2022-01-24 12:09:46 -0500
|
|
Branch: REL_12_STABLE [a8ce5c8d7] 2022-01-24 12:09:46 -0500
|
|
Branch: REL_11_STABLE [449a69623] 2022-01-24 12:09:46 -0500
|
|
Branch: REL_10_STABLE [daf658982] 2022-01-24 12:09:46 -0500
|
|
-->
|
|
<para>
|
|
Remove lexical limitations for SQL commands issued on a logical
|
|
replication connection (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The walsender process would fail for a SQL command containing an
|
|
unquoted semicolon, or with dollar-quoted literals containing odd
|
|
numbers of single or double quote marks, or when the SQL command
|
|
starts with a comment. Moreover, faulty error recovery could lead
|
|
to unexpected errors in later commands too.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [237d1f317] 2022-01-21 14:54:04 +0900
|
|
Branch: REL_14_STABLE [84db5169d] 2022-01-21 14:54:47 +0900
|
|
Branch: REL_13_STABLE [b5f634116] 2022-01-21 14:54:51 +0900
|
|
Branch: REL_12_STABLE [1c0452c48] 2022-01-21 14:54:55 +0900
|
|
Branch: REL_11_STABLE [0ffe2975c] 2022-01-21 14:54:59 +0900
|
|
Branch: REL_10_STABLE [919be95c6] 2022-01-21 14:55:04 +0900
|
|
-->
|
|
<para>
|
|
Fix possible loss of the commit timestamp for the last
|
|
subtransaction of a transaction (Alex Kingsborough, Kyotaro Horiguchi)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [1fabec7d7] 2022-01-21 11:22:55 -0800
|
|
Branch: REL_14_STABLE [2b7dbe4bd] 2022-01-21 11:24:12 -0800
|
|
Branch: REL_13_STABLE [fd48e5f5d] 2022-01-21 11:24:12 -0800
|
|
Branch: REL_12_STABLE [1c6d055ba] 2022-01-21 11:24:12 -0800
|
|
Branch: REL_11_STABLE [2c15b29f7] 2022-01-21 11:24:12 -0800
|
|
Branch: REL_10_STABLE [f862cc09f] 2022-01-21 11:24:12 -0800
|
|
-->
|
|
<para>
|
|
Be sure to <function>fsync</function>
|
|
the <filename>pg_logical/mappings</filename> subdirectory during
|
|
checkpoints (Nathan Bossart)
|
|
</para>
|
|
|
|
<para>
|
|
On some filesystems this oversight could lead to losing logical
|
|
rewrite status files after a system crash.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [20b9fa308] 2022-01-15 19:06:48 +0100
|
|
Branch: REL_14_STABLE [ea212bd95] 2022-01-15 19:05:22 +0100
|
|
Branch: REL_13_STABLE [d6817032d] 2022-01-15 19:14:00 +0100
|
|
Branch: REL_12_STABLE [9d1bcf5dc] 2022-01-15 19:02:58 +0100
|
|
Branch: REL_11_STABLE [491182e52] 2022-01-15 18:32:20 +0100
|
|
Branch: REL_10_STABLE [9211c2e38] 2022-01-15 18:30:45 +0100
|
|
-->
|
|
<para>
|
|
Build extended statistics for partitioned tables (Justin Pryzby)
|
|
</para>
|
|
|
|
<para>
|
|
A previous bug fix disabled building of extended statistics for
|
|
old-style inheritance trees, but it also prevented building them for
|
|
partitioned tables, which was an unnecessary restriction.
|
|
This change allows <command>ANALYZE</command> to compute values for
|
|
statistics objects for partitioned tables. (But note that
|
|
autovacuum does not process partitioned tables as such, so you must
|
|
periodically issue manual <command>ANALYZE</command> on the
|
|
partitioned table if you want to maintain such statistics.)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [36c4bc6e7] 2022-01-15 02:20:54 +0100
|
|
Branch: REL_14_STABLE [2cc007fd0] 2022-01-15 02:26:26 +0100
|
|
Branch: REL_13_STABLE [acfde7c58] 2022-01-15 02:30:06 +0100
|
|
Branch: REL_12_STABLE [76569ad6f] 2022-01-15 03:14:55 +0100
|
|
Branch: REL_11_STABLE [b3cac25f4] 2022-01-15 02:40:40 +0100
|
|
Branch: REL_10_STABLE [ff0e7c7e8] 2022-01-15 03:05:06 +0100
|
|
-->
|
|
<para>
|
|
Ignore extended statistics for inheritance trees (Justin Pryzby)
|
|
</para>
|
|
|
|
<para>
|
|
Currently, extended statistics values are only computed locally for
|
|
each table, not for entire inheritance trees. However the values
|
|
were mistakenly consulted when planning queries across inheritance
|
|
trees, possibly resulting in worse-than-default estimates.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7ead9925f] 2022-01-06 16:46:46 -0500
|
|
Branch: REL_14_STABLE [f285d9583] 2022-01-06 16:46:46 -0500
|
|
Branch: REL_13_STABLE [86d4bbb56] 2022-01-06 16:46:46 -0500
|
|
Branch: REL_12_STABLE [ccc7c3ad8] 2022-01-06 16:46:46 -0500
|
|
Branch: REL_11_STABLE [2ce113a4f] 2022-01-06 16:46:46 -0500
|
|
Branch: REL_10_STABLE [e5b044c84] 2022-01-06 16:46:46 -0500
|
|
-->
|
|
<para>
|
|
Disallow altering data type of a partitioned table's columns when
|
|
the partitioned table's row type is used as a composite type
|
|
elsewhere (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This restriction has long existed for regular tables, but through an
|
|
oversight it was not checked for partitioned tables.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [f0d43947a] 2021-11-25 15:04:56 +0900
|
|
Branch: REL_14_STABLE [e415916e2] 2021-11-25 15:05:24 +0900
|
|
Branch: REL_13_STABLE [37827de43] 2021-11-25 15:05:28 +0900
|
|
Branch: REL_12_STABLE [216156fec] 2021-11-25 15:05:31 +0900
|
|
Branch: REL_11_STABLE [dffe80e55] 2021-11-25 15:05:34 +0900
|
|
Branch: REL_10_STABLE [817c469c2] 2021-11-25 15:05:37 +0900
|
|
-->
|
|
<para>
|
|
Disallow <literal>ALTER TABLE ... DROP NOT NULL</literal> for a
|
|
column that is part of a replica identity index (Haiying Tang, Hou
|
|
Zhijie)
|
|
</para>
|
|
|
|
<para>
|
|
The same prohibition already existed for primary key indexes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d8fbbb925] 2022-01-22 13:32:40 -0500
|
|
Branch: REL_14_STABLE [3839e29c5] 2022-01-22 13:32:40 -0500
|
|
Branch: REL_13_STABLE [31b7b4d26] 2022-01-22 13:32:40 -0500
|
|
Branch: REL_12_STABLE [e2d53c876] 2022-01-22 13:32:40 -0500
|
|
Branch: REL_11_STABLE [26c841ed1] 2022-01-22 13:32:40 -0500
|
|
-->
|
|
<para>
|
|
Correctly update cached table state during <command>ALTER TABLE ADD
|
|
PRIMARY KEY USING INDEX</command> (Hou Zhijie)
|
|
</para>
|
|
|
|
<para>
|
|
Concurrent sessions failed to update their opinion of whether the
|
|
table has a primary key, possibly causing incorrect logical
|
|
replication behavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [354a1f8d2] 2021-11-16 08:10:13 +0530
|
|
Branch: REL_14_STABLE [232fd72a5] 2021-11-16 08:34:24 +0530
|
|
Branch: REL_13_STABLE [63c3eeddc] 2021-11-16 08:46:12 +0530
|
|
Branch: REL_12_STABLE [9816e2d31] 2021-11-16 09:05:51 +0530
|
|
Branch: REL_11_STABLE [40fb634b1] 2021-11-16 09:25:04 +0530
|
|
Branch: REL_10_STABLE [2c0443c59] 2021-11-16 09:44:00 +0530
|
|
-->
|
|
<para>
|
|
Correctly update cached table state when switching <literal>REPLICA
|
|
IDENTITY</literal> index (Tang Haiying, Hou Zhijie)
|
|
</para>
|
|
|
|
<para>
|
|
Concurrent sessions failed to update their opinion of which index is
|
|
the replica identity one, possibly causing incorrect logical
|
|
replication behavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [babe545ca] 2021-12-01 13:44:46 -0500
|
|
Branch: REL_14_STABLE [8f4b0200e] 2021-12-01 13:44:47 -0500
|
|
Branch: REL_13_STABLE [7413caabe] 2021-12-01 13:44:47 -0500
|
|
Branch: REL_12_STABLE [5cf08b4db] 2021-12-01 13:44:47 -0500
|
|
Branch: REL_11_STABLE [82d354411] 2021-12-01 13:44:47 -0500
|
|
Branch: REL_10_STABLE [fec187dc3] 2021-12-01 13:44:47 -0500
|
|
-->
|
|
<para>
|
|
Avoid leaking memory during <command>REASSIGN OWNED BY</command>
|
|
operations that reassign ownership of many objects (Justin Pryzby)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Magnus Hagander <magnus@hagander.net>
|
|
Branch: master [2dbb7b9b2] 2022-01-26 09:58:59 +0100
|
|
Branch: REL_14_STABLE [4afae689e] 2022-01-26 09:59:14 +0100
|
|
Branch: REL_13_STABLE [81596645c] 2022-01-26 09:59:19 +0100
|
|
Branch: REL_12_STABLE [aa58f5c53] 2022-01-26 09:59:23 +0100
|
|
-->
|
|
<para>
|
|
Fix display of <literal>cert</literal> authentication method's
|
|
options in <structname>pg_hba_file_rules</structname> view (Magnus
|
|
Hagander)
|
|
</para>
|
|
|
|
<para>
|
|
The <literal>cert</literal> authentication method implies
|
|
<literal>clientcert=verify-full</literal>, but the
|
|
<structname>pg_hba_file_rules</structname> view incorrectly reported
|
|
<literal>clientcert=verify-ca</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [43c217512] 2022-01-13 17:49:46 -0500
|
|
Branch: REL_14_STABLE [4aee39ddb] 2022-01-13 17:49:26 -0500
|
|
Branch: REL_13_STABLE [ca14c4184] 2022-01-13 17:49:26 -0500
|
|
Branch: REL_12_STABLE [45a3cefad] 2022-01-13 17:49:26 -0500
|
|
Branch: REL_11_STABLE [3a1bfe256] 2022-01-13 17:49:26 -0500
|
|
Branch: REL_10_STABLE [3433a1fc7] 2022-01-13 17:49:26 -0500
|
|
-->
|
|
<para>
|
|
Fix display of whole-row variables appearing
|
|
in <literal>INSERT ... VALUES</literal> rules (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A whole-row variable would be printed as <quote>var.*</quote>,
|
|
but that allows it to be expanded to individual columns when
|
|
the rule is reloaded, resulting in different semantics.
|
|
Attach an explicit cast to prevent that, as we do elsewhere.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [f66885bec] 2022-01-04 13:01:05 -0300
|
|
Branch: REL_14_STABLE [f185f35a8] 2022-01-04 13:01:05 -0300
|
|
Branch: REL_13_STABLE [29f9fb8fe] 2022-01-04 13:01:05 -0300
|
|
Branch: REL_12_STABLE [6b681cd05] 2022-01-04 13:01:05 -0300
|
|
Branch: REL_11_STABLE [28cd57416] 2022-01-04 13:01:05 -0300
|
|
Branch: REL_10_STABLE [026a93727] 2022-01-04 13:01:05 -0300
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [67a8cb5cb] 2022-01-04 13:21:23 -0300
|
|
Branch: REL_14_STABLE [f9db153c2] 2022-01-04 13:21:23 -0300
|
|
Branch: REL_13_STABLE [33fdd9f85] 2022-01-04 13:21:23 -0300
|
|
Branch: REL_12_STABLE [397b43948] 2022-01-04 13:21:23 -0300
|
|
Branch: REL_11_STABLE [b63851a45] 2022-01-04 13:21:23 -0300
|
|
Branch: REL_10_STABLE [4a8282425] 2022-01-04 13:21:23 -0300
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [2e577c944] 2021-12-22 15:38:00 +0900
|
|
Branch: REL_14_STABLE [8a22a40b2] 2021-12-22 15:38:05 +0900
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [ece8c7619] 2021-12-14 10:58:15 +0900
|
|
Branch: REL_14_STABLE [4be3e005e] 2021-12-14 10:58:25 +0900
|
|
Branch: REL_13_STABLE [3f710fc2b] 2021-12-14 10:58:29 +0900
|
|
Branch: REL_12_STABLE [65af1e842] 2021-12-14 10:58:33 +0900
|
|
Branch: REL_11_STABLE [8abb6c27e] 2021-12-14 10:58:37 +0900
|
|
-->
|
|
<para>
|
|
Fix or remove some incorrect assertions (Simon Riggs, Michael
|
|
Paquier, Alexander Lakhin)
|
|
</para>
|
|
|
|
<para>
|
|
These errors should affect only debug builds, not production.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1f655fdc3] 2022-01-21 15:36:27 -0500
|
|
Branch: REL_14_STABLE [f4ebf0dbe] 2022-01-21 15:36:28 -0500
|
|
Branch: REL_13_STABLE [64ebb43df] 2022-01-21 15:36:28 -0500
|
|
Branch: REL_12_STABLE [5521d8139] 2022-01-21 15:36:29 -0500
|
|
Branch: REL_11_STABLE [37f5dc8b8] 2022-01-21 15:36:29 -0500
|
|
Branch: REL_10_STABLE [0c7c94f90] 2022-01-21 15:36:30 -0500
|
|
-->
|
|
<para>
|
|
Fix race condition that could lead to failure to localize error
|
|
messages that are reported early in multi-threaded use
|
|
of <application>libpq</application>
|
|
or <application>ecpglib</application> (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f3f467b8f] 2022-01-17 12:52:44 -0500
|
|
Branch: REL_14_STABLE [050949877] 2022-01-17 12:52:44 -0500
|
|
Branch: REL_13_STABLE [f27af7b88] 2022-01-17 12:52:44 -0500
|
|
Branch: REL_12_STABLE [38f099ef9] 2022-01-17 12:52:44 -0500
|
|
Branch: REL_11_STABLE [8b107467c] 2022-01-17 12:52:44 -0500
|
|
Branch: REL_10_STABLE [9d66c43eb] 2022-01-17 12:52:45 -0500
|
|
-->
|
|
<para>
|
|
Avoid calling <function>strerror</function>
|
|
from <application>libpq</application>'s <function>PQcancel</function>
|
|
function (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
<function>PQcancel</function> is supposed to be safe to call from a
|
|
signal handler, but <function>strerror</function> is not safe. The
|
|
faulty usage only occurred in the unlikely event of failure to
|
|
send the cancel message to the server, perhaps explaining the lack
|
|
of reports.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d6eb5a0c2] 2021-11-12 14:55:32 -0500
|
|
Branch: REL_14_STABLE [99389cb66] 2021-11-12 14:55:32 -0500
|
|
Branch: REL_13_STABLE [843925fad] 2021-11-12 14:55:32 -0500
|
|
Branch: REL_12_STABLE [523adcc12] 2021-11-12 14:55:32 -0500
|
|
Branch: REL_11_STABLE [b062ca508] 2021-11-12 14:55:32 -0500
|
|
Branch: REL_10_STABLE [3bc46e4e9] 2021-11-12 14:55:32 -0500
|
|
-->
|
|
<para>
|
|
Make <application>psql</application>'s <command>\password</command>
|
|
command default to setting the password
|
|
for <literal>CURRENT_USER</literal>, not the connection's original
|
|
user name (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This agrees with the documented behavior, and avoids probable
|
|
permissions failure if <command>SET ROLE</command> or <command>SET
|
|
SESSION AUTHORIZATION</command> has been done since the session began.
|
|
To prevent confusion, the role name to be acted on is now
|
|
included in the password prompt.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2131c049d] 2022-01-17 13:30:04 -0500
|
|
Branch: REL_14_STABLE [4e8726566] 2022-01-17 13:30:04 -0500
|
|
Branch: REL_13_STABLE [d18ec312f] 2022-01-17 13:30:04 -0500
|
|
Branch: REL_12_STABLE [6d1a854c1] 2022-01-17 13:30:04 -0500
|
|
Branch: REL_11_STABLE [92e6c1c9b] 2022-01-17 13:30:04 -0500
|
|
Branch: REL_10_STABLE [62bfa554b] 2022-01-17 13:30:04 -0500
|
|
-->
|
|
<para>
|
|
In <application>psql</application> and some other client programs,
|
|
avoid trying to invoke <function>gettext()</function> from a
|
|
control-C signal handler (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
While no reported failures have been traced to this mistake, it seems
|
|
highly unlikely to be a safe thing to do.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [282b6d00a] 2021-11-21 14:13:35 -0500
|
|
Branch: REL_14_STABLE [3bd7556bb] 2021-11-21 14:13:35 -0500
|
|
Branch: REL_13_STABLE [33edf4a3c] 2021-11-21 14:13:35 -0500
|
|
Branch: REL_12_STABLE [93295932d] 2021-11-21 14:13:35 -0500
|
|
Branch: REL_11_STABLE [c2242d364] 2021-11-21 14:13:35 -0500
|
|
Branch: REL_10_STABLE [3ce5d0884] 2021-11-21 14:13:35 -0500
|
|
-->
|
|
<para>
|
|
Allow canceling the initial password prompt
|
|
in <application>pg_receivewal</application>
|
|
and <application>pg_recvlogical</application> (Tom Lane, Nathan
|
|
Bossart)
|
|
</para>
|
|
|
|
<para>
|
|
Previously it was impossible to terminate these programs via control-C
|
|
while they were prompting for a password.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b55f2b692] 2021-11-22 17:16:29 -0500
|
|
Branch: REL_14_STABLE [0fdf67476] 2021-11-22 17:16:29 -0500
|
|
Branch: REL_13_STABLE [d4f6a36d8] 2021-11-22 17:16:29 -0500
|
|
Branch: REL_12_STABLE [69949ea68] 2021-11-22 17:16:29 -0500
|
|
Branch: REL_11_STABLE [54619a25d] 2021-11-22 17:16:29 -0500
|
|
Branch: REL_10_STABLE [2b36973d9] 2021-11-22 17:16:29 -0500
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application>'s dump ordering for
|
|
user-defined casts (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
In rare cases, the output script might refer to a user-defined cast
|
|
before it had been created.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [0b126c6a4] 2021-11-22 15:25:48 -0500
|
|
Branch: REL_14_STABLE [aedc4600d] 2021-11-22 15:25:48 -0500
|
|
Branch: REL_13_STABLE [6fc8b145e] 2021-11-22 15:25:48 -0500
|
|
Branch: REL_12_STABLE [1e7f588ad] 2021-11-22 15:25:48 -0500
|
|
Branch: master [db3a660c6] 2021-11-22 15:57:31 -0500
|
|
Branch: REL_14_STABLE [72842a575] 2021-11-22 15:57:43 -0500
|
|
Branch: REL_13_STABLE [b542e4596] 2021-11-22 15:57:52 -0500
|
|
Branch: REL_12_STABLE [72582531b] 2021-11-22 15:57:59 -0500
|
|
Branch: REL_11_STABLE [22d2b6611] 2021-11-22 15:58:05 -0500
|
|
Branch: REL_10_STABLE [b599b8f39] 2021-11-22 15:58:12 -0500
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application>'s <option>--inserts</option>
|
|
and <option>--column-inserts</option> modes to handle tables
|
|
containing both generated columns and dropped columns (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [248c3a937] 2021-11-17 14:16:34 -0500
|
|
Branch: REL_14_STABLE [53c4a580e] 2021-11-17 14:16:34 -0500
|
|
Branch: REL_13_STABLE [c8b5221b5] 2021-11-17 14:16:34 -0500
|
|
Branch: REL_12_STABLE [8378dad4c] 2021-11-17 14:16:34 -0500
|
|
Branch: REL_11_STABLE [a414eb850] 2021-11-17 14:16:34 -0500
|
|
Branch: REL_10_STABLE [13799bb93] 2021-11-17 14:16:34 -0500
|
|
Branch: master [3cac2c8ca] 2021-11-17 13:08:25 -0500
|
|
Branch: REL_14_STABLE [6b413b41b] 2021-11-17 13:08:25 -0500
|
|
Branch: REL_13_STABLE [bbda88c33] 2021-11-17 13:08:25 -0500
|
|
Branch: REL_12_STABLE [12bf11889] 2021-11-17 13:08:25 -0500
|
|
-->
|
|
<para>
|
|
Fix possible mis-reporting of errors
|
|
in <application>pg_dump</application>
|
|
and <application>pg_basebackup</application> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The previous code failed to check for errors from some kernel calls,
|
|
and could report the wrong errno values in other cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [54b1cb7eb] 2022-01-08 14:54:39 -0500
|
|
Branch: REL_14_STABLE [043c1e1a7] 2022-01-08 14:54:39 -0500
|
|
Branch: REL_13_STABLE [823d4c7e2] 2022-01-08 14:54:39 -0500
|
|
Branch: REL_12_STABLE [3a69d45af] 2022-01-08 14:54:39 -0500
|
|
Branch: REL_11_STABLE [38cbdd22d] 2022-01-08 14:54:39 -0500
|
|
Branch: REL_10_STABLE [b21986908] 2022-01-08 14:54:39 -0500
|
|
-->
|
|
<para>
|
|
Fix results of index-only scans
|
|
on <filename>contrib/btree_gist</filename> indexes
|
|
on <type>char(<replaceable>N</replaceable>)</type> columns (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Index-only scans returned column values with trailing spaces
|
|
removed, which is not the expected behavior. That happened because
|
|
that's how the data was stored in the index. This fix changes the
|
|
code to store <type>char(<replaceable>N</replaceable>)</type> values
|
|
with the expected amount of space padding.
|
|
The behavior of such an index will not change immediately unless
|
|
you <command>REINDEX</command> it; otherwise space-stripped values
|
|
will be gradually replaced over time during updates. Queries that
|
|
do not use index-only scan plans will be unaffected in any case.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [bd233bdd8] 2022-01-25 18:52:44 -0500
|
|
Branch: REL_14_STABLE [803f0b173] 2022-02-01 19:03:41 -0500
|
|
Branch: REL_13_STABLE [4d7d196ff] 2022-02-01 19:03:41 -0500
|
|
Branch: REL_12_STABLE [aa2215d6b] 2022-02-01 19:03:41 -0500
|
|
Branch: REL_11_STABLE [e41176bd6] 2022-02-01 19:03:41 -0500
|
|
Branch: REL_10_STABLE [a72c43012] 2022-02-01 19:03:41 -0500
|
|
-->
|
|
<para>
|
|
Change <application>configure</application> to use
|
|
Python's <application>sysconfig</application> module, rather than
|
|
the deprecated <application>distutils</application> module, to
|
|
determine how to build PL/Python (Peter Eisentraut, Tom Lane, Andres
|
|
Freund)
|
|
</para>
|
|
|
|
<para>
|
|
With Python 3.10, this
|
|
avoids <application>configure</application>-time warnings
|
|
about <application>distutils</application> being deprecated and
|
|
scheduled for removal in Python 3.12. Presumably, once 3.12 is
|
|
out, <literal>configure --with-python</literal> would fail
|
|
altogether. This future-proofing does come at a
|
|
cost: <application>sysconfig</application> did not exist before
|
|
Python 2.7, nor before 3.2 in the Python 3 branch, so it is no
|
|
longer possible to build PL/Python against long-dead Python
|
|
versions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [c89f40974] 2022-01-30 16:42:14 -0800
|
|
Branch: REL_14_STABLE [8484e3812] 2022-01-30 16:42:42 -0800
|
|
Branch: REL_13_STABLE [0dc0fe7b6] 2022-01-30 16:42:45 -0800
|
|
Branch: REL_12_STABLE [f173738d5] 2022-01-30 16:42:47 -0800
|
|
Branch: REL_11_STABLE [ad95a639a] 2022-01-30 16:42:49 -0800
|
|
Branch: REL_10_STABLE [2557a03f8] 2022-01-30 16:43:07 -0800
|
|
-->
|
|
<para>
|
|
Fix PL/Perl compile failure on Windows with Perl 5.28 and later
|
|
(Victor Wagner)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [99e4d24a9] 2021-11-25 14:19:22 +0100
|
|
Branch: REL_14_STABLE [1cc13b83e] 2021-11-25 14:30:12 +0100
|
|
Branch: REL_13_STABLE [04875ae92] 2021-11-25 14:30:46 +0100
|
|
Branch: REL_12_STABLE [0d335cbd5] 2021-11-25 14:31:01 +0100
|
|
Branch: REL_11_STABLE [a83b1bab0] 2021-11-25 14:32:26 +0100
|
|
Branch: REL_10_STABLE [4339e10f0] 2021-11-25 14:32:43 +0100
|
|
-->
|
|
<para>
|
|
Fix PL/Python compile failure with Python 3.11 and later (Peter
|
|
Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [b2265d305] 2021-11-24 13:03:23 +0900
|
|
Branch: REL_14_STABLE [0e681fa45] 2021-11-24 13:03:55 +0900
|
|
Branch: REL_13_STABLE [baef657d3] 2021-11-24 13:03:59 +0900
|
|
Branch: REL_12_STABLE [420d5e40b] 2021-11-24 13:04:03 +0900
|
|
Branch: REL_11_STABLE [1061e41ff] 2021-11-24 13:04:07 +0900
|
|
Branch: REL_10_STABLE [82881a9b9] 2021-11-24 13:04:12 +0900
|
|
-->
|
|
<para>
|
|
Add support for building with Visual Studio 2022 (Hans Buschmann)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [c3879a7b4] 2022-01-07 16:07:45 -0500
|
|
Branch: REL_14_STABLE [a7772e874] 2022-01-07 16:14:04 -0500
|
|
Branch: REL_13_STABLE [f3ded9c46] 2022-01-07 16:14:16 -0500
|
|
Branch: REL_12_STABLE [a4cde9153] 2022-01-07 16:14:23 -0500
|
|
Branch: REL_11_STABLE [c7fa0f55d] 2022-01-07 16:14:32 -0500
|
|
Branch: REL_10_STABLE [d897361c7] 2022-01-07 16:14:40 -0500
|
|
Branch: master [f80900be0] 2022-01-20 10:13:18 -0500
|
|
Branch: REL_14_STABLE [156a846d9] 2022-01-20 10:20:40 -0500
|
|
Branch: REL_13_STABLE [31680730e] 2022-01-20 10:20:51 -0500
|
|
Branch: REL_12_STABLE [22d8c2570] 2022-01-20 10:21:02 -0500
|
|
Branch: REL_11_STABLE [0a79feeca] 2022-01-20 10:21:12 -0500
|
|
Branch: REL_10_STABLE [a5bd14d93] 2022-01-20 10:21:28 -0500
|
|
-->
|
|
<para>
|
|
Allow the <filename>.bat</filename> wrapper scripts in our MSVC
|
|
build system to be called without first changing into their
|
|
directory (Anton Voloshin, Andrew Dunstan)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-9">
|
|
<title>Release 12.9</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2021-11-11</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.8.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.9</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, note that installations using physical replication should
|
|
update standby servers before the primary server, as explained in
|
|
the third changelog entry below.
|
|
</para>
|
|
|
|
<para>
|
|
Also, several bugs have been found that may have resulted in corrupted
|
|
indexes, as explained in the next several changelog entries. If any
|
|
of those cases apply to you, it's recommended to reindex
|
|
possibly-affected indexes after updating.
|
|
</para>
|
|
|
|
<para>
|
|
Also, if you are upgrading from a version earlier than 12.6,
|
|
see <xref linkend="release-12-6"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [28e241255] 2021-11-08 11:01:43 -0500
|
|
Branch: REL_14_STABLE [9d5a76b8d] 2021-11-08 11:01:43 -0500
|
|
Branch: REL_13_STABLE [e92ed93e8] 2021-11-08 11:01:43 -0500
|
|
Branch: REL_12_STABLE [d1bd26740] 2021-11-08 11:01:43 -0500
|
|
Branch: REL_11_STABLE [9394fb828] 2021-11-08 11:01:43 -0500
|
|
Branch: REL_10_STABLE [9ae0f1112] 2021-11-08 11:01:43 -0500
|
|
Branch: REL9_6_STABLE [046c2c846] 2021-11-08 11:01:43 -0500
|
|
-->
|
|
<para>
|
|
Make the server reject extraneous data after an SSL or GSS
|
|
encryption handshake (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A man-in-the-middle with the ability to inject data into the TCP
|
|
connection could stuff some cleartext data into the start of a
|
|
supposedly encryption-protected database session.
|
|
This could be abused to send faked SQL commands to the server,
|
|
although that would only work if the server did not demand any
|
|
authentication data. (However, a server relying on SSL certificate
|
|
authentication might well not do so.)
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks
|
|
Jacob Champion for reporting this problem.
|
|
(CVE-2021-23214)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [160c02588] 2021-11-08 11:14:56 -0500
|
|
Branch: REL_14_STABLE [30547d791] 2021-11-08 11:14:56 -0500
|
|
Branch: REL_13_STABLE [844b31692] 2021-11-08 11:14:56 -0500
|
|
Branch: REL_12_STABLE [36bb95ef2] 2021-11-08 11:14:56 -0500
|
|
Branch: REL_11_STABLE [a021a1d2a] 2021-11-08 11:14:56 -0500
|
|
Branch: REL_10_STABLE [e65d9c8cd] 2021-11-08 11:14:56 -0500
|
|
Branch: REL9_6_STABLE [d83cdfdca] 2021-11-08 11:14:57 -0500
|
|
-->
|
|
<para>
|
|
Make <application>libpq</application> reject extraneous data after
|
|
an SSL or GSS encryption handshake (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A man-in-the-middle with the ability to inject data into the TCP
|
|
connection could stuff some cleartext data into the start of a
|
|
supposedly encryption-protected database session.
|
|
This could probably be abused to inject faked responses to the
|
|
client's first few queries, although other details of libpq's
|
|
behavior make that harder than it sounds. A different line of
|
|
attack is to exfiltrate the client's password, or other sensitive
|
|
data that might be sent early in the session. That has been shown
|
|
to be possible with a server vulnerable to CVE-2021-23214.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks
|
|
Jacob Champion for reporting this problem.
|
|
(CVE-2021-23222)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [ff9f111bc] 2021-09-29 11:21:51 -0300
|
|
Branch: REL_14_STABLE [64a8687a6] 2021-09-29 11:41:01 -0300
|
|
Branch: REL_13_STABLE [1d97d3d08] 2021-09-29 11:21:51 -0300
|
|
Branch: REL_12_STABLE [1df0a914d] 2021-09-29 11:21:51 -0300
|
|
Branch: REL_11_STABLE [cfedb279a] 2021-09-29 11:21:51 -0300
|
|
Branch: REL_10_STABLE [d9fe2cc7d] 2021-09-29 11:21:51 -0300
|
|
Branch: REL9_6_STABLE [148c6ee3b] 2021-09-29 11:21:51 -0300
|
|
Branch: master [d03bca4d7] 2021-09-30 10:01:03 -0300
|
|
Branch: REL_14_STABLE [e3731bac5] 2021-09-30 10:01:03 -0300
|
|
Branch: master [d186d233d] 2021-10-01 18:03:11 -0300
|
|
Branch: REL_14_STABLE [0ce67bce0] 2021-10-01 18:03:11 -0300
|
|
Branch: master [010e52337] 2021-10-13 18:49:27 -0300
|
|
Branch: REL_14_STABLE [79c7fe1af] 2021-10-13 18:49:27 -0300
|
|
Branch: REL_13_STABLE [2cdf97fd1] 2021-10-13 18:49:27 -0300
|
|
Branch: REL_12_STABLE [4b7abbe48] 2021-10-13 18:49:27 -0300
|
|
Branch: REL_11_STABLE [6287b8e19] 2021-10-13 18:49:27 -0300
|
|
Branch: REL_10_STABLE [41cce2326] 2021-10-13 18:49:27 -0300
|
|
Branch: REL9_6_STABLE [5ec87619b] 2021-10-13 18:49:27 -0300
|
|
Branch: REL_14_STABLE [494ec0037] 2021-11-01 13:07:23 -0300
|
|
Branch: REL_13_STABLE [17227825c] 2021-11-01 13:07:23 -0300
|
|
Branch: REL_12_STABLE [da782bc93] 2021-11-01 13:07:23 -0300
|
|
Branch: REL_11_STABLE [5ef210047] 2021-11-01 13:07:23 -0300
|
|
Branch: REL_10_STABLE [656312c2a] 2021-11-01 13:07:23 -0300
|
|
Branch: REL9_6_STABLE [99197701e] 2021-11-01 13:07:23 -0300
|
|
-->
|
|
<para>
|
|
Fix physical replication for cases where the primary crashes
|
|
after shipping a WAL segment that ends with a partial WAL record
|
|
(Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
If the primary did not survive long enough to finish writing the
|
|
rest of the incomplete WAL record, then the previous crash-recovery
|
|
logic had it back up and overwrite WAL starting from the beginning
|
|
of the incomplete WAL record. This is problematic since standby
|
|
servers may already have copies of that WAL segment. They will then
|
|
see an inconsistent next segment, and will not be able to recover
|
|
without manual intervention. To fix, do not back up over a WAL
|
|
segment boundary when restarting after a crash. Instead write a new
|
|
type of WAL record at the start of the next WAL segment, informing
|
|
readers that the incomplete WAL record will never be finished and
|
|
must be disregarded.
|
|
</para>
|
|
|
|
<para>
|
|
When applying this update, it's best to update standby servers
|
|
before the primary, so that they will be ready to handle this new
|
|
WAL record type if the primary happens to crash.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [3cd9c3b92] 2021-10-23 18:36:38 -0700
|
|
Branch: REL_14_STABLE [a5b9a0000] 2021-10-23 18:36:42 -0700
|
|
Branch: REL_13_STABLE [a9d0a5409] 2021-10-23 18:36:42 -0700
|
|
Branch: REL_12_STABLE [fe5d44a1d] 2021-10-23 18:36:42 -0700
|
|
Branch: REL_11_STABLE [df6158139] 2021-10-23 18:36:43 -0700
|
|
Branch: REL_10_STABLE [560124a37] 2021-10-23 18:36:43 -0700
|
|
Branch: REL9_6_STABLE [518493243] 2021-10-23 18:36:43 -0700
|
|
-->
|
|
<para>
|
|
Fix <command>CREATE INDEX CONCURRENTLY</command> to wait for
|
|
the latest prepared transactions (Andrey Borodin)
|
|
</para>
|
|
|
|
<para>
|
|
Rows inserted by just-prepared transactions might be omitted from
|
|
the new index, causing queries relying on the index to miss such
|
|
rows. The previous fix for this type of problem failed to account
|
|
for <command>PREPARE TRANSACTION</command> commands that were still
|
|
in progress when <command>CREATE INDEX CONCURRENTLY</command>
|
|
checked for them. As before, in installations that have enabled
|
|
prepared transactions (<varname>max_prepared_transactions</varname>
|
|
> 0), it's recommended to reindex any concurrently-built indexes
|
|
in case this problem occurred when they were built.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [fdd965d07] 2021-10-23 18:36:38 -0700
|
|
Branch: REL_14_STABLE [dde966efb] 2021-10-23 18:36:42 -0700
|
|
Branch: REL_13_STABLE [2e33b4359] 2021-10-23 18:36:42 -0700
|
|
Branch: REL_12_STABLE [0869e53d3] 2021-10-23 18:36:42 -0700
|
|
Branch: REL_11_STABLE [5141e471b] 2021-10-23 18:36:43 -0700
|
|
Branch: REL_10_STABLE [db86746fd] 2021-10-23 18:36:43 -0700
|
|
Branch: REL9_6_STABLE [e428699cb] 2021-10-23 18:36:43 -0700
|
|
-->
|
|
<para>
|
|
Avoid race condition that can cause backends to fail to add entries
|
|
for new rows to an index being built concurrently (Noah Misch,
|
|
Andrey Borodin)
|
|
</para>
|
|
|
|
<para>
|
|
While it's apparently rare in the field, this case could potentially
|
|
affect any index built or reindexed with
|
|
the <literal>CONCURRENTLY</literal> option. It is recommended to
|
|
reindex any such indexes to make sure they are correct.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ce773f230] 2021-09-02 17:24:41 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [23c6bc581] 2021-09-02 17:24:42 -0400
|
|
Branch: REL_13_STABLE [be2beadaf] 2021-09-02 17:24:42 -0400
|
|
Branch: REL_12_STABLE [a3bf13673] 2021-09-02 17:24:42 -0400
|
|
Branch: REL_11_STABLE [ad66373ea] 2021-09-02 17:24:42 -0400
|
|
Branch: REL_10_STABLE [2bb20e34c] 2021-09-02 17:24:42 -0400
|
|
Branch: REL9_6_STABLE [dea212e24] 2021-09-02 17:24:42 -0400
|
|
Branch: master [fd549145d] 2021-09-03 10:01:02 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [08b96a2b5] 2021-09-03 10:01:02 -0400
|
|
Branch: REL_13_STABLE [9089f1543] 2021-09-03 10:01:02 -0400
|
|
Branch: REL_12_STABLE [1fab33c0b] 2021-09-03 10:01:02 -0400
|
|
Branch: REL_11_STABLE [2836d57e4] 2021-09-03 10:01:02 -0400
|
|
Branch: master [b30cc0fd6] 2021-09-04 16:29:08 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [718978d9d] 2021-09-04 16:29:08 -0400
|
|
Branch: REL_13_STABLE [2c0dd669c] 2021-09-04 16:29:08 -0400
|
|
Branch: REL_12_STABLE [fd295d0c6] 2021-09-04 16:29:08 -0400
|
|
Branch: REL_11_STABLE [8782a8452] 2021-09-04 16:29:08 -0400
|
|
Branch: REL_10_STABLE [70354dd56] 2021-09-04 16:29:08 -0400
|
|
Branch: REL9_6_STABLE [a5e8f7b37] 2021-09-04 16:29:08 -0400
|
|
-->
|
|
<para>
|
|
Fix <type>float4</type> and <type>float8</type> hash functions to
|
|
produce uniform results for NaNs (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Since <productname>PostgreSQL</productname>'s floating-point types
|
|
deem all NaNs to be equal, it's important for the hash functions to
|
|
produce the same hash code for all bit-patterns that are NaNs
|
|
according to the IEEE 754 standard. This failed to happen before,
|
|
meaning that hash indexes and hash-based query plans might produce
|
|
incorrect results for non-canonical NaN values.
|
|
(<literal>'-NaN'::float8</literal> is one way to produce such a
|
|
value on most machines.) It is advisable to reindex hash indexes
|
|
on floating-point columns, if there is any possibility that they
|
|
might contain such values.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [97ddda8a8] 2021-08-27 23:33:23 -0700
|
|
Branch: REL_14_STABLE Release: REL_14_0 [5513c09c8] 2021-08-27 23:33:27 -0700
|
|
Branch: REL_13_STABLE [b18669f5e] 2021-08-27 23:33:27 -0700
|
|
Branch: REL_12_STABLE [a494f1023] 2021-08-27 23:34:03 -0700
|
|
Branch: REL_11_STABLE [6ebd2426b] 2021-08-27 23:34:22 -0700
|
|
Branch: REL_10_STABLE [f11c1bb17] 2021-08-27 23:42:53 -0700
|
|
Branch: REL9_6_STABLE [978998dbd] 2021-08-27 23:44:55 -0700
|
|
-->
|
|
<para>
|
|
Prevent data loss during crash recovery of <command>CREATE
|
|
TABLESPACE</command>, when <varname>wal_level</varname>
|
|
= <literal>minimal</literal> (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
If the server crashed between <command>CREATE TABLESPACE</command>
|
|
and the next checkpoint, replay would fully remove the contents of
|
|
the new tablespace's directory, relying on subsequent WAL replay
|
|
to restore everything within that directory. This interacts badly
|
|
with optimizations that skip writing WAL (one example
|
|
is <command>COPY</command> into a just-created table). Such
|
|
optimizations are applied only when <varname>wal_level</varname>
|
|
is <literal>minimal</literal>, which is not the default in v10 and
|
|
later.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [d6f1e16c8] 2021-10-18 19:08:25 -0300
|
|
Branch: REL_14_STABLE [72d064217] 2021-10-18 19:08:25 -0300
|
|
Branch: REL_13_STABLE [fe35528a5] 2021-10-18 19:08:25 -0300
|
|
Branch: REL_12_STABLE [8b26be8a3] 2021-10-18 19:08:25 -0300
|
|
Branch: REL_11_STABLE [b703b7d31] 2021-10-18 19:08:25 -0300
|
|
Branch: REL_10_STABLE [d36bdc4e9] 2021-10-18 19:08:25 -0300
|
|
-->
|
|
<para>
|
|
Ensure that the relation cache is invalidated for a table being
|
|
attached to or detached from a partitioned table (Amit Langote,
|
|
Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could allow misbehavior of subsequent inserts/updates
|
|
addressed directly to the partition, but only in currently-existing
|
|
sessions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [8bd534274] 2021-09-08 11:50:37 +0530
|
|
Branch: REL_14_STABLE Release: REL_14_0 [8db27fbc1] 2021-09-08 12:08:29 +0530
|
|
Branch: REL_13_STABLE [ddfc7299d] 2021-09-08 12:14:59 +0530
|
|
Branch: REL_12_STABLE [2eb09f27d] 2021-09-08 12:16:15 +0530
|
|
Branch: REL_11_STABLE [96e38fa5e] 2021-09-08 11:20:42 +0530
|
|
Branch: REL_10_STABLE [28cde380c] 2021-09-08 11:23:01 +0530
|
|
-->
|
|
<para>
|
|
Ensure that the relation cache is invalidated when creating or
|
|
dropping a <literal>FOR ALL TABLES</literal> publication
|
|
(Hou Zhijie, Vignesh C)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead to improper replication behavior until all
|
|
currently-existing sessions have exited.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5c056b0c2] 2021-08-06 17:32:54 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [e5f6493e3] 2021-08-06 17:32:54 -0400
|
|
Branch: REL_13_STABLE [dede14399] 2021-09-20 11:48:52 -0400
|
|
Branch: REL_12_STABLE [f230614da] 2021-09-20 11:48:52 -0400
|
|
Branch: REL_11_STABLE [914e54501] 2021-09-20 11:48:52 -0400
|
|
Branch: REL_10_STABLE [923b7efc2] 2021-09-20 11:48:52 -0400
|
|
Branch: REL9_6_STABLE [183b3aced] 2021-09-20 11:48:52 -0400
|
|
-->
|
|
<para>
|
|
Don't discard a cast to the same type with unspecified type modifier
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
For example, if column <literal>f1</literal> is of
|
|
type <literal>numeric(18,3)</literal>, the parser used to simply
|
|
discard a cast like <literal>f1::numeric</literal>, on the grounds
|
|
that it would have no run-time effect. That's true, but the exposed
|
|
type of the expression should still be considered to be
|
|
plain <literal>numeric</literal>,
|
|
not <literal>numeric(18,3)</literal>. This is important for
|
|
correctly resolving the type of larger constructs, such
|
|
as recursive <literal>UNION</literal>s.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3e310d837] 2021-10-19 13:54:45 -0400
|
|
Branch: REL_14_STABLE [04dae19f4] 2021-10-19 13:54:45 -0400
|
|
Branch: REL_13_STABLE [30e61a8cd] 2021-10-19 13:54:46 -0400
|
|
Branch: REL_12_STABLE [ae7b1dd59] 2021-10-19 13:54:46 -0400
|
|
Branch: REL_11_STABLE [0d08c279b] 2021-10-19 13:54:46 -0400
|
|
-->
|
|
<para>
|
|
Fix updates of element fields in arrays of domain over composite
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A command such as <literal>UPDATE tab SET fld[1].subfld =
|
|
val</literal> failed if the array's elements were domains rather
|
|
than plain composites.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [db2760a84] 2021-09-03 16:39:03 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [2cc018ba8] 2021-09-03 16:39:04 -0400
|
|
Branch: REL_13_STABLE [132be6000] 2021-09-03 16:38:55 -0400
|
|
Branch: REL_12_STABLE [9046a0536] 2021-09-03 16:38:55 -0400
|
|
Branch: REL_11_STABLE [9ebe2852e] 2021-09-03 16:38:55 -0400
|
|
Branch: REL_10_STABLE [5d7c6b6c8] 2021-09-03 16:38:55 -0400
|
|
-->
|
|
<para>
|
|
Disallow creating an ICU collation if the current database's
|
|
encoding won't support it (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously this was allowed, but then the collation could not be
|
|
referenced because of the way collation lookup works; you could not
|
|
use the collation, nor even drop it.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [e54a758d2] 2021-10-06 13:16:51 +0100
|
|
Branch: REL_14_STABLE [8e26b868d] 2021-10-06 13:19:25 +0100
|
|
Branch: REL_13_STABLE [9ab94ccb1] 2021-10-06 13:20:23 +0100
|
|
Branch: REL_12_STABLE [676218034] 2021-10-06 13:21:27 +0100
|
|
Branch: REL_11_STABLE [b2a0f1673] 2021-10-06 13:22:33 +0100
|
|
Branch: REL_10_STABLE [4853baaac] 2021-10-06 13:23:13 +0100
|
|
Branch: REL9_6_STABLE [0de8f9bc8] 2021-10-06 13:24:22 +0100
|
|
-->
|
|
<para>
|
|
Fix corner-case loss of precision in
|
|
numeric <function>power()</function> (Dean Rasheed)
|
|
</para>
|
|
|
|
<para>
|
|
The result could be inaccurate when the first argument is very close
|
|
to 1.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [65dc30ced] 2021-08-24 16:37:26 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [244dd7992] 2021-08-24 16:37:27 -0400
|
|
Branch: REL_13_STABLE [071146184] 2021-08-24 16:37:27 -0400
|
|
Branch: REL_12_STABLE [92620e82f] 2021-08-24 16:37:27 -0400
|
|
Branch: REL_11_STABLE [3ebd32e70] 2021-08-24 16:37:27 -0400
|
|
Branch: REL_10_STABLE [062c4c791] 2021-08-24 16:37:27 -0400
|
|
Branch: REL9_6_STABLE [7e75fe390] 2021-08-24 16:37:27 -0400
|
|
-->
|
|
<para>
|
|
Avoid regular expression errors with capturing parentheses
|
|
inside <literal>{0}</literal> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Regular expressions like <literal>(.){0}...\1</literal> drew
|
|
<quote>invalid backreference number</quote>. Other regexp engines
|
|
such as Perl don't complain, though, and for that matter ours
|
|
doesn't either in some closely related cases. Worse, it could throw
|
|
an assertion failure instead. Fix it so that no error is thrown and
|
|
instead the back-reference is silently deemed to never match.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9bbf6f734] 2021-08-23 17:41:07 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [779557bd2] 2021-08-23 17:41:07 -0400
|
|
Branch: REL_13_STABLE [9a327179c] 2021-08-23 17:41:07 -0400
|
|
Branch: REL_12_STABLE [b9521a1f9] 2021-08-23 17:41:07 -0400
|
|
Branch: REL_11_STABLE [08e080756] 2021-08-23 17:41:07 -0400
|
|
Branch: REL_10_STABLE [df87b7c44] 2021-08-23 17:41:07 -0400
|
|
Branch: REL9_6_STABLE [d90e14414] 2021-08-23 17:41:07 -0400
|
|
-->
|
|
<para>
|
|
Prevent regular expression back-references from sometimes matching
|
|
when they shouldn't (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The regexp engine was careless about clearing match data
|
|
for capturing parentheses after rejecting a partial match. This
|
|
could allow a later back-reference to match in places where it
|
|
should fail for lack of a defined referent.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [facce1da9] 2021-08-20 14:19:04 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [57a2d4a1b] 2021-08-20 14:19:04 -0400
|
|
Branch: REL_13_STABLE [b30f7f399] 2021-08-20 14:19:04 -0400
|
|
Branch: REL_12_STABLE [adbfde3db] 2021-08-20 14:19:04 -0400
|
|
Branch: REL_11_STABLE [9610852ab] 2021-08-20 14:19:04 -0400
|
|
Branch: REL_10_STABLE [e0f2acf26] 2021-08-20 14:19:04 -0400
|
|
Branch: REL9_6_STABLE [cafebd663] 2021-08-20 14:19:04 -0400
|
|
-->
|
|
<para>
|
|
Fix regular expression performance bug with back-references inside
|
|
iteration nodes (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Incorrect back-tracking logic could result in exponential time spent
|
|
looking for a match. Fortunately the problem is masked in most
|
|
cases by other optimizations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_14_STABLE Release: REL_14_0 [599c73a91] 2021-09-06 11:29:52 -0400
|
|
Branch: REL_13_STABLE [d8a266c5e] 2021-09-06 11:29:52 -0400
|
|
Branch: REL_12_STABLE [eb3c8d248] 2021-09-06 11:29:52 -0400
|
|
Branch: REL_11_STABLE [90b4647f6] 2021-09-06 11:29:52 -0400
|
|
Branch: REL_10_STABLE [b28c862a6] 2021-09-06 11:29:52 -0400
|
|
Branch: REL9_6_STABLE [5907c3818] 2021-09-06 11:29:52 -0400
|
|
-->
|
|
<para>
|
|
Fix incorrect results from <literal>AT TIME ZONE</literal> applied
|
|
to a <type>time with time zone</type> value (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The results were incorrect if the target time zone was specified by
|
|
a dynamic timezone abbreviation (that is, one that is defined as
|
|
equivalent to a full time zone name, rather than a fixed UTC offset).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a21049fd3] 2021-09-17 15:41:16 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [4d5b4483d] 2021-09-17 15:41:16 -0400
|
|
Branch: REL_13_STABLE [e0b0d1eab] 2021-09-17 15:41:16 -0400
|
|
Branch: REL_12_STABLE [febe013ca] 2021-09-17 15:41:16 -0400
|
|
-->
|
|
<para>
|
|
Fix mistranslation of PlaceHolderVars to inheritance child relations
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This error could result in assertion failures, or in mis-planning of
|
|
queries having partitioned or inherited tables on the nullable side
|
|
of an outer join.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8c1144ba7] 2021-10-01 14:59:35 -0400
|
|
Branch: REL_14_STABLE [a54509bfd] 2021-10-01 14:59:35 -0400
|
|
Branch: REL_13_STABLE [7adbe186f] 2021-10-01 14:59:35 -0400
|
|
Branch: REL_12_STABLE [334fb8c3d] 2021-10-01 14:59:35 -0400
|
|
Branch: REL_11_STABLE [5863d348a] 2021-10-01 14:59:35 -0400
|
|
Branch: REL_10_STABLE [f951ea3a2] 2021-10-01 14:59:35 -0400
|
|
-->
|
|
<para>
|
|
Avoid using MCV-only statistics to estimate the range of a column
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
There are corner cases in which <command>ANALYZE</command> will
|
|
build a most-common-values (MCV) list but not a histogram, even
|
|
though the MCV list does not account for all the observed values.
|
|
In such cases, keep the planner from using the MCV list alone to
|
|
estimate the range of column values.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7b5d4c29e] 2021-10-01 11:10:12 -0400
|
|
Branch: REL_14_STABLE [e6adaa179] 2021-10-01 11:10:12 -0400
|
|
Branch: REL_13_STABLE [04ef2021e] 2021-10-01 11:10:12 -0400
|
|
Branch: REL_12_STABLE [cded2c460] 2021-10-01 11:10:12 -0400
|
|
Branch: REL_11_STABLE [5abbda985] 2021-10-01 11:10:12 -0400
|
|
-->
|
|
<para>
|
|
Fix restoration of a Portal's snapshot inside a subtransaction
|
|
(Bertrand Drouvot)
|
|
</para>
|
|
|
|
<para>
|
|
If a procedure commits or rolls back a transaction, and then its
|
|
next significant action is inside a new subtransaction, snapshot
|
|
management went wrong, leading to a dangling pointer and probable
|
|
crash. A typical example in PL/pgSQL is a <literal>COMMIT</literal>
|
|
immediately followed by a <literal>BEGIN ... EXCEPTION</literal>
|
|
block that performs a query.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [409f9ca44] 2021-10-18 11:55:42 +0900
|
|
Branch: REL_14_STABLE [5b353aaff] 2021-10-18 11:56:48 +0900
|
|
Branch: REL_13_STABLE [8f4fe8d7f] 2021-10-18 11:56:52 +0900
|
|
Branch: REL_12_STABLE [a207b8521] 2021-10-18 11:56:54 +0900
|
|
Branch: REL_11_STABLE [506aa1f71] 2021-10-18 11:56:57 +0900
|
|
Branch: REL_10_STABLE [d1a6a08df] 2021-10-18 11:57:02 +0900
|
|
Branch: REL9_6_STABLE [f49bf8263] 2021-10-18 11:57:07 +0900
|
|
-->
|
|
<para>
|
|
Clean up correctly if a transaction fails after exporting its
|
|
snapshot (Dilip Kumar)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight would only cause a problem if the same session
|
|
attempted to export a snapshot again. The most likely scenario for
|
|
that is creation of a replication slot (followed by rollback)
|
|
and then creation of another replication slot.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [05e6e78c1] 2021-11-06 19:13:58 +0300
|
|
Branch: REL_14_STABLE [b0f6bd48f] 2021-11-06 19:13:53 +0300
|
|
Branch: REL_13_STABLE [e1fee28a0] 2021-11-06 18:34:19 +0300
|
|
Branch: REL_12_STABLE [8f779a1a3] 2021-11-06 18:34:21 +0300
|
|
Branch: REL_11_STABLE [691c0df73] 2021-11-06 18:34:23 +0300
|
|
Branch: REL_10_STABLE [774d00573] 2021-11-06 18:34:26 +0300
|
|
Branch: REL9_6_STABLE [7381b79ad] 2021-11-06 18:34:31 +0300
|
|
-->
|
|
<para>
|
|
Prevent wraparound of overflowed-subtransaction tracking on standby
|
|
servers (Kyotaro Horiguchi, Alexander Korotkov)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could cause significant performance degradation
|
|
(manifesting as excessive SubtransSLRU traffic) on standby servers.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [8a4237908] 2021-10-04 14:05:20 +0900
|
|
Branch: REL_14_STABLE [828f7f000] 2021-10-04 14:05:48 +0900
|
|
Branch: REL_13_STABLE [194e535a0] 2021-10-04 14:05:52 +0900
|
|
Branch: REL_12_STABLE [3c3f118d5] 2021-10-04 14:05:55 +0900
|
|
Branch: REL_11_STABLE [0a561d4d0] 2021-10-04 14:05:59 +0900
|
|
Branch: REL_10_STABLE [8a6a1fe07] 2021-10-04 14:06:03 +0900
|
|
Branch: REL9_6_STABLE [e2b2a9e1c] 2021-10-04 14:06:09 +0900
|
|
-->
|
|
<para>
|
|
Ensure that prepared transactions are properly accounted for during
|
|
promotion of a standby server (Michael Paquier, Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
There was a narrow window where a prepared transaction could be
|
|
omitted from a snapshot taken by a concurrently-running session.
|
|
If that session then used the snapshot to perform data updates,
|
|
erroneous results or data corruption could occur.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c1b7a6c27] 2021-09-10 13:18:32 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [d844cd75a] 2021-09-10 13:18:32 -0400
|
|
Branch: REL_13_STABLE [fa5d0415f] 2021-09-10 13:18:32 -0400
|
|
Branch: REL_12_STABLE [ba408fc96] 2021-09-10 13:18:32 -0400
|
|
Branch: REL_11_STABLE [9ea8d3d24] 2021-09-10 13:18:32 -0400
|
|
-->
|
|
<para>
|
|
Refuse to rewind a cursor marked <literal>NO SCROLL</literal>
|
|
if it has been held over from a previous transaction due
|
|
to the <literal>WITH HOLD</literal> option (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
We have long forbidden fetching backwards from a <literal>NO
|
|
SCROLL</literal> cursor, but for historical reasons the prohibition
|
|
didn't extend to cases in which we rewind the query altogether and
|
|
then re-fetch forwards. That exception leads to inconsistencies,
|
|
particularly for held-over cursors which may not have stored all the
|
|
data necessary to rewind. Disallow rewinding for non-scrollable
|
|
held-over cursors to block the worst inconsistencies. (v15 will
|
|
remove the exception altogether.)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [cba79a163] 2021-09-09 13:36:44 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [b7056c0a2] 2021-09-09 13:36:44 -0400
|
|
Branch: REL_13_STABLE [d8d93bc8b] 2021-09-09 13:36:31 -0400
|
|
Branch: REL_12_STABLE [2e75e969c] 2021-09-09 13:36:31 -0400
|
|
Branch: REL_11_STABLE [7813451c2] 2021-09-09 13:36:31 -0400
|
|
-->
|
|
<para>
|
|
Fix possible failure while saving a <literal>WITH HOLD</literal>
|
|
cursor at transaction end, if it had already been read to completion
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8481f9989] 2021-09-09 11:45:48 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [7430c7742] 2021-09-09 11:45:48 -0400
|
|
Branch: REL_13_STABLE [04118de78] 2021-09-09 11:45:48 -0400
|
|
Branch: REL_12_STABLE [a7a73ce30] 2021-09-09 11:45:48 -0400
|
|
Branch: REL_11_STABLE [1a23b669d] 2021-09-09 11:45:48 -0400
|
|
Branch: REL_10_STABLE [ca1dd6234] 2021-09-09 11:45:48 -0400
|
|
Branch: REL9_6_STABLE [cc4de2bba] 2021-09-09 11:45:48 -0400
|
|
-->
|
|
<para>
|
|
Fix detection of a relation that has grown to the maximum allowed
|
|
length (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
An attempt to extend a table or index past the limit of 2^32-1
|
|
blocks was rejected, but not soon enough to prevent inconsistent
|
|
internal state from being created.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [362e2dcc4] 2021-09-08 12:05:47 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [03d01d746] 2021-09-08 12:05:43 -0400
|
|
Branch: REL_13_STABLE [cbba6ba3a] 2021-09-08 12:05:43 -0400
|
|
Branch: REL_12_STABLE [1fedbcc7a] 2021-09-08 12:05:43 -0400
|
|
Branch: REL_11_STABLE [882b7e728] 2021-09-08 12:05:43 -0400
|
|
Branch: REL_10_STABLE [9de082399] 2021-09-08 12:05:43 -0400
|
|
Branch: REL9_6_STABLE [595ab8a54] 2021-09-08 12:05:43 -0400
|
|
-->
|
|
<para>
|
|
Correctly track the presence of data-modifying CTEs when expanding
|
|
a <literal>DO INSTEAD</literal> rule (Greg Nancarrow, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The previous failure to do this could lead to problems such as
|
|
unsafely choosing a parallel plan.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [5be8ce82e] 2021-08-31 18:33:38 +0200
|
|
Branch: REL_14_STABLE Release: REL_14_0 [a371a5ba3] 2021-08-31 18:36:06 +0200
|
|
Branch: REL_13_STABLE [1fe1a04af] 2021-08-31 18:38:11 +0200
|
|
Branch: REL_12_STABLE [6c8b98669] 2021-08-31 18:40:09 +0200
|
|
Branch: REL_11_STABLE [b46ff4b50] 2021-08-31 18:42:11 +0200
|
|
Branch: REL_10_STABLE [bfb732c0e] 2021-08-31 18:44:36 +0200
|
|
Branch: master [628bc9d13] 2021-08-31 19:31:10 +0200
|
|
Branch: REL_14_STABLE Release: REL_14_0 [4090ff2a9] 2021-08-31 19:32:32 +0200
|
|
Branch: REL_13_STABLE [c8213aa94] 2021-08-31 19:36:03 +0200
|
|
Branch: REL_12_STABLE [5f8dd5dc1] 2021-08-31 19:41:58 +0200
|
|
Branch: REL_11_STABLE [bce24d1ed] 2021-08-31 19:42:14 +0200
|
|
Branch: REL_10_STABLE [6963e723f] 2021-08-31 19:44:30 +0200
|
|
-->
|
|
<para>
|
|
Fix incorrect reporting of permissions failures on extended
|
|
statistics objects (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
The code typically produced <quote>cache lookup error</quote> rather
|
|
than the intended message.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [a780b2fcc] 2021-08-25 08:32:04 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [11c123988] 2021-08-25 08:33:53 -0400
|
|
Branch: REL_13_STABLE [bc062cb93] 2021-08-25 08:40:52 -0400
|
|
Branch: REL_12_STABLE [f4b77e82e] 2021-08-25 08:45:00 -0400
|
|
Branch: REL_11_STABLE [198cf81e2] 2021-08-25 08:48:01 -0400
|
|
Branch: REL_10_STABLE [96f6ef9fe] 2021-08-25 08:55:52 -0400
|
|
-->
|
|
<para>
|
|
Fix incorrect snapshot handling in parallel workers (Greg Nancarrow)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead to misbehavior in parallel queries if the
|
|
transaction isolation level is less than <literal>REPEATABLE
|
|
READ</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [29b590547] 2021-08-25 09:53:07 +0530
|
|
Branch: REL_14_STABLE Release: REL_14_0 [9d7a80ce0] 2021-08-25 10:10:50 +0530
|
|
Branch: REL_13_STABLE [794025eff] 2021-08-25 09:23:27 +0530
|
|
Branch: REL_12_STABLE [e35705f54] 2021-08-25 09:32:56 +0530
|
|
Branch: REL_11_STABLE [bfdbda24b] 2021-08-25 09:43:33 +0530
|
|
-->
|
|
<para>
|
|
Fix logical decoding to correctly ignore toast-table changes for
|
|
transient tables (Bertrand Drouvot)
|
|
</para>
|
|
|
|
<para>
|
|
Logical decoding normally ignores changes in transient tables such
|
|
as those created during an <command>ALTER TABLE</command> heap
|
|
rewrite. But that filtering wasn't applied to the associated toast
|
|
table if any, leading to possible errors when rewriting a table
|
|
that's being published.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [596ba75cb] 2021-09-09 23:56:57 +0900
|
|
Branch: REL_14_STABLE Release: REL_14_0 [b5ec22bf5] 2021-09-09 23:58:05 +0900
|
|
Branch: REL_13_STABLE [dd9b3fced] 2021-09-09 23:58:26 +0900
|
|
Branch: REL_12_STABLE [466535254] 2021-09-09 23:58:54 +0900
|
|
Branch: REL_11_STABLE [aacb3cfaf] 2021-09-09 23:59:19 +0900
|
|
Branch: REL_10_STABLE [f77489046] 2021-09-09 23:59:40 +0900
|
|
Branch: REL9_6_STABLE [61e2aa2db] 2021-09-10 00:00:06 +0900
|
|
-->
|
|
<para>
|
|
Ensure that walreceiver processes create all required archive
|
|
notification files before exiting (Fujii Masao)
|
|
</para>
|
|
|
|
<para>
|
|
If a walreceiver exited exactly at a WAL segment boundary, it failed
|
|
to make a notification file for the last-received segment, thus
|
|
delaying archiving of that segment on the standby.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8d2d6ec77] 2021-08-19 12:12:35 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [464900393] 2021-08-19 12:12:35 -0400
|
|
Branch: REL_13_STABLE [7fa367d96] 2021-08-19 12:12:35 -0400
|
|
Branch: REL_12_STABLE [0c13ee198] 2021-08-19 12:12:35 -0400
|
|
Branch: REL_11_STABLE [fbc1eed8a] 2021-08-19 12:12:35 -0400
|
|
Branch: REL_10_STABLE [2739a2810] 2021-08-19 12:12:36 -0400
|
|
Branch: REL9_6_STABLE [cc7fae5c2] 2021-08-19 12:12:36 -0400
|
|
-->
|
|
<para>
|
|
Avoid trying to lock the <literal>OLD</literal>
|
|
and <literal>NEW</literal> pseudo-relations in a rule
|
|
that uses <literal>SELECT FOR UPDATE</literal>
|
|
(Masahiko Sawada, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2313dda9d] 2021-08-18 18:12:51 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [61f9dae2c] 2021-08-18 18:12:51 -0400
|
|
Branch: REL_13_STABLE [ecd4dd9f1] 2021-08-18 18:12:51 -0400
|
|
Branch: REL_12_STABLE [eb2f59b34] 2021-08-18 18:12:51 -0400
|
|
Branch: REL_11_STABLE [a65319f09] 2021-08-18 18:12:51 -0400
|
|
Branch: REL_10_STABLE [82ad7ecb4] 2021-08-18 18:12:51 -0400
|
|
Branch: REL9_6_STABLE [c09f56fed] 2021-08-18 18:12:51 -0400
|
|
-->
|
|
<para>
|
|
Fix parser's processing of aggregate <literal>FILTER</literal>
|
|
clauses (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If the <literal>FILTER</literal> expression is a plain boolean column,
|
|
the semantic level of the aggregate could be mis-determined, leading
|
|
to not-per-spec behavior. If the <literal>FILTER</literal>
|
|
expression is itself a boolean-returning aggregate, an error should
|
|
be thrown but was not, likely resulting in a crash at execution.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [c2c618ff1] 2021-10-19 19:08:45 -0300
|
|
Branch: REL_14_STABLE [3ce3fb2f7] 2021-10-19 19:08:45 -0300
|
|
Branch: REL_13_STABLE [842fe6123] 2021-10-19 19:08:45 -0300
|
|
Branch: REL_12_STABLE [6c8d1c197] 2021-10-19 19:08:45 -0300
|
|
Branch: master [cd124d205] 2021-10-20 13:05:42 -0300
|
|
Branch: REL_14_STABLE [718278855] 2021-10-20 13:05:42 -0300
|
|
Branch: REL_13_STABLE [a73a3671d] 2021-10-20 13:05:42 -0300
|
|
Branch: REL_12_STABLE [3c8c49945] 2021-10-20 13:05:42 -0300
|
|
-->
|
|
<para>
|
|
Ensure that the correct lock level is used when renaming a table
|
|
(Nathan Bossart, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
For historical reasons, <command>ALTER INDEX ... RENAME</command>
|
|
can be applied to any sort of relation. The lock level required to
|
|
rename an index is lower than that required to rename a table or
|
|
other kind of relation, but the code got this wrong and would use
|
|
the weaker lock level whenever the command is spelled <command>ALTER
|
|
INDEX</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [edb4d95dd] 2021-09-13 18:26:15 -0700
|
|
Branch: REL_14_STABLE Release: REL_14_0 [4e86887e0] 2021-09-13 18:15:28 -0700
|
|
Branch: REL_13_STABLE [c49e6f9d9] 2021-09-13 18:26:18 -0700
|
|
Branch: REL_12_STABLE [43849b65f] 2021-09-13 18:26:18 -0700
|
|
Branch: REL_11_STABLE [dccffd9a2] 2021-09-13 18:26:18 -0700
|
|
-->
|
|
<para>
|
|
Avoid trying to clean up LLVM state after an error within LLVM
|
|
(Andres Freund, Justin Pryzby)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents a likely crash during backend exit after a fatal LLVM
|
|
error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [d74b54b3d] 2021-11-05 12:29:35 -0300
|
|
Branch: REL_14_STABLE [02e20bb2d] 2021-11-05 12:29:35 -0300
|
|
Branch: REL_13_STABLE [bf5cdcfd5] 2021-11-05 12:29:34 -0300
|
|
Branch: REL_12_STABLE [3eff168a2] 2021-11-05 12:29:34 -0300
|
|
Branch: REL_11_STABLE [92224e470] 2021-11-05 12:29:34 -0300
|
|
Branch: REL_10_STABLE [58b600f64] 2021-11-05 12:29:34 -0300
|
|
Branch: REL9_6_STABLE [e0eaeafd6] 2021-11-05 12:29:35 -0300
|
|
-->
|
|
<para>
|
|
Avoid null-pointer-dereference crash when dropping a role that owns
|
|
objects being dropped concurrently (Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [6b1b405eb] 2021-11-03 10:52:38 +0200
|
|
Branch: REL_14_STABLE [4ebd740cd] 2021-11-03 10:54:33 +0200
|
|
Branch: REL_13_STABLE [07070c008] 2021-11-03 10:54:36 +0200
|
|
Branch: REL_12_STABLE [11a399f9c] 2021-11-03 10:54:39 +0200
|
|
Branch: REL_11_STABLE [6bf00da11] 2021-11-03 10:54:42 +0200
|
|
Branch: REL_10_STABLE [7b55bb892] 2021-11-03 11:09:08 +0200
|
|
Branch: REL9_6_STABLE [8f32afee0] 2021-11-03 11:15:02 +0200
|
|
Branch: master [d5ab0681b] 2021-11-03 19:38:17 +0200
|
|
Branch: REL_14_STABLE [f4e3b6271] 2021-11-03 19:41:35 +0200
|
|
Branch: REL_13_STABLE [b7299b664] 2021-11-03 19:41:38 +0200
|
|
Branch: REL_12_STABLE [7dc9a310e] 2021-11-03 19:41:41 +0200
|
|
Branch: REL_11_STABLE [b110af5f7] 2021-11-03 19:41:44 +0200
|
|
Branch: REL_10_STABLE [245799d39] 2021-11-03 19:41:46 +0200
|
|
Branch: REL9_6_STABLE [71aeaf245] 2021-11-03 19:41:49 +0200
|
|
-->
|
|
<para>
|
|
Prevent <quote>snapshot reference leak</quote> warning
|
|
when <function>lo_export()</function> or a related function fails
|
|
(Heikki Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3778bcb39] 2021-08-27 19:53:05 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [e84d4810c] 2021-08-27 19:53:06 -0400
|
|
Branch: REL_13_STABLE [dbb239d51] 2021-08-27 19:42:42 -0400
|
|
Branch: REL_12_STABLE [187b5fea9] 2021-08-27 19:42:42 -0400
|
|
Branch: REL_11_STABLE [7c1b0f4c3] 2021-08-27 19:42:42 -0400
|
|
Branch: REL_10_STABLE [6a787c83c] 2021-08-27 19:42:42 -0400
|
|
Branch: REL9_6_STABLE [9e959f7ed] 2021-08-27 19:42:42 -0400
|
|
-->
|
|
<para>
|
|
Ensure that scans of SP-GiST indexes are counted in the statistics
|
|
views (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Incrementing the number-of-index-scans counter was overlooked in the
|
|
SP-GiST code, although per-tuple counters were advanced correctly.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [e4ba1005c] 2021-08-16 12:10:22 +0900
|
|
Branch: REL_14_STABLE Release: REL_14_0 [f83d80ea1] 2021-08-16 12:11:49 +0900
|
|
Branch: REL_13_STABLE [7f0873f32] 2021-08-16 12:11:53 +0900
|
|
Branch: REL_12_STABLE [84c1bac57] 2021-08-16 12:11:56 +0900
|
|
Branch: REL_11_STABLE [d392e86fa] 2021-08-16 12:11:59 +0900
|
|
Branch: REL_10_STABLE [024fd44e0] 2021-08-16 12:12:02 +0900
|
|
Branch: REL9_6_STABLE [942416f4b] 2021-08-16 12:12:09 +0900
|
|
-->
|
|
<para>
|
|
Recalculate relevant wait intervals
|
|
if <varname>recovery_min_apply_delay</varname> is changed during
|
|
recovery (Soumyadeep Chakraborty, Ashwin Agrawal)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [37450f2ca] 2021-08-13 16:41:26 +1200
|
|
Branch: REL_14_STABLE Release: REL_14_0 [dc23c77d0] 2021-08-13 16:41:56 +1200
|
|
Branch: REL_13_STABLE [4873da79d] 2021-08-13 16:42:35 +1200
|
|
Branch: REL_12_STABLE [75d8fe818] 2021-08-13 16:43:13 +1200
|
|
Branch: REL_11_STABLE [5a6b0f21e] 2021-08-13 16:43:46 +1200
|
|
Branch: REL_10_STABLE [4874886b4] 2021-08-13 16:44:18 +1200
|
|
-->
|
|
<para>
|
|
Fix infinite loop if a <filename>simplehash.h</filename> hash table
|
|
reaches 2^32 elements (Yura Sokolov)
|
|
</para>
|
|
|
|
<para>
|
|
It seems unlikely that this bug has been hit in practice, as it
|
|
would require <varname>work_mem</varname> settings of hundreds of
|
|
gigabytes for existing uses of <filename>simplehash.h</filename>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [83772cc78] 2021-09-23 18:05:10 +0200
|
|
Branch: REL_14_STABLE Release: REL_14_0 [bb7628e55] 2021-09-23 18:22:29 +0200
|
|
Branch: REL_13_STABLE [b564eb018] 2021-09-23 18:33:59 +0200
|
|
Branch: REL_12_STABLE [16d394c05] 2021-09-23 18:41:55 +0200
|
|
Branch: REL_11_STABLE [ac7290a20] 2021-09-23 18:48:03 +0200
|
|
Branch: REL_10_STABLE [3aac99068] 2021-09-23 18:54:30 +0200
|
|
Branch: master [ad8a166ca] 2021-09-23 18:13:36 +0200
|
|
Branch: REL_14_STABLE Release: REL_14_0 [abb2f9144] 2021-09-23 18:25:37 +0200
|
|
Branch: REL_13_STABLE [c0386f403] 2021-09-23 18:34:01 +0200
|
|
Branch: REL_12_STABLE [4185632e9] 2021-09-23 18:43:05 +0200
|
|
Branch: REL_11_STABLE [4487a7def] 2021-09-23 18:48:58 +0200
|
|
Branch: REL_10_STABLE [d77e085af] 2021-09-23 18:55:22 +0200
|
|
-->
|
|
<para>
|
|
Reduce memory consumption during calculation of extended statistics
|
|
(Justin Pryzby, Tomas Vondra)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [8781b0ce2] 2021-10-26 12:54:55 +1300
|
|
Branch: REL_14_STABLE [181361a0c] 2021-10-26 13:09:00 +1300
|
|
Branch: REL_13_STABLE [24b7cf8a5] 2021-10-26 13:04:40 +1300
|
|
Branch: REL_12_STABLE [8fef901e3] 2021-10-26 13:01:52 +1300
|
|
-->
|
|
<para>
|
|
Disallow setting <varname>huge_pages</varname>
|
|
to <literal>on</literal> when <varname>shared_memory_type</varname>
|
|
is <literal>sysv</literal> (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, this setting was accepted, but it did nothing for lack
|
|
of any implementation.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [fa703b317] 2021-09-13 13:23:50 +0900
|
|
Branch: REL_14_STABLE Release: REL_14_0 [cc057fb31] 2021-09-13 13:24:04 +0900
|
|
Branch: REL_13_STABLE [b589d212f] 2021-09-13 13:24:20 +0900
|
|
Branch: REL_12_STABLE [b34dcf87f] 2021-09-13 13:24:27 +0900
|
|
Branch: REL_11_STABLE [b6a10ff4a] 2021-09-13 13:24:35 +0900
|
|
Branch: REL_10_STABLE [83a3737a6] 2021-09-13 13:24:47 +0900
|
|
Branch: REL9_6_STABLE [3768c468d] 2021-09-13 13:24:56 +0900
|
|
-->
|
|
<para>
|
|
Fix <application>ecpg</application> to recover correctly
|
|
after <function>malloc()</function> failure while establishing a
|
|
connection (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4476bcb87] 2021-09-21 19:06:53 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [2ad5f963e] 2021-09-21 19:06:54 -0400
|
|
Branch: REL_13_STABLE [5f0a073cb] 2021-09-21 19:06:33 -0400
|
|
Branch: REL_12_STABLE [e8b0bcae6] 2021-09-21 19:06:33 -0400
|
|
Branch: REL_11_STABLE [13921c511] 2021-09-21 19:06:33 -0400
|
|
-->
|
|
<para>
|
|
Fix misevaluation of stable functions called in the arguments of a
|
|
PL/pgSQL <command>CALL</command> statement (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
They were being called with an out-of-date snapshot, so that they
|
|
would not see any database changes made since the start of the
|
|
session's top-level command.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1bf2518dd] 2021-09-13 12:42:03 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [4ffd3fe4d] 2021-09-13 12:42:28 -0400
|
|
Branch: REL_13_STABLE [745abdd95] 2021-09-13 12:42:03 -0400
|
|
Branch: REL_12_STABLE [b1de90699] 2021-09-13 12:42:03 -0400
|
|
Branch: REL_11_STABLE [bdd6ce48d] 2021-09-13 12:42:03 -0400
|
|
Branch: REL_10_STABLE [fe70ec907] 2021-09-13 12:42:04 -0400
|
|
Branch: REL9_6_STABLE [a460f7eb3] 2021-09-13 12:42:04 -0400
|
|
-->
|
|
<para>
|
|
Allow <literal>EXIT</literal> out of the outermost block in a
|
|
PL/pgSQL routine (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If the routine does not require an explicit <literal>RETURN</literal>,
|
|
this usage should be valid, but it was rejected.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [87ad49147] 2021-09-03 21:04:44 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [69d670e68] 2021-09-03 21:04:44 -0400
|
|
Branch: REL_13_STABLE [742b30cae] 2021-09-03 21:04:44 -0400
|
|
Branch: REL_12_STABLE [3b302eb1e] 2021-09-03 21:04:44 -0400
|
|
Branch: REL_11_STABLE [beb404d3b] 2021-09-03 21:04:44 -0400
|
|
Branch: REL_10_STABLE [6e2f45817] 2021-09-03 21:04:45 -0400
|
|
Branch: REL9_6_STABLE [9a070c658] 2021-09-03 21:04:45 -0400
|
|
-->
|
|
<para>
|
|
Remove <application>pg_ctl</application>'s hard-coded limits on the
|
|
total length of generated commands (Phil Krylov)
|
|
</para>
|
|
|
|
<para>
|
|
For example, this removes a restriction on how many command-line
|
|
options can be passed through to the postmaster. Individual path
|
|
names that <application>pg_ctl</application> deals with, such as the
|
|
postmaster executable's name or the data directory name, are still
|
|
limited to <literal>MAXPGPATH</literal> bytes in most cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2acc84c6f] 2021-10-22 15:22:25 -0400
|
|
Branch: REL_14_STABLE [3ad2c2455] 2021-10-22 15:22:25 -0400
|
|
Branch: REL_13_STABLE [476006023] 2021-10-22 15:22:26 -0400
|
|
Branch: REL_12_STABLE [52b927a73] 2021-10-22 15:22:26 -0400
|
|
Branch: REL_11_STABLE [871dfe4b7] 2021-10-22 15:22:26 -0400
|
|
Branch: REL_10_STABLE [10f9faf6d] 2021-10-22 15:22:26 -0400
|
|
Branch: REL9_6_STABLE [b1df061f7] 2021-10-22 15:22:26 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application> to dump non-global default
|
|
privileges correctly (Neil Chen, Masahiko Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
If a global (unrestricted) <command>ALTER DEFAULT
|
|
PRIVILEGES</command> command revoked some present-by-default
|
|
privilege, for example <literal>EXECUTE</literal> for functions, and
|
|
then a restricted <command>ALTER DEFAULT PRIVILEGES</command>
|
|
command granted that privilege again for a selected role or
|
|
schema, <application>pg_dump</application> failed to dump the
|
|
restricted privilege grant correctly.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e2ff7d9a8] 2021-10-16 12:23:57 -0400
|
|
Branch: REL_14_STABLE [b5152e3ba] 2021-10-16 12:24:11 -0400
|
|
Branch: REL_13_STABLE [6a262ba8c] 2021-10-16 12:24:17 -0400
|
|
Branch: REL_12_STABLE [fd182a92a] 2021-10-16 12:24:24 -0400
|
|
Branch: REL_11_STABLE [ca7a4ce58] 2021-10-16 12:24:33 -0400
|
|
Branch: REL_10_STABLE [2e2a23283] 2021-10-16 12:24:40 -0400
|
|
-->
|
|
<para>
|
|
Make <application>pg_dump</application> acquire shared lock on
|
|
partitioned tables that are to be dumped (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight was usually pretty harmless, since
|
|
once <application>pg_dump</application> has locked any of the leaf
|
|
partitions, that would suffice to prevent significant DDL on the
|
|
partitioned table itself. However problems could ensue when dumping
|
|
a childless partitioned table, since no relevant lock would be held.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [bd3611db5] 2021-08-31 15:04:05 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [a20a9f26c] 2021-08-31 15:04:05 -0400
|
|
Branch: REL_13_STABLE [db11b4a3d] 2021-08-31 15:04:05 -0400
|
|
Branch: REL_12_STABLE [6b9667392] 2021-08-31 15:04:05 -0400
|
|
Branch: REL_11_STABLE [a60860ff3] 2021-08-31 15:04:05 -0400
|
|
Branch: REL_10_STABLE [ba8f1a0be] 2021-08-31 15:04:05 -0400
|
|
Branch: REL9_6_STABLE [dd3105286] 2021-08-31 15:04:05 -0400
|
|
Branch: master [6c450a861] 2021-08-31 13:53:49 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [9407dbbcb] 2021-08-31 13:53:49 -0400
|
|
Branch: REL_13_STABLE [904ce45bf] 2021-08-31 13:53:50 -0400
|
|
Branch: REL_12_STABLE [2f1ed9d98] 2021-08-31 13:53:50 -0400
|
|
Branch: REL_11_STABLE [c4b298ee1] 2021-08-31 13:53:51 -0400
|
|
Branch: REL_10_STABLE [0e7bdc722] 2021-08-31 13:53:51 -0400
|
|
Branch: REL9_6_STABLE [4645997c8] 2021-08-31 13:53:33 -0400
|
|
-->
|
|
<para>
|
|
Improve <application>pg_dump</application>'s performance by avoiding
|
|
making per-table queries for RLS policies, and by avoiding repetitive
|
|
calls to <function>format_type()</function> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
These changes provide only marginal improvement when dumping from a
|
|
local server, but a dump from a remote server can benefit
|
|
substantially due to fewer network round-trips.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [40dfac4fc] 2021-10-16 15:02:55 -0400
|
|
Branch: REL_14_STABLE [3e4c8db93] 2021-10-16 15:03:05 -0400
|
|
Branch: REL_13_STABLE [0b5f557b7] 2021-10-16 15:03:10 -0400
|
|
Branch: REL_12_STABLE [5b0b2983a] 2021-10-16 15:03:15 -0400
|
|
Branch: REL_11_STABLE [58955c84f] 2021-10-16 15:03:21 -0400
|
|
-->
|
|
<para>
|
|
Fix crash in <application>pg_dump</application> when attempting to
|
|
dump trigger definitions from a pre-8.3 server (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
|
|
Branch: master [998d060f3] 2021-10-19 12:59:54 +0200
|
|
Branch: REL_14_STABLE [3e2f32b01] 2021-10-19 12:59:54 +0200
|
|
Branch: REL_13_STABLE [687fe8a9d] 2021-10-19 12:59:54 +0200
|
|
Branch: REL_12_STABLE [e788883de] 2021-10-19 12:59:54 +0200
|
|
Branch: REL_11_STABLE [038892c81] 2021-10-19 12:59:54 +0200
|
|
Branch: REL_10_STABLE [4fda03b67] 2021-10-19 12:59:54 +0200
|
|
Branch: REL9_6_STABLE [ef1f15819] 2021-10-19 12:59:54 +0200
|
|
-->
|
|
<para>
|
|
Fix incorrect filename in <application>pg_restore</application>'s
|
|
error message about an invalid large object TOC file (Daniel
|
|
Gustafsson)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [d33674708] 2021-09-29 21:46:56 +0900
|
|
Branch: REL_14_STABLE [8021334d3] 2021-09-29 21:47:25 +0900
|
|
Branch: REL_13_STABLE [3cc85d7d5] 2021-09-29 21:47:31 +0900
|
|
Branch: master [2acb7cc6b] 2021-09-29 21:48:52 +0900
|
|
Branch: REL_14_STABLE [8231c500e] 2021-09-29 21:49:29 +0900
|
|
Branch: REL_13_STABLE [8cf4f7118] 2021-09-29 21:49:36 +0900
|
|
Branch: REL_12_STABLE [c5f7e702d] 2021-09-29 21:49:40 +0900
|
|
-->
|
|
<para>
|
|
Ensure that <application>pgbench</application> exits with non-zero
|
|
status after a socket-level failure (Yugo Nagata, Fabien Coelho)
|
|
</para>
|
|
|
|
<para>
|
|
The desired behavior is to finish out the run but then exit with
|
|
status 2. Also, fix the reporting of such errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a6bd28beb] 2021-08-10 18:10:29 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [a4957b5a7] 2021-08-10 18:10:30 -0400
|
|
Branch: REL_13_STABLE [7ba487cf9] 2021-08-10 18:10:30 -0400
|
|
Branch: REL_12_STABLE [cd7d9b6b6] 2021-08-10 18:10:30 -0400
|
|
Branch: REL_11_STABLE [eefa4c2b5] 2021-08-10 18:10:30 -0400
|
|
Branch: REL_10_STABLE [843d2879a] 2021-08-10 18:10:30 -0400
|
|
Branch: REL9_6_STABLE [5a9df5d50] 2021-08-10 18:10:30 -0400
|
|
-->
|
|
<para>
|
|
Fix failure of <filename>contrib/btree_gin</filename> indexes
|
|
on <type>"char"</type>
|
|
(not <type>char(<replaceable>n</replaceable>)</type>) columns,
|
|
when an indexscan using the <literal><</literal>
|
|
or <literal><=</literal> operator is performed (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Such an indexscan failed to return all the entries it should.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a667b0668] 2021-10-31 19:13:48 -0400
|
|
Branch: REL_14_STABLE [7104e0b24] 2021-10-31 19:13:48 -0400
|
|
Branch: REL_13_STABLE [3a5b313ce] 2021-10-31 19:13:48 -0400
|
|
Branch: REL_12_STABLE [16d0da5c8] 2021-10-31 19:13:48 -0400
|
|
Branch: REL_11_STABLE [5dd067430] 2021-10-31 19:13:48 -0400
|
|
Branch: REL_10_STABLE [d87d5f8d8] 2021-10-31 19:13:48 -0400
|
|
Branch: REL9_6_STABLE [fdb60ca83] 2021-10-31 19:13:48 -0400
|
|
-->
|
|
<para>
|
|
Change <filename>contrib/pg_stat_statements</filename> to read
|
|
its <quote>query texts</quote> file in units of at most 1GB
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Such large query text files are very unusual, but if they do occur,
|
|
the previous coding would fail on Windows 64 (which rejects
|
|
individual read requests of more than 2GB).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3071bbfe4] 2021-10-06 15:50:24 -0400
|
|
Branch: REL_14_STABLE [12ff678e1] 2021-10-06 15:50:24 -0400
|
|
Branch: REL_13_STABLE [aee83f39a] 2021-10-06 15:50:24 -0400
|
|
Branch: REL_12_STABLE [228897374] 2021-10-06 15:50:24 -0400
|
|
Branch: REL_11_STABLE [88807757d] 2021-10-06 15:50:24 -0400
|
|
Branch: REL_10_STABLE [2e33fbda1] 2021-10-06 15:50:24 -0400
|
|
Branch: REL9_6_STABLE [36c9f7d96] 2021-10-06 15:50:24 -0400
|
|
-->
|
|
<para>
|
|
Fix null-pointer crash
|
|
when <filename>contrib/postgres_fdw</filename> tries to report a
|
|
data conversion error (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c32fcac56] 2021-08-13 13:59:43 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [4ffbd55d9] 2021-08-13 13:59:44 -0400
|
|
Branch: REL_13_STABLE [48695decc] 2021-08-13 13:59:06 -0400
|
|
Branch: REL_12_STABLE [cdda2b247] 2021-08-13 13:59:13 -0400
|
|
Branch: REL_11_STABLE [8024ff478] 2021-08-13 13:59:18 -0400
|
|
Branch: REL_10_STABLE [7915a9515] 2021-08-13 13:59:25 -0400
|
|
Branch: REL9_6_STABLE [582a2affa] 2021-08-13 13:59:33 -0400
|
|
-->
|
|
<para>
|
|
Add spinlock support for the RISC-V architecture (Marek Szuba)
|
|
</para>
|
|
|
|
<para>
|
|
This is essential for reasonable performance on that platform.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master Release: REL_14_BR [22e1943f1] 2021-03-23 11:48:37 +0100
|
|
Branch: REL_13_STABLE [a69e1506f] 2021-09-25 11:25:48 +0200
|
|
Branch: REL_12_STABLE [90cfd269f] 2021-09-25 11:25:48 +0200
|
|
Branch: REL_11_STABLE [0f28d267c] 2021-09-25 11:25:48 +0200
|
|
Branch: REL_10_STABLE [841075a65] 2021-09-25 11:25:48 +0200
|
|
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
|
|
Branch: master [318df8023] 2021-08-10 15:01:52 +0200
|
|
Branch: REL_14_STABLE Release: REL_14_0 [4fa2b15e1] 2021-09-25 11:27:20 +0200
|
|
Branch: REL_13_STABLE [135d8687a] 2021-09-25 11:27:20 +0200
|
|
Branch: REL_12_STABLE [00c72da4a] 2021-09-25 11:27:20 +0200
|
|
Branch: REL_11_STABLE [11901cd96] 2021-09-25 11:27:20 +0200
|
|
Branch: REL_10_STABLE [e802b594e] 2021-09-25 11:27:20 +0200
|
|
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
|
|
Branch: master [72bbff4cd] 2021-08-10 15:08:46 +0200
|
|
Branch: REL_14_STABLE Release: REL_14_0 [6d0001aab] 2021-09-25 11:27:28 +0200
|
|
Branch: REL_13_STABLE [8e7199453] 2021-09-25 11:27:28 +0200
|
|
Branch: REL_12_STABLE [7b6ce36fb] 2021-09-25 11:27:28 +0200
|
|
Branch: REL_11_STABLE [19e91a40b] 2021-09-25 11:27:28 +0200
|
|
Branch: REL_10_STABLE [eb643536b] 2021-09-25 11:27:28 +0200
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [41f30ecc2] 2021-10-20 16:48:24 +0900
|
|
Branch: REL_14_STABLE [81aefaea8] 2021-10-20 16:48:57 +0900
|
|
Branch: REL_13_STABLE [abb9ee92c] 2021-10-20 16:49:00 +0900
|
|
Branch: REL_12_STABLE [1539e0ecd] 2021-10-20 16:49:03 +0900
|
|
Branch: REL_11_STABLE [e00d45fea] 2021-10-20 16:49:06 +0900
|
|
Branch: REL_10_STABLE [922e3c3b7] 2021-10-20 16:49:10 +0900
|
|
Branch: REL9_6_STABLE [d581960df] 2021-10-20 16:49:14 +0900
|
|
-->
|
|
<para>
|
|
Support OpenSSL 3.0.0
|
|
(Peter Eisentraut, Daniel Gustafsson, Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
|
|
Branch: master [31f860a52] 2021-08-17 14:30:01 +0200
|
|
Branch: REL_14_STABLE Release: REL_14_0 [b88377ad6] 2021-08-17 14:30:25 +0200
|
|
Branch: REL_13_STABLE [e15f32f0e] 2021-08-17 14:31:00 +0200
|
|
Branch: REL_12_STABLE [ed209db77] 2021-08-17 14:31:08 +0200
|
|
Branch: REL_11_STABLE [f1d5a94fc] 2021-08-17 14:30:39 +0200
|
|
Branch: REL_10_STABLE [ef7e24ff7] 2021-08-17 14:30:51 +0200
|
|
Branch: REL9_6_STABLE [0a88d4ece] 2021-08-17 14:31:22 +0200
|
|
-->
|
|
<para>
|
|
Set correct type identifier on OpenSSL BIO (I/O abstraction)
|
|
objects created by <productname>PostgreSQL</productname>
|
|
(Itamar Gafni)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight probably only matters for code that is doing
|
|
tasks like auditing the OpenSSL installation. But it's
|
|
nominally a violation of the OpenSSL API, so fix it.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [4c2eab3a0] 2021-09-03 10:52:11 +0200
|
|
Branch: master [55392bc5b] 2021-09-06 09:12:34 +0200
|
|
Branch: REL_14_STABLE Release: REL_14_0 [1e9afc868] 2021-09-06 09:41:03 +0200
|
|
Branch: REL_13_STABLE [9f9ae019d] 2021-09-06 09:43:05 +0200
|
|
Branch: REL_12_STABLE [60bf7e69b] 2021-09-06 09:43:18 +0200
|
|
-->
|
|
<para>
|
|
Fix our <filename>pkg-config</filename> files to again support static
|
|
linking of <application>libpq</application> (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e757080e0] 2021-09-11 15:19:31 -0400
|
|
Branch: REL_14_STABLE Release: REL_14_0 [b33283cbd] 2021-09-11 15:19:43 -0400
|
|
Branch: REL_13_STABLE [7e420072e] 2021-09-11 15:19:49 -0400
|
|
Branch: REL_12_STABLE [3adde7eb6] 2021-09-11 15:19:54 -0400
|
|
Branch: REL_11_STABLE [3be381a90] 2021-09-11 15:19:58 -0400
|
|
Branch: REL_10_STABLE [daac97eb0] 2021-09-11 15:20:04 -0400
|
|
Branch: REL9_6_STABLE [ec89d7ace] 2021-09-11 15:20:12 -0400
|
|
-->
|
|
<para>
|
|
Make <function>pg_regexec()</function> robust against an
|
|
out-of-range <replaceable>search_start</replaceable> parameter
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Return <literal>REG_NOMATCH</literal>, instead of possibly crashing,
|
|
when <replaceable>search_start</replaceable> is past the end of the
|
|
string. This case is probably unreachable within
|
|
core <productname>PostgreSQL</productname>, but extensions might be
|
|
more careless about the parameter value.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Jeff Davis <jdavis@postgresql.org>
|
|
Branch: master [7821a0bf2] 2021-10-14 12:24:00 -0700
|
|
Branch: REL_14_STABLE [0b90f1c4c] 2021-10-14 12:24:22 -0700
|
|
Branch: REL_13_STABLE [20f785732] 2021-10-14 12:24:47 -0700
|
|
Branch: REL_12_STABLE [ab11f6e46] 2021-10-14 12:25:07 -0700
|
|
Branch: REL_11_STABLE [3f5d481ef] 2021-10-14 12:25:30 -0700
|
|
Branch: REL_10_STABLE [9364f64a2] 2021-10-14 12:25:48 -0700
|
|
Branch: REL9_6_STABLE [ae6abeb88] 2021-10-14 12:26:26 -0700
|
|
-->
|
|
<para>
|
|
Ensure that <function>GetSharedSecurityLabel()</function> can be
|
|
used in a newly-started session that has not yet built its critical
|
|
relation cache entries (Jeff Davis)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9b8d68cc6] 2021-10-02 16:05:42 -0400
|
|
Branch: REL_14_STABLE [fa8db4879] 2021-10-02 16:06:09 -0400
|
|
Branch: REL_13_STABLE [9c76689de] 2021-10-02 16:06:23 -0400
|
|
Branch: REL_12_STABLE [e5b25f19b] 2021-10-02 16:06:45 -0400
|
|
Branch: REL_11_STABLE [9cc919b51] 2021-10-02 16:06:55 -0400
|
|
Branch: REL_10_STABLE [e323630cd] 2021-10-02 16:07:16 -0400
|
|
Branch: REL9_6_STABLE [dbec5a2fe] 2021-10-02 16:07:37 -0400
|
|
Branch: master [ad740067a] 2021-10-02 16:05:10 -0400
|
|
Branch: REL_14_STABLE [81464999b] 2021-10-02 16:06:09 -0400
|
|
Branch: REL_13_STABLE [7ba8eb81f] 2021-10-02 16:06:23 -0400
|
|
Branch: REL_12_STABLE [4721e8aa6] 2021-10-02 16:06:45 -0400
|
|
Branch: REL_11_STABLE [bb6d42669] 2021-10-02 16:06:55 -0400
|
|
Branch: REL_10_STABLE [cb0799db0] 2021-10-02 16:07:16 -0400
|
|
Branch: REL9_6_STABLE [37cbe0f79] 2021-10-02 16:07:36 -0400
|
|
Branch: master [c1aa3b3c0] 2021-10-04 14:52:39 -0400
|
|
Branch: REL_14_STABLE [919c08d90] 2021-10-04 14:52:17 -0400
|
|
Branch: REL_13_STABLE [c53ff69e1] 2021-10-04 14:52:17 -0400
|
|
Branch: REL_12_STABLE [07873a5dc] 2021-10-04 14:52:17 -0400
|
|
Branch: REL_11_STABLE [d0b0b70dc] 2021-10-04 14:52:17 -0400
|
|
Branch: REL_10_STABLE [cd2479142] 2021-10-04 14:52:17 -0400
|
|
Branch: REL9_6_STABLE [b5f34ae08] 2021-10-04 14:52:17 -0400
|
|
-->
|
|
<para>
|
|
Use the CLDR project's data to map Windows time zone names to IANA
|
|
time zones (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
When running on Windows, <application>initdb</application> attempts
|
|
to set the new cluster's <varname>timezone</varname> parameter to
|
|
the IANA time zone matching the system's prevailing time zone.
|
|
We were using a mapping table that we'd generated years ago and
|
|
updated only fitfully; unsurprisingly, it contained a number of
|
|
errors as well as omissions of recently-added zones. It turns out
|
|
that CLDR has been tracking the most appropriate mappings, so start
|
|
using their data. This change will not affect any existing
|
|
installation, only newly-initialized clusters.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [937aafd6d] 2021-10-29 11:38:18 -0400
|
|
Branch: REL_14_STABLE [0c8a40b39] 2021-10-29 11:38:32 -0400
|
|
Branch: REL_13_STABLE [4cd72add0] 2021-10-29 11:38:38 -0400
|
|
Branch: REL_12_STABLE [14b8d25d6] 2021-10-29 11:38:47 -0400
|
|
Branch: REL_11_STABLE [91455f7c6] 2021-10-29 11:38:53 -0400
|
|
Branch: REL_10_STABLE [d0fe211ce] 2021-10-29 11:38:58 -0400
|
|
Branch: REL9_6_STABLE [22a498b9b] 2021-10-29 11:39:05 -0400
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2021e for DST law changes in Fiji, Jordan, Palestine, and
|
|
Samoa, plus historical corrections for Barbados, Cook Islands,
|
|
Guyana, Niue, Portugal, and Tonga.
|
|
</para>
|
|
|
|
<para>
|
|
Also, the Pacific/Enderbury zone has been renamed to Pacific/Kanton.
|
|
Also, the following zones have been merged into nearby, more-populous
|
|
zones whose clocks have agreed with them since 1970: Africa/Accra,
|
|
America/Atikokan, America/Blanc-Sablon, America/Creston,
|
|
America/Curacao, America/Nassau, America/Port_of_Spain,
|
|
Antarctica/DumontDUrville, and Antarctica/Syowa.
|
|
In all these cases, the previous zone name remains as an alias.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-8">
|
|
<title>Release 12.8</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2021-08-12</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.7.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.8</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you are upgrading from a version earlier than 12.6,
|
|
see <xref linkend="release-12-6"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [6ee41a301] 2021-05-31 12:03:00 -0400
|
|
Branch: REL_13_STABLE [fe6f63286] 2021-05-31 12:03:00 -0400
|
|
Branch: REL_12_STABLE [6f9e7f21f] 2021-05-31 12:03:00 -0400
|
|
Branch: REL_11_STABLE [fe194f731] 2021-05-31 12:03:00 -0400
|
|
-->
|
|
<para>
|
|
Fix mis-planning of repeated application of a projection step
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The planner could create an incorrect plan in cases where two
|
|
ProjectionPaths were stacked on top of each other. The only known
|
|
way to trigger that situation involves parallel sort operations, but
|
|
there may be other instances. The result would be crashes or
|
|
incorrect query results.
|
|
Disclosure of server memory contents is also possible.
|
|
(CVE-2021-3677)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_14_BR [01e6f1a84] 2021-05-25 10:10:09 +0900
|
|
Branch: REL_13_STABLE [a23c0b00f] 2021-05-25 10:11:13 +0900
|
|
Branch: REL_12_STABLE [3f8072be8] 2021-05-25 10:11:17 +0900
|
|
Branch: REL_11_STABLE [96918b76f] 2021-05-25 10:11:21 +0900
|
|
Branch: REL_10_STABLE [c64b5d10d] 2021-05-25 10:11:26 +0900
|
|
Branch: REL9_6_STABLE [7777df34d] 2021-05-25 10:11:33 +0900
|
|
-->
|
|
<para>
|
|
Disallow SSL renegotiation more completely (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
SSL renegotiation has been disabled for some time, but the server
|
|
would still cooperate with a client-initiated renegotiation request.
|
|
A maliciously crafted renegotiation request could result in a server
|
|
crash (see OpenSSL issue CVE-2021-3449). Disable the feature
|
|
altogether on OpenSSL versions that permit doing so, which are
|
|
1.1.0h and newer.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [84f5c2908] 2021-05-21 14:03:59 -0400
|
|
Branch: REL_13_STABLE [d18ee6f92] 2021-05-21 14:03:53 -0400
|
|
Branch: REL_12_STABLE [41c6a5bec] 2021-05-21 14:03:53 -0400
|
|
Branch: REL_11_STABLE [ef9480509] 2021-05-21 14:03:53 -0400
|
|
Branch: master Release: REL_14_BR [3a09d75b4] 2021-06-10 12:27:27 -0400
|
|
Branch: REL_13_STABLE [6e43f1c2d] 2021-06-10 12:27:27 -0400
|
|
Branch: REL_12_STABLE [26383da7d] 2021-06-10 12:27:27 -0400
|
|
Branch: REL_11_STABLE [eea081ad0] 2021-06-10 12:27:27 -0400
|
|
Branch: master Release: REL_14_BR [d102aafb6] 2021-06-22 17:48:39 -0400
|
|
Branch: REL_13_STABLE [6f1321d5a] 2021-06-22 17:48:39 -0400
|
|
Branch: REL_12_STABLE [29d5d5761] 2021-06-22 17:48:39 -0400
|
|
Branch: REL_11_STABLE [77200c569] 2021-06-22 17:48:39 -0400
|
|
Branch: master [ef12f32c0] 2021-07-31 11:50:14 -0400
|
|
Branch: REL_14_STABLE [ec410c985] 2021-07-31 11:50:14 -0400
|
|
Branch: REL_13_STABLE [93f99693f] 2021-07-31 11:50:14 -0400
|
|
Branch: REL_12_STABLE [f26043645] 2021-07-31 11:50:14 -0400
|
|
Branch: REL_11_STABLE [cefb1230e] 2021-07-31 11:50:14 -0400
|
|
Branch: master Release: REL_14_BR [f21fadafa] 2021-05-20 18:32:37 -0400
|
|
Branch: REL_13_STABLE [c64183f23] 2021-05-20 18:32:37 -0400
|
|
Branch: REL_12_STABLE [8d341d6cb] 2021-05-20 18:32:37 -0400
|
|
Branch: REL_11_STABLE [0c1b2cb17] 2021-05-20 18:32:37 -0400
|
|
-->
|
|
<para>
|
|
Restore the Portal-level snapshot after <command>COMMIT</command>
|
|
or <command>ROLLBACK</command> within a procedure (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This change fixes cases where an attempt to fetch a toasted value
|
|
immediately after <command>COMMIT</command>/<command>ROLLBACK</command>
|
|
would fail with errors like <quote>no known snapshots</quote> or
|
|
<quote>missing chunk number 0 for toast value</quote>.
|
|
</para>
|
|
|
|
<para>
|
|
Some extensions may attempt to execute SQL code outside of any
|
|
Portal. They are responsible for ensuring that an outer snapshot
|
|
exists before doing so. Previously, not providing a snapshot might
|
|
work or it might not; now it will consistently fail
|
|
with <quote>cannot execute SQL without an outer snapshot or
|
|
portal</quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [ba2c6d6ce] 2021-06-08 17:50:29 -0400
|
|
Branch: REL_13_STABLE [c1fd756fd] 2021-06-08 17:50:15 -0400
|
|
Branch: REL_12_STABLE [c3b508268] 2021-06-08 17:50:15 -0400
|
|
Branch: REL_11_STABLE [2757865fa] 2021-06-08 17:50:15 -0400
|
|
Branch: master Release: REL_14_BR [be9009890] 2021-06-08 18:40:06 -0400
|
|
Branch: REL_13_STABLE [c5b281841] 2021-06-08 18:40:06 -0400
|
|
Branch: REL_12_STABLE [182323300] 2021-06-08 18:40:06 -0400
|
|
Branch: REL_11_STABLE [5b7bf9f72] 2021-06-08 18:40:06 -0400
|
|
-->
|
|
<para>
|
|
Avoid misbehavior when persisting the output of a cursor that's
|
|
reading a non-stable query (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, we'd always rewind and re-read the whole query result,
|
|
possibly getting results different from the earlier execution,
|
|
causing great confusion later. For a NO SCROLL cursor, we can fix
|
|
this by only storing the not-yet-read portion of the query output,
|
|
which is sufficient since a NO SCROLL cursor can't be backed up.
|
|
Cursors with the SCROLL option remain at hazard, but that was
|
|
already documented to be an unsafe option to use with a non-stable
|
|
query. Make those documentation warnings stronger.
|
|
</para>
|
|
|
|
<para>
|
|
Also force NO SCROLL mode for the implicit cursor used by
|
|
a <application>PL/pgSQL</application> FOR-over-query loop,
|
|
to avoid this type of problem when persisting such a cursor
|
|
during an intra-procedure commit.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [1103033ae] 2021-06-01 11:12:56 -0400
|
|
Branch: REL_13_STABLE [e5b0fffa1] 2021-06-01 11:12:56 -0400
|
|
Branch: REL_12_STABLE [762fe98b1] 2021-06-01 11:12:56 -0400
|
|
Branch: REL_11_STABLE [dc272157a] 2021-06-01 11:12:56 -0400
|
|
Branch: REL_10_STABLE [39862dde4] 2021-06-01 11:12:56 -0400
|
|
Branch: REL9_6_STABLE [3eca18522] 2021-06-01 11:12:56 -0400
|
|
-->
|
|
<para>
|
|
Reject <literal>SELECT ... GROUP BY GROUPING SETS (()) FOR
|
|
UPDATE</literal> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This should be disallowed, just as <literal>FOR UPDATE</literal>
|
|
with a plain <literal>GROUP BY</literal> is disallowed, but the test
|
|
for that failed to handle empty grouping sets correctly.
|
|
The end result would be a null-pointer dereference in the executor.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a9da1934e] 2021-07-09 11:02:26 -0400
|
|
Branch: REL_14_STABLE [39b6e85f1] 2021-07-09 11:02:26 -0400
|
|
Branch: REL_13_STABLE [6edccac16] 2021-07-09 11:02:26 -0400
|
|
Branch: REL_12_STABLE [9c729bd30] 2021-07-09 11:02:26 -0400
|
|
Branch: REL_11_STABLE [158594f99] 2021-07-09 11:02:26 -0400
|
|
Branch: REL_10_STABLE [51df19a05] 2021-07-09 11:02:26 -0400
|
|
Branch: REL9_6_STABLE [f0271cb15] 2021-07-09 11:02:26 -0400
|
|
-->
|
|
<para>
|
|
Reject cases where a query in <literal>WITH</literal>
|
|
rewrites to just <command>NOTIFY</command> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Such cases previously crashed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [e7fc488ad] 2021-07-10 12:42:59 +0100
|
|
Branch: REL_14_STABLE [06883d58f] 2021-07-10 12:45:00 +0100
|
|
Branch: REL_13_STABLE [f23a9b8a4] 2021-07-10 12:46:13 +0100
|
|
Branch: REL_12_STABLE [357b66ef9] 2021-07-10 12:47:45 +0100
|
|
Branch: REL_11_STABLE [5763ef42c] 2021-07-10 12:48:59 +0100
|
|
Branch: REL_10_STABLE [54a0ec1bd] 2021-07-10 12:50:05 +0100
|
|
Branch: REL9_6_STABLE [f8abf6944] 2021-07-10 12:51:22 +0100
|
|
-->
|
|
<para>
|
|
In <type>numeric</type> multiplication, round the result rather than
|
|
failing if it would have more than 16383 digits after the decimal
|
|
point (Dean Rasheed)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [4dd5ce2fd] 2021-07-31 11:21:44 +0100
|
|
Branch: REL_14_STABLE [0d6b87497] 2021-07-31 11:23:48 +0100
|
|
Branch: REL_13_STABLE [053ec4e0c] 2021-07-31 11:25:39 +0100
|
|
Branch: REL_12_STABLE [5c62920fa] 2021-07-31 11:27:02 +0100
|
|
Branch: REL_11_STABLE [dcd0ab672] 2021-07-31 11:28:10 +0100
|
|
Branch: REL_10_STABLE [39b0bda67] 2021-07-31 11:29:50 +0100
|
|
Branch: REL9_6_STABLE [5cf350ce0] 2021-07-31 11:31:18 +0100
|
|
Branch: REL_11_STABLE [434ddfb79] 2021-08-05 22:24:28 +0100
|
|
Branch: master [2642df9fa] 2021-08-06 21:29:15 +0100
|
|
Branch: REL_14_STABLE [032556570] 2021-08-06 21:30:25 +0100
|
|
Branch: REL_13_STABLE [da188b993] 2021-08-06 21:31:20 +0100
|
|
Branch: REL_12_STABLE [cc4420f88] 2021-08-06 21:31:58 +0100
|
|
Branch: REL_11_STABLE [7a9c9acfe] 2021-08-06 21:32:46 +0100
|
|
Branch: REL_10_STABLE [f20b6bc96] 2021-08-06 21:33:25 +0100
|
|
Branch: REL9_6_STABLE [5b7b92ad7] 2021-08-06 21:34:04 +0100
|
|
-->
|
|
<para>
|
|
Fix corner-case errors and loss of precision when
|
|
raising <type>numeric</type> values to very large powers
|
|
(Dean Rasheed)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [226ec49ff] 2021-08-05 09:24:11 +0100
|
|
Branch: REL_14_STABLE [ecbdbdfd9] 2021-08-05 09:27:35 +0100
|
|
Branch: REL_13_STABLE [a72ad6315] 2021-08-05 09:29:13 +0100
|
|
Branch: REL_12_STABLE [43644bd3b] 2021-08-05 09:30:37 +0100
|
|
Branch: REL_11_STABLE [4851940a5] 2021-08-05 09:32:03 +0100
|
|
Branch: REL_10_STABLE [661558bc3] 2021-08-05 09:33:55 +0100
|
|
Branch: REL9_6_STABLE [ed3e1663c] 2021-08-05 09:35:46 +0100
|
|
-->
|
|
<para>
|
|
Fix division-by-zero failure in <function>to_char()</function>
|
|
with <literal>EEEE</literal> format and a <type>numeric</type> input
|
|
value less than 10^(-1001) (Dean Rasheed)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [55fe60938] 2021-07-09 14:04:30 +1200
|
|
Branch: REL_14_STABLE [6de3a21bb] 2021-07-09 14:04:40 +1200
|
|
Branch: REL_13_STABLE [6f88b68ff] 2021-07-09 14:04:49 +1200
|
|
Branch: REL_12_STABLE [efc42a1e1] 2021-07-09 14:04:56 +1200
|
|
Branch: REL_11_STABLE [45bad6a39] 2021-07-09 14:05:05 +1200
|
|
Branch: REL_10_STABLE [1efcd5720] 2021-07-09 14:05:15 +1200
|
|
Branch: REL9_6_STABLE [674ee3b76] 2021-07-09 14:05:24 +1200
|
|
Branch: REL_13_STABLE [87103002c] 2021-07-09 15:12:31 +1200
|
|
Branch: REL_12_STABLE [b18621139] 2021-07-09 15:13:01 +1200
|
|
Branch: REL_11_STABLE [137af4f27] 2021-07-09 15:13:29 +1200
|
|
Branch: REL_10_STABLE [dd76aa54a] 2021-07-09 15:14:01 +1200
|
|
Branch: REL9_6_STABLE [3e474a708] 2021-07-09 15:14:26 +1200
|
|
-->
|
|
<para>
|
|
Fix <function>pg_size_pretty(bigint)</function> to round negative
|
|
values consistently with the way it rounds positive ones (and
|
|
consistently with the <type>numeric</type> version) (Dean Rasheed,
|
|
David Rowley)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [1250aad42] 2021-06-12 13:29:24 -0400
|
|
Branch: REL_13_STABLE [f479ea94b] 2021-06-12 13:29:24 -0400
|
|
Branch: REL_12_STABLE [7681b78fb] 2021-06-12 13:29:24 -0400
|
|
Branch: REL_11_STABLE [25d1ef1aa] 2021-06-12 13:29:24 -0400
|
|
Branch: REL_10_STABLE [26a053533] 2021-06-12 13:29:24 -0400
|
|
Branch: REL9_6_STABLE [c1ffbbcbc] 2021-06-12 13:29:24 -0400
|
|
-->
|
|
<para>
|
|
Make <literal>pg_filenode_relation(0, 0)</literal> return NULL
|
|
rather than failing (Justin Pryzby)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [626731db2] 2021-07-11 12:54:24 -0400
|
|
Branch: REL_14_STABLE [69dfc36fd] 2021-07-11 12:54:24 -0400
|
|
Branch: REL_13_STABLE [1c612bc98] 2021-07-11 12:54:24 -0400
|
|
Branch: REL_12_STABLE [92340ba5a] 2021-07-11 12:54:24 -0400
|
|
Branch: REL_11_STABLE [6bd9ae173] 2021-07-11 12:54:24 -0400
|
|
Branch: REL_10_STABLE [1d49c8887] 2021-07-11 12:54:24 -0400
|
|
Branch: REL9_6_STABLE [734be249d] 2021-07-11 12:54:24 -0400
|
|
-->
|
|
<para>
|
|
Make <command>ALTER EXTENSION</command> lock the extension when
|
|
adding or removing a member object (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The previous coding allowed <command>ALTER EXTENSION
|
|
ADD/DROP</command> to occur concurrently with <command>DROP
|
|
EXTENSION</command>, leading to a crash or corrupt catalog entries.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [29abde637] 2021-07-19 10:36:15 +0530
|
|
Branch: REL_14_STABLE [40295d158] 2021-07-19 10:54:21 +0530
|
|
Branch: REL_13_STABLE [bfa2a926d] 2021-07-19 11:04:21 +0530
|
|
Branch: REL_12_STABLE [f2f459f18] 2021-07-19 11:15:03 +0530
|
|
Branch: REL_11_STABLE [eb158e74a] 2021-07-19 11:23:35 +0530
|
|
Branch: REL_10_STABLE [22fd784af] 2021-07-19 11:32:08 +0530
|
|
-->
|
|
<para>
|
|
Fix <command>ALTER SUBSCRIPTION</command> to reject an empty slot
|
|
name (Japin Li)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [df80fa2ee] 2021-07-16 13:01:43 -0400
|
|
Branch: REL_14_STABLE [eef92de11] 2021-07-16 13:01:43 -0400
|
|
Branch: REL_13_STABLE [c31516ae5] 2021-07-16 13:01:43 -0400
|
|
Branch: REL_12_STABLE [7584ec1f6] 2021-07-16 13:01:43 -0400
|
|
Branch: REL_11_STABLE [fed35bd4a] 2021-07-16 13:01:43 -0400
|
|
-->
|
|
<para>
|
|
When cloning a partitioned table's triggers to a new partition,
|
|
ensure that their enabled status is copied
|
|
(Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9179a82d7] 2021-08-07 13:29:32 -0400
|
|
Branch: REL_14_STABLE [2c915905e] 2021-08-07 13:29:32 -0400
|
|
Branch: REL_13_STABLE [ba9f665a4] 2021-08-07 13:29:32 -0400
|
|
Branch: REL_12_STABLE [1ff1e4a60] 2021-08-07 13:29:32 -0400
|
|
Branch: REL_11_STABLE [d33fc4110] 2021-08-07 13:29:32 -0400
|
|
Branch: REL_10_STABLE [ac818984a] 2021-08-07 13:29:32 -0400
|
|
Branch: REL9_6_STABLE [c08b3a9eb] 2021-08-07 13:29:32 -0400
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_14_BR [187682c32] 2021-06-03 15:28:24 +0900
|
|
Branch: REL_13_STABLE [75d66d10e] 2021-06-03 15:28:37 +0900
|
|
Branch: REL_12_STABLE [4ceaa760b] 2021-06-03 15:28:41 +0900
|
|
Branch: REL_11_STABLE [dbc9dbba5] 2021-06-03 15:28:45 +0900
|
|
Branch: REL_10_STABLE [20f70f558] 2021-06-03 15:28:53 +0900
|
|
Branch: REL9_6_STABLE [d9525c46c] 2021-06-03 15:29:01 +0900
|
|
-->
|
|
<para>
|
|
Avoid alias conflicts in queries generated
|
|
for <command>REFRESH MATERIALIZED VIEW CONCURRENTLY</command>
|
|
(Tom Lane, Bharath Rupireddy)
|
|
</para>
|
|
|
|
<para>
|
|
This command failed on materialized views containing columns with
|
|
certain names, notably <structfield>mv</structfield>
|
|
and <structfield>newdata</structfield>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [6310809c4] 2021-07-24 18:35:52 -0400
|
|
Branch: REL_14_STABLE [712ba6b8b] 2021-07-24 18:35:52 -0400
|
|
Branch: REL_13_STABLE [f47408cdc] 2021-07-24 18:35:52 -0400
|
|
Branch: REL_12_STABLE [899785b4f] 2021-07-24 18:35:52 -0400
|
|
Branch: REL_11_STABLE [7b2262a21] 2021-07-24 18:35:52 -0400
|
|
Branch: REL_10_STABLE [654372169] 2021-07-24 18:35:52 -0400
|
|
Branch: REL9_6_STABLE [1861390e6] 2021-07-24 18:35:52 -0400
|
|
-->
|
|
<para>
|
|
Fix <command>PREPARE TRANSACTION</command> to check correctly
|
|
for conflicting session-lifespan and transaction-lifespan locks
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A transaction cannot be prepared if it has both session-lifespan and
|
|
transaction-lifespan locks on the same advisory-lock ID value. This
|
|
restriction was not fully checked, which could lead to a PANIC
|
|
during <command>PREPARE TRANSACTION</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [d21fca084] 2021-06-18 18:00:09 -0400
|
|
Branch: REL_13_STABLE [33af10c59] 2021-06-18 18:00:09 -0400
|
|
Branch: REL_12_STABLE [c58a41605] 2021-06-18 18:00:09 -0400
|
|
Branch: REL_11_STABLE [ea5ae3ae1] 2021-06-18 18:00:09 -0400
|
|
Branch: REL_10_STABLE [b7e3a4407] 2021-06-18 18:00:09 -0400
|
|
Branch: REL9_6_STABLE [0b29b41e5] 2021-06-18 18:00:09 -0400
|
|
-->
|
|
<para>
|
|
Fix misbehavior of <command>DROP OWNED BY</command> when the target
|
|
role is listed more than once in an RLS policy (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [5a0f1c8c0] 2021-06-25 13:59:38 -0400
|
|
Branch: REL_13_STABLE [ba815f00a] 2021-06-25 13:59:38 -0400
|
|
Branch: REL_12_STABLE [f851696a2] 2021-06-25 13:59:38 -0400
|
|
Branch: REL_11_STABLE [fea89d64e] 2021-06-25 13:59:38 -0400
|
|
Branch: REL_10_STABLE [f5b780c45] 2021-06-25 13:59:38 -0400
|
|
Branch: REL9_6_STABLE [9c7a150ae] 2021-06-25 13:59:38 -0400
|
|
-->
|
|
<para>
|
|
Skip unnecessary error tests when removing a role from an RLS policy
|
|
during <command>DROP OWNED BY</command> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Notably, this fixes some cases where it was necessary to be a
|
|
superuser to use <command>DROP OWNED BY</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [4b1007445] 2021-05-21 15:12:08 -0400
|
|
Branch: REL_13_STABLE [849c7971d] 2021-05-21 15:12:19 -0400
|
|
Branch: REL_12_STABLE [61feb8670] 2021-05-21 15:12:37 -0400
|
|
-->
|
|
<para>
|
|
Disallow whole-row variables in <literal>GENERATED</literal>
|
|
expressions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Use of a whole-row variable clearly violates the rule that a
|
|
generated column cannot depend on itself, so such cases have no
|
|
well-defined behavior. The actual behavior frequently included a
|
|
crash.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [2b0ee126b] 2021-05-21 15:02:06 -0400
|
|
Branch: REL_13_STABLE [77e3204ec] 2021-05-21 15:02:07 -0400
|
|
Branch: REL_12_STABLE [dfe51ffbe] 2021-05-21 15:02:07 -0400
|
|
-->
|
|
<para>
|
|
Fix usage of <structfield>tableoid</structfield>
|
|
in <literal>GENERATED</literal> expressions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Some code paths failed to provide a valid value for this system
|
|
column while evaluating a <literal>GENERATED</literal> expression.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master Release: REL_14_BR [0a4efdc7e] 2021-06-18 06:51:12 -0400
|
|
Branch: REL_13_STABLE [5b6b5e5ee] 2021-06-18 07:44:58 -0400
|
|
Branch: REL_12_STABLE [6432bfe8a] 2021-06-18 07:46:21 -0400
|
|
Branch: REL_11_STABLE [306c31804] 2021-06-18 07:53:08 -0400
|
|
Branch: REL_11_STABLE [0d3b69ae0] 2021-06-18 11:45:45 -0400
|
|
-->
|
|
<para>
|
|
Don't store a <quote>fast default</quote> when adding a column to a
|
|
foreign table (Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
The fast default is useless since no local heap storage exists for
|
|
such a table, but it confused subsequent operations. In addition to
|
|
suppressing creation of such catalog entries in <command>ALTER
|
|
TABLE</command> commands, adjust the downstream code to cope
|
|
when one is incorrectly present.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_14_BR [83158f74d] 2020-09-14 13:56:41 +0900
|
|
Branch: REL_13_STABLE [acb60edf0] 2021-06-28 10:39:09 +0900
|
|
Branch: REL_12_STABLE [e52f7cbec] 2021-06-28 10:43:01 +0900
|
|
Branch: REL_11_STABLE [08acba558] 2021-06-28 10:43:04 +0900
|
|
Branch: REL_10_STABLE [3c465883b] 2021-06-28 10:43:08 +0900
|
|
Branch: REL9_6_STABLE [d3d0cbeb6] 2021-06-28 10:43:13 +0900
|
|
Branch: master Release: REL_14_BR [09a69f6e2] 2021-06-28 11:17:05 +0900
|
|
Branch: REL_13_STABLE [fd7bc10ab] 2021-06-28 11:17:12 +0900
|
|
Branch: REL_12_STABLE [ce8949c4b] 2021-06-28 11:17:16 +0900
|
|
Branch: REL_11_STABLE [38ca11ade] 2021-06-28 11:17:20 +0900
|
|
Branch: REL_10_STABLE [5160d5bb1] 2021-06-28 11:17:25 +0900
|
|
Branch: REL9_6_STABLE [21257a8f6] 2021-06-28 11:17:30 +0900
|
|
-->
|
|
<para>
|
|
Allow index state flags to be updated transactionally
|
|
(Michael Paquier, Andrey Lepikhov)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids failures when dealing with index predicates that aren't
|
|
really immutable. While that's not considered a supported case, the
|
|
original reason for using a non-transactional update here is long
|
|
gone, so we may as well change it.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_13_STABLE [102f31a20] 2021-06-18 12:09:22 -0400
|
|
Branch: REL_12_STABLE [b2c740c42] 2021-06-18 12:09:22 -0400
|
|
Branch: REL_11_STABLE [4b8b3562e] 2021-06-18 12:09:22 -0400
|
|
Branch: REL_10_STABLE [f172438ef] 2021-06-18 12:09:22 -0400
|
|
Branch: REL9_6_STABLE [1a3d30255] 2021-06-18 12:09:22 -0400
|
|
-->
|
|
<para>
|
|
Avoid corrupting the plan cache entry when <command>CREATE
|
|
DOMAIN</command> or <command>ALTER DOMAIN</command> appears
|
|
in a cached plan (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [f560209c6] 2020-09-14 12:35:00 -0400
|
|
Branch: REL_13_STABLE [4a20de9d9] 2021-06-25 10:46:10 -0400
|
|
Branch: REL_12_STABLE [04a476057] 2021-06-25 10:46:10 -0400
|
|
Branch: REL_11_STABLE [c39983600] 2021-06-25 10:46:10 -0400
|
|
Branch: REL_10_STABLE [4040139f2] 2021-06-25 10:46:10 -0400
|
|
-->
|
|
<para>
|
|
Make walsenders show their latest replication commands
|
|
in <structname>pg_stat_activity</structname> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, a walsender would show its latest SQL command, which was
|
|
confusing if it's now doing some replication operation instead.
|
|
Now we show replication-protocol commands on the same footing as SQL
|
|
commands.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [93a0bf239] 2021-07-27 15:44:12 -0400
|
|
Branch: REL_14_STABLE [ad3b40eb2] 2021-07-27 15:44:12 -0400
|
|
Branch: REL_13_STABLE [b8f91d7f9] 2021-07-27 15:44:12 -0400
|
|
Branch: REL_12_STABLE [6feb229f5] 2021-07-27 15:44:12 -0400
|
|
Branch: REL_11_STABLE [ddd1eac99] 2021-07-27 15:44:12 -0400
|
|
Branch: REL_10_STABLE [04fa0e11a] 2021-07-27 15:44:12 -0400
|
|
Branch: REL9_6_STABLE [85ec6c322] 2021-07-27 15:44:12 -0400
|
|
-->
|
|
<para>
|
|
Make
|
|
<structname>pg_settings</structname>.<structfield>pending_restart</structfield>
|
|
show as true when the pertinent entry
|
|
in <filename>postgresql.conf</filename> has been removed
|
|
(Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
<structfield>pending_restart</structfield> correctly showed the case
|
|
where an entry that cannot be changed without a postmaster restart
|
|
has been modified, but not where the entry had been removed
|
|
altogether.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [889592344] 2021-06-02 14:38:14 -0400
|
|
Branch: REL_13_STABLE [6753a5b7e] 2021-06-02 14:38:14 -0400
|
|
Branch: REL_12_STABLE [bdd096f1a] 2021-06-02 14:38:14 -0400
|
|
-->
|
|
<para>
|
|
Fix mis-planning of queries involving regular tables that are
|
|
inheritance children of foreign tables (Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
<command>SELECT FOR UPDATE</command> and related commands would fail
|
|
with assertion failures or <quote>could not find junk column</quote>
|
|
errors in such cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master Release: REL_14_BR [caba8f0d4] 2021-06-09 16:17:00 -0400
|
|
Branch: REL_13_STABLE [082656429] 2021-06-09 16:17:13 -0400
|
|
Branch: REL_12_STABLE [5d950c721] 2021-06-09 16:19:52 -0400
|
|
Branch: REL_11_STABLE [ca158c168] 2021-06-09 16:20:10 -0400
|
|
Branch: REL_10_STABLE [31bda6a22] 2021-06-09 16:20:28 -0400
|
|
Branch: REL9_6_STABLE [6eb5b9ae3] 2021-06-09 16:21:14 -0400
|
|
Branch: master Release: REL_14_BR [4dcb1d087] 2021-06-10 09:46:08 -0400
|
|
Branch: REL_13_STABLE [3465328aa] 2021-06-10 09:47:25 -0400
|
|
Branch: REL_12_STABLE [2208d71a0] 2021-06-10 09:34:39 -0400
|
|
Branch: REL_11_STABLE [534b9be80] 2021-06-10 09:43:35 -0400
|
|
Branch: REL_10_STABLE [1c2c6a9a2] 2021-06-10 09:48:07 -0400
|
|
Branch: REL9_6_STABLE [6cd0e55f9] 2021-06-10 09:51:00 -0400
|
|
Branch: REL9_6_STABLE [75212a854] 2021-06-09 16:16:21 -0400
|
|
Branch: REL_13_STABLE [99a0a2ada] 2021-06-09 12:28:39 -0400
|
|
Branch: REL_12_STABLE [6fc2febc2] 2021-06-09 12:29:00 -0400
|
|
Branch: REL_11_STABLE [38982b8b7] 2021-06-09 12:30:28 -0400
|
|
Branch: REL_10_STABLE [9778a191a] 2021-06-09 12:30:49 -0400
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master Release: REL_14_BR [c3652f976] 2021-06-12 08:43:54 -0400
|
|
Branch: REL_13_STABLE [45322bd9b] 2021-06-12 08:51:29 -0400
|
|
Branch: REL_12_STABLE [1730a3334] 2021-06-12 08:54:28 -0400
|
|
Branch: REL_11_STABLE [8b9e1275c] 2021-06-12 08:55:29 -0400
|
|
Branch: REL_10_STABLE [0cd8a55bd] 2021-06-12 08:55:39 -0400
|
|
Branch: REL9_6_STABLE [dee7ad20d] 2021-06-12 08:55:55 -0400
|
|
Branch: master Release: REL_14_BR [9d97c3408] 2021-06-13 07:19:34 -0400
|
|
Branch: REL_13_STABLE [47d5781cb] 2021-06-13 07:19:34 -0400
|
|
Branch: REL_12_STABLE [914c716ca] 2021-06-13 07:19:35 -0400
|
|
Branch: REL_11_STABLE [8cb3d95c2] 2021-06-13 07:19:36 -0400
|
|
Branch: REL_10_STABLE [319d616dd] 2021-06-13 07:19:38 -0400
|
|
Branch: REL9_6_STABLE [84cb4be71] 2021-06-13 07:19:40 -0400
|
|
Branch: master Release: REL_14_BR [54a5ed220] 2021-06-15 15:35:47 -0400
|
|
Branch: REL_13_STABLE [d906d106f] 2021-06-15 15:36:50 -0400
|
|
Branch: REL_12_STABLE [fb3d6b0e1] 2021-06-15 15:36:59 -0400
|
|
Branch: REL_11_STABLE [c0a758780] 2021-06-15 15:37:07 -0400
|
|
Branch: REL_10_STABLE [1dc53c914] 2021-06-15 15:37:15 -0400
|
|
Branch: REL9_6_STABLE [e46f6a078] 2021-06-15 15:37:24 -0400
|
|
-->
|
|
<para>
|
|
Fix corner-case failure of a new standby to follow a new primary
|
|
(Dilip Kumar, Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
Under a narrow combination of conditions, the standby could wind up
|
|
trying to follow the wrong WAL timeline.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [a00c138b7] 2021-07-29 01:31:41 +0900
|
|
Branch: REL_14_STABLE [f2a3d7404] 2021-07-29 01:33:33 +0900
|
|
Branch: REL_13_STABLE [a66b05b42] 2021-07-29 01:34:13 +0900
|
|
Branch: REL_12_STABLE [d7ded08e6] 2021-07-29 01:35:00 +0900
|
|
Branch: REL_11_STABLE [02ef4d1e2] 2021-07-29 01:35:05 +0900
|
|
Branch: REL_10_STABLE [25fe5b2bb] 2021-07-29 01:35:10 +0900
|
|
Branch: REL9_6_STABLE [32d182dd0] 2021-07-29 01:35:52 +0900
|
|
-->
|
|
<para>
|
|
Update minimum recovery point when WAL replay of a transaction abort
|
|
record causes file truncation (Fujii Masao)
|
|
</para>
|
|
|
|
<para>
|
|
File truncation is irreversible, so it's no longer safe to stop
|
|
recovery at a point earlier than that record. The corresponding
|
|
case for transaction commit was fixed years ago, but this one was
|
|
overlooked.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [50371df26] 2021-07-02 16:04:54 -0400
|
|
Branch: REL_14_STABLE [63a952167] 2021-07-02 16:05:20 -0400
|
|
Branch: REL_13_STABLE [7fc97752d] 2021-07-02 16:04:54 -0400
|
|
Branch: REL_12_STABLE [feff61557] 2021-07-02 16:04:54 -0400
|
|
Branch: REL_11_STABLE [32d50b895] 2021-07-02 16:04:54 -0400
|
|
Branch: REL_10_STABLE [0b5089e8c] 2021-07-02 16:04:54 -0400
|
|
-->
|
|
<para>
|
|
In walreceivers, avoid attempting catalog lookups after an error
|
|
(Masahiko Sawada, Bharath Rupireddy)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master Release: REL_14_BR [2945a488a] 2020-11-16 18:27:51 +0900
|
|
Branch: REL_13_STABLE [8d091922f] 2021-07-25 11:15:30 +0900
|
|
Branch: REL_12_STABLE [1bcfda30f] 2021-07-25 11:16:02 +0900
|
|
Branch: REL_11_STABLE [9c83398f8] 2021-07-25 11:16:13 +0900
|
|
Branch: REL_10_STABLE [710fabfa2] 2021-07-25 11:16:26 +0900
|
|
Branch: REL9_6_STABLE [8e5be9cfe] 2021-07-25 11:16:34 +0900
|
|
-->
|
|
<para>
|
|
Ensure that a standby server's startup process will respond to a
|
|
shutdown signal promptly while waiting for WAL to arrive (Fujii
|
|
Masao, Soumyadeep Chakraborty)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master Release: REL_14_BR [b786304c2] 2021-06-28 09:29:38 +0530
|
|
Branch: REL_13_STABLE [741deb260] 2021-06-28 08:42:48 +0530
|
|
Branch: REL_12_STABLE [b75c1f687] 2021-06-28 09:17:10 +0530
|
|
Branch: REL_11_STABLE [c62c3769f] 2021-06-28 09:09:42 +0530
|
|
-->
|
|
<para>
|
|
Correctly clear shared state after failing to become a member of a
|
|
transaction commit group (Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
Given the right timing, this could cause an assertion failure when
|
|
some later session re-uses the same PGPROC object.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master Release: REL_14_BR [b6d8d2073] 2021-06-24 10:45:23 +0300
|
|
Branch: REL_13_STABLE [2a0ab13f8] 2021-06-24 10:45:34 +0300
|
|
Branch: REL_12_STABLE [caac19650] 2021-06-24 10:45:43 +0300
|
|
Branch: REL_11_STABLE [c78bb32c1] 2021-06-24 10:45:46 +0300
|
|
Branch: REL_10_STABLE [a5eacd86b] 2021-06-24 10:45:49 +0300
|
|
Branch: REL9_6_STABLE [85ae8ccb2] 2021-06-24 10:45:52 +0300
|
|
Branch: master Release: REL_14_BR [9b8ed0f52] 2021-06-24 11:19:03 +0300
|
|
Branch: REL_13_STABLE [6fb377e5f] 2021-06-24 11:19:31 +0300
|
|
Branch: REL_12_STABLE [8b01a403c] 2021-06-24 11:19:34 +0300
|
|
Branch: REL_11_STABLE [eb3bd243a] 2021-06-24 11:19:37 +0300
|
|
Branch: REL_10_STABLE [fbbc48995] 2021-06-24 11:19:40 +0300
|
|
Branch: REL9_6_STABLE [5956795cb] 2021-06-24 11:19:44 +0300
|
|
-->
|
|
<para>
|
|
Add locking to avoid reading incorrect relmapper data in the face of
|
|
a concurrent write from another process (Heikki Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master Release: REL_14_BR [5cc1cd502] 2021-06-11 19:07:32 -0400
|
|
Branch: REL_13_STABLE [065ce069a] 2021-06-11 19:07:32 -0400
|
|
Branch: REL_12_STABLE [0c7efd975] 2021-06-11 19:07:32 -0400
|
|
-->
|
|
<para>
|
|
Improve progress reporting for the sort phase of a parallel btree
|
|
index build (Matthias van de Meent)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [fe6a20ce5] 2021-06-12 12:59:15 -0400
|
|
Branch: REL_13_STABLE [8b5055812] 2021-06-12 12:59:15 -0400
|
|
Branch: REL_12_STABLE [1f280e833] 2021-06-12 12:59:15 -0400
|
|
Branch: REL_11_STABLE [9eecea7f3] 2021-06-12 12:59:15 -0400
|
|
Branch: REL_10_STABLE [4745c119e] 2021-06-12 12:59:15 -0400
|
|
-->
|
|
<para>
|
|
Improve checks for violations of replication protocol (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Logical replication workers frequently used Asserts to check for
|
|
cases that could be triggered by invalid or out-of-order replication
|
|
commands. This seems unwise, so promote these tests to regular
|
|
error checks.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master Release: REL_14_BR [6d0eb3855] 2021-05-21 07:54:27 +0530
|
|
Branch: REL_13_STABLE [c83c0257e] 2021-05-21 08:03:38 +0530
|
|
Branch: REL_12_STABLE [18c6242b7] 2021-05-21 08:17:25 +0530
|
|
Branch: REL_11_STABLE [71787b23e] 2021-05-21 08:31:10 +0530
|
|
-->
|
|
<para>
|
|
Fix deadlock when multiple logical replication workers try to
|
|
truncate the same table (Peter Smith, Haiying Tang)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master Release: REL_14_BR [4daa140a2] 2021-06-15 08:28:36 +0530
|
|
Branch: REL_13_STABLE [602a32a68] 2021-06-15 08:41:16 +0530
|
|
Branch: REL_12_STABLE [40ad7ebff] 2021-06-15 08:50:12 +0530
|
|
Branch: REL_11_STABLE [1f8a934e0] 2021-06-15 09:02:32 +0530
|
|
Branch: REL_10_STABLE [35f56c124] 2021-06-15 09:10:24 +0530
|
|
Branch: REL9_6_STABLE [43acadfce] 2021-06-15 09:18:38 +0530
|
|
Branch: REL_13_STABLE [56e366f67] 2021-06-24 15:21:50 +0530
|
|
Branch: REL_12_STABLE [72b51e214] 2021-06-24 15:25:13 +0530
|
|
Branch: REL_11_STABLE [e95f617ac] 2021-06-24 15:26:37 +0530
|
|
-->
|
|
<para>
|
|
Fix error cases and memory leaks in logical decoding of speculative
|
|
insertions (Dilip Kumar)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Jeff Davis <jdavis@postgresql.org>
|
|
Branch: master [dd0e37cc1] 2021-07-10 10:26:38 -0700
|
|
Branch: REL_14_STABLE [10a07973c] 2021-07-10 10:27:07 -0700
|
|
Branch: REL_13_STABLE [edd9a2bf7] 2021-07-10 10:27:27 -0700
|
|
Branch: REL_12_STABLE [5b1621d2f] 2021-07-10 10:28:15 -0700
|
|
Branch: REL_11_STABLE [52c168db9] 2021-07-10 10:28:33 -0700
|
|
-->
|
|
<para>
|
|
Avoid leaving an invalid record-type hash table entry behind after
|
|
an error (Sait Talha Nisanci)
|
|
</para>
|
|
|
|
<para>
|
|
This could lead to later crashes or memory leakage.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [131ea3e90] 2021-06-16 19:30:17 -0400
|
|
Branch: REL_13_STABLE [d03a41d1c] 2021-06-16 19:30:17 -0400
|
|
Branch: REL_12_STABLE [17d962cca] 2021-06-16 19:30:17 -0400
|
|
Branch: REL_11_STABLE [9cf163266] 2021-06-16 19:30:17 -0400
|
|
Branch: REL_10_STABLE [a6f7745a3] 2021-06-16 19:30:17 -0400
|
|
Branch: REL9_6_STABLE [c50596cdc] 2021-06-16 19:30:17 -0400
|
|
-->
|
|
<para>
|
|
Fix plan cache reference leaks in some error cases in
|
|
<command>CREATE TABLE ... AS EXECUTE</command> (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master Release: REL_14_BR [b1d653890] 2021-05-29 15:12:34 +1200
|
|
Branch: REL_13_STABLE [d41fda6aa] 2021-05-29 15:13:44 +1200
|
|
Branch: REL_12_STABLE [82248f227] 2021-05-29 15:14:53 +1200
|
|
Branch: REL_11_STABLE [a15d84470] 2021-05-29 15:16:15 +1200
|
|
-->
|
|
<para>
|
|
Fix race condition in code for sharing tuple descriptors across
|
|
parallel workers (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Given the right timing, a crash could result.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [30d8bad49] 2021-05-15 12:21:06 -0400
|
|
Branch: REL_13_STABLE [c3cc73e14] 2021-05-15 12:21:06 -0400
|
|
Branch: REL_12_STABLE [6bcb51968] 2021-05-15 12:21:06 -0400
|
|
Branch: REL_11_STABLE [6fcbaea7a] 2021-05-15 12:21:06 -0400
|
|
Branch: REL_10_STABLE [c76ceacbd] 2021-05-15 12:21:06 -0400
|
|
Branch: REL9_6_STABLE [5d195dc40] 2021-05-15 12:21:06 -0400
|
|
-->
|
|
<para>
|
|
Fix possible race condition when releasing BackgroundWorkerSlots
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
It's likely that this doesn't fix any observable bug on Intel
|
|
hardware, but machines with weaker memory ordering rules could
|
|
have problems.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [41469253e] 2021-07-13 12:40:16 +1200
|
|
Branch: REL_14_STABLE [a3b8d91cc] 2021-07-13 12:42:04 +1200
|
|
Branch: REL_13_STABLE [204f646a2] 2021-07-13 12:42:43 +1200
|
|
Branch: REL_12_STABLE [6f1c7a2d0] 2021-07-13 12:44:36 +1200
|
|
Branch: REL_11_STABLE [187e9c399] 2021-07-13 12:45:35 +1200
|
|
Branch: REL_10_STABLE [b55e478a4] 2021-07-13 12:46:12 +1200
|
|
Branch: REL9_6_STABLE [87b7a652b] 2021-07-13 12:46:52 +1200
|
|
Branch: master [5bd38d2f2] 2021-07-13 13:27:05 +1200
|
|
Branch: REL_14_STABLE [a92709fed] 2021-07-13 13:27:44 +1200
|
|
Branch: REL_13_STABLE [2fde8e49a] 2021-07-13 13:28:19 +1200
|
|
Branch: REL_12_STABLE [645c5d119] 2021-07-13 13:30:26 +1200
|
|
Branch: REL_11_STABLE [eff751ea5] 2021-07-13 13:31:00 +1200
|
|
Branch: REL_10_STABLE [d7f10f39c] 2021-07-13 13:31:29 +1200
|
|
Branch: REL9_6_STABLE [d0e44bae4] 2021-07-13 13:32:10 +1200
|
|
-->
|
|
<para>
|
|
Fix latent crash in sorting code (Ronan Dunklau)
|
|
</para>
|
|
|
|
<para>
|
|
One code path could attempt to free a null pointer. The case
|
|
appears unreachable in the core server's use of sorting, but perhaps
|
|
it could be triggered by extensions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [c3c35a733] 2021-05-14 15:07:34 -0400
|
|
Branch: REL_13_STABLE [dc714c120] 2021-05-14 15:07:34 -0400
|
|
Branch: REL_12_STABLE [4e046281f] 2021-05-14 15:07:34 -0400
|
|
Branch: REL_11_STABLE [d776045eb] 2021-05-14 15:07:34 -0400
|
|
Branch: REL_10_STABLE [e87a0d2e0] 2021-05-14 15:07:34 -0400
|
|
Branch: REL9_6_STABLE [5015d3c35] 2021-05-14 15:07:34 -0400
|
|
-->
|
|
<para>
|
|
Prevent infinite loops in SP-GiST index insertion (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
In the event that INCLUDE columns take up enough space to prevent a
|
|
leaf index tuple from ever fitting on a page, the text_ops operator
|
|
class would get into an infinite loop vainly trying to make the
|
|
tuple fit.
|
|
While pre-v11 versions don't have INCLUDE columns, back-patch this
|
|
anti-looping fix to them anyway, as it seems like a good defense
|
|
against bugs in operator classes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [eb7a6b922] 2021-05-14 13:29:39 -0400
|
|
Branch: REL_13_STABLE [c1b72bf04] 2021-05-14 13:26:55 -0400
|
|
Branch: REL_12_STABLE [004288d3c] 2021-05-14 13:26:55 -0400
|
|
Branch: REL_11_STABLE [f4ee4082f] 2021-05-14 13:26:55 -0400
|
|
Branch: REL_10_STABLE [fe64adc93] 2021-05-14 13:26:55 -0400
|
|
Branch: REL9_6_STABLE [4c6cfcc37] 2021-05-14 13:26:55 -0400
|
|
Branch: master Release: REL_14_BR [e47f93f98] 2021-05-14 13:29:39 -0400
|
|
Branch: REL_13_STABLE [63831c162] 2021-05-14 12:54:26 -0400
|
|
Branch: REL_12_STABLE [4c646b179] 2021-05-14 12:54:26 -0400
|
|
Branch: REL_11_STABLE [8274f4517] 2021-05-14 12:54:26 -0400
|
|
Branch: REL_10_STABLE [39b8ccb08] 2021-05-14 12:54:26 -0400
|
|
Branch: REL9_6_STABLE [567328989] 2021-05-14 12:54:26 -0400
|
|
-->
|
|
<para>
|
|
Ensure that SP-GiST index insertion can be terminated by a query
|
|
cancel request (Tom Lane, Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d9809bf86] 2021-07-20 13:01:48 -0400
|
|
Branch: REL_14_STABLE [899564e01] 2021-07-20 13:01:48 -0400
|
|
Branch: REL_13_STABLE [0fce76b99] 2021-07-20 13:01:48 -0400
|
|
Branch: REL_12_STABLE [85189f54a] 2021-07-20 13:01:48 -0400
|
|
Branch: REL_11_STABLE [7321d5c3f] 2021-07-20 13:01:48 -0400
|
|
Branch: REL_10_STABLE [4eac891b1] 2021-07-20 13:01:48 -0400
|
|
Branch: REL9_6_STABLE [dffec69fe] 2021-07-20 13:01:48 -0400
|
|
-->
|
|
<para>
|
|
Fix uninitialized-variable bug that could
|
|
cause <application>PL/pgSQL</application> to act as though
|
|
an <literal>INTO</literal> clause
|
|
specified <literal>STRICT</literal>, even though it didn't
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [6f5d9bce5] 2021-06-28 14:17:41 -0400
|
|
Branch: REL_14_STABLE [cf1f545bf] 2021-06-28 14:17:42 -0400
|
|
Branch: REL_13_STABLE [1603deca3] 2021-06-28 14:17:42 -0400
|
|
Branch: REL_12_STABLE [240d56fc4] 2021-06-28 14:17:42 -0400
|
|
Branch: REL_11_STABLE [34c24e5a4] 2021-06-28 14:17:42 -0400
|
|
Branch: REL_10_STABLE [06a2b2fe5] 2021-06-28 14:17:42 -0400
|
|
Branch: REL9_6_STABLE [b54be47cd] 2021-06-28 14:17:42 -0400
|
|
-->
|
|
<para>
|
|
Don't abort the process for an out-of-memory failure in libpq's
|
|
printing functions (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: John Naylor <john.naylor@postgresql.org>
|
|
Branch: master [5fcf3945b] 2021-07-30 15:39:22 -0400
|
|
Branch: REL_14_STABLE [f051b87ac] 2021-07-30 16:28:43 -0400
|
|
Branch: REL_13_STABLE [171bf1cea] 2021-07-30 16:18:59 -0400
|
|
Branch: REL_12_STABLE [d9589eb62] 2021-07-30 15:59:10 -0400
|
|
Branch: REL_11_STABLE [c7181a32c] 2021-07-30 16:12:17 -0400
|
|
Branch: REL_10_STABLE [231c19a89] 2021-07-30 16:40:42 -0400
|
|
Branch: REL9_6_STABLE [cfcb0ceab] 2021-07-30 16:34:33 -0400
|
|
Branch: REL_11_STABLE [9455e7f50] 2021-07-30 18:54:38 -0400
|
|
Branch: REL_10_STABLE [f3cd6aeb8] 2021-07-30 18:54:10 -0400
|
|
Branch: REL9_6_STABLE [fa27389c5] 2021-07-30 18:52:55 -0400
|
|
-->
|
|
<para>
|
|
In <application>ecpg</application>, allow the <type>numeric</type>
|
|
value <systemitem>INT_MIN</systemitem> (usually -2147483648) to be
|
|
converted to integer (John Naylor)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [42f94f56b] 2021-06-07 14:15:25 -0400
|
|
Branch: REL_13_STABLE [5b6436874] 2021-06-07 14:15:25 -0400
|
|
Branch: REL_12_STABLE [fc896f45d] 2021-06-07 14:15:25 -0400
|
|
Branch: REL_11_STABLE [89a5499ef] 2021-06-07 14:15:25 -0400
|
|
Branch: REL_10_STABLE [4826fe4c5] 2021-06-07 14:15:25 -0400
|
|
Branch: REL9_6_STABLE [ac600c541] 2021-06-07 14:15:25 -0400
|
|
Branch: REL_10_STABLE [0b116346b] 2021-06-07 13:12:35 -0400
|
|
Branch: REL9_6_STABLE [7cdb97632] 2021-06-07 13:12:35 -0400
|
|
-->
|
|
<para>
|
|
In <application>psql</application> and other client programs, avoid
|
|
overrunning the ends of strings when dealing with invalidly-encoded
|
|
data (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
An incorrectly-encoded multibyte character near the end of a string
|
|
could cause various processing loops to run past the string's
|
|
terminating NUL, with results ranging from no detectable issue to
|
|
a program crash, depending on what happens to be in the following
|
|
memory. This is reminiscent of CVE-2006-2313, although these
|
|
particular cases do not appear to have interesting security
|
|
consequences.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [f0e21f2f6] 2021-07-16 17:29:22 -0400
|
|
Branch: REL_14_STABLE [3c5b7c628] 2021-07-16 17:29:22 -0400
|
|
Branch: REL_13_STABLE [cc340af33] 2021-07-16 17:29:22 -0400
|
|
Branch: REL_12_STABLE [5992c94dc] 2021-07-16 17:29:22 -0400
|
|
Branch: REL_11_STABLE [ccfc3cbb3] 2021-07-16 17:29:22 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application> to correctly handle triggers
|
|
on partitioned tables whose enabled status is different from their
|
|
parent triggers' status
|
|
(Justin Pryzby, Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [f807e3410] 2021-06-13 14:32:42 -0400
|
|
Branch: REL_13_STABLE [bc7885b7f] 2021-06-13 14:32:42 -0400
|
|
Branch: REL_12_STABLE [b7c5823ac] 2021-06-13 14:32:42 -0400
|
|
Branch: REL_11_STABLE [73fa76241] 2021-06-13 14:32:42 -0400
|
|
Branch: REL_10_STABLE [05fccab6a] 2021-06-13 14:32:42 -0400
|
|
Branch: REL9_6_STABLE [dd53b46c7] 2021-06-13 14:32:42 -0400
|
|
-->
|
|
<para>
|
|
Avoid <quote>invalid creation date in header</quote> warnings
|
|
observed when running <application>pg_restore</application> on an
|
|
archive file created in a different time zone (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Bruce Momjian <bruce@momjian.us>
|
|
Branch: master [74cf7d46a] 2021-07-26 22:38:15 -0400
|
|
Branch: REL_14_STABLE [695b4a113] 2021-07-26 22:38:14 -0400
|
|
Branch: REL_13_STABLE [0a5e708e2] 2021-07-26 22:38:14 -0400
|
|
Branch: REL_12_STABLE [7626e9f2b] 2021-07-26 22:38:14 -0400
|
|
Branch: REL_11_STABLE [c4ba87f52] 2021-07-26 22:38:14 -0400
|
|
Branch: REL_10_STABLE [71121450e] 2021-07-26 22:38:14 -0400
|
|
Branch: REL9_6_STABLE [088dbf3bc] 2021-07-26 22:38:14 -0400
|
|
-->
|
|
<para>
|
|
Make <application>pg_upgrade</application> carry forward the old
|
|
installation's <literal>oldestXID</literal> value (Bertrand Drouvot)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, the new installation's <literal>oldestXID</literal> was
|
|
set to a value old enough to (usually) force immediate
|
|
anti-wraparound autovacuuming. That's not desirable from a
|
|
performance standpoint; what's worse, installations using large
|
|
values of <varname>autovacuum_freeze_max_age</varname> could suffer
|
|
unwanted forced shutdowns soon after an upgrade.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Bruce Momjian <bruce@momjian.us>
|
|
Branch: master [e462856a7] 2021-08-03 11:58:15 -0400
|
|
Branch: REL_14_STABLE [4051a7775] 2021-08-03 11:58:15 -0400
|
|
Branch: REL_13_STABLE [a81c71e3a] 2021-08-03 11:58:15 -0400
|
|
Branch: REL_12_STABLE [49e319cea] 2021-08-03 11:58:15 -0400
|
|
Branch: REL_11_STABLE [3d2b6cd6f] 2021-08-03 11:58:14 -0400
|
|
Branch: REL_10_STABLE [58974a542] 2021-08-03 11:58:14 -0400
|
|
Branch: REL9_6_STABLE [5e531bb1d] 2021-08-03 11:58:14 -0400
|
|
Branch: master [9e51cc87f] 2021-08-03 12:26:08 -0400
|
|
Branch: REL_14_STABLE [3a0ba31a3] 2021-08-03 12:26:08 -0400
|
|
Branch: REL_13_STABLE [47a573d91] 2021-08-03 12:26:08 -0400
|
|
Branch: REL_12_STABLE [165506217] 2021-08-03 12:26:08 -0400
|
|
Branch: REL_11_STABLE [554a7648e] 2021-08-03 12:26:08 -0400
|
|
Branch: REL_10_STABLE [fcdc461f5] 2021-08-03 12:26:08 -0400
|
|
Branch: REL9_6_STABLE [3ab496ab8] 2021-08-03 12:26:08 -0400
|
|
-->
|
|
<para>
|
|
Extend <application>pg_upgrade</application> to detect and warn
|
|
about extensions that should be upgraded (Bruce Momjian)
|
|
</para>
|
|
|
|
<para>
|
|
A script file is now produced containing the <command>ALTER
|
|
EXTENSION UPDATE</command> commands needed to bring extensions up to
|
|
the versions that are considered default in the new installation.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [7fbe0c8c4] 2021-07-20 12:12:39 +0900
|
|
Branch: REL_14_STABLE [3a0d2d0cb] 2021-07-20 12:12:47 +0900
|
|
Branch: REL_13_STABLE [fb2b86015] 2021-07-20 12:12:51 +0900
|
|
Branch: REL_12_STABLE [b9a0de15e] 2021-07-20 12:12:54 +0900
|
|
Branch: REL_11_STABLE [795a9166e] 2021-07-20 12:12:57 +0900
|
|
Branch: REL_10_STABLE [11dbad74c] 2021-07-20 12:13:01 +0900
|
|
Branch: master [4ef64c425] 2021-07-26 11:13:37 +0900
|
|
Branch: REL_14_STABLE [b0d286719] 2021-07-26 11:14:08 +0900
|
|
Branch: REL_13_STABLE [2c7395aad] 2021-07-26 11:14:11 +0900
|
|
Branch: REL_12_STABLE [c4ef3b81b] 2021-07-26 11:14:14 +0900
|
|
Branch: REL_11_STABLE [9c6fa3403] 2021-07-26 11:14:17 +0900
|
|
Branch: REL_10_STABLE [4372f0685] 2021-07-26 11:14:21 +0900
|
|
-->
|
|
<para>
|
|
Avoid problems when
|
|
switching <application>pg_receivewal</application> between
|
|
compressed and non-compressed WAL storage (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
Branch: master [aa769f80e] 2021-08-05 20:00:00 +0900
|
|
Branch: REL_14_STABLE [588d3f597] 2021-08-05 20:00:01 +0900
|
|
Branch: REL_13_STABLE [388a81bf4] 2021-08-05 20:00:02 +0900
|
|
Branch: REL_12_STABLE [bbc0cd8fa] 2021-08-05 20:00:04 +0900
|
|
-->
|
|
<para>
|
|
Fix <filename>contrib/postgres_fdw</filename> to work usefully with
|
|
generated columns (Etsuro Fujita)
|
|
</para>
|
|
|
|
<para>
|
|
<filename>postgres_fdw</filename> will now behave reasonably with
|
|
generated columns, so long as a generated column in a foreign table
|
|
represents a generated column in the remote table. <command>IMPORT
|
|
FOREIGN SCHEMA</command> will now import generated columns that way
|
|
by default.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c7b7311f6] 2021-07-06 12:36:12 -0400
|
|
Branch: REL_14_STABLE [86d491421] 2021-07-06 12:36:12 -0400
|
|
Branch: REL_13_STABLE [bee18616a] 2021-07-06 12:36:13 -0400
|
|
Branch: REL_12_STABLE [bd2e68d0b] 2021-07-06 12:36:13 -0400
|
|
Branch: REL_11_STABLE [a9460dbf1] 2021-07-06 12:36:13 -0400
|
|
Branch: REL_10_STABLE [b23ac5aef] 2021-07-06 12:36:13 -0400
|
|
Branch: REL9_6_STABLE [67f925bbd] 2021-07-06 12:36:13 -0400
|
|
-->
|
|
<para>
|
|
In <filename>contrib/postgres_fdw</filename>, avoid attempting
|
|
catalog lookups after an error (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
While this usually worked, it's not very safe since the error might
|
|
have been one that made catalog access nonfunctional. A side effect
|
|
of the fix is that messages about data conversion errors will now
|
|
mention the query's table and column aliases (if used) rather than
|
|
the true underlying name of a foreign table or column.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [741d7f104] 2021-06-22 21:43:12 -0400
|
|
Branch: REL_13_STABLE [e2cde85ef] 2021-06-22 21:43:12 -0400
|
|
Branch: REL_12_STABLE [f228c401b] 2021-06-22 21:43:12 -0400
|
|
Branch: REL_11_STABLE [a1417e437] 2021-06-22 21:43:12 -0400
|
|
Branch: REL_10_STABLE [1f32b789d] 2021-06-22 21:43:12 -0400
|
|
Branch: REL9_6_STABLE [13f3fd9e4] 2021-06-22 21:43:12 -0400
|
|
Branch: master Release: REL_14_BR [4a054069a] 2021-06-23 11:13:00 -0400
|
|
Branch: REL_13_STABLE [b961bdfe1] 2021-06-23 11:12:31 -0400
|
|
Branch: REL_12_STABLE [d7da3ef08] 2021-06-23 11:12:31 -0400
|
|
Branch: REL_11_STABLE [b1aa0f228] 2021-06-23 11:12:31 -0400
|
|
Branch: REL_10_STABLE [0a8929ca0] 2021-06-23 11:12:31 -0400
|
|
Branch: REL9_6_STABLE [e535a8899] 2021-06-23 11:12:32 -0400
|
|
Branch: master Release: REL_14_BR [a443c1b2d] 2021-06-23 18:41:39 -0400
|
|
Branch: REL_13_STABLE [5179a1ab7] 2021-06-23 18:41:39 -0400
|
|
Branch: REL_12_STABLE [35e6b3bbf] 2021-06-23 18:41:39 -0400
|
|
Branch: REL_11_STABLE [94d8d8d89] 2021-06-23 18:41:39 -0400
|
|
Branch: REL_10_STABLE [5cb74a803] 2021-06-23 18:41:39 -0400
|
|
Branch: REL9_6_STABLE [ad9827a90] 2021-06-23 18:41:39 -0400
|
|
Branch: REL_12_STABLE [7a48dfbb8] 2021-06-24 11:30:32 -0400
|
|
Branch: REL_11_STABLE [c6cb62f61] 2021-06-24 11:30:32 -0400
|
|
Branch: REL_10_STABLE [024e064af] 2021-06-24 11:30:32 -0400
|
|
Branch: REL9_6_STABLE [e0a7036e1] 2021-06-24 11:30:32 -0400
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_13_BR [989d23b04] 2019-08-24 11:45:05 +0900
|
|
Branch: master Release: REL_13_BR [06fdc4e4d] 2019-08-24 12:34:37 +0900
|
|
Branch: REL_12_STABLE [96f3661e4] 2021-06-17 11:57:21 +0900
|
|
Branch: REL_11_STABLE [8f3229942] 2021-06-17 11:57:26 +0900
|
|
Branch: REL_10_STABLE [feac82fa8] 2021-06-17 11:57:35 +0900
|
|
Branch: REL9_6_STABLE [484c81bf7] 2021-06-17 11:57:44 +0900
|
|
Branch: master Release: REL_13_BR [9903338b5] 2019-08-24 11:35:43 +0900
|
|
Branch: REL_12_STABLE [a8f687927] 2021-06-17 11:01:16 +0900
|
|
Branch: REL_11_STABLE [834cb7269] 2021-06-17 11:01:20 +0900
|
|
Branch: REL_10_STABLE [0ed218048] 2021-06-17 11:01:25 +0900
|
|
Branch: REL9_6_STABLE [b7cd5c5b0] 2021-06-17 11:01:32 +0900
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [642c0697c] 2021-06-27 12:45:04 -0400
|
|
Branch: REL_13_STABLE [2d0944865] 2021-06-27 12:45:04 -0400
|
|
Branch: REL_12_STABLE [bc031cf13] 2021-06-27 12:45:04 -0400
|
|
Branch: REL_11_STABLE [1acab1209] 2021-06-27 12:45:04 -0400
|
|
Branch: REL_10_STABLE [7676d9594] 2021-06-27 12:45:04 -0400
|
|
Branch: REL9_6_STABLE [de589c112] 2021-06-27 12:45:04 -0400
|
|
-->
|
|
<para>
|
|
Improve the isolation-test infrastructure (Tom Lane, Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Allow isolation test steps to be annotated to show the expected
|
|
completion order. This allows getting stable results from
|
|
otherwise-racy test cases, without the long delays that we
|
|
previously used (not entirely successfully) to fend off race
|
|
conditions.
|
|
Allow non-quoted identifiers as isolation test session/step names
|
|
(formerly, all such names had to be double-quoted).
|
|
Detect and warn about unused steps in isolation tests.
|
|
Improve display of query results in isolation tests.
|
|
Remove isolationtester's <quote>dry-run</quote> mode.
|
|
Remove memory leaks in isolationtester itself.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9753324b7] 2021-07-05 16:51:57 -0400
|
|
Branch: REL_14_STABLE [07f1e0696] 2021-07-05 16:51:57 -0400
|
|
Branch: REL_13_STABLE [2f487116e] 2021-07-05 16:51:57 -0400
|
|
Branch: REL_12_STABLE [3edc2dbc0] 2021-07-05 16:51:57 -0400
|
|
Branch: REL_11_STABLE [76c23bbb4] 2021-07-05 16:51:57 -0400
|
|
Branch: REL_10_STABLE [8c3e36fcc] 2021-07-05 16:51:57 -0400
|
|
Branch: REL9_6_STABLE [b82eabec3] 2021-07-05 16:51:57 -0400
|
|
Branch: master Release: REL_14_BR [e135743ef] 2021-05-11 20:59:58 -0400
|
|
Branch: REL_13_STABLE [834d9284b] 2021-05-11 20:59:45 -0400
|
|
-->
|
|
<para>
|
|
Reduce overhead of cache-clobber testing (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master Release: REL_14_BR [4a682d85a] 2021-06-05 07:16:34 +0200
|
|
Branch: REL_13_STABLE [3989f8fb9] 2021-06-17 09:01:22 +0200
|
|
Branch: REL_12_STABLE [9438962ce] 2021-06-17 09:02:20 +0200
|
|
Branch: REL_11_STABLE [1a2752be8] 2021-06-17 09:02:44 +0200
|
|
Branch: REL_10_STABLE [6b6fbfd7e] 2021-06-17 09:03:30 +0200
|
|
Branch: REL9_6_STABLE [9c31e4165] 2021-06-17 09:04:15 +0200
|
|
Branch: REL_12_STABLE [70293e946] 2021-06-17 16:39:13 +0200
|
|
Branch: REL_11_STABLE [ba529a6ff] 2021-06-18 06:51:56 +0200
|
|
Branch: REL_10_STABLE [91709e10a] 2021-06-18 06:52:46 +0200
|
|
Branch: REL9_6_STABLE [ec52b886d] 2021-06-18 06:52:48 +0200
|
|
-->
|
|
<para>
|
|
Fix <application>PL/Python</application>'s regression tests to pass
|
|
with Python 3.10 (Honza Horak)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3779ac62d] 2021-07-24 13:41:17 -0400
|
|
Branch: REL_14_STABLE [89ad14cd7] 2021-07-24 13:41:17 -0400
|
|
Branch: REL_13_STABLE [c0a6f83de] 2021-07-24 13:41:17 -0400
|
|
Branch: REL_12_STABLE [4c8a14e8d] 2021-07-24 13:41:17 -0400
|
|
Branch: REL_11_STABLE [9329b9235] 2021-07-24 13:41:17 -0400
|
|
Branch: REL_10_STABLE [5a435289d] 2021-07-24 13:41:17 -0400
|
|
Branch: REL9_6_STABLE [7e09b504d] 2021-07-24 13:41:17 -0400
|
|
-->
|
|
<para>
|
|
Make <literal>printf("%s", NULL)</literal>
|
|
print <literal>(null)</literal> instead of crashing (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This should improve server robustness in corner cases, and it syncs
|
|
our <function>printf</function> implementation with common libraries.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [17707c059] 2021-06-30 11:48:53 +0900
|
|
Branch: REL_14_STABLE [607a3a43b] 2021-06-30 11:49:10 +0900
|
|
Branch: REL_13_STABLE [41edb2db1] 2021-06-30 11:49:16 +0900
|
|
Branch: REL_12_STABLE [b5ee867a7] 2021-06-30 11:49:20 +0900
|
|
Branch: REL_11_STABLE [93d3d0cf3] 2021-06-30 11:49:24 +0900
|
|
Branch: REL_10_STABLE [d8569db76] 2021-06-30 11:49:29 +0900
|
|
Branch: REL9_6_STABLE [68bad2333] 2021-06-30 11:49:36 +0900
|
|
-->
|
|
<para>
|
|
Fix incorrect log message when point-in-time recovery stops at
|
|
a <command>ROLLBACK PREPARED</command> record (Simon Riggs)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: REL_14_STABLE [0c83eb2e0] 2021-07-14 17:15:01 +0900
|
|
Branch: REL_13_STABLE [522624345] 2021-07-14 17:15:18 +0900
|
|
Branch: REL_12_STABLE [b242e1d23] 2021-07-14 17:15:26 +0900
|
|
Branch: REL_11_STABLE [85a8c3a4b] 2021-07-14 17:15:31 +0900
|
|
-->
|
|
<para>
|
|
Improve <command>ALTER TABLE</command>'s messages for
|
|
wrong-relation-kind errors (Kyotaro Horiguchi)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [0e1275fb0] 2021-07-28 01:20:16 +0900
|
|
Branch: REL_14_STABLE [fd90f6ba7] 2021-07-28 01:21:35 +0900
|
|
Branch: REL_13_STABLE [92913fc29] 2021-07-28 01:21:52 +0900
|
|
Branch: REL_12_STABLE [de87c481f] 2021-07-28 01:24:24 +0900
|
|
Branch: REL_11_STABLE [42e6b5ccb] 2021-07-28 01:24:51 +0900
|
|
Branch: REL_10_STABLE [a84f95ffd] 2021-07-28 01:25:53 +0900
|
|
Branch: REL9_6_STABLE [78c21d79d] 2021-07-28 01:26:15 +0900
|
|
-->
|
|
<para>
|
|
Clarify error messages referring to <quote>non-negative</quote>
|
|
values (Bharath Rupireddy)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d0a02bdb8] 2021-07-09 12:38:55 -0400
|
|
Branch: REL_14_STABLE [5620ec833] 2021-07-09 12:38:55 -0400
|
|
Branch: REL_13_STABLE [55cccdfdf] 2021-07-09 12:38:55 -0400
|
|
Branch: REL_12_STABLE [a5377e7f7] 2021-07-09 12:38:55 -0400
|
|
Branch: REL_11_STABLE [b69e8ad6c] 2021-07-09 12:38:55 -0400
|
|
Branch: REL_10_STABLE [7e0b53ad6] 2021-07-09 12:38:55 -0400
|
|
Branch: REL9_6_STABLE [cd5d3aefa] 2021-07-09 12:38:55 -0400
|
|
Branch: master [31e8cfac5] 2021-07-09 14:15:41 -0400
|
|
Branch: REL_14_STABLE [7f2eca6f9] 2021-07-09 14:15:41 -0400
|
|
Branch: REL_13_STABLE [cbcf5ffb1] 2021-07-09 14:15:41 -0400
|
|
Branch: REL_12_STABLE [83a8bf24e] 2021-07-09 14:15:41 -0400
|
|
Branch: REL_11_STABLE [29a4fbd46] 2021-07-09 14:15:41 -0400
|
|
Branch: REL_10_STABLE [911488b42] 2021-07-09 14:15:41 -0400
|
|
Branch: REL9_6_STABLE [8c9c20899] 2021-07-09 14:15:41 -0400
|
|
Branch: master [53c38a086] 2021-07-09 16:59:07 -0400
|
|
Branch: REL_14_STABLE [9ffad7ae7] 2021-07-09 16:59:07 -0400
|
|
Branch: REL_13_STABLE [32d0bdbfc] 2021-07-09 16:59:07 -0400
|
|
Branch: REL_12_STABLE [e82cde74d] 2021-07-09 16:59:08 -0400
|
|
Branch: REL_11_STABLE [2c28c689f] 2021-07-09 16:59:08 -0400
|
|
Branch: REL_10_STABLE [56533fce7] 2021-07-09 16:59:08 -0400
|
|
Branch: REL9_6_STABLE [3c612d9f6] 2021-07-09 16:59:08 -0400
|
|
Branch: master [9f6be2e79] 2021-07-10 13:19:30 -0400
|
|
Branch: REL_14_STABLE [ebc346e5b] 2021-07-10 13:19:31 -0400
|
|
Branch: REL_13_STABLE [9fca23c1d] 2021-07-10 13:19:31 -0400
|
|
Branch: REL_12_STABLE [03fc042eb] 2021-07-10 13:19:31 -0400
|
|
Branch: REL_11_STABLE [946f62f2f] 2021-07-10 13:19:31 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>configure</application> to work with OpenLDAP 2.5,
|
|
which no longer has a separate <filename>libldap_r</filename>
|
|
library (Adrian Ho, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If there is no <filename>libldap_r</filename> library, we now
|
|
silently assume that <filename>libldap</filename> is thread-safe.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [b8c4261e5] 2021-07-01 15:12:21 -0400
|
|
Branch: REL_14_STABLE [100e9ae53] 2021-07-01 15:15:09 -0400
|
|
Branch: REL_13_STABLE [bd0be7f7a] 2021-07-01 14:31:10 -0400
|
|
Branch: REL_12_STABLE [c71471c96] 2021-07-01 14:51:54 -0400
|
|
Branch: REL_11_STABLE [a7e3a390e] 2021-07-01 14:52:40 -0400
|
|
Branch: REL_10_STABLE [b796435be] 2021-07-01 15:07:20 -0400
|
|
Branch: REL9_6_STABLE [cbd5d7c85] 2021-07-01 15:11:53 -0400
|
|
Branch: master [7355c241e] 2021-07-01 15:47:46 -0400
|
|
Branch: REL_14_STABLE [1da2ea0cc] 2021-07-01 15:47:47 -0400
|
|
Branch: REL_13_STABLE [8d2be1402] 2021-07-01 15:40:42 -0400
|
|
Branch: REL_12_STABLE [383c29d1e] 2021-07-01 15:43:31 -0400
|
|
Branch: REL_11_STABLE [418041748] 2021-07-01 15:43:53 -0400
|
|
Branch: REL_10_STABLE [177531ee0] 2021-07-01 15:44:06 -0400
|
|
Branch: REL9_6_STABLE [1f7ea06d7] 2021-07-01 15:44:22 -0400
|
|
-->
|
|
<para>
|
|
Add new make targets <literal>world-bin</literal>
|
|
and <literal>install-world-bin</literal> (Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
These are the same as <literal>world</literal>
|
|
and <literal>install-world</literal> respectively, except that they
|
|
do not build or install the documentation.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [a0fc81326] 2021-07-01 09:02:46 -0400
|
|
Branch: REL_14_STABLE [c4774ce33] 2021-07-01 08:46:21 -0400
|
|
Branch: REL_13_STABLE [a8b564b0c] 2021-07-01 08:46:38 -0400
|
|
Branch: REL_12_STABLE [a40f8ea0f] 2021-07-01 08:47:04 -0400
|
|
Branch: REL_11_STABLE [58ac8300b] 2021-07-01 08:47:21 -0400
|
|
Branch: REL_10_STABLE [16ed3ddbb] 2021-07-01 08:48:24 -0400
|
|
Branch: REL9_6_STABLE [d173a4699] 2021-07-01 09:01:36 -0400
|
|
-->
|
|
<para>
|
|
Fix make rule for TAP tests (<literal>prove_installcheck</literal>)
|
|
to work in PGXS usage (Andrew Dunstan)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master Release: REL_14_BR [9b4e4cfe6] 2021-06-25 11:28:20 +1200
|
|
Branch: REL_13_STABLE [d9c05a9ec] 2021-06-25 11:29:00 +1200
|
|
Branch: REL_12_STABLE [47d22649e] 2021-06-25 11:29:20 +1200
|
|
Branch: REL_11_STABLE [6ada4fd06] 2021-06-25 11:29:47 +1200
|
|
-->
|
|
<para>
|
|
Adjust JIT code to prepare for forthcoming LLVM API change
|
|
(Thomas Munro, Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
LLVM 13 has made an incompatible API change that will cause crashing
|
|
of our previous JIT compiler.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_14_BR [126cdaf47] 2021-06-23 14:01:32 -0400
|
|
Branch: REL_13_STABLE [13f365568] 2021-06-23 14:01:32 -0400
|
|
Branch: REL_12_STABLE [7eaf65451] 2021-06-23 14:01:32 -0400
|
|
Branch: REL_11_STABLE [361acef7e] 2021-06-23 14:01:32 -0400
|
|
Branch: REL_10_STABLE [d3a845d1f] 2021-06-23 14:01:32 -0400
|
|
Branch: REL9_6_STABLE [006a829b2] 2021-06-23 14:01:33 -0400
|
|
-->
|
|
<para>
|
|
Avoid assuming that strings returned by GSSAPI libraries are
|
|
null-terminated (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The GSSAPI spec provides for a string pointer and length. It seems
|
|
that in practice the next byte after the string is usually zero,
|
|
so that our previous coding didn't actually fail; but we do have
|
|
a report of AddressSanitizer complaints.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_14_BR [025110663] 2021-05-27 20:11:00 +0900
|
|
Branch: REL_13_STABLE [ab81d004e] 2021-05-27 20:11:21 +0900
|
|
Branch: REL_12_STABLE [a75268f1c] 2021-05-27 20:11:24 +0900
|
|
Branch: REL_11_STABLE [cf2e09544] 2021-05-27 20:11:29 +0900
|
|
Branch: REL_10_STABLE [8f507dbc6] 2021-05-27 20:11:33 +0900
|
|
Branch: REL9_6_STABLE [7a4f2e158] 2021-05-27 20:11:38 +0900
|
|
Branch: master Release: REL_14_BR [7ca37fb04] 2020-12-30 12:56:06 -0500
|
|
Branch: REL_13_STABLE [e2f21ff60] 2021-06-01 09:27:25 +0900
|
|
Branch: REL_12_STABLE [02037af3f] 2021-06-01 09:27:31 +0900
|
|
Branch: REL_13_STABLE [949e32ee5] 2021-06-08 13:40:03 +0900
|
|
Branch: REL_12_STABLE [b7684bd10] 2021-06-08 13:40:10 +0900
|
|
-->
|
|
<para>
|
|
Enable building with GSSAPI on MSVC (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Fix various incompatibilities with modern Kerberos builds.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master Release: REL_14_BR [fb424ae85] 2021-05-28 09:30:16 -0400
|
|
Branch: REL_13_STABLE [c828a7246] 2021-05-28 09:31:50 -0400
|
|
Branch: REL_12_STABLE [ae3ef8569] 2021-05-28 09:32:09 -0400
|
|
Branch: REL_11_STABLE [3f70d7e44] 2021-05-28 09:32:24 -0400
|
|
Branch: REL_10_STABLE [a8c1062a1] 2021-05-28 09:32:31 -0400
|
|
Branch: REL9_6_STABLE [abbd70022] 2021-05-28 09:32:46 -0400
|
|
Branch: master Release: REL_14_BR [d69fcb9ca] 2021-05-28 09:35:11 -0400
|
|
Branch: REL_13_STABLE [bb18bc224] 2021-05-28 09:36:42 -0400
|
|
Branch: REL_12_STABLE [40a05cf24] 2021-05-28 09:35:42 -0400
|
|
Branch: REL_11_STABLE [a44a2b9ac] 2021-05-28 09:35:49 -0400
|
|
Branch: REL_10_STABLE [d5d89629c] 2021-05-28 09:35:55 -0400
|
|
Branch: REL9_6_STABLE [34a65fc63] 2021-05-28 09:36:10 -0400
|
|
-->
|
|
<para>
|
|
In MSVC builds, include <option>--with-pgport</option> in the set of
|
|
configure options reported by <application>pg_config</application>,
|
|
if it had been specified (Andrew Dunstan)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-7">
|
|
<title>Release 12.7</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2021-05-13</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.6.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.7</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you are upgrading from a version earlier than 12.6,
|
|
see <xref linkend="release-12-6"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f02b9085a] 2021-05-10 10:44:38 -0400
|
|
Branch: REL_13_STABLE [467395bfd] 2021-05-10 10:44:38 -0400
|
|
Branch: REL_12_STABLE [3b0f6a7ae] 2021-05-10 10:44:38 -0400
|
|
Branch: REL_11_STABLE [06bfbe854] 2021-05-10 10:44:38 -0400
|
|
Branch: REL_10_STABLE [2fb809d3e] 2021-05-10 10:44:38 -0400
|
|
Branch: REL9_6_STABLE [0c1caa48d] 2021-05-10 10:44:38 -0400
|
|
-->
|
|
<para>
|
|
Prevent integer overflows in array subscripting calculations
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The array code previously did not complain about cases where an
|
|
array's lower bound plus length overflows an integer. This resulted
|
|
in later entries in the array becoming inaccessible (since their
|
|
subscripts could not be written as integers), but more importantly
|
|
it confused subsequent assignment operations. This could lead to
|
|
memory overwrites, with ensuing crashes or unwanted data
|
|
modifications.
|
|
(CVE-2021-32027)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [049e1e2ed] 2021-05-10 11:02:29 -0400
|
|
Branch: REL_13_STABLE [4a8656a7e] 2021-05-10 11:02:29 -0400
|
|
Branch: REL_12_STABLE [a5fa3e067] 2021-05-10 11:02:29 -0400
|
|
Branch: REL_11_STABLE [b7d1f32ff] 2021-05-10 11:02:29 -0400
|
|
Branch: REL_10_STABLE [52a441362] 2021-05-10 11:02:30 -0400
|
|
Branch: REL9_6_STABLE [0fcb8e2e0] 2021-05-10 11:02:30 -0400
|
|
-->
|
|
<para>
|
|
Fix mishandling of <quote>junk</quote> columns in <literal>INSERT
|
|
... ON CONFLICT ... UPDATE</literal> target lists (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If the <literal>UPDATE</literal> list contains any multi-column
|
|
sub-selects (which give rise to junk columns in addition to the
|
|
results proper), the <literal>UPDATE</literal> path would end up
|
|
storing tuples that include the values of the extra junk columns.
|
|
That's fairly harmless in the short run, but if new columns are
|
|
added to the table then the values would become accessible, possibly
|
|
leading to malfunctions if they don't match the datatypes of the
|
|
added columns.
|
|
</para>
|
|
|
|
<para>
|
|
In addition, in versions supporting cross-partition updates,
|
|
a cross-partition update triggered by such a case had the reverse
|
|
problem: the junk columns were removed from the target list,
|
|
typically causing an immediate crash due to malfunction of the
|
|
multi-column sub-select mechanism.
|
|
(CVE-2021-32028)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_13_STABLE [a71cfc56b] 2021-04-22 11:46:41 -0400
|
|
Branch: REL_12_STABLE [3fb93103a] 2021-04-22 11:46:41 -0400
|
|
Branch: REL_11_STABLE [27835b547] 2021-04-22 11:46:41 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d479d0028] 2021-04-22 17:30:55 -0400
|
|
Branch: REL_13_STABLE [2602ee468] 2021-04-22 17:30:42 -0400
|
|
Branch: REL_12_STABLE [05ce4bf8b] 2021-04-22 17:30:42 -0400
|
|
-->
|
|
<para>
|
|
Fix possibly-incorrect computation of <command>UPDATE
|
|
... RETURNING</command> outputs for joined cross-partition updates
|
|
(Amit Langote, Etsuro Fujita)
|
|
</para>
|
|
|
|
<para>
|
|
If an <command>UPDATE</command> for a partitioned table caused a row
|
|
to be moved to another partition with a physically different row
|
|
type (for example, one with a different set of dropped columns),
|
|
computation of <literal>RETURNING</literal> results for that row
|
|
could produce errors or wrong answers. No error is observed unless
|
|
the <command>UPDATE</command> involves other tables being joined to
|
|
the target table.
|
|
(CVE-2021-32029)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [6f70d7ca1] 2021-05-05 12:21:50 -0400
|
|
Branch: REL_13_STABLE [923c13520] 2021-05-05 12:14:21 -0400
|
|
Branch: REL_12_STABLE [abce26c9e] 2021-05-05 12:14:21 -0400
|
|
Branch: REL_11_STABLE [a25b98d2c] 2021-05-05 12:14:21 -0400
|
|
-->
|
|
<para>
|
|
Fix adjustment of constraint deferrability properties in
|
|
partitioned tables (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
When applied to a foreign-key constraint of a partitioned table,
|
|
<command>ALTER TABLE ... ALTER CONSTRAINT</command> failed to
|
|
adjust the <literal>DEFERRABLE</literal> and/or
|
|
<literal>INITIALLY DEFERRED</literal> markings of the constraints
|
|
and triggers of leaf partitions. This led to unexpected behavior of
|
|
such constraints. After updating to this version, any misbehaving
|
|
partitioned tables can be fixed by executing a
|
|
new <command>ALTER</command> command to set the desired properties.
|
|
</para>
|
|
|
|
<para>
|
|
This change also disallows applying such an <command>ALTER</command>
|
|
directly to the constraints of leaf partitions. The only supported
|
|
case is for the whole partitioning hierarchy to have identical
|
|
constraint properties, so such <command>ALTER</command>s must be
|
|
applied at the partition root.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [a970edbed] 2021-05-04 12:09:08 +0200
|
|
Branch: REL_13_STABLE [64190d65f] 2021-05-04 12:10:22 +0200
|
|
Branch: REL_12_STABLE [13ff139a2] 2021-05-04 12:10:51 +0200
|
|
-->
|
|
<para>
|
|
When attaching a child table with <command>ALTER TABLE
|
|
... INHERIT</command>, insist that any generated columns in the
|
|
parent be generated the same way in the child (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f52c5d674] 2021-03-12 11:08:42 -0500
|
|
Branch: REL_13_STABLE [8a2297776] 2021-03-12 11:08:42 -0500
|
|
Branch: REL_12_STABLE [e7f7950f6] 2021-03-12 11:08:42 -0500
|
|
Branch: REL_11_STABLE [6c34f186c] 2021-03-12 11:08:42 -0500
|
|
Branch: REL_10_STABLE [e5794cd59] 2021-03-12 11:08:42 -0500
|
|
-->
|
|
<para>
|
|
Forbid marking an identity column as nullable (Vik Fearing)
|
|
</para>
|
|
|
|
<para>
|
|
<literal>GENERATED ... AS IDENTITY</literal> implies <literal>NOT
|
|
NULL</literal>, so don't allow it to be combined with an
|
|
explicit <literal>NULL</literal> specification.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [69d5ca484] 2021-04-13 15:10:18 -0400
|
|
Branch: REL_13_STABLE [c39aa1e87] 2021-04-13 15:10:18 -0400
|
|
Branch: REL_12_STABLE [a7fcb6285] 2021-04-13 15:10:18 -0400
|
|
Branch: REL_11_STABLE [c7f0275fb] 2021-04-13 15:10:18 -0400
|
|
Branch: REL_10_STABLE [46b6635b7] 2021-04-13 15:10:18 -0400
|
|
Branch: REL9_6_STABLE [041f4efd2] 2021-04-13 15:10:18 -0400
|
|
-->
|
|
<para>
|
|
Allow <literal>ALTER ROLE/DATABASE ... SET</literal> to set
|
|
the <varname>role</varname>, <varname>session_authorization</varname>,
|
|
and <varname>temp_buffers</varname> parameters (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, over-eager validity checks might reject these commands,
|
|
even if the values would have worked when used later. This created
|
|
a command ordering hazard for dump/reload and upgrade scenarios.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [bd1208098] 2021-02-10 13:06:48 +0900
|
|
Branch: REL_13_STABLE [849383138] 2021-02-10 13:09:09 +0900
|
|
Branch: REL_12_STABLE [85edb1f26] 2021-02-10 13:09:12 +0900
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [4f4726005] 2021-02-10 16:59:04 +0900
|
|
Branch: REL_13_STABLE [c6cd20d91] 2021-02-10 16:59:33 +0900
|
|
Branch: REL_12_STABLE [5b2945ec0] 2021-02-10 16:59:43 +0900
|
|
-->
|
|
<para>
|
|
Ensure that <command>REINDEX CONCURRENTLY</command> preserves any
|
|
statistics target that's been set for the index (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [8a55cb5ba] 2021-02-19 21:57:52 +0900
|
|
Branch: REL_13_STABLE [422012c98] 2021-02-19 21:58:43 +0900
|
|
Branch: REL_12_STABLE [fadcc4e81] 2021-02-19 21:59:26 +0900
|
|
-->
|
|
<para>
|
|
Fix <command>COMMIT AND CHAIN</command> to work correctly when the
|
|
current transaction has live savepoints (Fujii Masao)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c402b02b9] 2021-04-12 14:37:49 -0400
|
|
Branch: REL_13_STABLE [8a7bd1e6c] 2021-04-12 14:37:22 -0400
|
|
Branch: REL_12_STABLE [27011bcff] 2021-04-12 14:37:22 -0400
|
|
Branch: REL_11_STABLE [fb2cca828] 2021-04-12 14:37:22 -0400
|
|
Branch: REL_10_STABLE [4b0aecee8] 2021-04-12 14:37:22 -0400
|
|
Branch: REL9_6_STABLE [a6158a4d9] 2021-04-12 14:37:22 -0400
|
|
-->
|
|
<para>
|
|
Fix bug with coercing the result of a <literal>COLLATE</literal>
|
|
expression to a non-collatable type (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This led to a parse tree in which the <literal>COLLATE</literal>
|
|
appears to be applied to a non-collatable value. While that
|
|
normally has no real impact (since <literal>COLLATE</literal> has no
|
|
effect at runtime), it was possible to construct views that would be
|
|
rejected during dump/reload.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [25936fd46] 2021-02-27 18:09:15 -0300
|
|
Branch: REL_13_STABLE [2688852a4] 2021-02-27 18:09:15 -0300
|
|
Branch: REL_12_STABLE [262eb990c] 2021-02-27 18:09:15 -0300
|
|
-->
|
|
<para>
|
|
Fix use-after-free bug in saving tuples for <literal>AFTER</literal>
|
|
triggers (Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
This could cause crashes in some situations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2efcd502e] 2021-04-30 14:10:26 -0400
|
|
Branch: REL_13_STABLE [4d225ba0e] 2021-04-30 14:10:26 -0400
|
|
Branch: REL_12_STABLE [89768ee69] 2021-04-30 14:10:26 -0400
|
|
Branch: REL_11_STABLE [ebc2ff076] 2021-04-30 14:10:26 -0400
|
|
Branch: REL_10_STABLE [0627f3630] 2021-04-30 14:10:26 -0400
|
|
Branch: REL9_6_STABLE [73bad52a9] 2021-04-30 14:10:26 -0400
|
|
-->
|
|
<para>
|
|
Disallow calling window functions and procedures via
|
|
the <quote>fast path</quote> wire protocol message (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Only plain functions are supported here. While trying to call
|
|
an aggregate function failed already, calling a window function
|
|
would crash, and calling a procedure would work only if the
|
|
procedure did no transaction control.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [f7aab36d6] 2021-04-28 11:17:58 +0900
|
|
Branch: REL_13_STABLE [f3c453787] 2021-04-28 11:18:17 +0900
|
|
Branch: REL_12_STABLE [7e76cb1d8] 2021-04-28 11:18:20 +0900
|
|
Branch: REL_11_STABLE [5b717e13c] 2021-04-28 11:18:24 +0900
|
|
Branch: REL_10_STABLE [90c9bad30] 2021-04-28 11:18:28 +0900
|
|
Branch: REL9_6_STABLE [6e41ff056] 2021-04-28 11:18:33 +0900
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [f93f0b5b2] 2021-04-28 11:58:08 +0900
|
|
Branch: REL_13_STABLE [a928297bc] 2021-04-28 11:58:43 +0900
|
|
Branch: REL_12_STABLE [85a3e0be1] 2021-04-28 11:58:46 +0900
|
|
Branch: REL_11_STABLE [669f73666] 2021-04-28 11:58:50 +0900
|
|
Branch: REL_10_STABLE [b797918d2] 2021-04-28 11:58:55 +0900
|
|
Branch: REL9_6_STABLE [0d05a3a1d] 2021-04-28 11:59:00 +0900
|
|
-->
|
|
<para>
|
|
Extend <function>pg_identify_object_as_address()</function>
|
|
to support event triggers (Joel Jacobson)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [7a3972597] 2021-04-12 11:30:50 +0900
|
|
Branch: REL_13_STABLE [be79debd9] 2021-04-12 11:31:26 +0900
|
|
Branch: REL_12_STABLE [82dd5706e] 2021-04-12 11:31:30 +0900
|
|
Branch: REL_11_STABLE [5656f2c3d] 2021-04-12 11:31:35 +0900
|
|
Branch: REL_10_STABLE [1cc110f68] 2021-04-12 11:31:40 +0900
|
|
Branch: REL9_6_STABLE [6540322fa] 2021-04-12 11:31:46 +0900
|
|
-->
|
|
<para>
|
|
Fix <function>to_char()</function>'s handling of Roman-numeral month
|
|
format codes with negative intervals (Julien Rouhaud)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, such cases would usually cause a crash.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5c06abb9b] 2021-03-08 18:21:51 -0500
|
|
Branch: REL_13_STABLE [fe2b5386b] 2021-03-08 18:21:51 -0500
|
|
Branch: REL_12_STABLE [8fff8a874] 2021-03-08 18:21:51 -0500
|
|
Branch: REL_11_STABLE [ea42ccbce] 2021-03-08 18:21:51 -0500
|
|
Branch: REL_10_STABLE [37228ecde] 2021-03-08 18:21:51 -0500
|
|
-->
|
|
<para>
|
|
Check that the argument
|
|
of <function>pg_import_system_collations()</function> is a valid
|
|
schema OID (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b5a66e735] 2021-02-18 22:38:55 -0500
|
|
Branch: REL_13_STABLE [bf9d3a5f8] 2021-02-18 22:38:55 -0500
|
|
Branch: REL_12_STABLE [e7cddb5f2] 2021-02-18 22:38:55 -0500
|
|
Branch: REL_11_STABLE [6e6fecf49] 2021-02-18 22:38:55 -0500
|
|
Branch: REL_10_STABLE [b06450979] 2021-02-18 22:38:55 -0500
|
|
Branch: REL9_6_STABLE [ab208421e] 2021-02-18 22:38:55 -0500
|
|
-->
|
|
<para>
|
|
Fix use of uninitialized value while parsing an
|
|
<literal>\{<replaceable>m</replaceable>,<replaceable>n</replaceable>\}</literal>
|
|
quantifier in a BRE-mode regular expression (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This error could cause the quantifier to act non-greedy, that is
|
|
behave like an
|
|
<literal>{<replaceable>m</replaceable>,<replaceable>n</replaceable>}?</literal>
|
|
quantifier would do in full regular expressions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [33e52ad9a] 2021-03-26 22:34:58 +0100
|
|
Branch: REL_13_STABLE [67251c82a] 2021-03-26 22:37:45 +0100
|
|
Branch: REL_12_STABLE [88acb0135] 2021-03-26 22:40:00 +0100
|
|
Branch: REL_11_STABLE [2a307df1b] 2021-03-26 22:44:01 +0100
|
|
Branch: REL_10_STABLE [e5eb40eed] 2021-03-26 22:46:15 +0100
|
|
-->
|
|
<para>
|
|
Don't ignore system columns when estimating the number of groups
|
|
using extended statistics (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
This led to strange estimates for queries such as <literal>SELECT
|
|
... GROUP BY a, b, ctid</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ae4867ec7] 2021-02-12 16:26:47 -0500
|
|
Branch: REL_13_STABLE [3a02d68a9] 2021-02-12 16:26:47 -0500
|
|
Branch: REL_12_STABLE [0347470b3] 2021-02-12 16:26:47 -0500
|
|
Branch: REL_11_STABLE [a28df6fa3] 2021-02-12 16:26:47 -0500
|
|
Branch: REL_10_STABLE [374f1cefe] 2021-02-12 16:26:47 -0500
|
|
Branch: REL9_6_STABLE [f4d781dae] 2021-02-12 16:26:47 -0500
|
|
-->
|
|
<para>
|
|
Avoid divide-by-zero when estimating selectivity of a regular
|
|
expression with a very long fixed prefix (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This typically led to a <literal>NaN</literal> selectivity value,
|
|
causing assertion failures or strange planner behavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [23607a815] 2021-04-07 15:58:36 +0200
|
|
Branch: REL_13_STABLE [1aad1d181] 2021-04-07 15:59:30 +0200
|
|
Branch: REL_12_STABLE [847612fda] 2021-04-07 16:01:27 +0200
|
|
Branch: REL_11_STABLE [7d3a53461] 2021-04-07 16:02:51 +0200
|
|
Branch: REL_10_STABLE [e4f251be7] 2021-04-07 16:04:05 +0200
|
|
Branch: REL9_6_STABLE [df97ee6ea] 2021-04-07 16:05:21 +0200
|
|
-->
|
|
<para>
|
|
Fix access-off-the-end-of-the-table error in BRIN index bitmap scans
|
|
(Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
If the page range size used by a BRIN index isn't a power of two,
|
|
there were corner cases in which a bitmap scan could try to fetch
|
|
pages past the actual end of the table, leading to <quote>could not
|
|
open file</quote> errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [595b9cba2] 2021-03-22 08:30:53 +0900
|
|
Branch: REL_13_STABLE [6e5ce888a] 2021-03-22 08:31:01 +0900
|
|
Branch: REL_12_STABLE [4b1dd9b1e] 2021-03-22 08:31:05 +0900
|
|
Branch: REL_11_STABLE [f1d550f18] 2021-03-22 08:31:09 +0900
|
|
Branch: REL_10_STABLE [1ec7162a8] 2021-03-22 08:31:14 +0900
|
|
-->
|
|
<para>
|
|
Avoid incorrect timeline change while recovering uncommitted
|
|
two-phase transactions from WAL (Soumyadeep Chakraborty, Jimmy Yih,
|
|
Kevin Yeap)
|
|
</para>
|
|
|
|
<para>
|
|
This error could lead to subsequent WAL records being written under
|
|
the wrong timeline ID, leading to consistency problems, or even
|
|
complete failure to be able to restart the server, later on.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [ad8b67492] 2021-04-06 02:25:37 +0900
|
|
Branch: REL_13_STABLE [e7bcfd717] 2021-04-06 02:27:11 +0900
|
|
Branch: REL_12_STABLE [dd5b7e486] 2021-04-06 02:27:22 +0900
|
|
Branch: REL_11_STABLE [b59d3abaf] 2021-04-06 02:27:30 +0900
|
|
Branch: REL_10_STABLE [b9cf9d7d3] 2021-04-06 02:27:39 +0900
|
|
Branch: REL9_6_STABLE [e3bf96216] 2021-04-06 02:27:48 +0900
|
|
-->
|
|
<para>
|
|
Ensure that locks are released while shutting down a standby
|
|
server's startup process (Fujii Masao)
|
|
</para>
|
|
|
|
<para>
|
|
When a standby server is shut down while still in recovery, some
|
|
locks might be left held. This causes assertion failures in debug
|
|
builds; it's unclear whether any serious consequence could occur
|
|
in production builds.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [4e8c0f1a0] 2021-05-07 11:46:37 -0400
|
|
Branch: REL_13_STABLE [ef70b6f8e] 2021-05-07 11:46:37 -0400
|
|
Branch: REL_12_STABLE [cfebc7080] 2021-05-07 11:46:37 -0400
|
|
Branch: REL_11_STABLE [b40865ebd] 2021-05-07 11:46:37 -0400
|
|
Branch: REL_10_STABLE [1803c7626] 2021-05-07 11:46:37 -0400
|
|
-->
|
|
<para>
|
|
Fix crash when a logical replication worker does <command>ALTER
|
|
SUBSCRIPTION REFRESH</command> (Peter Smith)
|
|
</para>
|
|
|
|
<para>
|
|
The core code won't do this, but a replica trigger could.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [f900a79ec] 2021-02-15 16:04:59 +1300
|
|
Branch: REL_13_STABLE [6c23e5ae9] 2021-02-15 16:05:42 +1300
|
|
Branch: REL_12_STABLE [a27f3a7f4] 2021-02-15 16:06:18 +1300
|
|
Branch: REL_11_STABLE [1fefe8879] 2021-02-15 16:06:25 +1300
|
|
Branch: REL_10_STABLE [800131df7] 2021-02-15 16:08:24 +1300
|
|
Branch: REL9_6_STABLE [09a3b19e3] 2021-02-15 16:09:14 +1300
|
|
-->
|
|
<para>
|
|
Ensure we default to <varname>wal_sync_method</varname>
|
|
= <literal>fdatasync</literal> on recent FreeBSD (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
FreeBSD 13 supports <literal>open_datasync</literal>, which would
|
|
normally become the default choice. However, it's unclear whether
|
|
that is actually an improvement for Postgres, so preserve the
|
|
existing default for now.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [e798d095d] 2021-05-04 10:09:12 -0400
|
|
Branch: REL_13_STABLE [91a6b3862] 2021-05-04 10:09:11 -0400
|
|
Branch: REL_12_STABLE [72fabd4bf] 2021-05-04 10:09:11 -0400
|
|
-->
|
|
<para>
|
|
Pass the correct trigger OID to object post-alter hooks
|
|
during <command>ALTER CONSTRAINT</command> (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
When updating trigger properties during <command>ALTER
|
|
CONSTRAINT</command>, the post-alter hook was told that we are
|
|
updating a trigger, but the constraint's OID was passed instead of
|
|
the trigger's.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [637668fb1] 2021-02-15 14:27:33 +1300
|
|
Branch: REL_13_STABLE [9fe40913c] 2021-02-15 14:20:42 +1300
|
|
Branch: REL_12_STABLE [840eda04e] 2021-02-15 14:20:52 +1300
|
|
Branch: REL_11_STABLE [acafdd9ed] 2021-02-15 14:21:01 +1300
|
|
Branch: REL_10_STABLE [4b426f77c] 2021-02-15 14:22:08 +1300
|
|
Branch: REL9_6_STABLE [8a07e5bd8] 2021-02-15 14:22:19 +1300
|
|
-->
|
|
<para>
|
|
Ensure we finish cleaning up when interrupted while detaching a DSM
|
|
segment (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
This error could result in temporary files not being cleaned up
|
|
promptly after a parallel query.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_12_STABLE [992cba94d] 2021-03-20 12:38:22 -0400
|
|
Branch: REL_11_STABLE [c49e287a8] 2021-03-20 12:38:22 -0400
|
|
Branch: REL_10_STABLE [7d9629ed2] 2021-03-20 12:38:22 -0400
|
|
-->
|
|
<para>
|
|
Fix memory leak while initializing server's SSL parameters (Michael
|
|
Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This is ordinarily insignificant, but if the postmaster is
|
|
repeatedly sent <systemitem>SIGHUP</systemitem> signals, the leak
|
|
can build up over time.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e835e89a0] 2021-03-20 12:47:21 -0400
|
|
Branch: REL_13_STABLE [4b41f6923] 2021-03-20 12:47:35 -0400
|
|
Branch: REL_12_STABLE [2f31414f4] 2021-03-20 12:47:42 -0400
|
|
Branch: REL_11_STABLE [8c830148d] 2021-03-20 12:47:48 -0400
|
|
Branch: REL_10_STABLE [ad6c19066] 2021-03-20 12:47:53 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9bacdf9f5] 2021-03-18 22:22:47 -0400
|
|
Branch: REL_13_STABLE [12354839e] 2021-03-18 22:21:58 -0400
|
|
Branch: REL_12_STABLE [4eca51d44] 2021-03-18 22:21:58 -0400
|
|
Branch: REL_11_STABLE [20f11ca0d] 2021-03-18 22:21:58 -0400
|
|
Branch: REL_10_STABLE [ba986b7bc] 2021-03-18 22:21:58 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [377b7a830] 2021-03-18 22:22:47 -0400
|
|
Branch: REL_13_STABLE [642b0b69b] 2021-03-18 22:09:41 -0400
|
|
Branch: REL_12_STABLE [fc552f868] 2021-03-18 22:09:41 -0400
|
|
Branch: REL_11_STABLE [26a3ae06d] 2021-03-18 22:09:41 -0400
|
|
Branch: REL_10_STABLE [5058e95a6] 2021-03-18 22:09:41 -0400
|
|
Branch: REL9_6_STABLE [7e2521770] 2021-03-18 22:09:41 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d303849b0] 2021-03-18 22:22:47 -0400
|
|
Branch: REL_13_STABLE [eba939551] 2021-03-18 21:44:43 -0400
|
|
Branch: REL_12_STABLE [92bc14a10] 2021-03-18 21:44:43 -0400
|
|
Branch: REL_11_STABLE [099d2914f] 2021-03-18 21:44:43 -0400
|
|
Branch: REL_10_STABLE [0b618ddf8] 2021-03-18 21:44:43 -0400
|
|
Branch: REL9_6_STABLE [09e961929] 2021-03-18 21:44:43 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [415ffdc22] 2021-03-18 22:22:47 -0400
|
|
Branch: REL_13_STABLE [ea3989f34] 2021-03-18 20:50:56 -0400
|
|
Branch: REL_12_STABLE [1452a0bb8] 2021-03-18 20:50:56 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [28644fac1] 2021-03-18 22:22:47 -0400
|
|
Branch: REL_13_STABLE [536836970] 2021-03-18 20:37:09 -0400
|
|
Branch: REL_12_STABLE [fbcc9fe33] 2021-03-18 20:37:09 -0400
|
|
Branch: REL_11_STABLE [967b693ea] 2021-03-18 20:37:09 -0400
|
|
Branch: REL_10_STABLE [2bed650c4] 2021-03-18 20:37:09 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4b12ab18c] 2021-03-16 16:03:06 -0400
|
|
Branch: REL_13_STABLE [4d072bf2a] 2021-03-16 16:02:49 -0400
|
|
Branch: REL_12_STABLE [6e3475556] 2021-03-16 16:02:49 -0400
|
|
Branch: REL_11_STABLE [a2764d87d] 2021-03-16 16:02:50 -0400
|
|
Branch: REL_10_STABLE [7ce7f2b79] 2021-03-16 16:02:50 -0400
|
|
-->
|
|
<para>
|
|
Fix assorted minor memory leaks in the server (Tom Lane, Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c2db458c1] 2021-04-13 13:37:07 -0400
|
|
Branch: REL_13_STABLE [97b7ad468] 2021-04-13 13:37:07 -0400
|
|
Branch: REL_12_STABLE [6530df6c2] 2021-04-13 13:37:07 -0400
|
|
Branch: REL_11_STABLE [22f2a98cf] 2021-04-13 13:37:07 -0400
|
|
-->
|
|
<para>
|
|
Fix failure when a PL/pgSQL <command>DO</command> block makes use of
|
|
both composite-type variables and transaction control (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, such cases led to errors about leaked tuple descriptors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [51c54bb60] 2021-03-11 14:43:45 -0500
|
|
Branch: REL_13_STABLE [3580b4a0c] 2021-03-11 14:43:45 -0500
|
|
Branch: REL_12_STABLE [56defbdd0] 2021-03-11 14:43:45 -0500
|
|
Branch: REL_11_STABLE [d3a557894] 2021-03-11 14:43:45 -0500
|
|
Branch: REL_10_STABLE [d2be6cdc5] 2021-03-11 14:43:45 -0500
|
|
Branch: REL9_6_STABLE [a98e53e10] 2021-03-11 14:43:45 -0500
|
|
-->
|
|
<para>
|
|
Prevent infinite loop in <application>libpq</application>
|
|
if a ParameterDescription message with a corrupt length is received
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [75dbfe4ca] 2021-03-02 15:39:34 -0300
|
|
Branch: REL_13_STABLE [b52fd1e7c] 2021-03-02 15:39:34 -0300
|
|
Branch: REL_12_STABLE [f92776791] 2021-03-02 15:39:34 -0300
|
|
Branch: REL_11_STABLE [ae1c1d84e] 2021-03-02 15:39:34 -0300
|
|
Branch: REL_10_STABLE [926139dd0] 2021-03-02 15:39:34 -0300
|
|
-->
|
|
<para>
|
|
When <application>initdb</application> prints instructions about how
|
|
to start the server, make the path shown
|
|
for <application>pg_ctl</application> use backslash separators on
|
|
Windows (Nitin Jadhav)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ea8013854] 2021-03-23 14:27:50 -0400
|
|
Branch: REL_13_STABLE [c6eac71a8] 2021-03-23 14:27:50 -0400
|
|
Branch: REL_12_STABLE [beac4bd65] 2021-03-23 14:27:50 -0400
|
|
Branch: REL_11_STABLE [d75edab42] 2021-03-23 14:27:50 -0400
|
|
Branch: REL_10_STABLE [d5a905ed5] 2021-03-23 14:27:50 -0400
|
|
Branch: REL9_6_STABLE [4f670c64e] 2021-03-23 14:27:50 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>psql</application> to restore the previous behavior
|
|
of <literal>\connect
|
|
service=<replaceable>something</replaceable></literal> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A previous bug fix caused environment variables (such
|
|
as <varname>PGPORT</varname>) to override entries in the service
|
|
file in this context. Restore the previous behavior, in which the
|
|
priority is the other way around.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [fe06819f1] 2021-02-19 22:01:25 +0900
|
|
Branch: REL_13_STABLE [be7485a1e] 2021-02-19 22:02:19 +0900
|
|
Branch: REL_12_STABLE [67b3ee292] 2021-02-19 22:02:44 +0900
|
|
-->
|
|
<para>
|
|
Fix <application>psql</application>'s <literal>ON_ERROR_ROLLBACK</literal>
|
|
feature to handle <literal>COMMIT AND CHAIN</literal> commands
|
|
correctly (Arthur Nascimento)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, this case failed with <quote>savepoint
|
|
"pg_psql_temporary_savepoint" does not exist</quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [48d67fd89] 2021-03-12 12:20:15 -0500
|
|
Branch: REL_13_STABLE [6ed059933] 2021-03-12 12:20:15 -0500
|
|
Branch: REL_12_STABLE [60e5c2b14] 2021-03-12 12:20:15 -0500
|
|
Branch: REL_11_STABLE [33aa7d13d] 2021-03-12 12:20:15 -0500
|
|
Branch: REL_10_STABLE [8915e7906] 2021-03-12 12:20:15 -0500
|
|
Branch: REL9_6_STABLE [a42c4438b] 2021-03-12 12:20:15 -0500
|
|
-->
|
|
<para>
|
|
Fix race condition in detection of file modification by
|
|
<application>psql</application>'s <literal>\e</literal> and related
|
|
commands (Laurenz Albe)
|
|
</para>
|
|
|
|
<para>
|
|
A very fast typist could fool the code's file-timestamp-based
|
|
detection of whether the temporary edit file was changed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [feb270d10] 2021-05-04 14:18:16 +0200
|
|
Branch: REL_13_STABLE [a6a3a274a] 2021-05-04 14:18:23 +0200
|
|
Branch: REL_12_STABLE [bdaa0d2d7] 2021-05-04 14:18:33 +0200
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application>'s dumping of
|
|
generated columns in partitioned tables (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
A fix introduced in the previous minor release should not be applied
|
|
to partitioned tables, only traditionally-inherited tables.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ec03f2df1] 2021-04-01 13:34:16 -0400
|
|
Branch: REL_13_STABLE [35421a470] 2021-04-01 13:34:16 -0400
|
|
Branch: REL_12_STABLE [84c5e0dd2] 2021-04-01 13:34:16 -0400
|
|
Branch: REL_11_STABLE [25fe401d5] 2021-04-01 13:34:16 -0400
|
|
Branch: REL_10_STABLE [1b6961c8f] 2021-04-01 13:34:16 -0400
|
|
Branch: REL9_6_STABLE [2c9b857af] 2021-04-01 13:34:16 -0400
|
|
-->
|
|
<para>
|
|
Fix missed file version check
|
|
in <application>pg_restore</application> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
When reading a custom-format archive from a non-seekable source,
|
|
<application>pg_restore</application> neglected to check the
|
|
archive version. If it was fed a newer archive version than it
|
|
can support, it would fail messily later on.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [57c081de0] 2021-04-29 15:24:37 -0400
|
|
Branch: REL_13_STABLE [bbcfee0e5] 2021-04-29 15:24:37 -0400
|
|
Branch: REL_12_STABLE [ba86371b9] 2021-04-29 15:24:37 -0400
|
|
Branch: REL_11_STABLE [404946d40] 2021-04-29 15:24:37 -0400
|
|
Branch: REL_10_STABLE [d5722c927] 2021-04-29 15:24:37 -0400
|
|
Branch: REL9_6_STABLE [54a233071] 2021-04-29 15:24:38 -0400
|
|
-->
|
|
<para>
|
|
Add some more checks to <application>pg_upgrade</application> for
|
|
user tables containing non-upgradable data types (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Fix detection of some cases where a non-upgradable data type is
|
|
embedded within a container type (such as an array or range).
|
|
Also disallow upgrading when user tables contain columns of
|
|
system-defined composite types, since those types' OIDs are not
|
|
stable across versions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [2eb1fc8b1] 2021-04-03 00:07:00 +0900
|
|
Branch: REL_13_STABLE [104164361] 2021-04-03 00:07:49 +0900
|
|
Branch: REL_12_STABLE [24bcce3bd] 2021-04-03 00:08:05 +0900
|
|
-->
|
|
<para>
|
|
Fix incorrect progress-reporting calculation
|
|
in <application>pg_checksums</application> (Shinya Kato)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [51893c846] 2021-03-23 09:53:08 +0900
|
|
Branch: REL_13_STABLE [34279fd4f] 2021-03-23 09:54:38 +0900
|
|
Branch: REL_12_STABLE [4220e06f4] 2021-03-23 09:54:59 +0900
|
|
Branch: REL_11_STABLE [4a2627c41] 2021-03-23 09:55:21 +0900
|
|
Branch: REL_10_STABLE [5386a8506] 2021-03-23 09:55:33 +0900
|
|
Branch: REL9_6_STABLE [e73068b07] 2021-03-23 09:55:49 +0900
|
|
-->
|
|
<para>
|
|
Fix <application>pg_waldump</application> to
|
|
count <literal>XACT</literal> records correctly when generating
|
|
per-record statistics (Kyotaro Horiguchi)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [8deb6b38d] 2021-02-23 17:30:21 -0300
|
|
Branch: REL_13_STABLE [28f4b6108] 2021-02-23 17:30:21 -0300
|
|
Branch: REL_12_STABLE [2796ae2ad] 2021-02-23 17:30:21 -0300
|
|
Branch: REL_11_STABLE [258391707] 2021-02-23 17:30:21 -0300
|
|
Branch: REL_10_STABLE [bf518fefa] 2021-02-23 17:30:21 -0300
|
|
Branch: REL9_6_STABLE [0ccebe779] 2021-02-23 17:30:21 -0300
|
|
-->
|
|
<para>
|
|
Fix <filename>contrib/amcheck</filename> to not complain about the
|
|
tuple flags <literal>HEAP_XMAX_LOCK_ONLY</literal>
|
|
and <literal>HEAP_KEYS_UPDATED</literal> both being set
|
|
(Julien Rouhaud)
|
|
</para>
|
|
|
|
<para>
|
|
This is a valid state after <literal>SELECT FOR UPDATE</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [455dbc010] 2021-04-12 19:24:41 -0700
|
|
Branch: REL_13_STABLE [13881199e] 2021-04-12 19:24:58 -0700
|
|
Branch: REL_12_STABLE [4749c7ff4] 2021-04-12 19:27:09 -0700
|
|
Branch: REL_11_STABLE [c8da16ba1] 2021-04-12 19:27:31 -0700
|
|
Branch: REL_10_STABLE [fb9812b6c] 2021-04-12 19:27:36 -0700
|
|
Branch: REL9_6_STABLE [f488d19f3] 2021-04-12 19:27:38 -0700
|
|
-->
|
|
<para>
|
|
Adjust VPATH build rules to support recent Oracle Developer Studio
|
|
compiler versions (Noah Misch)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [c3556f6fa] 2021-04-12 19:24:21 -0700
|
|
Branch: REL_13_STABLE [766c8fce5] 2021-04-12 19:24:24 -0700
|
|
Branch: REL_12_STABLE [e3ac7d176] 2021-04-12 19:24:25 -0700
|
|
Branch: REL_11_STABLE [4a3de4092] 2021-04-12 19:24:25 -0700
|
|
Branch: REL_10_STABLE [72a9bd047] 2021-04-12 19:24:25 -0700
|
|
Branch: REL9_6_STABLE [14652a19f] 2021-04-12 19:24:26 -0700
|
|
-->
|
|
<para>
|
|
Fix testing of PL/Python for Python 3 on Solaris (Noah Misch)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-6">
|
|
<title>Release 12.6</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2021-02-11</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.5.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.6</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, see the second and third changelog items below,
|
|
which describe cases in which reindexing indexes after the upgrade
|
|
may be advisable.
|
|
</para>
|
|
|
|
<para>
|
|
Also, if you are upgrading from a version earlier than 12.2,
|
|
see <xref linkend="release-12-2"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [6214e2b22] 2021-02-08 11:01:51 +0200
|
|
Branch: REL_13_STABLE [8e56684d5] 2021-02-08 11:01:55 +0200
|
|
Branch: REL_12_STABLE [f50e88899] 2021-02-08 11:01:55 +0200
|
|
Branch: REL_11_STABLE [cb5868cc1] 2021-02-08 11:01:55 +0200
|
|
-->
|
|
<para>
|
|
Fix information leakage in constraint-violation error messages
|
|
(Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
If an <command>UPDATE</command> command attempts to move a row to a
|
|
different partition but finds that it violates some constraint on
|
|
the new partition, and the columns in that partition are in
|
|
different physical positions than in the parent table, the error
|
|
message could reveal the contents of columns that the user does not
|
|
have <literal>SELECT</literal> privilege on.
|
|
(CVE-2021-3393)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [6b4d3046f] 2021-01-20 11:58:03 +0200
|
|
Branch: REL_13_STABLE [b8403d140] 2021-01-20 11:58:25 +0200
|
|
Branch: REL_12_STABLE [0326635dd] 2021-01-20 11:58:27 +0200
|
|
-->
|
|
<para>
|
|
Fix incorrect detection of concurrent page splits while inserting
|
|
into a GiST index (Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
Concurrent insertions could lead to a corrupt index with entries
|
|
placed in the wrong pages. It's recommended to reindex any GiST
|
|
index that's been subject to concurrent insertions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [8a54e12a3] 2021-01-30 00:00:27 -0800
|
|
Branch: REL_13_STABLE [86a5b309c] 2021-01-30 00:00:42 -0800
|
|
Branch: REL_12_STABLE [be843ce29] 2021-01-30 00:01:56 -0800
|
|
Branch: REL_11_STABLE [d1ab4bf6e] 2021-01-30 00:02:08 -0800
|
|
Branch: REL_10_STABLE [179775135] 2021-01-30 00:02:11 -0800
|
|
Branch: REL9_6_STABLE [d683d6528] 2021-01-30 00:04:05 -0800
|
|
Branch: REL9_5_STABLE [77a0e14f0] 2021-01-30 00:05:34 -0800
|
|
-->
|
|
<para>
|
|
Fix <command>CREATE INDEX CONCURRENTLY</command> to wait for
|
|
concurrent prepared transactions (Andrey Borodin)
|
|
</para>
|
|
|
|
<para>
|
|
At the point where <command>CREATE INDEX CONCURRENTLY</command>
|
|
waits for all concurrent transactions to complete so that it can see
|
|
rows they inserted, it must also wait for all prepared transactions
|
|
to complete, for the same reason. Its failure to do so meant that
|
|
rows inserted by prepared transactions might be omitted from the new
|
|
index, causing queries relying on the index to miss such rows.
|
|
In installations that have enabled prepared transactions
|
|
(<varname>max_prepared_transactions</varname> > 0),
|
|
it's recommended to reindex any concurrently-built indexes in
|
|
case this problem occurred when they were built.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9624321ec] 2021-02-03 19:38:43 -0500
|
|
Branch: REL_13_STABLE [57868d957] 2021-02-03 19:38:29 -0500
|
|
Branch: REL_12_STABLE [77e760d5c] 2021-02-03 19:38:29 -0500
|
|
Branch: REL_11_STABLE [1c3a87746] 2021-02-03 19:38:29 -0500
|
|
-->
|
|
<para>
|
|
Avoid crash when a <literal>CALL</literal> or <literal>DO</literal>
|
|
statement that performs a transaction rollback is executed via
|
|
extended query protocol (Thomas Munro, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
In <productname>PostgreSQL</productname> 13, this case reliably
|
|
caused a null-pointer dereference. In earlier versions the bug
|
|
seems to have no visible symptoms, but it's not quite clear that
|
|
it could never cause a problem.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1d9351a87] 2021-01-28 13:41:55 -0500
|
|
Branch: REL_13_STABLE [7f1921cb9] 2021-01-28 13:41:55 -0500
|
|
Branch: REL_12_STABLE [7c53a8067] 2021-01-28 13:41:55 -0500
|
|
Branch: REL_11_STABLE [6f94531b0] 2021-01-28 13:41:55 -0500
|
|
-->
|
|
<para>
|
|
Fix partition pruning logic to handle asymmetric hash partition sets
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If a hash-partitioned table has unequally-sized partitions (that is,
|
|
varying modulus values), or it lacks partitions for some remainder
|
|
values, then the planner's pruning logic could mistakenly conclude
|
|
that some partitions don't need to be scanned, leading to failure to
|
|
find rows that the query should find.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a0efda88a] 2021-01-19 13:25:33 -0500
|
|
Branch: REL_13_STABLE [188cd4f44] 2021-01-19 13:25:40 -0500
|
|
Branch: REL_12_STABLE [625315996] 2021-01-19 13:25:45 -0500
|
|
Branch: REL_11_STABLE [794562d07] 2021-01-19 13:25:49 -0500
|
|
Branch: REL_10_STABLE [fac54bd5e] 2021-01-19 13:25:54 -0500
|
|
Branch: REL9_6_STABLE [fe8edbb82] 2021-01-19 13:26:01 -0500
|
|
Branch: REL9_5_STABLE [0ab177bec] 2021-01-19 13:26:05 -0500
|
|
-->
|
|
<para>
|
|
Avoid incorrect results when <literal>WHERE CURRENT OF</literal> is
|
|
applied to a cursor whose plan contains a MergeAppend node (Tom
|
|
Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This case is unsupported (in general, a cursor using <literal>ORDER
|
|
BY</literal> is not guaranteed to be simply updatable); but the code
|
|
previously did not reject it, and could silently give false matches.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [60661bbf2] 2021-01-18 18:32:30 -0500
|
|
Branch: REL_13_STABLE [f0f53195b] 2021-01-18 18:32:40 -0500
|
|
Branch: REL_12_STABLE [ba80489c6] 2021-01-18 18:32:45 -0500
|
|
Branch: REL_11_STABLE [de622e677] 2021-01-18 18:32:49 -0500
|
|
Branch: REL_10_STABLE [5cd94de77] 2021-01-18 18:32:55 -0500
|
|
Branch: REL9_6_STABLE [ffbf17463] 2021-01-18 18:33:02 -0500
|
|
Branch: REL9_5_STABLE [33a46993f] 2021-01-18 18:33:07 -0500
|
|
-->
|
|
<para>
|
|
Fix crash when <literal>WHERE CURRENT OF</literal> is applied to a
|
|
cursor whose plan contains a custom scan node (David Geier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [55dc86eca] 2021-01-21 15:37:23 -0500
|
|
Branch: REL_13_STABLE [73fc2e5ba] 2021-01-21 15:37:23 -0500
|
|
Branch: REL_12_STABLE [1cce024fd] 2021-01-21 15:37:23 -0500
|
|
-->
|
|
<para>
|
|
Fix planner's mishandling of placeholders whose evaluation should be
|
|
delayed by an outer join (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This occurs in particular with trivial subqueries containing lateral
|
|
references to outer-join outputs. The mistake could result in a
|
|
malformed plan. The known cases trigger a <quote>failed to assign
|
|
all NestLoopParams to plan nodes</quote> error, but other symptoms
|
|
may be possible.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e98c90099] 2020-12-05 16:16:13 -0500
|
|
Branch: REL_13_STABLE [7d43b76f6] 2020-12-05 16:16:13 -0500
|
|
Branch: REL_12_STABLE [77a94c30d] 2020-12-05 16:16:13 -0500
|
|
-->
|
|
<para>
|
|
Fix planner's handling of placeholders during removal of useless
|
|
RESULT RTEs (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead to <quote>no relation entry for
|
|
relid <replaceable>N</replaceable></quote> planner errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b1738ff6a] 2020-11-30 12:22:43 -0500
|
|
Branch: REL_13_STABLE [666a4de93] 2020-11-30 12:22:43 -0500
|
|
Branch: REL_12_STABLE [4f728a1f5] 2020-11-30 12:22:43 -0500
|
|
Branch: REL_11_STABLE [caecab229] 2020-11-30 12:22:43 -0500
|
|
Branch: REL_10_STABLE [785f4462d] 2020-11-30 12:22:43 -0500
|
|
Branch: REL9_6_STABLE [ab4cbb4bc] 2020-11-30 12:22:43 -0500
|
|
Branch: REL9_5_STABLE [8c5da2d51] 2020-11-30 12:22:43 -0500
|
|
-->
|
|
<para>
|
|
Fix planner's handling of a placeholder that is computed at some
|
|
join level and used only at that same level (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead to <quote>failed to build
|
|
any <replaceable>N</replaceable>-way joins</quote> planner errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [660b89928] 2020-11-24 21:58:32 +0000
|
|
Branch: REL_13_STABLE [6dda05704] 2020-11-24 21:16:58 +0000
|
|
Branch: REL_12_STABLE [ae5aa26dc] 2020-11-24 21:17:02 +0000
|
|
Branch: REL_11_STABLE [018e7d98d] 2020-11-24 21:18:37 +0000
|
|
Branch: REL_10_STABLE [321c87e5c] 2020-11-24 21:18:59 +0000
|
|
Branch: REL9_6_STABLE [6402afd98] 2020-11-24 21:19:50 +0000
|
|
Branch: REL9_5_STABLE [59ed45e27] 2020-11-24 21:36:09 +0000
|
|
-->
|
|
<para>
|
|
Be more careful about whether index AMs support mark/restore
|
|
(Andrew Gierth)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents errors about missing support functions in rare edge
|
|
cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master Release: REL_13_BR [d061ea21f] 2020-01-31 17:29:38 +1300
|
|
Branch: REL_12_STABLE [2ded1f1fb] 2020-11-20 10:51:30 +1300
|
|
Branch: REL_11_STABLE [0455f78dd] 2020-11-20 10:52:38 +1300
|
|
Branch: REL_10_STABLE [f5332503e] 2020-11-20 10:53:08 +1300
|
|
-->
|
|
<para>
|
|
Adjust settings to make it more difficult to run out of DSM slots
|
|
during heavy usage of parallel queries (Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [2ad78a87f] 2021-01-15 12:44:17 +0900
|
|
Branch: REL_13_STABLE [60369db86] 2021-01-15 12:45:25 +0900
|
|
Branch: REL_12_STABLE [19a1d7685] 2021-01-15 12:45:51 +0900
|
|
Branch: REL_11_STABLE [97b025ebe] 2021-01-15 12:46:26 +0900
|
|
-->
|
|
<para>
|
|
Fix overestimate of the amount of shared memory needed for parallel
|
|
queries (Takayuki Tsunakawa)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [21378e1fe] 2021-01-20 11:38:17 +0900
|
|
Branch: REL_13_STABLE [31e0f9d76] 2021-01-20 11:39:14 +0900
|
|
Branch: REL_12_STABLE [5ad672fc2] 2021-01-20 11:39:17 +0900
|
|
Branch: REL_11_STABLE [1c3a4d44d] 2021-01-20 11:39:21 +0900
|
|
Branch: REL_10_STABLE [74ee3abcf] 2021-01-20 11:39:24 +0900
|
|
Branch: REL9_6_STABLE [7dc3be9df] 2021-01-20 11:39:31 +0900
|
|
Branch: REL9_5_STABLE [0ddb529cf] 2021-01-20 11:39:35 +0900
|
|
-->
|
|
<para>
|
|
Fix <command>ALTER DEFAULT PRIVILEGES</command> to handle duplicated
|
|
arguments safely (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Duplicate role or schema names within the same command could lead
|
|
to <quote>tuple already updated by self</quote> errors or
|
|
unique-constraint violations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [08db7c63f] 2020-12-25 10:41:59 -0800
|
|
Branch: REL_13_STABLE [9f8a48bb2] 2020-12-25 10:42:02 -0800
|
|
Branch: REL_12_STABLE [c96698806] 2020-12-25 10:42:03 -0800
|
|
Branch: REL_11_STABLE [e83e8509b] 2020-12-25 10:42:03 -0800
|
|
Branch: REL_10_STABLE [d7c197f46] 2020-12-25 10:42:03 -0800
|
|
Branch: REL9_6_STABLE [b81d3791e] 2020-12-25 10:42:04 -0800
|
|
Branch: REL9_5_STABLE [90383a613] 2020-12-25 10:42:04 -0800
|
|
Branch: REL_10_STABLE [d176b9d5e] 2020-12-25 11:02:56 -0800
|
|
Branch: REL9_6_STABLE [3f920e876] 2020-12-25 11:03:05 -0800
|
|
Branch: REL9_5_STABLE [14649bf50] 2020-12-25 11:06:23 -0800
|
|
-->
|
|
<para>
|
|
Flush ACL-related caches when <structname>pg_authid</structname>
|
|
changes (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
This change ensures that permissions-related decisions will promptly
|
|
reflect the results of <command>ALTER ROLE ... [NO] INHERIT</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f7f83a55b] 2020-12-01 14:02:27 -0500
|
|
Branch: REL_13_STABLE [dffc82a5b] 2020-12-01 14:02:27 -0500
|
|
Branch: REL_12_STABLE [5f9b05ada] 2020-12-01 14:02:28 -0500
|
|
Branch: REL_11_STABLE [28bb8c496] 2020-12-01 14:02:28 -0500
|
|
Branch: REL_10_STABLE [d98e27dc6] 2020-12-01 14:02:28 -0500
|
|
Branch: REL9_6_STABLE [f00c44002] 2020-12-01 14:02:28 -0500
|
|
Branch: REL9_5_STABLE [fb500296d] 2020-12-01 14:02:28 -0500
|
|
-->
|
|
<para>
|
|
Prevent misprocessing of ambiguous <command>CREATE TABLE
|
|
LIKE</command> clauses (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A <literal>LIKE</literal> clause is re-examined after initial
|
|
creation of the new table, to handle importation of indexes and
|
|
such. It was possible for this re-examination to find a different
|
|
table of the same name, causing unexpected behavior; one example is
|
|
where the new table is a temporary table of the same name as
|
|
the <literal>LIKE</literal> target.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [97390fe8a] 2020-11-19 15:03:17 -0500
|
|
Branch: REL_13_STABLE [98f3f1d5c] 2020-11-19 15:03:17 -0500
|
|
Branch: REL_12_STABLE [87ab46421] 2020-11-19 15:03:17 -0500
|
|
Branch: REL_11_STABLE [c690ebbef] 2020-11-19 15:03:17 -0500
|
|
Branch: REL_10_STABLE [513db7b70] 2020-11-19 15:03:17 -0500
|
|
Branch: REL9_6_STABLE [159b6775f] 2020-11-19 15:03:17 -0500
|
|
Branch: REL9_5_STABLE [6631d5f26] 2020-11-19 15:03:17 -0500
|
|
-->
|
|
<para>
|
|
Rearrange order of operations in <command>CREATE TABLE
|
|
LIKE</command> so that indexes are cloned before building foreign
|
|
key constraints (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This fixes the case where a self-referential foreign key constraint
|
|
declared in the outer <command>CREATE TABLE</command> depends on an
|
|
index that's coming from the <literal>LIKE </literal> clause.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [c9a0dc348] 2021-01-15 23:31:22 +0100
|
|
Branch: REL_13_STABLE [d26d4c717] 2021-01-15 23:32:54 +0100
|
|
Branch: REL_12_STABLE [943a113bc] 2021-01-15 23:33:16 +0100
|
|
Branch: REL_11_STABLE [f52db9694] 2021-01-15 23:33:44 +0100
|
|
Branch: REL_10_STABLE [c22539756] 2021-01-15 23:34:02 +0100
|
|
-->
|
|
<para>
|
|
Disallow <command>CREATE STATISTICS</command> on system catalogs
|
|
(Tomas Vondra)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [dd705a039] 2021-02-06 15:17:01 -0500
|
|
Branch: REL_13_STABLE [4353bc878] 2021-02-06 15:17:01 -0500
|
|
Branch: REL_12_STABLE [f73321957] 2021-02-06 15:17:01 -0500
|
|
Branch: REL_11_STABLE [580069037] 2021-02-06 15:17:02 -0500
|
|
Branch: REL_10_STABLE [ad85e5efa] 2021-02-06 15:17:02 -0500
|
|
Branch: REL9_6_STABLE [7736ab05f] 2021-02-06 15:17:02 -0500
|
|
Branch: REL9_5_STABLE [5ad03374b] 2021-02-06 15:17:02 -0500
|
|
-->
|
|
<para>
|
|
Disallow converting an inheritance child table to a view
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [9f35f9437] 2020-12-01 13:21:03 +1300
|
|
Branch: REL_13_STABLE [fd3a75d82] 2020-12-01 13:22:01 +1300
|
|
Branch: REL_12_STABLE [50f338574] 2020-12-01 13:37:00 +1300
|
|
Branch: REL_11_STABLE [d5706ad7b] 2020-12-01 13:46:27 +1300
|
|
Branch: REL_10_STABLE [22701755d] 2020-12-01 14:43:04 +1300
|
|
Branch: REL9_6_STABLE [d0bbe2122] 2020-12-01 14:50:41 +1300
|
|
Branch: REL9_5_STABLE [e00928de8] 2020-12-01 14:54:49 +1300
|
|
-->
|
|
<para>
|
|
Ensure that disk space allocated for a dropped relation is released
|
|
promptly at commit (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, if the dropped relation spanned multiple 1GB segments,
|
|
only the first segment was truncated immediately. Other segments
|
|
were simply unlinked, which doesn't authorize the kernel to release
|
|
the storage so long as any other backends still have the files open.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [ebfe2dbd6] 2021-01-14 15:32:14 -0300
|
|
Branch: REL_13_STABLE [5b01a6f13] 2021-01-14 15:32:14 -0300
|
|
Branch: REL_12_STABLE [c9b702552] 2021-01-14 15:32:14 -0300
|
|
Branch: REL_11_STABLE [c442b32c2] 2021-01-14 15:32:14 -0300
|
|
-->
|
|
<para>
|
|
Prevent dropping a tablespace that is referenced by a partitioned
|
|
relation, but is not used for any actual storage (Álvaro
|
|
Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Previously this was allowed, but subsequent operations on the
|
|
partitioned relation would fail.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [3df51ca8b] 2020-11-27 20:16:44 +0900
|
|
Branch: REL_13_STABLE [dcc20946a] 2020-11-27 20:17:33 +0900
|
|
Branch: REL_12_STABLE [fce17e486] 2020-11-27 20:18:02 +0900
|
|
-->
|
|
<para>
|
|
Fix progress reporting for <command>CLUSTER</command> (Matthias van
|
|
de Meent)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [c444472af] 2021-02-05 11:14:56 +0200
|
|
Branch: REL_13_STABLE [c87cbd51e] 2021-02-05 11:19:48 +0200
|
|
Branch: REL_12_STABLE [9b0ce8957] 2021-02-05 11:16:33 +0200
|
|
Branch: REL_11_STABLE [d9b4163c5] 2021-02-05 11:16:53 +0200
|
|
Branch: REL_10_STABLE [c06632e48] 2021-02-05 11:17:07 +0200
|
|
Branch: REL9_6_STABLE [e152ccc7f] 2021-02-05 11:17:13 +0200
|
|
Branch: REL9_5_STABLE [aaf266157] 2021-02-05 11:17:27 +0200
|
|
-->
|
|
<para>
|
|
Fix handling of backslash-escaped multibyte characters
|
|
in <command>COPY FROM</command> (Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
A backslash followed by a multibyte character was not handled
|
|
correctly. In some client character encodings, this could lead to
|
|
misinterpreting part of a multibyte character as a field separator
|
|
or end-of-copy-data marker.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [2cccb627f] 2020-11-18 12:39:15 +0200
|
|
Branch: REL_13_STABLE [340ae3cfb] 2020-11-20 14:41:14 +0200
|
|
Branch: REL_12_STABLE [888fa2bae] 2020-11-20 14:46:47 +0200
|
|
Branch: REL_11_STABLE [57b5d8484] 2020-11-20 14:49:25 +0200
|
|
Branch: REL_10_STABLE [1dbe627fd] 2020-11-20 14:49:42 +0200
|
|
Branch: REL9_6_STABLE [02a2dbe91] 2020-11-20 14:57:15 +0200
|
|
Branch: REL9_5_STABLE [ded7db4c1] 2020-11-20 14:57:51 +0200
|
|
-->
|
|
<para>
|
|
Avoid preallocating executor hash tables
|
|
in <command>EXPLAIN</command> without <literal>ANALYZE</literal>
|
|
(Alexey Bashtanov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9c83b54a9] 2020-11-28 14:03:40 -0500
|
|
Branch: REL_13_STABLE [f5de090cc] 2020-11-28 14:03:40 -0500
|
|
Branch: REL_12_STABLE [cbc7a7a10] 2020-11-28 14:03:40 -0500
|
|
Branch: REL_11_STABLE [40f2fbe71] 2020-11-28 14:03:40 -0500
|
|
Branch: REL_10_STABLE [f6324bbbe] 2020-11-28 14:03:40 -0500
|
|
Branch: REL9_6_STABLE [8a4069766] 2020-11-28 14:03:40 -0500
|
|
Branch: REL9_5_STABLE [60d6c7143] 2020-11-28 14:03:40 -0500
|
|
-->
|
|
<para>
|
|
Fix recently-introduced race conditions
|
|
in <command>LISTEN</command>/<command>NOTIFY</command> queue
|
|
handling (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A newly-listening backend could attempt to read SLRU pages that
|
|
were in process of being truncated, possibly causing an error.
|
|
</para>
|
|
|
|
<para>
|
|
The queue tail pointer could become
|
|
set to a value that's not equal to the queue position of any
|
|
backend, resulting in effective disabling of the queue truncation
|
|
logic. Continued use of <command>NOTIFY</command> then led to
|
|
queue-fill warnings, and eventually to inability to send any more
|
|
notifies until the server is restarted.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ff5d5611c] 2020-12-21 13:11:50 -0500
|
|
Branch: REL_13_STABLE [38d30a14b] 2020-12-21 13:11:51 -0500
|
|
Branch: REL_12_STABLE [38bef9e43] 2020-12-21 13:11:29 -0500
|
|
Branch: REL_11_STABLE [75c8ef5ae] 2020-12-21 13:11:29 -0500
|
|
Branch: REL_10_STABLE [542248f9d] 2020-12-21 13:11:30 -0500
|
|
Branch: REL9_6_STABLE [1d5f3f976] 2020-12-21 13:11:30 -0500
|
|
Branch: REL9_5_STABLE [edcdbc44e] 2020-12-21 13:11:30 -0500
|
|
-->
|
|
<para>
|
|
Allow the <type>jsonb</type> concatenation operator to handle all
|
|
combinations of JSON data types (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
We can concatenate two JSON objects or two JSON arrays. Handle
|
|
other cases by wrapping non-array inputs in one-element arrays,
|
|
then performing an array concatenation. Previously, some
|
|
combinations of inputs followed this rule but others arbitrarily
|
|
threw an error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [afcc8772e] 2021-01-08 12:16:00 -0500
|
|
Branch: REL_13_STABLE [49c928c0c] 2021-01-08 12:16:00 -0500
|
|
Branch: REL_12_STABLE [8354371d0] 2021-01-08 12:16:00 -0500
|
|
Branch: REL_11_STABLE [769908811] 2021-01-08 12:16:00 -0500
|
|
Branch: REL_10_STABLE [2d540ac5f] 2021-01-08 12:16:00 -0500
|
|
Branch: REL9_6_STABLE [085a1cfb3] 2021-01-08 12:16:00 -0500
|
|
Branch: REL9_5_STABLE [0c23f30fa] 2021-01-08 12:16:00 -0500
|
|
-->
|
|
<para>
|
|
Fix use of uninitialized value while parsing a <literal>*</literal>
|
|
quantifier in a BRE-mode regular expression (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This error could cause the quantifier to act non-greedy, that is
|
|
behave like a <literal>*?</literal> quantifier would do in full
|
|
regular expressions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [bc43b7c2c] 2021-01-05 11:15:28 +0000
|
|
Branch: REL_13_STABLE [e15c384d7] 2021-01-05 11:08:59 +0000
|
|
Branch: REL_12_STABLE [258b77005] 2021-01-05 11:07:12 +0000
|
|
Branch: REL_11_STABLE [160a9e425] 2021-01-05 11:05:58 +0000
|
|
Branch: REL_10_STABLE [275b190b3] 2021-01-05 11:04:41 +0000
|
|
Branch: REL9_6_STABLE [9a299dff2] 2021-01-05 11:02:46 +0000
|
|
Branch: master [fead67c24] 2021-01-05 11:52:42 +0000
|
|
Branch: REL_13_STABLE [5777b6ea2] 2021-01-05 11:51:21 +0000
|
|
Branch: REL_12_STABLE [740780a61] 2021-01-05 11:50:11 +0000
|
|
Branch: REL_11_STABLE [ab042d010] 2021-01-05 11:48:45 +0000
|
|
Branch: REL_10_STABLE [0097193b1] 2021-01-05 11:46:44 +0000
|
|
Branch: REL9_6_STABLE [f0b9bada5] 2021-01-05 11:45:17 +0000
|
|
-->
|
|
<para>
|
|
Fix numeric <function>power()</function> for the case where the
|
|
exponent is exactly <literal>INT_MIN</literal> (-2147483648)
|
|
(Dean Rasheed)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, a result with no significant digits was produced.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4bd3fad80] 2021-01-04 18:32:44 -0500
|
|
Branch: REL_13_STABLE [9e7d87ca8] 2021-01-04 18:32:40 -0500
|
|
Branch: REL_12_STABLE [7c98759e0] 2021-01-04 18:32:40 -0500
|
|
Branch: REL_11_STABLE [50a420bee] 2021-01-04 18:32:40 -0500
|
|
-->
|
|
<para>
|
|
Fix integer-overflow cases in <function>substring()</function>
|
|
functions (Tom Lane, Pavel Stehule)
|
|
</para>
|
|
|
|
<para>
|
|
If the specified starting index and length overflow an integer when
|
|
added together, <function>substring()</function> misbehaved, either
|
|
throwing a bogus <quote>negative substring length</quote> error for
|
|
a case that should succeed, or failing to complain that a negative
|
|
length is negative (and instead returning the whole string, in most
|
|
cases).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [6db992833] 2021-01-16 12:21:35 -0800
|
|
Branch: REL_13_STABLE [6eb3fc7fc] 2021-01-16 12:21:38 -0800
|
|
Branch: REL_12_STABLE [66087f7e9] 2021-01-16 12:21:39 -0800
|
|
Branch: REL_11_STABLE [677f6cb1d] 2021-01-16 12:21:39 -0800
|
|
Branch: REL_10_STABLE [9afba9b0e] 2021-01-16 12:21:39 -0800
|
|
Branch: REL9_6_STABLE [1a31d8c52] 2021-01-16 12:21:39 -0800
|
|
Branch: REL9_5_STABLE [c424c75f5] 2021-01-16 12:21:39 -0800
|
|
-->
|
|
<para>
|
|
Prevent possible data loss from incorrect detection of the
|
|
wraparound point of an SLRU log
|
|
(Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
The wraparound point typically falls in the middle of a page, which
|
|
must be rounded off to a page boundary, and that was not done
|
|
correctly. No issue could arise unless an installation had gotten
|
|
to within one page of SLRU overflow, which is unlikely in a
|
|
properly-functioning system. If this did happen, it would manifest
|
|
in later <quote>apparent wraparound</quote> or <quote>could not
|
|
access status of transaction</quote> errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [ee1b38f65] 2021-01-13 08:19:50 +0530
|
|
Branch: REL_13_STABLE [0685c5c1b] 2021-01-13 08:31:45 +0530
|
|
Branch: REL_12_STABLE [0b2ae3c92] 2021-01-13 08:40:06 +0530
|
|
Branch: REL_11_STABLE [7adc408f4] 2021-01-13 08:50:13 +0530
|
|
Branch: REL_10_STABLE [636b6f99c] 2021-01-13 09:01:57 +0530
|
|
Branch: REL9_6_STABLE [f2b268ee0] 2021-01-13 09:12:59 +0530
|
|
Branch: REL9_5_STABLE [4bccceaa9] 2021-01-13 09:22:03 +0530
|
|
-->
|
|
<para>
|
|
Fix memory leak in walsender processes while sending new snapshots
|
|
for logical decoding (Amit Kapila)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Jeff Davis <jdavis@postgresql.org>
|
|
Branch: master [a58db3aa1] 2020-12-14 23:47:30 -0800
|
|
Branch: REL_13_STABLE [fde5f130c] 2020-12-14 23:48:44 -0800
|
|
Branch: REL_12_STABLE [706d84fe7] 2020-12-14 23:48:04 -0800
|
|
Branch: REL_11_STABLE [4ee058a3b] 2020-12-14 23:49:06 -0800
|
|
Branch: REL_10_STABLE [ac7df6e8f] 2020-12-14 23:49:29 -0800
|
|
Branch: REL9_6_STABLE [f10da1e9c] 2020-12-14 23:49:57 -0800
|
|
Branch: REL9_5_STABLE [133a0906d] 2020-12-14 23:50:20 -0800
|
|
-->
|
|
<para>
|
|
Fix walsender to accept additional commands after
|
|
terminating replication (Jeff Davis)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [8900b5a9d] 2021-01-06 12:39:18 +0900
|
|
Branch: REL_13_STABLE [0f8977b3f] 2021-01-06 12:30:37 +0900
|
|
Branch: REL_12_STABLE [9f540f840] 2021-01-06 12:31:23 +0900
|
|
Branch: REL_11_STABLE [e83771880] 2021-01-06 12:31:55 +0900
|
|
Branch: REL_10_STABLE [4c20e78f1] 2021-01-06 12:32:32 +0900
|
|
Branch: REL9_6_STABLE [0307b98d8] 2021-01-06 12:33:28 +0900
|
|
-->
|
|
<para>
|
|
Ensure detection of deadlocks between hot standby backends and the
|
|
startup (WAL-application) process (Fujii Masao)
|
|
</para>
|
|
|
|
<para>
|
|
The startup process did not run the deadlock detection code, so that
|
|
in situations where the startup process is last to join a circular
|
|
wait situation, the deadlock might never be recognized.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
Branch: master [422881744] 2020-12-30 16:29:05 -0800
|
|
Branch: REL_13_STABLE [7a57960ba] 2020-12-30 16:29:03 -0800
|
|
Branch: REL_12_STABLE [4f70e0910] 2020-12-30 16:29:01 -0800
|
|
Branch: master [32d6287d2] 2020-12-30 17:21:42 -0800
|
|
Branch: REL_13_STABLE [55e535226] 2020-12-30 17:21:41 -0800
|
|
Branch: REL_12_STABLE [5f95664e1] 2020-12-30 17:21:39 -0800
|
|
-->
|
|
<para>
|
|
Fix possible failure to detect recovery conflicts while deleting an
|
|
index entry that references a HOT chain (Peter Geoghegan)
|
|
</para>
|
|
|
|
<para>
|
|
The code failed to traverse the HOT chain and might thus compute a
|
|
too-old XID horizon, which could lead to incorrect conflict
|
|
processing in hot standby. The practical impact of this bug is
|
|
limited; in most cases the correct XID horizon would be found anyway
|
|
from nearby operations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [860fe27ee] 2020-12-30 11:38:42 -0500
|
|
Branch: REL_13_STABLE [861e96717] 2020-12-30 11:38:42 -0500
|
|
Branch: REL_12_STABLE [3ca19490b] 2020-12-30 11:38:42 -0500
|
|
-->
|
|
<para>
|
|
Ensure that a nonempty value
|
|
of <varname>krb_server_keyfile</varname> always overrides any
|
|
setting of <varname>KRB5_KTNAME</varname> in the server's
|
|
environment (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, which setting took precedence depended on whether the
|
|
client requests GSS encryption.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3995c4249] 2020-12-28 17:58:58 -0500
|
|
Branch: REL_13_STABLE [d05e14d78] 2020-12-28 17:58:58 -0500
|
|
Branch: REL_12_STABLE [7ed616f81] 2020-12-28 17:58:58 -0500
|
|
-->
|
|
<para>
|
|
In server log messages about failing to match connections
|
|
to <filename>pg_hba.conf</filename> entries, include details about
|
|
whether GSS encryption has been activated (Kyotaro Horiguchi, Tom
|
|
Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This is relevant data if <literal>hostgssenc</literal>
|
|
or <literal>hostnogssenc</literal> entries exist.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [622ae4621] 2020-12-28 17:44:17 -0500
|
|
Branch: REL_13_STABLE [c1c88bf03] 2020-12-28 17:44:17 -0500
|
|
Branch: REL_12_STABLE [4cfdd8a47] 2020-12-28 17:44:17 -0500
|
|
-->
|
|
<para>
|
|
Fix assorted issues in server's support for GSS encryption (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Remove pointless restriction that only GSS authentication
|
|
can be used on a GSS-encrypted connection.
|
|
Add GSS encryption information to connection-authorized log messages.
|
|
Include GSS-related space when computing the required size of
|
|
shared memory (this omission could have caused problems with very
|
|
high <varname>max_connections</varname> settings).
|
|
Avoid possible infinite recursion when reporting an unrecoverable
|
|
GSS encryption error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7519bd16d] 2020-12-24 17:00:43 -0500
|
|
Branch: REL_13_STABLE [0217ad806] 2020-12-24 17:00:43 -0500
|
|
Branch: REL_12_STABLE [3d8068edc] 2020-12-24 17:00:43 -0500
|
|
Branch: REL_11_STABLE [b99b6b9d6] 2020-12-24 17:00:43 -0500
|
|
Branch: REL_10_STABLE [1a6b1c460] 2020-12-24 17:00:43 -0500
|
|
-->
|
|
<para>
|
|
Ensure that unserviced requests for background workers are cleaned
|
|
up when the postmaster begins a <quote>smart</quote>
|
|
or <quote>fast</quote> shutdown sequence (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, there was a race condition whereby a child process that
|
|
had requested a background worker just before shutdown could wait
|
|
indefinitely, preventing shutdown from completing.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [6db27037b] 2020-12-23 12:51:22 +0900
|
|
Branch: REL_13_STABLE [1e54664ee] 2020-12-23 12:51:35 +0900
|
|
Branch: REL_12_STABLE [67a9411d2] 2020-12-23 12:51:39 +0900
|
|
Branch: REL_11_STABLE [35ad5c7c7] 2020-12-23 12:51:42 +0900
|
|
Branch: REL_10_STABLE [f3ee99df7] 2020-12-23 12:51:46 +0900
|
|
Branch: REL9_6_STABLE [0b54a80a3] 2020-12-23 12:51:51 +0900
|
|
-->
|
|
<para>
|
|
Fix portability problem in parsing
|
|
of <varname>recovery_target_xid</varname> values (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
The target XID is potentially 64 bits wide, but it was parsed
|
|
with <function>strtoul()</function>, causing misbehavior on
|
|
platforms where <type>long</type> is 32 bits (such as Windows).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [275b3411d] 2020-11-30 14:38:00 -0500
|
|
Branch: REL_13_STABLE [fac31b2cd] 2020-11-30 14:38:00 -0500
|
|
Branch: REL_12_STABLE [16a1e1ea4] 2020-11-30 14:38:00 -0500
|
|
Branch: REL_11_STABLE [942e441ee] 2020-11-30 14:38:00 -0500
|
|
-->
|
|
<para>
|
|
Avoid trying to use parallel index build in a standalone backend
|
|
(Yulin Pei)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [29d29d652] 2020-11-15 16:10:58 -0500
|
|
Branch: REL_13_STABLE [7c89246d0] 2020-11-15 16:10:48 -0500
|
|
Branch: REL_12_STABLE [4ac8ee9d4] 2020-11-15 16:10:48 -0500
|
|
Branch: REL_11_STABLE [9cebe4952] 2020-11-15 16:10:48 -0500
|
|
-->
|
|
<para>
|
|
Allow index AMs to support included columns without necessarily
|
|
supporting multiple key columns (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [a3367aa3c] 2021-01-28 10:53:10 +0000
|
|
Branch: REL_13_STABLE [75e3cca42] 2021-01-28 11:09:40 +0000
|
|
Branch: REL_12_STABLE [30f912a41] 2021-01-28 11:09:49 +0000
|
|
Branch: REL_11_STABLE [f7f2a28d4] 2021-01-28 11:09:57 +0000
|
|
-->
|
|
<para>
|
|
Avoid assertion failure during parallel aggregation of an
|
|
aggregate with a non-strict deserialization function (Andrew Gierth)
|
|
</para>
|
|
|
|
<para>
|
|
No such aggregate functions exist in
|
|
core <productname>PostgreSQL</productname>, but some extensions
|
|
such as PostGIS provide some. The mistake is harmless anyway in a
|
|
non-assert build.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [07d46fceb] 2021-01-25 13:03:43 -0500
|
|
Branch: REL_13_STABLE [a26194f22] 2021-01-25 13:03:11 -0500
|
|
Branch: REL_12_STABLE [4641b2a30] 2021-01-25 13:03:11 -0500
|
|
Branch: REL_11_STABLE [a7cdd3f71] 2021-01-25 13:03:11 -0500
|
|
Branch: REL_10_STABLE [d09e8789f] 2021-01-25 13:03:11 -0500
|
|
Branch: REL9_6_STABLE [57a7d6f49] 2021-01-25 13:03:12 -0500
|
|
Branch: REL9_5_STABLE [41309f716] 2021-01-25 13:03:12 -0500
|
|
-->
|
|
<para>
|
|
Avoid assertion failure in <function>pg_get_functiondef()</function>
|
|
when examining a function with a <literal>TRANSFORM</literal> option
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ea80d8d94] 2020-12-28 11:41:25 -0500
|
|
Branch: REL_13_STABLE [0ea25ed10] 2020-12-28 11:41:25 -0500
|
|
Branch: REL_12_STABLE [fd1347f9d] 2020-12-28 11:41:25 -0500
|
|
Branch: REL_11_STABLE [2e15f48d9] 2020-12-28 11:41:25 -0500
|
|
Branch: master [5f2e09bcc] 2020-12-28 11:55:23 -0500
|
|
Branch: REL_13_STABLE [63d78d106] 2020-12-28 11:55:32 -0500
|
|
Branch: REL_12_STABLE [d37965965] 2020-12-28 11:55:37 -0500
|
|
Branch: REL_11_STABLE [7966b41de] 2020-12-28 11:55:41 -0500
|
|
-->
|
|
<para>
|
|
Fix data structure misallocation in
|
|
PL/pgSQL's <command>CALL</command> statement (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A <command>CALL</command> in a PL/pgSQL procedure, to another
|
|
procedure that has OUT parameters, would fail if the called
|
|
procedure did a <command>COMMIT</command>
|
|
or <command>ROLLBACK</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ff6ce9a3a] 2020-12-28 15:43:44 -0500
|
|
Branch: REL_13_STABLE [06b844c2b] 2020-12-28 15:43:44 -0500
|
|
Branch: REL_12_STABLE [b3a5bf719] 2020-12-28 15:43:44 -0500
|
|
-->
|
|
<para>
|
|
In <application>libpq</application>, do not skip trying SSL after
|
|
GSS encryption (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If we successfully made a GSS-encrypted connection, but then failed
|
|
during authentication, we would fall back to an unencrypted
|
|
connection rather than next trying an SSL-encrypted connection.
|
|
This could lead to unexpected connection failure, or to silently
|
|
getting an unencrypted connection where an encrypted one is
|
|
expected. Fortunately, GSS encryption could only succeed if both
|
|
client and server hold valid tickets in the same Kerberos
|
|
infrastructure. It seems unlikely for that to be true in an
|
|
environment that requires SSL encryption instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7e5e1bba0] 2020-11-29 15:22:04 -0500
|
|
Branch: REL_13_STABLE [72b930f50] 2020-11-29 15:22:04 -0500
|
|
Branch: REL_12_STABLE [3958abdad] 2020-11-29 15:22:04 -0500
|
|
Branch: REL_11_STABLE [777ac03a6] 2020-11-29 15:22:04 -0500
|
|
Branch: REL_10_STABLE [946277fd4] 2020-11-29 15:22:04 -0500
|
|
Branch: REL9_6_STABLE [3f59a05f0] 2020-11-29 15:22:04 -0500
|
|
Branch: REL9_5_STABLE [e2d5de150] 2020-11-29 15:22:04 -0500
|
|
-->
|
|
<para>
|
|
In <application>psql</application>, re-allow including a password
|
|
in a <replaceable>connection_string</replaceable> argument of a
|
|
<command>\connect</command> command (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This used to work, but a recent bug fix caused the password to be
|
|
ignored (resulting in prompting for a password).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [314fb9bae] 2020-11-25 16:19:25 -0500
|
|
Branch: REL_13_STABLE [a0ef08172] 2020-11-25 16:19:25 -0500
|
|
Branch: REL_12_STABLE [ea7a167da] 2020-11-25 16:19:25 -0500
|
|
-->
|
|
<para>
|
|
In <application>psql</application>'s <command>\d</command> commands,
|
|
don't truncate the display of column default values (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Formerly, they were arbitrarily truncated at 128 characters.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f76a85000] 2021-01-26 13:04:52 -0500
|
|
Branch: REL_13_STABLE [64bdb6e5f] 2021-01-26 13:04:52 -0500
|
|
Branch: REL_12_STABLE [82f97d33f] 2021-01-26 13:04:52 -0500
|
|
Branch: REL_11_STABLE [3fa7b9078] 2021-01-26 13:04:52 -0500
|
|
Branch: REL_10_STABLE [564cb2579] 2021-01-26 13:04:52 -0500
|
|
Branch: REL9_6_STABLE [2c2e134b7] 2021-01-26 13:04:52 -0500
|
|
Branch: REL9_5_STABLE [131825cd5] 2021-01-26 13:04:52 -0500
|
|
-->
|
|
<para>
|
|
Fix assorted bugs
|
|
in <application>psql</application>'s <command>\help</command>
|
|
command (Kyotaro Horiguchi, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
<command>\help</command> with two argument words failed to find a
|
|
command description using only the first word, for
|
|
example <literal>\help reset all</literal> should show the help
|
|
for <command>RESET</command> but did not.
|
|
Also, <command>\help</command> often failed to invoke the pager when
|
|
it should. It also leaked memory.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [0bf83648a] 2021-02-03 11:27:13 +0100
|
|
Branch: REL_13_STABLE [1d3ce0223] 2021-02-03 11:43:01 +0100
|
|
Branch: REL_12_STABLE [1dd6baf78] 2021-02-03 11:58:15 +0100
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application>'s dumping of inherited
|
|
generated columns (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The previous behavior resulted in (harmless) errors during restore.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9eabfe300] 2021-01-12 13:37:38 -0500
|
|
Branch: REL_13_STABLE [0011c5a0f] 2021-01-12 13:37:38 -0500
|
|
Branch: REL_12_STABLE [436d9c5ca] 2021-01-12 13:37:38 -0500
|
|
Branch: REL_11_STABLE [9f15188a1] 2021-01-12 13:37:38 -0500
|
|
Branch: master [8e396a773] 2021-01-14 16:19:38 -0500
|
|
Branch: REL_13_STABLE [79d3ac72f] 2021-01-14 16:19:38 -0500
|
|
Branch: REL_12_STABLE [0d221ecec] 2021-01-14 16:19:38 -0500
|
|
Branch: REL_11_STABLE [bb12a7f42] 2021-01-14 16:19:38 -0500
|
|
Branch: REL_10_STABLE [1c9791f66] 2021-01-14 16:19:38 -0500
|
|
-->
|
|
<para>
|
|
In <application>pg_dump</application>, ensure that the restore
|
|
script runs <command>ALTER PUBLICATION ADD TABLE</command> commands
|
|
as the owner of the publication, and similarly runs <command>ALTER
|
|
INDEX ATTACH PARTITION</command> commands as the owner of the
|
|
partitioned index (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, these commands would be run by the role that started the
|
|
restore script; which will usually work, but in corner cases that
|
|
role might not have adequate permissions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [f713ff7c6] 2021-01-16 12:21:35 -0800
|
|
Branch: REL_13_STABLE [b8daf894f] 2021-01-16 12:21:38 -0800
|
|
Branch: REL_12_STABLE [a0d31b1c9] 2021-01-16 12:21:39 -0800
|
|
Branch: REL_11_STABLE [c6ff165f9] 2021-01-16 12:21:39 -0800
|
|
Branch: REL_10_STABLE [b933c9c0b] 2021-01-16 12:21:39 -0800
|
|
Branch: REL9_6_STABLE [ad2b7c9bb] 2021-01-16 12:21:39 -0800
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application> to handle <literal>WITH
|
|
GRANT OPTION</literal> in an extension's initial privileges
|
|
(Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
If an extension's script creates an object and grants privileges
|
|
on it with grant option, then later the user revokes such
|
|
privileges, <application>pg_dump</application> would generate
|
|
incorrect SQL for reproducing the situation. (Few if any extensions
|
|
do this today.)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [2b4f31303] 2020-12-03 15:57:48 +0200
|
|
Branch: REL_13_STABLE [abd0abfb7] 2020-12-03 15:57:52 +0200
|
|
Branch: REL_12_STABLE [020f153db] 2020-12-03 15:57:54 +0200
|
|
Branch: REL_11_STABLE [63e316f0b] 2020-12-03 15:57:57 +0200
|
|
Branch: REL_10_STABLE [8b5c353ec] 2020-12-03 15:58:00 +0200
|
|
Branch: REL9_6_STABLE [0740857de] 2020-12-03 15:58:02 +0200
|
|
Branch: REL9_5_STABLE [81e3c868f] 2020-12-03 15:58:06 +0200
|
|
Branch: master [36a4ac20f] 2020-12-04 18:26:46 +0200
|
|
Branch: REL_13_STABLE [e41a2efbc] 2020-12-04 18:24:34 +0200
|
|
Branch: REL_12_STABLE [ad3fb04b9] 2020-12-04 18:24:57 +0200
|
|
Branch: REL_11_STABLE [cda50f211] 2020-12-04 18:25:12 +0200
|
|
Branch: REL_10_STABLE [45d363145] 2020-12-04 18:25:23 +0200
|
|
Branch: REL9_6_STABLE [a075c84f2] 2020-12-04 18:25:45 +0200
|
|
Branch: REL9_5_STABLE [1dd608bba] 2020-12-04 18:25:54 +0200
|
|
Branch: master [6ba581cf1] 2020-12-07 14:50:20 +0200
|
|
Branch: REL_13_STABLE [e6dc04d43] 2020-12-07 14:50:37 +0200
|
|
Branch: REL_12_STABLE [98f8cdd48] 2020-12-07 14:55:22 +0200
|
|
Branch: REL_11_STABLE [10d9c9d03] 2020-12-07 14:55:23 +0200
|
|
Branch: REL_10_STABLE [d137b14c3] 2020-12-07 14:55:25 +0200
|
|
Branch: REL9_6_STABLE [3ea8e660c] 2020-12-07 14:55:27 +0200
|
|
Branch: REL9_5_STABLE [beb6b45ab] 2020-12-07 14:55:28 +0200
|
|
-->
|
|
<para>
|
|
In <application>pg_rewind</application>, ensure that all WAL is
|
|
accounted for when rewinding a standby server
|
|
(Ian Barwick, Heikki Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c21ea4d53] 2021-01-13 14:52:59 -0500
|
|
Branch: REL_13_STABLE [6b045ca6c] 2021-01-13 14:52:49 -0500
|
|
Branch: REL_12_STABLE [3e214fafc] 2021-01-13 14:52:49 -0500
|
|
Branch: REL_11_STABLE [d8bb22ab3] 2021-01-13 14:52:49 -0500
|
|
-->
|
|
<para>
|
|
In <application>pgbench</application>, disallow a digit as the first
|
|
character of a variable name (Fabien Coelho)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents trying to substitute variables into timestamp literal
|
|
values, which may contain strings like <literal>12:34</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: REL_13_STABLE [f17e8f33f] 2021-01-26 16:42:13 -0300
|
|
Branch: REL_12_STABLE [fdf9d0054] 2021-01-26 16:42:13 -0300
|
|
Branch: REL_11_STABLE [fdd405c63] 2021-01-26 16:42:13 -0300
|
|
Branch: REL_10_STABLE [11a708f81] 2021-01-26 16:42:13 -0300
|
|
Branch: REL9_6_STABLE [bcae842b9] 2021-01-26 16:42:13 -0300
|
|
Branch: REL9_5_STABLE [f2dc96236] 2021-01-26 16:42:13 -0300
|
|
-->
|
|
<para>
|
|
Report the correct database name in connection failure error
|
|
messages from some client programs (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
If the database name was defaulted rather than given on the command
|
|
line, <application>pg_dumpall</application>,
|
|
<application>pgbench</application>, <application>oid2name</application>,
|
|
and <application>vacuumlo</application> would produce misleading
|
|
error messages after a connection failure.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5c0f7cc54] 2021-02-02 13:49:08 -0500
|
|
Branch: REL_13_STABLE [586891394] 2021-02-02 13:49:08 -0500
|
|
Branch: REL_12_STABLE [742846958] 2021-02-02 13:49:08 -0500
|
|
Branch: REL_11_STABLE [5fc5ff61c] 2021-02-02 13:49:08 -0500
|
|
Branch: REL_10_STABLE [2671125c7] 2021-02-02 13:49:08 -0500
|
|
Branch: REL9_6_STABLE [608cf2bfd] 2021-02-02 13:49:08 -0500
|
|
Branch: REL9_5_STABLE [f0f9ed68d] 2021-02-02 13:49:08 -0500
|
|
-->
|
|
<para>
|
|
Fix memory leak in <filename>contrib/auto_explain</filename>
|
|
(Japin Li)
|
|
</para>
|
|
|
|
<para>
|
|
Memory consumed while producing the <literal>EXPLAIN</literal>
|
|
output was not freed until the end of the current transaction (for a
|
|
top-level statement) or the end of the surrounding statement (for a
|
|
nested statement). This was particularly a problem
|
|
with <varname>log_nested_statements</varname> enabled.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [e3ebcca84] 2020-12-28 19:56:13 +0900
|
|
Branch: REL_13_STABLE [546f14374] 2020-12-28 19:57:51 +0900
|
|
Branch: REL_12_STABLE [e792ca4ac] 2020-12-28 19:59:00 +0900
|
|
Branch: REL_11_STABLE [294cdd7d0] 2020-12-28 19:59:40 +0900
|
|
Branch: REL_10_STABLE [744357d84] 2020-12-28 20:00:15 +0900
|
|
Branch: REL9_6_STABLE [03b7a1ee7] 2020-12-28 20:00:54 +0900
|
|
Branch: REL9_5_STABLE [b5c73eef8] 2020-12-28 20:01:31 +0900
|
|
-->
|
|
<para>
|
|
In <filename>contrib/postgres_fdw</filename>, avoid leaking open
|
|
connections to remote servers when a user mapping or foreign server
|
|
object is dropped (Bharath Rupireddy)
|
|
</para>
|
|
|
|
<para>
|
|
Open connections that depend on a dropped user mapping or foreign
|
|
server can no longer be referenced, but formerly they were kept
|
|
around anyway for the duration of the local session.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [28d1601ad] 2020-12-08 15:22:12 +0900
|
|
Branch: REL_13_STABLE [dfd8bf2b9] 2020-12-08 15:22:38 +0900
|
|
Branch: REL_12_STABLE [d7ecba937] 2020-12-08 15:22:43 +0900
|
|
Branch: REL_11_STABLE [b88afd8b6] 2020-12-08 15:22:48 +0900
|
|
Branch: REL_10_STABLE [5ba1df0f1] 2020-12-08 15:22:53 +0900
|
|
Branch: REL9_6_STABLE [95992e5ed] 2020-12-08 15:22:59 +0900
|
|
Branch: REL9_5_STABLE [f95d9fd81] 2020-12-08 15:23:02 +0900
|
|
-->
|
|
<para>
|
|
In <filename>contrib/pgcrypto</filename>, check for error returns
|
|
from OpenSSL's EVP functions (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
We do not really expect errors here, but this change silences
|
|
warnings from static analysis tools.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ff769831e] 2020-12-22 13:23:49 -0500
|
|
Branch: REL_13_STABLE [4b0292253] 2020-12-22 13:23:49 -0500
|
|
Branch: REL_12_STABLE [f581e5383] 2020-12-22 13:23:49 -0500
|
|
Branch: REL_11_STABLE [a1bd14d54] 2020-12-22 13:23:49 -0500
|
|
-->
|
|
<para>
|
|
Make <filename>contrib/pg_prewarm</filename> more robust when the
|
|
cluster is shut down before prewarming is complete (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, autoprewarm would rewrite its status file with only the
|
|
block numbers that it had managed to load so far, thus perhaps
|
|
largely disabling the prewarm functionality in the next startup.
|
|
Instead, suppress status file updates until the initial loading pass
|
|
is complete.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [3836d4b64] 2020-11-12 14:34:37 +0000
|
|
Branch: REL_13_STABLE [48ab1fa30] 2020-11-12 14:59:06 +0000
|
|
Branch: REL_12_STABLE [7f69ed4ae] 2020-11-12 14:56:58 +0000
|
|
Branch: REL_11_STABLE [7e3dc147d] 2020-11-12 14:57:04 +0000
|
|
Branch: REL_10_STABLE [068de9dd4] 2020-11-12 14:57:08 +0000
|
|
Branch: REL9_6_STABLE [245a35f96] 2020-11-12 14:57:13 +0000
|
|
Branch: REL9_5_STABLE [4b212b7c8] 2020-11-12 14:55:51 +0000
|
|
-->
|
|
<para>
|
|
In <filename>contrib/pg_trgm</filename>'s GiST index support, avoid
|
|
crash in the rare case that picksplit is called on exactly two index
|
|
items (Andrew Gierth, Alexander Korotkov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ec29427ce] 2020-11-10 22:51:54 -0500
|
|
Branch: REL_13_STABLE [afce7908d] 2020-11-10 22:51:55 -0500
|
|
Branch: REL_12_STABLE [171c457cd] 2020-11-10 22:51:55 -0500
|
|
Branch: REL_11_STABLE [3a89ea0eb] 2020-11-10 22:51:56 -0500
|
|
Branch: REL_10_STABLE [e87139b43] 2020-11-10 22:51:57 -0500
|
|
Branch: REL9_6_STABLE [cd39c23a2] 2020-11-10 22:51:57 -0500
|
|
Branch: REL9_5_STABLE [210564a74] 2020-11-10 22:51:58 -0500
|
|
-->
|
|
<para>
|
|
Fix miscalculation of timeouts
|
|
in <filename>contrib/pg_prewarm</filename>
|
|
and <filename>contrib/postgres_fdw</filename>
|
|
(Alexey Kondratov, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The main loop in <filename>contrib/pg_prewarm</filename>'s
|
|
autoprewarm parent process underestimated its desired sleep time by
|
|
a factor of 1000, causing it to consume much more CPU than intended.
|
|
When waiting for a result from a remote
|
|
server, <filename>contrib/postgres_fdw</filename> overestimated the
|
|
desired timeout by a factor of 1000 (though this error had been
|
|
mitigated by imposing a clamp to 60 seconds).
|
|
</para>
|
|
|
|
<para>
|
|
Both of these errors stemmed from incorrectly converting
|
|
seconds-and-microseconds to milliseconds. Introduce a new
|
|
API <function>TimestampDifferenceMilliseconds()</function>
|
|
to make it easier to get this right in the future.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4823621db] 2021-01-15 11:28:51 -0500
|
|
Branch: REL_13_STABLE [f44ae4db5] 2021-01-15 11:29:05 -0500
|
|
Branch: REL_12_STABLE [f5d044eae] 2021-01-15 11:29:13 -0500
|
|
Branch: REL_11_STABLE [046c8face] 2021-01-15 11:29:18 -0500
|
|
Branch: REL_10_STABLE [5fa060c8f] 2021-01-15 11:29:26 -0500
|
|
Branch: REL9_6_STABLE [fc6d08b27] 2021-01-15 11:29:34 -0500
|
|
Branch: REL9_5_STABLE [3934543c2] 2021-01-15 11:29:43 -0500
|
|
Branch: master [9d23c15a0] 2021-01-20 12:07:23 -0500
|
|
Branch: REL_13_STABLE [6671e8194] 2021-01-20 12:07:31 -0500
|
|
Branch: REL_12_STABLE [561dd8d8a] 2021-01-20 12:07:35 -0500
|
|
Branch: REL_11_STABLE [cbcff1729] 2021-01-20 12:07:41 -0500
|
|
Branch: REL_10_STABLE [a3345383d] 2021-01-20 12:07:46 -0500
|
|
Branch: REL9_6_STABLE [cbcf7b130] 2021-01-20 12:07:52 -0500
|
|
Branch: REL9_5_STABLE [175f716a8] 2021-01-20 12:07:57 -0500
|
|
-->
|
|
<para>
|
|
Improve <application>configure</application>'s heuristics for
|
|
selecting <varname>PG_SYSROOT</varname> on macOS (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The new method is more likely to produce desirable results when
|
|
Xcode is newer than the underlying operating system. Choosing
|
|
a sysroot that does not match the OS version may result in
|
|
nonfunctional executables.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [49407dc32] 2020-11-20 00:07:09 -0500
|
|
Branch: REL_13_STABLE [9e9a31bd0] 2020-11-20 00:58:26 -0500
|
|
Branch: REL_12_STABLE [5b8360427] 2020-11-20 00:58:26 -0500
|
|
Branch: REL_11_STABLE [d01e37845] 2020-11-20 00:58:26 -0500
|
|
Branch: REL_10_STABLE [153bf8d20] 2020-11-20 00:58:26 -0500
|
|
Branch: REL9_6_STABLE [e7abc1111] 2020-11-20 00:58:26 -0500
|
|
Branch: REL9_5_STABLE [2bb8c0f1d] 2020-11-20 00:58:26 -0500
|
|
-->
|
|
<para>
|
|
While building on macOS, specify <option>-isysroot</option> in
|
|
link steps as well as compile steps (James Hilliard)
|
|
</para>
|
|
|
|
<para>
|
|
This likewise improves the results when Xcode is out of sync with
|
|
the operating system.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [9543f0861] 2020-12-07 19:34:13 -0800
|
|
Branch: REL_13_STABLE [4f64daf73] 2020-12-07 18:32:56 -0800
|
|
Branch: REL_12_STABLE [b07490b91] 2020-12-07 18:39:32 -0800
|
|
Branch: REL_11_STABLE [f4f924b3e] 2020-12-07 18:40:27 -0800
|
|
Branch: master [6c57f2ed1] 2020-11-09 20:01:33 -0800
|
|
Branch: REL_13_STABLE [6a192c77d] 2020-12-07 18:32:32 -0800
|
|
Branch: REL_12_STABLE [fa7a52fb9] 2020-12-07 18:39:32 -0800
|
|
Branch: REL_11_STABLE [90eb343ef] 2020-12-07 18:40:27 -0800
|
|
-->
|
|
<para>
|
|
Fix JIT compilation to be compatible with LLVM 11 and LLVM 12
|
|
(Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [5da871bfa] 2020-12-07 19:34:13 -0800
|
|
Branch: REL_13_STABLE [01c6370a3] 2020-12-07 18:33:03 -0800
|
|
Branch: REL_12_STABLE [27b57f806] 2020-12-07 18:39:32 -0800
|
|
Branch: REL_11_STABLE [1e16ad101] 2020-12-07 18:40:27 -0800
|
|
-->
|
|
<para>
|
|
Fix potential mishandling of references to boolean variables in
|
|
JIT expression compilation (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
No field reports attributable to this have been seen, but it seems
|
|
likely that it could cause problems on some architectures.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ad84ecc98] 2020-11-16 15:16:39 -0500
|
|
Branch: REL_13_STABLE [53c7b4f62] 2020-11-16 15:16:39 -0500
|
|
Branch: REL_12_STABLE [029fa664e] 2020-11-16 15:16:39 -0500
|
|
Branch: REL_11_STABLE [89aa30a17] 2020-11-16 15:16:39 -0500
|
|
-->
|
|
<para>
|
|
Fix compile failure with ICU 68 and later (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [677f74e5b] 2020-12-01 11:46:56 -0300
|
|
Branch: REL_13_STABLE [5a1d1b954] 2020-12-01 11:46:56 -0300
|
|
Branch: REL_12_STABLE [f0ff52f25] 2020-12-01 11:46:56 -0300
|
|
Branch: REL_11_STABLE [49aaabdf8] 2020-12-01 11:46:56 -0300
|
|
-->
|
|
<para>
|
|
Avoid <function>memcpy()</function> with a NULL source pointer and
|
|
zero count during partitioned index creation (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
While such a call is not known to cause problems in itself, some
|
|
compilers assume that the arguments of <function>memcpy()</function>
|
|
are never NULL, which could result in incorrect optimization of
|
|
nearby code.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c7edf4ac2] 2021-01-24 16:29:47 -0500
|
|
Branch: REL_13_STABLE [58a545344] 2021-01-24 16:29:47 -0500
|
|
Branch: REL_12_STABLE [5db6ba303] 2021-01-24 16:29:47 -0500
|
|
Branch: REL_11_STABLE [c82c015b5] 2021-01-24 16:29:47 -0500
|
|
Branch: REL_10_STABLE [728971d5f] 2021-01-24 16:29:48 -0500
|
|
Branch: REL9_6_STABLE [7e0786751] 2021-01-24 16:29:48 -0500
|
|
Branch: REL9_5_STABLE [c26a0865d] 2021-01-24 16:29:48 -0500
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2021a for DST law changes in Russia (Volgograd zone) and
|
|
South Sudan, plus historical corrections for Australia, Bahamas,
|
|
Belize, Bermuda, Ghana, Israel, Kenya, Nigeria, Palestine,
|
|
Seychelles, and Vanuatu.
|
|
</para>
|
|
|
|
<para>
|
|
Notably, the Australia/Currie zone has been corrected to the point
|
|
where it is identical to Australia/Hobart.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-5">
|
|
<title>Release 12.5</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2020-11-12</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.4.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.5</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you are upgrading from a version earlier than 12.2,
|
|
see <xref linkend="release-12-2"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [0c3185e96] 2020-11-09 07:32:09 -0800
|
|
Branch: REL_13_STABLE [c90c84b3f] 2020-11-09 07:32:12 -0800
|
|
Branch: REL_12_STABLE [ac8f6243c] 2020-11-09 07:32:12 -0800
|
|
Branch: REL_11_STABLE [43ebfea5a] 2020-11-09 07:32:13 -0800
|
|
Branch: REL_10_STABLE [f97ecea1e] 2020-11-09 07:32:13 -0800
|
|
Branch: REL9_6_STABLE [ff3de4c21] 2020-11-09 07:32:13 -0800
|
|
Branch: REL9_5_STABLE [aefc625de] 2020-11-09 07:32:14 -0800
|
|
-->
|
|
<para>
|
|
Block <command>DECLARE CURSOR ... WITH HOLD</command> and firing of
|
|
deferred triggers within index expressions and materialized view
|
|
queries (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
This is essentially a leak in the <quote>security restricted
|
|
operation</quote> sandbox mechanism. An attacker having permission
|
|
to create non-temporary SQL objects could parlay this leak to
|
|
execute arbitrary SQL code as a superuser.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks
|
|
Etienne Stalmans for reporting this problem.
|
|
(CVE-2020-25695)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a45bc8a4f] 2020-09-24 18:19:38 -0400
|
|
Branch: REL_13_STABLE [cb8885ac4] 2020-09-24 18:19:38 -0400
|
|
Branch: REL_12_STABLE [fb93f784f] 2020-09-24 18:19:38 -0400
|
|
Branch: REL_11_STABLE [1738a61c8] 2020-09-24 18:19:39 -0400
|
|
Branch: REL_10_STABLE [1888ff8d0] 2020-09-24 18:19:39 -0400
|
|
Branch: REL9_6_STABLE [7c154f2fd] 2020-09-24 18:19:39 -0400
|
|
Branch: REL9_5_STABLE [56b46d3a1] 2020-09-24 18:19:39 -0400
|
|
Branch: master [8e5793ab6] 2020-10-19 19:03:46 -0400
|
|
Branch: REL_13_STABLE [1814f915b] 2020-10-19 19:03:46 -0400
|
|
Branch: REL_12_STABLE [c6d0b9b16] 2020-10-19 19:03:46 -0400
|
|
Branch: REL_11_STABLE [5a9f99bed] 2020-10-19 19:03:47 -0400
|
|
Branch: REL_10_STABLE [68f236993] 2020-10-19 19:03:47 -0400
|
|
Branch: REL9_6_STABLE [5c78f7977] 2020-10-19 19:03:47 -0400
|
|
Branch: REL9_5_STABLE [da129a04a] 2020-10-19 19:03:47 -0400
|
|
-->
|
|
<para>
|
|
Fix usage of complex connection-string parameters
|
|
in <application>pg_dump</application>,
|
|
<application>pg_restore</application>,
|
|
<application>clusterdb</application>,
|
|
<application>reindexdb</application>,
|
|
and <application>vacuumdb</application> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The <option>-d</option> parameter
|
|
of <application>pg_dump</application>
|
|
and <application>pg_restore</application>, or
|
|
the <option>--maintenance-db</option> parameter of the other
|
|
programs mentioned, can be a <quote>connection string</quote>
|
|
containing multiple connection parameters rather than just a
|
|
database name. In cases where these programs need to initiate
|
|
additional connections, such as parallel processing or processing of
|
|
multiple databases, the connection string was forgotten and just the
|
|
basic connection parameters (database name, host, port, and
|
|
username) were used for the additional connections. This could lead
|
|
to connection failures if the connection string included any other
|
|
essential information, such as non-default SSL or GSS parameters.
|
|
Worse, the connection might succeed but not be encrypted as
|
|
intended, or be vulnerable to man-in-the-middle attacks that the
|
|
intended connection parameters would have prevented.
|
|
(CVE-2020-25694)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [85c54287a] 2020-10-21 16:19:00 -0400
|
|
Branch: REL_13_STABLE [2e4af4110] 2020-10-21 16:19:00 -0400
|
|
Branch: REL_12_STABLE [f656517ec] 2020-10-21 16:19:01 -0400
|
|
Branch: REL_11_STABLE [20be76d5c] 2020-10-21 16:19:01 -0400
|
|
Branch: REL_10_STABLE [8175da6e7] 2020-10-21 16:19:02 -0400
|
|
Branch: REL9_6_STABLE [870a23230] 2020-10-21 16:18:41 -0400
|
|
Branch: REL9_5_STABLE [6997da09a] 2020-10-21 16:18:41 -0400
|
|
-->
|
|
<para>
|
|
When <application>psql</application>'s <command>\connect</command>
|
|
command re-uses connection parameters, ensure that all
|
|
non-overridden parameters from a previous connection string are
|
|
re-used (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids cases where reconnection might fail due to omission of
|
|
relevant parameters, such as non-default SSL or GSS options.
|
|
Worse, the reconnection might succeed but not be encrypted as
|
|
intended, or be vulnerable to man-in-the-middle attacks that the
|
|
intended connection parameters would have prevented.
|
|
This is largely the same problem as just cited
|
|
for <application>pg_dump</application> et al,
|
|
although <application>psql</application>'s behavior is more complex
|
|
since the user may intentionally override some connection
|
|
parameters.
|
|
(CVE-2020-25694)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [098fb0079] 2020-11-09 07:32:09 -0800
|
|
Branch: REL_13_STABLE [67029845b] 2020-11-09 07:32:12 -0800
|
|
Branch: REL_12_STABLE [3855e5b47] 2020-11-09 07:32:13 -0800
|
|
Branch: REL_11_STABLE [7b356c78f] 2020-11-09 07:32:13 -0800
|
|
Branch: REL_10_STABLE [a498db87b] 2020-11-09 07:32:13 -0800
|
|
Branch: REL9_6_STABLE [12fd81cb7] 2020-11-09 07:32:14 -0800
|
|
Branch: REL9_5_STABLE [a54dfbee1] 2020-11-09 07:32:14 -0800
|
|
-->
|
|
<para>
|
|
Prevent <application>psql</application>'s <command>\gset</command>
|
|
command from modifying specially-treated variables (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
<command>\gset</command> without a prefix would overwrite whatever
|
|
variables the server told it to. Thus, a compromised server could
|
|
set specially-treated variables such as <varname>PROMPT1</varname>,
|
|
giving the ability to execute arbitrary shell code in the user's
|
|
session.
|
|
</para>
|
|
|
|
<para>
|
|
The <productname>PostgreSQL</productname> Project thanks
|
|
Nick Cleaton for reporting this problem.
|
|
(CVE-2020-25696)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [566372b3d] 2020-08-15 10:15:53 -0700
|
|
Branch: REL_13_STABLE Release: REL_13_0 [592a589a0] 2020-08-15 10:15:56 -0700
|
|
Branch: REL_12_STABLE [30e68a2ab] 2020-08-15 10:15:56 -0700
|
|
Branch: REL_11_STABLE [d4031d784] 2020-08-15 10:15:57 -0700
|
|
Branch: REL_10_STABLE [e525770dd] 2020-08-15 10:15:57 -0700
|
|
Branch: REL9_6_STABLE [5ae01df6f] 2020-08-15 10:15:57 -0700
|
|
Branch: REL9_5_STABLE [3fbbf64ce] 2020-08-15 10:15:57 -0700
|
|
Branch: REL_12_STABLE [06e50d8f7] 2020-08-15 16:15:59 -0700
|
|
Branch: REL_11_STABLE [6af0b12a5] 2020-08-15 16:16:15 -0700
|
|
Branch: REL_10_STABLE [e8e44e890] 2020-08-15 16:16:29 -0700
|
|
Branch: REL9_6_STABLE [85aa22cb1] 2020-08-15 16:16:34 -0700
|
|
Branch: REL9_5_STABLE [d8a22a387] 2020-08-15 16:16:42 -0700
|
|
-->
|
|
<para>
|
|
Prevent possible data loss from concurrent truncations of SLRU logs
|
|
(Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
This rare problem would manifest in later <quote>apparent
|
|
wraparound</quote> or <quote>could not access status of
|
|
transaction</quote> errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [aca74843e] 2020-09-24 10:39:52 +1200
|
|
Branch: REL_13_STABLE [052014a20] 2020-09-24 10:27:22 +1200
|
|
Branch: REL_12_STABLE [7664cc869] 2020-09-24 10:30:47 +1200
|
|
Branch: REL_11_STABLE [c5a5bd0bb] 2020-09-24 10:31:57 +1200
|
|
Branch: REL_10_STABLE [dd36d6b00] 2020-09-24 10:33:00 +1200
|
|
Branch: REL9_6_STABLE [d38e15979] 2020-09-24 10:35:10 +1200
|
|
Branch: REL9_5_STABLE [23d8b3577] 2020-09-24 10:36:27 +1200
|
|
-->
|
|
<para>
|
|
Ensure that SLRU directories are properly fsync'd during checkpoints
|
|
(Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents possible data loss in a subsequent operating system
|
|
crash.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d907bd054] 2020-11-03 15:41:32 -0500
|
|
Branch: REL_13_STABLE [768dbef0d] 2020-11-03 15:41:32 -0500
|
|
Branch: REL_12_STABLE [136f87ea5] 2020-11-03 15:41:32 -0500
|
|
Branch: REL_11_STABLE [501035a0a] 2020-11-03 15:41:32 -0500
|
|
Branch: REL_10_STABLE [df4405b78] 2020-11-03 15:41:32 -0500
|
|
Branch: REL9_6_STABLE [04c4b495b] 2020-11-03 15:41:32 -0500
|
|
Branch: REL9_5_STABLE [77df80cf6] 2020-11-03 15:41:32 -0500
|
|
-->
|
|
<para>
|
|
Fix <command>ALTER ROLE</command> for users with
|
|
the <literal>BYPASSRLS</literal> attribute (Tom Lane, Stephen Frost)
|
|
</para>
|
|
|
|
<para>
|
|
The <literal>BYPASSRLS</literal> attribute is only allowed to be
|
|
changed by superusers, but other <command>ALTER ROLE</command>
|
|
operations, such as password changes, should be allowed with only
|
|
ordinary permission checks. The previous coding erroneously
|
|
restricted all changes on such a role to superusers.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [bbb927b4d] 2020-10-20 19:22:09 -0300
|
|
Branch: REL_13_STABLE [5f6463a20] 2020-10-20 19:22:09 -0300
|
|
Branch: REL_12_STABLE [0e6b6f8c7] 2020-10-20 19:22:09 -0300
|
|
Branch: REL_11_STABLE [a795f6782] 2020-10-20 19:22:09 -0300
|
|
-->
|
|
<para>
|
|
Ensure that <command>ALTER TABLE ONLY ... ENABLE/DISABLE
|
|
TRIGGER</command> does not recurse to child tables
|
|
(Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Previously the <literal>ONLY</literal> flag was ignored.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e5fac1cb1] 2020-09-16 13:38:26 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [17280b31c] 2020-09-16 13:38:26 -0400
|
|
Branch: REL_12_STABLE [511690ec5] 2020-09-16 13:38:26 -0400
|
|
-->
|
|
<para>
|
|
Avoid unnecessary recursion to partitions in <command>ALTER TABLE
|
|
SET NOT NULL</command>, when the target column is already
|
|
marked <literal>NOT NULL</literal> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids a potential deadlock in
|
|
parallel <application>pg_restore</application>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [502898192] 2020-08-21 15:00:47 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [894f5dea7] 2020-08-21 15:00:48 -0400
|
|
Branch: REL_12_STABLE [d9253df12] 2020-08-21 15:00:43 -0400
|
|
Branch: REL_11_STABLE [373796524] 2020-08-21 15:00:43 -0400
|
|
Branch: REL_10_STABLE [e22e29c25] 2020-08-21 15:00:43 -0400
|
|
Branch: REL9_6_STABLE [37681d7e9] 2020-08-21 15:00:43 -0400
|
|
Branch: REL9_5_STABLE [21f8b1811] 2020-08-21 15:00:43 -0400
|
|
Branch: master [19f5a37b9] 2020-09-13 12:51:21 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [b380484a8] 2020-09-13 12:51:21 -0400
|
|
Branch: REL_12_STABLE [1371a1e41] 2020-09-13 12:51:21 -0400
|
|
Branch: REL_11_STABLE [f11210013] 2020-09-13 12:51:21 -0400
|
|
Branch: REL_10_STABLE [783a21eff] 2020-09-13 12:51:21 -0400
|
|
Branch: REL9_6_STABLE [1a9c93ec3] 2020-09-13 12:51:21 -0400
|
|
Branch: REL9_5_STABLE [86b8ef139] 2020-09-13 12:51:21 -0400
|
|
-->
|
|
<para>
|
|
Fix handling of expressions in <command>CREATE TABLE LIKE</command>
|
|
with inheritance (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If a <command>CREATE TABLE</command> command uses
|
|
both <literal>LIKE</literal> and traditional inheritance, column
|
|
references in <literal>CHECK</literal> constraints and expression
|
|
indexes that came from a <literal>LIKE</literal> parent table tended
|
|
to get mis-numbered, resulting in wrong answers and/or bizarre error
|
|
messages. The same could happen in <literal>GENERATED</literal>
|
|
expressions, in branches that have that feature.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [afc7e0ad5] 2020-09-01 13:40:43 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [15dad5776] 2020-09-01 13:40:43 -0400
|
|
Branch: REL_12_STABLE [7067ba1b4] 2020-09-01 13:40:43 -0400
|
|
Branch: REL_11_STABLE [f00f5e0c1] 2020-09-01 13:40:43 -0400
|
|
-->
|
|
<para>
|
|
Disallow <command>DROP INDEX CONCURRENTLY</command> on a partitioned
|
|
table (Álvaro Herrera, Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This case failed anyway, but with a confusing error message.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5b7bfc397] 2020-11-05 11:44:32 -0500
|
|
Branch: REL_13_STABLE [44b973b91] 2020-11-05 11:44:32 -0500
|
|
Branch: REL_12_STABLE [0bdf1ef3d] 2020-11-05 11:44:32 -0500
|
|
Branch: REL_11_STABLE [7dc18c619] 2020-11-05 11:44:32 -0500
|
|
-->
|
|
<para>
|
|
Allow <command>LOCK TABLE</command> to succeed on a self-referential
|
|
view (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
It previously threw an error complaining about infinite recursion,
|
|
but there seems no need to disallow the case.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [b17ff07aa] 2020-11-01 21:22:07 +0900
|
|
Branch: REL_13_STABLE [bb62df46b] 2020-11-01 21:24:10 +0900
|
|
Branch: REL_12_STABLE [41a033b50] 2020-11-01 21:24:15 +0900
|
|
-->
|
|
<para>
|
|
Retain statistics about an index across <command>REINDEX
|
|
CONCURRENTLY</command> (Michael Paquier, Fabrízio de Royes Mello)
|
|
</para>
|
|
|
|
<para>
|
|
Non-concurrent reindexing has always preserved such statistics.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [e66bcfb4c] 2020-09-29 14:15:57 +0900
|
|
Branch: REL_13_STABLE [1aedaba78] 2020-09-29 14:16:12 +0900
|
|
Branch: REL_12_STABLE [8aa4496dd] 2020-09-29 14:16:18 +0900
|
|
-->
|
|
<para>
|
|
Fix incorrect progress reporting from <command>REINDEX
|
|
CONCURRENTLY</command> (Matthias van de Meent, Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ad77039fa] 2020-10-28 13:47:02 -0400
|
|
Branch: REL_13_STABLE [70492195b] 2020-10-28 13:47:02 -0400
|
|
Branch: REL_12_STABLE [43330cdd4] 2020-10-28 13:47:02 -0400
|
|
-->
|
|
<para>
|
|
Ensure that <literal>GENERATED</literal> columns are updated when
|
|
the column(s) they depend on are updated via a rule or an updatable
|
|
view (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This fix also takes care of possible failure to fire a
|
|
column-specific trigger in such cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [f481d2823] 2020-09-08 19:35:15 -0300
|
|
Branch: REL_13_STABLE Release: REL_13_0 [d0230a43f] 2020-09-08 19:35:15 -0300
|
|
Branch: REL_12_STABLE [ef1e1250e] 2020-09-08 19:35:15 -0300
|
|
-->
|
|
<para>
|
|
Recheck default partition constraints while routing an inserted or
|
|
updated tuple to the correct partition (Amit Langote,
|
|
Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
This fixes race conditions when partitions are added concurrently
|
|
with the insertion.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [72647ac3b] 2020-09-28 14:12:38 -0400
|
|
Branch: REL_13_STABLE [61a78c71a] 2020-09-28 14:12:38 -0400
|
|
Branch: REL_12_STABLE [29f20db85] 2020-09-28 14:12:38 -0400
|
|
-->
|
|
<para>
|
|
Fix failures with collation-dependent partition bound expressions
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [560564d3a] 2020-11-04 12:46:28 +0100
|
|
Branch: REL_13_STABLE [82d4a2a7d] 2020-11-04 12:46:38 +0100
|
|
Branch: REL_12_STABLE [ea9087938] 2020-11-04 12:46:52 +0100
|
|
-->
|
|
<para>
|
|
Support hashing of text arrays (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Array hashing failed if the array element type is collatable.
|
|
Notably, this prevented using hash partitioning with a text array
|
|
column as partition key.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [489c9c340] 2020-09-30 15:40:23 -0400
|
|
Branch: REL_13_STABLE [99fd38c02] 2020-09-30 15:40:23 -0400
|
|
Branch: REL_12_STABLE [c5232dca8] 2020-09-30 15:40:23 -0400
|
|
Branch: REL_11_STABLE [b0fe0b022] 2020-09-30 15:40:23 -0400
|
|
Branch: REL_10_STABLE [db96be24c] 2020-09-30 15:40:23 -0400
|
|
Branch: REL9_6_STABLE [19e798268] 2020-09-30 15:40:23 -0400
|
|
Branch: REL9_5_STABLE [4857e6fe1] 2020-09-30 15:40:23 -0400
|
|
-->
|
|
<para>
|
|
Fix off-by-one conversion of negative years to BC dates
|
|
in <function>to_date()</function>
|
|
and <function>to_timestamp()</function> (Dar Alathar-Yemen, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Also, arrange for the combination of a negative year and an
|
|
explicit <quote>BC</quote> marker to cancel out and produce AD.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [fd26f7823] 2020-09-29 16:21:46 +0900
|
|
Branch: REL_13_STABLE [059caf36c] 2020-09-29 16:23:57 +0900
|
|
Branch: REL_12_STABLE [4d342b9d4] 2020-09-29 16:24:20 +0900
|
|
Branch: REL_11_STABLE [462ff7966] 2020-09-29 16:24:47 +0900
|
|
Branch: REL_10_STABLE [334417538] 2020-09-29 16:25:08 +0900
|
|
Branch: REL9_6_STABLE [7be02a3bf] 2020-09-29 16:25:20 +0900
|
|
Branch: REL9_5_STABLE [40a8fb1e0] 2020-09-29 16:25:51 +0900
|
|
-->
|
|
<para>
|
|
Ensure that standby servers will archive WAL timeline history files
|
|
when <varname>archive_mode</varname> is set
|
|
to <literal>always</literal> (Grigory Smolkin, Fujii Masao)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead to failure of subsequent PITR recovery
|
|
attempts.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3d65b0593] 2020-09-16 12:07:31 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [3e3f8f202] 2020-09-16 12:07:31 -0400
|
|
Branch: REL_12_STABLE [8580631ff] 2020-09-16 12:07:31 -0400
|
|
Branch: REL_11_STABLE [2c74f7139] 2020-09-16 12:07:31 -0400
|
|
Branch: REL_10_STABLE [d6d70f89a] 2020-09-16 12:07:31 -0400
|
|
-->
|
|
<para>
|
|
Fix <quote>cache lookup failed for relation 0</quote>
|
|
failures in logical replication workers (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The real-world impact is small, since the failure is unlikely, and
|
|
if it does happen the worker would just exit and be restarted.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c8746f999] 2020-09-04 20:33:36 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [9b81a30f9] 2020-09-04 20:33:37 -0400
|
|
Branch: REL_12_STABLE [9b47ee6e7] 2020-09-04 20:20:05 -0400
|
|
Branch: REL_11_STABLE [7156a0eac] 2020-09-04 20:20:05 -0400
|
|
Branch: REL_10_STABLE [9b8a8516e] 2020-09-04 20:20:06 -0400
|
|
-->
|
|
<para>
|
|
Prevent logical replication workers from sending redundant ping
|
|
requests (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [0038f9438] 2020-08-14 13:26:57 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [1c6066fbd] 2020-08-14 13:26:57 -0400
|
|
Branch: REL_12_STABLE [42566a250] 2020-08-14 13:26:57 -0400
|
|
Branch: REL_11_STABLE [250aaa2de] 2020-08-14 13:26:57 -0400
|
|
Branch: REL_10_STABLE [326b5fe0f] 2020-08-14 13:26:57 -0400
|
|
Branch: REL9_6_STABLE [b4d8be9f6] 2020-08-14 13:26:57 -0400
|
|
-->
|
|
<para>
|
|
During <quote>smart</quote> shutdown, don't terminate background
|
|
processes until all client (foreground) sessions are done (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The previous behavior broke parallel query processing, since the
|
|
postmaster would terminate parallel workers and refuse to launch any
|
|
new ones. It also caused autovacuum to cease functioning, which
|
|
could have dire long-term effects if the surviving client sessions
|
|
make a lot of data changes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_13_BR [9abb2bfc0] 2019-10-13 15:48:26 -0400
|
|
Branch: REL_12_STABLE [8b53dbada] 2020-10-15 12:50:57 -0400
|
|
Branch: REL_11_STABLE [85834023a] 2020-10-15 12:50:57 -0400
|
|
Branch: REL_10_STABLE [4e95733b0] 2020-10-15 12:50:57 -0400
|
|
Branch: REL9_6_STABLE [7753ca49d] 2020-10-15 12:50:57 -0400
|
|
-->
|
|
<para>
|
|
Avoid recursive consumption of stack space while processing signals
|
|
in the postmaster (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Heavy use of parallel processing has been observed to cause
|
|
postmaster crashes due to too many concurrent signals requesting
|
|
creation of a parallel worker process.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [bedadc732] 2020-09-09 15:32:45 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [35e59398a] 2020-09-09 15:32:34 -0400
|
|
Branch: REL_12_STABLE [d038c6c63] 2020-09-09 15:32:34 -0400
|
|
Branch: REL_11_STABLE [67dde49a3] 2020-09-09 15:32:34 -0400
|
|
Branch: REL_10_STABLE [95cd8902e] 2020-09-09 15:32:34 -0400
|
|
Branch: REL9_6_STABLE [b2eaddd9b] 2020-09-09 15:32:34 -0400
|
|
Branch: REL9_5_STABLE [581855b6a] 2020-09-09 15:32:34 -0400
|
|
Branch: master [58c6feccf] 2020-09-10 12:06:37 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [3f29aa48b] 2020-09-10 12:06:26 -0400
|
|
Branch: REL_12_STABLE [4e10c0c8a] 2020-09-10 12:06:26 -0400
|
|
Branch: REL_11_STABLE [93871b693] 2020-09-10 12:06:26 -0400
|
|
Branch: REL_10_STABLE [ac695b8f2] 2020-09-10 12:06:26 -0400
|
|
Branch: REL9_6_STABLE [dc71c6409] 2020-09-10 12:06:26 -0400
|
|
Branch: REL9_5_STABLE [e2c9bedc9] 2020-09-10 12:06:26 -0400
|
|
-->
|
|
<para>
|
|
Avoid running <systemitem>atexit</systemitem> handlers when exiting
|
|
due to SIGQUIT (Kyotaro Horiguchi, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Most server processes followed this practice already, but the
|
|
archiver process was overlooked. Backends that were still waiting
|
|
for a client startup packet got it wrong, too.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4d346def1] 2020-08-22 14:46:40 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [de627adaa] 2020-08-22 14:46:40 -0400
|
|
Branch: REL_12_STABLE [6b701eaaa] 2020-08-22 14:46:40 -0400
|
|
Branch: REL_11_STABLE [b439adcab] 2020-08-22 14:46:40 -0400
|
|
Branch: REL_10_STABLE [6fa403e61] 2020-08-22 14:46:40 -0400
|
|
Branch: REL9_6_STABLE [d3701bc8a] 2020-08-22 14:46:40 -0400
|
|
Branch: REL9_5_STABLE [7edd36eae] 2020-08-22 14:46:40 -0400
|
|
-->
|
|
<para>
|
|
Avoid misoptimization of subquery qualifications that reference
|
|
apparently-constant grouping columns (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A <quote>constant</quote> subquery output column isn't really
|
|
constant if it is a grouping column that appears in only some of the
|
|
grouping sets.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d7885b1f8] 2020-10-06 11:43:53 -0400
|
|
Branch: REL_13_STABLE [b7f166efa] 2020-10-06 11:43:53 -0400
|
|
Branch: REL_12_STABLE [3d69efc4f] 2020-10-06 11:43:54 -0400
|
|
-->
|
|
<para>
|
|
Fix possible crash when considering partition-wise joins
|
|
during GEQO planning (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1e7629d2c] 2020-08-14 22:14:03 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [b538e83f1] 2020-08-14 22:14:03 -0400
|
|
Branch: REL_12_STABLE [912fb290c] 2020-08-14 22:14:03 -0400
|
|
Branch: REL_11_STABLE [9d472b51e] 2020-08-14 22:14:03 -0400
|
|
Branch: REL_10_STABLE [dea07098a] 2020-08-14 22:14:03 -0400
|
|
Branch: REL9_6_STABLE [7241edc4f] 2020-08-14 22:14:03 -0400
|
|
Branch: REL9_5_STABLE [5190707d7] 2020-08-14 22:14:03 -0400
|
|
-->
|
|
<para>
|
|
Avoid failure when SQL function inlining changes the shape of a
|
|
potentially-hashable subplan comparison expression (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [a811ea5bd] 2020-08-13 17:33:49 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [2f29fd4cb] 2020-08-13 17:33:49 -0400
|
|
Branch: REL_12_STABLE [1122a903e] 2020-08-13 17:33:49 -0400
|
|
Branch: REL_11_STABLE [704de3739] 2020-08-13 17:33:49 -0400
|
|
Branch: REL_10_STABLE [385cbe8e4] 2020-08-13 17:33:49 -0400
|
|
Branch: REL9_6_STABLE [e5902117d] 2020-08-13 17:33:49 -0400
|
|
Branch: REL9_5_STABLE [40bceae7b] 2020-08-13 17:33:49 -0400
|
|
Branch: master [6e70443ed] 2020-08-17 16:20:06 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [b83f1bcca] 2020-08-17 16:20:06 -0400
|
|
Branch: REL_12_STABLE [4f47c8e7d] 2020-08-17 16:20:06 -0400
|
|
Branch: REL_11_STABLE [060e5bd70] 2020-08-17 16:20:06 -0400
|
|
Branch: REL_10_STABLE [3a45ac076] 2020-08-17 16:20:05 -0400
|
|
Branch: REL9_6_STABLE [d4d214903] 2020-08-17 16:20:05 -0400
|
|
Branch: REL9_5_STABLE [aa4da2674] 2020-08-17 16:20:05 -0400
|
|
-->
|
|
<para>
|
|
While building or re-building an index, tolerate the appearance of
|
|
new HOT chains due to concurrent updates
|
|
(Anastasia Lubennikova, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead to <quote>failed to find parent tuple for
|
|
heap-only tuple</quote> errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [b7f2dd959] 2020-09-17 16:11:48 +0530
|
|
Branch: REL_13_STABLE Release: REL_13_0 [0abd9cd2f] 2020-09-17 15:16:46 +0530
|
|
Branch: REL_12_STABLE [4bc63462d] 2020-09-17 15:38:47 +0530
|
|
Branch: REL_11_STABLE [956891fab] 2020-09-17 15:53:25 +0530
|
|
Branch: REL_10_STABLE [fcc3665a0] 2020-09-17 15:59:42 +0530
|
|
-->
|
|
<para>
|
|
Fix failure of parallel B-tree index scans when the index condition
|
|
is unsatisfiable (James Hunter)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [7577dd848] 2020-11-07 00:39:19 +0100
|
|
Branch: REL_13_STABLE [6a7b55f37] 2020-11-07 00:40:06 +0100
|
|
Branch: REL_12_STABLE [8149e9f9a] 2020-11-07 00:40:40 +0100
|
|
Branch: REL_11_STABLE [895d0f0e8] 2020-11-07 00:41:02 +0100
|
|
Branch: REL_10_STABLE [0b96fc977] 2020-11-07 00:41:19 +0100
|
|
Branch: REL9_6_STABLE [bae31e75f] 2020-11-07 00:41:36 +0100
|
|
Branch: REL9_5_STABLE [d2d3a4bd3] 2020-11-07 00:41:52 +0100
|
|
-->
|
|
<para>
|
|
Ensure that data is detoasted before being inserted into a BRIN
|
|
index (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
Index entries are not supposed to contain out-of-line TOAST
|
|
pointers, but BRIN didn't get that memo. This could lead to errors
|
|
like <quote>missing chunk number 0 for toast value NNN</quote>.
|
|
(If you are faced with such an error from an existing
|
|
index, <command>REINDEX</command> should be enough to fix it.)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [1f42d35a1] 2020-08-12 15:33:36 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [8782ea2f3] 2020-08-12 15:33:36 -0400
|
|
Branch: REL_12_STABLE [0426c75e7] 2020-08-12 15:33:36 -0400
|
|
Branch: REL_11_STABLE [7af39993a] 2020-08-12 15:33:36 -0400
|
|
Branch: REL_10_STABLE [721ef4d28] 2020-08-12 15:33:36 -0400
|
|
Branch: REL9_6_STABLE [7a3c261fb] 2020-08-12 15:33:36 -0400
|
|
Branch: REL9_5_STABLE [ce3a8fde8] 2020-08-12 15:33:36 -0400
|
|
-->
|
|
<para>
|
|
Handle concurrent desummarization correctly during BRIN index scans
|
|
(Alexander Lakhin, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, if a page range was desummarized at just the wrong time,
|
|
an index scan might falsely raise an error indicating index
|
|
corruption.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [10564ee02] 2020-08-27 17:36:13 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [1df14a566] 2020-08-27 17:36:13 -0400
|
|
Branch: REL_12_STABLE [ff3c16d1e] 2020-08-27 17:36:13 -0400
|
|
Branch: REL_11_STABLE [11ecf4bd2] 2020-08-27 17:36:13 -0400
|
|
Branch: REL_10_STABLE [0d3ad6540] 2020-08-27 17:36:13 -0400
|
|
Branch: REL9_6_STABLE [0dfec43c8] 2020-08-27 17:36:13 -0400
|
|
Branch: REL9_5_STABLE [fabd2f9c9] 2020-08-27 17:36:13 -0400
|
|
-->
|
|
<para>
|
|
Fix rare <quote>lost saved point in index</quote> errors in scans of
|
|
multicolumn GIN indexes (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [371668a83] 2020-10-12 18:01:34 -0400
|
|
Branch: REL_13_STABLE [962ab473e] 2020-10-12 18:01:34 -0400
|
|
Branch: REL_12_STABLE [12945874e] 2020-10-12 18:01:34 -0400
|
|
-->
|
|
<para>
|
|
Fix buffered GiST index builds to work when the index has included
|
|
columns (Pavel Borisov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [0a4b34031] 2020-11-02 21:11:50 -0500
|
|
Branch: REL_13_STABLE [a58a631b4] 2020-11-02 21:11:50 -0500
|
|
Branch: REL_12_STABLE [d3befe9b9] 2020-11-02 21:11:50 -0500
|
|
Branch: REL_11_STABLE [f28b089cb] 2020-11-02 21:11:50 -0500
|
|
Branch: REL_10_STABLE [7827497ba] 2020-11-02 21:11:50 -0500
|
|
-->
|
|
<para>
|
|
Fix unportable use of <function>getnameinfo()</function>
|
|
in <structname>pg_hba_file_rules</structname> view (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
On FreeBSD 11, and possibly other platforms, the
|
|
view's <structfield>address</structfield>
|
|
and <structfield>netmask</structfield> columns were always null due
|
|
to this error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [f90e80b91] 2020-10-31 08:43:28 -0700
|
|
Branch: REL_13_STABLE [ab2e2ce46] 2020-10-31 08:43:32 -0700
|
|
Branch: REL_12_STABLE [741b84e9f] 2020-10-31 08:44:13 -0700
|
|
Branch: REL_11_STABLE [045466675] 2020-10-31 08:45:19 -0700
|
|
-->
|
|
<para>
|
|
Avoid crash if <varname>debug_query_string</varname> is NULL
|
|
when starting a parallel worker (Noah Misch)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [ced138e8c] 2020-09-15 21:03:14 -0300
|
|
Branch: REL_13_STABLE Release: REL_13_0 [873cb8fca] 2020-09-15 21:03:14 -0300
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_12_STABLE [93f726c04] 2020-10-27 15:37:13 -0400
|
|
Branch: REL_11_STABLE [66c036b4f] 2020-10-27 15:37:13 -0400
|
|
Branch: REL_10_STABLE [41c742a43] 2020-10-27 15:37:13 -0400
|
|
Branch: REL9_6_STABLE [cc623ed2f] 2020-10-27 15:37:13 -0400
|
|
Branch: REL9_5_STABLE [7978ad025] 2020-10-27 15:37:13 -0400
|
|
-->
|
|
<para>
|
|
Fix use-after-free hazard when an event trigger monitors
|
|
an <command>ALTER TABLE</command> operation (Jehan-Guillaume de
|
|
Rorthais)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ba9f18abd] 2020-10-25 13:57:46 -0400
|
|
Branch: REL_13_STABLE [d88d8ad28] 2020-10-25 13:57:46 -0400
|
|
Branch: REL_12_STABLE [de78c1007] 2020-10-25 13:57:46 -0400
|
|
Branch: master [20d3fe900] 2020-10-26 11:36:53 -0400
|
|
Branch: master [8b39345a9] 2020-11-08 13:08:36 -0500
|
|
Branch: REL_13_STABLE [7aeb6404f] 2020-11-08 13:08:36 -0500
|
|
Branch: REL_12_STABLE [94ec005f3] 2020-11-08 13:08:36 -0500
|
|
-->
|
|
<para>
|
|
Avoid failures when a <literal>BEFORE ROW UPDATE</literal> trigger
|
|
returns the <quote>old</quote> row of a table having dropped
|
|
or <quote>missing</quote> columns (Amit Langote, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This method of suppressing an update could result in crashes,
|
|
unexpected <literal>CHECK</literal> constraint failures, or
|
|
incorrect <literal>RETURNING</literal> output,
|
|
because <quote>missing</quote> columns would read as NULLs for those
|
|
purposes. (A column is <quote>missing</quote> for this purpose if
|
|
it was added by <command>ALTER TABLE ADD COLUMN</command> with a
|
|
non-NULL, but constant, default value.) Dropped columns could cause
|
|
trouble as well.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [19ad7e1d7] 2020-09-06 12:55:13 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [f04203ab7] 2020-09-06 12:55:28 -0400
|
|
Branch: REL_12_STABLE [f45dd3fed] 2020-09-06 12:55:37 -0400
|
|
Branch: REL_11_STABLE [baef6e5e9] 2020-09-06 12:55:44 -0400
|
|
Branch: REL_10_STABLE [f71b93b86] 2020-09-06 12:55:51 -0400
|
|
Branch: REL9_6_STABLE [2939f613f] 2020-09-06 12:55:59 -0400
|
|
Branch: REL9_5_STABLE [e0b4c7dd0] 2020-09-06 12:56:10 -0400
|
|
-->
|
|
<para>
|
|
Fix incorrect error message about inconsistent moving-aggregate
|
|
data types (Jeff Janes)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [be4b0c007] 2020-09-03 16:52:09 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [17424e79d] 2020-09-03 16:52:09 -0400
|
|
Branch: REL_12_STABLE [82dd373f2] 2020-09-03 16:52:09 -0400
|
|
Branch: REL_11_STABLE [526df0a23] 2020-09-03 16:52:09 -0400
|
|
Branch: REL_10_STABLE [2a938c793] 2020-09-03 16:52:09 -0400
|
|
Branch: REL9_6_STABLE [2500e51e7] 2020-09-03 16:52:09 -0400
|
|
Branch: REL9_5_STABLE [3738651f5] 2020-09-03 16:52:09 -0400
|
|
-->
|
|
<para>
|
|
Avoid lockup when a parallel worker reports a very long error
|
|
message (Vignesh C)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: REL_13_STABLE [1f53d0b9f] 2020-10-20 14:09:16 +0200
|
|
Branch: REL_12_STABLE [bd0677bb8] 2020-10-20 14:31:52 +0200
|
|
Branch: REL_11_STABLE [6e03a8a30] 2020-10-20 14:50:43 +0200
|
|
Branch: REL_10_STABLE [f78ebbe68] 2020-10-20 15:19:47 +0200
|
|
Branch: REL9_6_STABLE [d4e654d15] 2020-10-20 15:35:31 +0200
|
|
Branch: REL9_5_STABLE [d27c18d26] 2020-10-20 17:22:41 +0200
|
|
-->
|
|
<para>
|
|
Avoid unnecessary failure when transferring very large payloads
|
|
through shared memory queues (Markus Wanner)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [72559438f] 2020-10-15 14:29:53 -0700
|
|
Branch: REL_13_STABLE [ae3e75aba] 2020-10-15 14:30:40 -0700
|
|
Branch: REL_12_STABLE [c8a2bb0f1] 2020-10-15 14:31:32 -0700
|
|
Branch: REL_11_STABLE [f3dee5b9a] 2020-10-15 15:06:16 -0700
|
|
Branch: master [fe2a16d8b] 2020-10-15 18:17:00 -0700
|
|
Branch: REL_13_STABLE [efc9a8e98] 2020-10-15 18:17:00 -0700
|
|
Branch: REL_12_STABLE [c835c7ffe] 2020-10-15 18:17:01 -0700
|
|
Branch: REL_11_STABLE [4a4f4487d] 2020-10-15 18:17:01 -0700
|
|
-->
|
|
<para>
|
|
Fix incorrect handling of template function attributes in JIT code
|
|
generation (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
This has been shown to cause crashes on <literal>s390x</literal>,
|
|
and very possibly there are other cases on other platforms.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e55f718fc] 2020-09-26 16:04:06 -0400
|
|
Branch: REL_13_STABLE [f7873900f] 2020-09-26 16:04:06 -0400
|
|
Branch: REL_12_STABLE [bda32733c] 2020-09-26 16:04:06 -0400
|
|
Branch: REL_11_STABLE [dd89ba578] 2020-09-26 16:04:06 -0400
|
|
Branch: REL_10_STABLE [de6725deb] 2020-09-26 16:04:06 -0400
|
|
Branch: REL9_6_STABLE [acab757ce] 2020-09-26 16:04:06 -0400
|
|
Branch: REL9_5_STABLE [bf34ae930] 2020-09-26 16:04:06 -0400
|
|
-->
|
|
<para>
|
|
Fix relation cache memory leaks with RLS policies (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [623644f02] 2020-11-06 22:52:16 -0300
|
|
Branch: REL_13_STABLE [d94d37f8c] 2020-11-06 22:52:15 -0300
|
|
Branch: REL_12_STABLE [8ad6a0c1b] 2020-11-06 22:52:15 -0300
|
|
-->
|
|
<para>
|
|
Fix edge-case memory leak
|
|
in <function>index_get_partition()</function> (Justin Pryzby)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [397ea901e] 2020-10-12 13:31:24 -0400
|
|
Branch: REL_13_STABLE [9343bfefa] 2020-10-12 13:31:24 -0400
|
|
Branch: REL_12_STABLE [f35c11770] 2020-10-12 13:31:24 -0400
|
|
Branch: REL_11_STABLE [cfa4cff30] 2020-10-12 13:31:24 -0400
|
|
Branch: REL_10_STABLE [a5c77e6b8] 2020-10-12 13:31:24 -0400
|
|
Branch: REL9_6_STABLE [c7573ab1e] 2020-10-12 13:31:24 -0400
|
|
Branch: REL9_5_STABLE [43ca5e07d] 2020-10-12 13:31:24 -0400
|
|
-->
|
|
<para>
|
|
Fix small memory leak when SIGHUP processing decides that a new GUC
|
|
variable value cannot be applied without a restart (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a6b1f5365] 2020-09-29 11:18:30 -0400
|
|
Branch: REL_13_STABLE [f0e4ec74e] 2020-09-29 11:18:30 -0400
|
|
Branch: REL_12_STABLE [c1e044bb3] 2020-09-29 11:18:31 -0400
|
|
Branch: REL_11_STABLE [13a1901ba] 2020-09-29 11:18:31 -0400
|
|
-->
|
|
<para>
|
|
Fix memory leaks
|
|
in <application>PL/pgsql</application>'s <command>CALL</command>
|
|
processing (Pavel Stehule, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b55b4dad9] 2020-09-01 13:14:44 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [4178b7499] 2020-09-01 13:14:44 -0400
|
|
Branch: REL_12_STABLE [55aea0c70] 2020-09-01 13:14:44 -0400
|
|
Branch: REL_11_STABLE [df8020b32] 2020-09-01 13:14:44 -0400
|
|
Branch: REL_10_STABLE [0c0a3a859] 2020-09-01 13:14:44 -0400
|
|
Branch: REL9_6_STABLE [ba23174dd] 2020-09-01 13:14:44 -0400
|
|
Branch: REL9_5_STABLE [8d486cfbf] 2020-09-01 13:14:44 -0400
|
|
Branch: master [4d41823c5] 2020-09-04 21:01:58 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [8df601bd4] 2020-09-04 21:01:59 -0400
|
|
Branch: REL_12_STABLE [fc37c6f61] 2020-09-04 21:01:59 -0400
|
|
Branch: REL_11_STABLE [d7ae549e3] 2020-09-04 21:01:59 -0400
|
|
Branch: REL_10_STABLE [546479f34] 2020-09-04 21:01:59 -0400
|
|
-->
|
|
<para>
|
|
Make <application>libpq</application> support arbitrary-length lines
|
|
in <filename>.pgpass</filename> files (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This is mostly useful to allow using very long security tokens as
|
|
passwords.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7d00a6b2d] 2020-10-17 16:53:48 -0400
|
|
Branch: REL_13_STABLE [d2074daeb] 2020-10-19 11:23:51 -0400
|
|
Branch: REL_12_STABLE [407580aab] 2020-10-19 11:23:51 -0400
|
|
Branch: REL_11_STABLE [883226441] 2020-10-19 11:23:52 -0400
|
|
Branch: REL_10_STABLE [6670e9107] 2020-10-19 11:23:52 -0400
|
|
Branch: REL9_6_STABLE [cdc7ace16] 2020-10-19 11:23:52 -0400
|
|
Branch: REL9_5_STABLE [6acc31a20] 2020-10-19 11:23:52 -0400
|
|
-->
|
|
<para>
|
|
In <application>libpq</application> for Windows,
|
|
call <function>WSAStartup()</function> once per process
|
|
and <function>WSACleanup()</function> not at all (Tom Lane,
|
|
Alexander Lakhin)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, <application>libpq</application>
|
|
invoked <function>WSAStartup()</function> at connection start
|
|
and <function>WSACleanup()</function> at connection cleanup.
|
|
However, it appears that calling <function>WSACleanup()</function>
|
|
can interfere with other program operations; notably, we have
|
|
observed rare failures to emit expected output to stdout. There
|
|
appear to be no ill effects from omitting the call, so do that.
|
|
(This also eliminates a performance issue from repeated DLL loads and
|
|
unloads when a program performs a series of database connections.)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [21d36747d] 2020-10-24 13:12:08 -0400
|
|
Branch: REL_13_STABLE [fd048e0cb] 2020-10-24 13:12:19 -0400
|
|
Branch: REL_12_STABLE [bdc79ddd1] 2020-10-24 13:12:26 -0400
|
|
Branch: REL_11_STABLE [12a73f29f] 2020-10-24 13:12:31 -0400
|
|
Branch: REL_10_STABLE [f38b66ec0] 2020-10-24 13:12:41 -0400
|
|
Branch: REL9_6_STABLE [379c43bda] 2020-10-24 13:12:47 -0400
|
|
Branch: REL9_5_STABLE [758b45e83] 2020-10-24 13:12:53 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>ecpg</application> library's per-thread
|
|
initialization logic for Windows (Tom Lane, Alexander Lakhin)
|
|
</para>
|
|
|
|
<para>
|
|
Multi-threaded <application>ecpg</application> applications could
|
|
suffer rare misbehavior due to incorrect locking.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [66f8687a8] 2020-10-28 14:35:53 -0400
|
|
Branch: REL_13_STABLE [ba4f5413e] 2020-10-28 14:35:53 -0400
|
|
Branch: REL_12_STABLE [cb0982ba9] 2020-10-28 14:35:53 -0400
|
|
Branch: REL_11_STABLE [9eb250339] 2020-10-28 14:35:53 -0400
|
|
Branch: REL_10_STABLE [504f963f7] 2020-10-28 14:35:53 -0400
|
|
Branch: REL9_6_STABLE [204d77969] 2020-10-28 14:35:53 -0400
|
|
Branch: REL9_5_STABLE [aff06436c] 2020-10-28 14:35:53 -0400
|
|
-->
|
|
<para>
|
|
On Windows, make <application>psql</application> read the output of
|
|
a backtick command in text mode, not binary mode (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This ensures proper handling of newlines.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [3eb3d3e78] 2020-09-04 13:54:54 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [72857482c] 2020-09-04 13:55:11 -0400
|
|
Branch: REL_12_STABLE [616110eac] 2020-09-04 13:55:03 -0400
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [9e5f1f21a] 2020-10-07 12:51:02 -0400
|
|
Branch: REL_13_STABLE [2ea624b4b] 2020-10-07 12:51:03 -0400
|
|
Branch: REL_12_STABLE [d8c2a2199] 2020-10-07 12:51:04 -0400
|
|
Branch: REL_11_STABLE [f2c6e94f0] 2020-10-07 12:51:05 -0400
|
|
Branch: REL_10_STABLE [0c79dcb36] 2020-10-07 12:51:05 -0400
|
|
Branch: REL9_6_STABLE [710c0a66d] 2020-10-07 12:51:06 -0400
|
|
Branch: REL9_5_STABLE [0bfe356c5] 2020-10-07 12:51:06 -0400
|
|
-->
|
|
<para>
|
|
Ensure that <application>pg_dump</application> collects per-column
|
|
information about extension configuration tables (Fabrízio de
|
|
Royes Mello, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Failure to do this led to crashes when
|
|
specifying <option>--inserts</option>, or underspecified (though
|
|
usually correct) <command>COPY</command> commands when
|
|
using <command>COPY</command> to reload the tables' data.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [2ba5b2db7] 2020-08-14 17:33:31 -0400
|
|
Branch: REL_13_STABLE Release: REL_13_0 [b7cc21c57] 2020-08-14 17:33:31 -0400
|
|
Branch: REL_12_STABLE [3dadcb2b3] 2020-08-14 17:33:31 -0400
|
|
-->
|
|
<para>
|
|
Ensure that parallel <application>pg_restore</application> processes
|
|
foreign keys referencing partitioned tables in the correct order
|
|
(Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, it might try to restore a foreign key constraint before
|
|
the required indexes were all in place, leading to an error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Bruce Momjian <bruce@momjian.us>
|
|
Branch: master [3c0471b5f] 2020-10-15 19:33:46 -0400
|
|
Branch: REL_13_STABLE [59cfff65b] 2020-10-15 19:33:45 -0400
|
|
Branch: REL_12_STABLE [a106236d8] 2020-10-15 19:33:43 -0400
|
|
Branch: REL_11_STABLE [eb421c83b] 2020-10-15 19:33:42 -0400
|
|
Branch: REL_10_STABLE [85fedf39f] 2020-10-15 19:33:36 -0400
|
|
Branch: REL9_6_STABLE [39c23c199] 2020-10-15 19:33:36 -0400
|
|
Branch: REL9_5_STABLE [d9ae2297b] 2020-10-15 19:33:36 -0400
|
|
Branch: master [536de14e2] 2020-10-15 20:37:20 -0400
|
|
Branch: REL_13_STABLE [79fe23465] 2020-10-15 20:37:20 -0400
|
|
Branch: REL_12_STABLE [0ab7ca98a] 2020-10-15 20:37:20 -0400
|
|
Branch: REL_11_STABLE [16be4e435] 2020-10-15 20:37:19 -0400
|
|
Branch: REL_10_STABLE [6e34cc8ab] 2020-10-15 20:37:19 -0400
|
|
Branch: REL9_6_STABLE [9dcffe69a] 2020-10-15 20:37:19 -0400
|
|
Branch: REL9_5_STABLE [b05672c72] 2020-10-15 20:37:19 -0400
|
|
-->
|
|
<para>
|
|
Make <application>pg_upgrade</application> check for pre-existence
|
|
of tablespace directories in the target cluster (Bruce Momjian)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [ca2a12c93] 2020-10-19 09:36:56 +0900
|
|
Branch: REL_13_STABLE [1bd9b2b23] 2020-10-19 09:37:50 +0900
|
|
Branch: REL_12_STABLE [57bdf29dd] 2020-10-19 09:37:55 +0900
|
|
Branch: REL_11_STABLE [914139081] 2020-10-19 09:38:01 +0900
|
|
Branch: REL_10_STABLE [e8d36f9ec] 2020-10-19 09:38:06 +0900
|
|
Branch: REL9_6_STABLE [994a02f7f] 2020-10-19 09:38:13 +0900
|
|
Branch: REL9_5_STABLE [099238322] 2020-10-19 09:38:18 +0900
|
|
-->
|
|
<para>
|
|
Fix potential memory leak in <filename>contrib/pgcrypto</filename>
|
|
(Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [02a75f836] 2020-10-16 11:59:13 -0400
|
|
Branch: REL_13_STABLE [3d338a46a] 2020-10-16 11:59:25 -0400
|
|
Branch: REL_12_STABLE [7004ce758] 2020-10-16 11:59:31 -0400
|
|
Branch: REL_11_STABLE [1eb2d7e3e] 2020-10-16 11:59:36 -0400
|
|
Branch: REL_10_STABLE [3e1a4c260] 2020-10-16 11:59:41 -0400
|
|
Branch: REL9_6_STABLE [e15115b4d] 2020-10-16 11:59:47 -0400
|
|
Branch: REL9_5_STABLE [9c3032881] 2020-10-16 11:59:52 -0400
|
|
-->
|
|
<para>
|
|
Add check for an unlikely failure case
|
|
in <filename>contrib/pgcrypto</filename> (Daniel Gustafsson)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4a071afbd] 2020-10-29 15:28:14 -0400
|
|
Branch: REL_13_STABLE [ee03baad2] 2020-10-29 15:28:28 -0400
|
|
Branch: REL_12_STABLE [25b587f03] 2020-10-29 15:28:35 -0400
|
|
Branch: REL_11_STABLE [24d769b90] 2020-10-29 15:28:41 -0400
|
|
Branch: REL_10_STABLE [c39f4e81d] 2020-10-29 15:28:47 -0400
|
|
-->
|
|
<para>
|
|
Fix recently-added <type>timetz</type> test case so it works when
|
|
the USA is not observing daylight savings time (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c4a803ac7] 2020-10-16 21:53:33 -0400
|
|
Branch: REL_13_STABLE [3f26dca76] 2020-10-16 21:53:43 -0400
|
|
Branch: REL_12_STABLE [b39c94097] 2020-10-16 21:53:50 -0400
|
|
Branch: REL_11_STABLE [2b9166dbc] 2020-10-16 21:53:55 -0400
|
|
Branch: REL_10_STABLE [aae4097b0] 2020-10-16 21:54:03 -0400
|
|
Branch: REL9_6_STABLE [13dbf4ab8] 2020-10-16 21:54:09 -0400
|
|
Branch: REL9_5_STABLE [c8cb243cb] 2020-10-16 21:54:14 -0400
|
|
Branch: master [7d6d6bce4] 2020-10-22 21:23:47 -0400
|
|
Branch: REL_13_STABLE [96ed2ae93] 2020-10-22 21:24:01 -0400
|
|
Branch: REL_12_STABLE [78ccf7f42] 2020-10-22 21:24:07 -0400
|
|
Branch: REL_11_STABLE [02f86d523] 2020-10-22 21:24:12 -0400
|
|
Branch: REL_10_STABLE [a357cc05d] 2020-10-22 21:24:17 -0400
|
|
Branch: REL9_6_STABLE [05a36321a] 2020-10-22 21:24:23 -0400
|
|
Branch: REL9_5_STABLE [0abebb58f] 2020-10-22 21:24:28 -0400
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2020d for DST law changes in Fiji, Morocco, Palestine, the
|
|
Canadian Yukon, Macquarie Island, and Casey Station (Antarctica);
|
|
plus historical corrections for France, Hungary, Monaco, and
|
|
Palestine.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ce0e97f80] 2020-10-16 21:40:16 -0400
|
|
Branch: REL_13_STABLE [e0cf5e9b2] 2020-10-16 21:40:16 -0400
|
|
Branch: REL_12_STABLE [3d13a8307] 2020-10-16 21:40:16 -0400
|
|
Branch: REL_11_STABLE [4a2528bfa] 2020-10-16 21:40:16 -0400
|
|
Branch: REL_10_STABLE [41eeeb348] 2020-10-16 21:40:16 -0400
|
|
Branch: REL9_6_STABLE [5515c73a6] 2020-10-16 21:40:16 -0400
|
|
Branch: REL9_5_STABLE [38fac9c1f] 2020-10-16 21:40:16 -0400
|
|
Branch: master [c5054da0d] 2020-10-22 21:15:22 -0400
|
|
Branch: REL_13_STABLE [0e551533b] 2020-10-22 21:15:37 -0400
|
|
Branch: REL_12_STABLE [f56c42e50] 2020-10-22 21:16:04 -0400
|
|
Branch: REL_11_STABLE [d2ffe0a00] 2020-10-22 21:16:16 -0400
|
|
Branch: REL_10_STABLE [34285083b] 2020-10-22 21:16:23 -0400
|
|
Branch: REL9_6_STABLE [58f9f52a3] 2020-10-22 21:16:31 -0400
|
|
Branch: REL9_5_STABLE [ff26f804a] 2020-10-22 21:16:38 -0400
|
|
-->
|
|
<para>
|
|
Sync our copy of the timezone library with IANA tzcode release 2020d
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This absorbs upstream's change of <application>zic</application>'s
|
|
default output option from <quote>fat</quote>
|
|
to <quote>slim</quote>. That's just cosmetic for our purposes, as
|
|
we continue to select the <quote>fat</quote> mode in pre-v13
|
|
branches. This change also ensures
|
|
that <function>strftime()</function> does not
|
|
change <varname>errno</varname> unless it fails.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-4">
|
|
<title>Release 12.4</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2020-08-13</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.3.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.4</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you are upgrading from a version earlier than 12.2,
|
|
see <xref linkend="release-12-2"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [11da97024] 2020-08-10 09:22:54 -0700
|
|
Branch: REL_13_STABLE [412c5c401] 2020-08-10 09:22:58 -0700
|
|
Branch: REL_12_STABLE [64a71062e] 2020-08-10 09:22:58 -0700
|
|
Branch: REL_11_STABLE [5a936d64c] 2020-08-10 09:22:59 -0700
|
|
Branch: REL_10_STABLE [dd5d99516] 2020-08-10 09:22:59 -0700
|
|
Branch: master [cec57b1a0] 2020-08-10 09:22:54 -0700
|
|
Branch: REL_13_STABLE [b601f24c8] 2020-08-10 09:22:58 -0700
|
|
Branch: REL_12_STABLE [515ee4a7e] 2020-08-10 09:22:58 -0700
|
|
Branch: REL_11_STABLE [613ed8a58] 2020-08-10 09:22:59 -0700
|
|
Branch: REL_10_STABLE [b793d6af9] 2020-08-10 09:22:59 -0700
|
|
-->
|
|
<para>
|
|
Set a secure <varname>search_path</varname> in logical replication
|
|
walsenders and apply workers (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
A malicious user of either the publisher or subscriber database
|
|
could potentially cause execution of arbitrary SQL code by the role
|
|
running replication, which is often a superuser. Some of the risks
|
|
here are equivalent to those described in CVE-2018-1058, and are
|
|
mitigated in this patch by ensuring that the replication sender and
|
|
receiver execute with empty <varname>search_path</varname> settings.
|
|
(As with CVE-2018-1058, that change might cause problems for
|
|
under-qualified names used in replicated tables' DDL.) Other risks
|
|
are inherent in replicating objects that belong to untrusted roles;
|
|
the most we can do is document that there is a hazard to consider.
|
|
(CVE-2020-14349)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7eeb1d986] 2020-08-10 10:44:42 -0400
|
|
Branch: REL_13_STABLE [98ca64899] 2020-08-10 10:44:42 -0400
|
|
Branch: REL_12_STABLE [3ba967084] 2020-08-10 10:44:42 -0400
|
|
Branch: REL_11_STABLE [afa358786] 2020-08-10 10:44:43 -0400
|
|
Branch: REL_10_STABLE [96cbfe92d] 2020-08-10 10:44:43 -0400
|
|
Branch: REL9_6_STABLE [2ea8a60fc] 2020-08-10 10:44:43 -0400
|
|
Branch: REL9_5_STABLE [6b11a4687] 2020-08-10 10:44:43 -0400
|
|
-->
|
|
<para>
|
|
Make contrib modules' installation scripts more secure (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Attacks similar to those described in CVE-2018-1058 could be carried
|
|
out against an extension installation script, if the attacker can
|
|
create objects in either the extension's target schema or the schema
|
|
of some prerequisite extension. Since extensions often require
|
|
superuser privilege to install, this can open a path to obtaining
|
|
superuser privilege. To mitigate this risk, be more careful about
|
|
the <varname>search_path</varname> used to run an installation
|
|
script; disable <varname>check_function_bodies</varname> within the
|
|
script; and fix catalog-adjustment queries used in some contrib
|
|
modules to ensure they are secure. Also provide documentation to
|
|
help third-party extension authors make their installation scripts
|
|
secure. This is not a complete solution; extensions that depend on
|
|
other extensions can still be at risk if installed carelessly.
|
|
(CVE-2020-14350)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
Branch: master [13838740f] 2020-07-28 11:00:00 +0900
|
|
Branch: REL_13_STABLE [cebe10a5f] 2020-07-28 11:00:00 +0900
|
|
Branch: REL_12_STABLE [62c4a7729] 2020-07-28 11:00:02 +0900
|
|
Branch: REL_11_STABLE [bead29dec] 2020-07-28 11:00:03 +0900
|
|
Branch: master [199cec977] 2020-08-07 14:45:00 +0900
|
|
Branch: REL_13_STABLE [79a3ab1e9] 2020-08-07 14:45:01 +0900
|
|
Branch: REL_12_STABLE [4f2693229] 2020-08-07 14:45:02 +0900
|
|
Branch: REL_11_STABLE [1db9c80f8] 2020-08-07 14:45:04 +0900
|
|
-->
|
|
<para>
|
|
Fix edge cases in partition pruning (Etsuro Fujita, Dmitry Dolgov)
|
|
</para>
|
|
|
|
<para>
|
|
When there are multiple partition key columns, generation of pruning
|
|
tests could misbehave if some columns had no
|
|
constraining <literal>WHERE</literal> clauses or multiple
|
|
constraining clauses. This could lead to server crashes, incorrect
|
|
query results, or assertion failures.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [689696c71] 2020-07-14 18:56:56 -0400
|
|
Branch: REL_13_STABLE [e38705b5c] 2020-07-14 18:56:49 -0400
|
|
Branch: REL_12_STABLE [de797e823] 2020-07-14 18:56:49 -0400
|
|
Branch: REL_11_STABLE [e9f031172] 2020-07-14 18:56:49 -0400
|
|
-->
|
|
<para>
|
|
Fix construction of parameterized BitmapAnd and BitmapOr index scans
|
|
on the inside of partition-wise nestloop joins (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A plan in which such a scan needed to use a value from the outside
|
|
of the join would usually crash at execution.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7a980dfc6] 2020-08-05 15:38:55 -0400
|
|
Branch: REL_13_STABLE [c43a36fa8] 2020-08-05 15:38:55 -0400
|
|
Branch: REL_12_STABLE [f992da210] 2020-08-05 15:38:55 -0400
|
|
-->
|
|
<para>
|
|
Fix incorrect plan execution when a partitioned table is subject to
|
|
both static and run-time partition pruning in the same query, and a
|
|
new partition is added concurrently with the query (Amit Langote,
|
|
Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [470687b4a] 2020-08-08 12:31:55 -0400
|
|
Branch: REL_13_STABLE [900429d0c] 2020-08-08 12:31:55 -0400
|
|
Branch: REL_12_STABLE [85cb4ec50] 2020-08-08 12:31:55 -0400
|
|
Branch: REL_11_STABLE [1fa6eec97] 2020-08-08 12:31:55 -0400
|
|
Branch: REL_10_STABLE [d81387da9] 2020-08-08 12:31:55 -0400
|
|
Branch: REL9_6_STABLE [55d42c917] 2020-08-08 12:31:55 -0400
|
|
Branch: REL9_5_STABLE [ca8e87ea0] 2020-08-08 12:31:55 -0400
|
|
-->
|
|
<para>
|
|
In logical replication walsender, fix failure to send feedback
|
|
messages after sending a keepalive message (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
This is a relatively minor problem when using built-in logical
|
|
replication, because the built-in walreceiver will send a feedback
|
|
reply (which clears the incorrect state) fairly frequently anyway.
|
|
But with some other replication systems, such
|
|
as <application>pglogical</application>, it causes significant
|
|
performance issues.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d5daae47d] 2020-07-20 13:40:16 -0400
|
|
Branch: REL_13_STABLE [2f1f189cf] 2020-07-20 13:40:16 -0400
|
|
Branch: REL_12_STABLE [71e561bd4] 2020-07-20 13:40:16 -0400
|
|
Branch: REL_11_STABLE [e8de627a3] 2020-07-20 13:40:16 -0400
|
|
Branch: REL_10_STABLE [39d6aec19] 2020-07-20 13:40:16 -0400
|
|
-->
|
|
<para>
|
|
Fix firing of column-specific <literal>UPDATE</literal> triggers in
|
|
logical replication subscribers (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The code neglected to account for the possibility of column numbers
|
|
being different between the publisher and subscriber tables, so that
|
|
if those were indeed different, wrong decisions might be made about
|
|
which triggers to fire.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [b48df818d] 2020-06-18 16:34:59 +0900
|
|
Branch: REL_13_STABLE [43e70addf] 2020-06-18 16:35:29 +0900
|
|
Branch: REL_12_STABLE [16f43122d] 2020-06-18 16:35:32 +0900
|
|
Branch: REL_11_STABLE [1657e14b5] 2020-06-18 16:35:36 +0900
|
|
-->
|
|
<para>
|
|
Update oldest xmin and LSN values
|
|
during <function>pg_replication_slot_advance()</function> (Michael
|
|
Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This function previously failed to do that, possibly preventing
|
|
resource cleanup (such as removal of no-longer-needed WAL segments)
|
|
after manual advancement of a replication slot.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [78e73e875] 2020-07-31 11:43:12 -0400
|
|
Branch: REL_13_STABLE [11dce63d6] 2020-07-31 11:43:12 -0400
|
|
Branch: REL_12_STABLE [70248d8f5] 2020-07-31 11:43:12 -0400
|
|
Branch: REL_11_STABLE [da596fb4b] 2020-07-31 11:43:12 -0400
|
|
Branch: REL_10_STABLE [5e724125a] 2020-07-31 11:43:12 -0400
|
|
Branch: REL9_6_STABLE [8ab00b9fe] 2020-07-31 11:43:13 -0400
|
|
-->
|
|
<para>
|
|
Fix slow execution of <function>ts_headline()</function> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The phrase-search fix added in our previous set of minor releases
|
|
could cause <function>ts_headline()</function> to take unreasonable
|
|
amounts of time for long documents; to make matters worse, the query
|
|
was not cancellable within the troublesome loop.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Joe Conway <mail@joeconway.com>
|
|
Branch: master Release: REL_13_BR [887cdff4d] 2020-05-28 13:19:00 -0400
|
|
Branch: REL_12_STABLE [3ccae5445] 2020-05-28 13:19:10 -0400
|
|
Branch: REL_11_STABLE [36758c472] 2020-05-28 13:19:16 -0400
|
|
Branch: REL_10_STABLE [2cbe3a954] 2020-05-28 13:17:11 -0400
|
|
Branch: REL9_6_STABLE [28e2c6eac] 2020-05-28 13:17:20 -0400
|
|
Branch: REL9_5_STABLE [bfb9595a7] 2020-05-28 13:17:28 -0400
|
|
-->
|
|
<para>
|
|
Ensure the <function>repeat()</function> function can be interrupted
|
|
by query cancel (Joe Conway)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [183926da3] 2020-07-09 16:02:23 -0400
|
|
Branch: REL_13_STABLE [601d419b2] 2020-07-09 16:02:23 -0400
|
|
Branch: REL_12_STABLE [2564e2d08] 2020-07-09 16:02:23 -0400
|
|
Branch: REL_11_STABLE [90b418f81] 2020-07-09 16:02:23 -0400
|
|
Branch: REL_10_STABLE [765ad260a] 2020-07-09 16:02:23 -0400
|
|
-->
|
|
<para>
|
|
Fix <function>pg_current_logfile()</function> to not include a
|
|
carriage return (<literal>\r</literal>) in its result on Windows
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Joe Conway <mail@joeconway.com>
|
|
Branch: master [96d1f423f] 2020-07-04 06:26:53 -0400
|
|
Branch: REL_13_STABLE [0025c3a2c] 2020-07-04 06:28:21 -0400
|
|
Branch: REL_12_STABLE [015e899a7] 2020-07-04 06:28:44 -0400
|
|
Branch: REL_11_STABLE [c2cdaf0cb] 2020-07-04 06:29:03 -0400
|
|
Branch: master [1d05627fc] 2020-07-04 13:46:31 -0400
|
|
Branch: REL_13_STABLE [c536da177] 2020-07-04 13:47:07 -0400
|
|
Branch: REL_12_STABLE [b615b2365] 2020-07-04 13:47:21 -0400
|
|
Branch: REL_11_STABLE [1243aa9b2] 2020-07-04 13:47:31 -0400
|
|
-->
|
|
<para>
|
|
Ensure that <function>pg_read_file()</function> and related
|
|
functions read until EOF is reached (Joe Conway)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, if not given a specific data length to read, these
|
|
functions would stop at whatever file length was reported
|
|
by <function>stat()</function>. That's unhelpful for pipes and
|
|
other sorts of virtual files.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [df646509f] 2020-07-11 03:21:00 +0300
|
|
Branch: REL_13_STABLE [89a0b1a7c] 2020-07-11 03:21:48 +0300
|
|
Branch: REL_12_STABLE [f4ae676e3] 2020-07-11 03:21:57 +0300
|
|
-->
|
|
<para>
|
|
Forbid numeric <literal>NaN</literal> values in <type>jsonpath</type>
|
|
computations (Alexander Korotkov)
|
|
</para>
|
|
|
|
<para>
|
|
Neither SQL nor JSON have the concept of <literal>NaN</literal>
|
|
(not-a-number), but the <type>jsonpath</type> code attempted to
|
|
allow such values anyway. This necessarily leads to nonstandard
|
|
behavior, so it seems better to reject such values at the outset.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [03109a530] 2020-06-13 13:43:40 -0400
|
|
Branch: REL_13_STABLE [33dd9bb3b] 2020-06-13 13:43:40 -0400
|
|
Branch: REL_12_STABLE [874372a94] 2020-06-13 13:43:24 -0400
|
|
-->
|
|
<para>
|
|
Handle single <literal>Inf</literal> or <literal>NaN</literal>
|
|
inputs correctly in floating-point aggregates (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The affected aggregates are
|
|
<function>corr()</function>,
|
|
<function>covar_pop()</function>,
|
|
<function>regr_intercept()</function>,
|
|
<function>regr_r2()</function>,
|
|
<function>regr_slope()</function>,
|
|
<function>regr_sxx()</function>,
|
|
<function>regr_sxy()</function>,
|
|
<function>regr_syy()</function>,
|
|
<function>stddev_pop()</function>, and
|
|
<function>var_pop()</function>.
|
|
The correct answer in such cases is <literal>NaN</literal>, but an
|
|
algorithmic change introduced in <productname>PostgreSQL</productname>
|
|
v12 had caused these aggregates to produce zero instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [77a3be32f] 2020-06-11 17:38:42 -0400
|
|
Branch: REL_13_STABLE [ee788ba99] 2020-06-11 17:38:42 -0400
|
|
Branch: REL_12_STABLE [4284e1184] 2020-06-11 17:38:42 -0400
|
|
Branch: REL_11_STABLE [49e0a42dd] 2020-06-11 17:38:42 -0400
|
|
Branch: REL_10_STABLE [411a4626e] 2020-06-11 17:38:42 -0400
|
|
Branch: REL9_6_STABLE [36df06e25] 2020-06-11 17:38:42 -0400
|
|
-->
|
|
<para>
|
|
Fix mis-handling of <literal>NaN</literal> inputs during parallel
|
|
aggregation on <type>numeric</type>-type columns (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If some partial aggregation workers found only <literal>NaN</literal>s
|
|
while others found only non-<literal>NaN</literal>s, the results
|
|
were combined incorrectly, possibly leading to the wrong overall
|
|
result (i.e., not <literal>NaN</literal> when it should be).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_13_BR [a9632830b] 2020-06-04 16:42:23 -0400
|
|
Branch: REL_12_STABLE [a958b07bc] 2020-06-04 16:42:08 -0400
|
|
Branch: REL_11_STABLE [6490376e5] 2020-06-04 16:42:08 -0400
|
|
Branch: REL_10_STABLE [b2c64f571] 2020-06-04 16:42:08 -0400
|
|
Branch: REL_10_STABLE [9a9ba4c4d] 2020-06-04 17:57:19 -0400
|
|
-->
|
|
<para>
|
|
Reject time-of-day values greater than 24 hours (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The intention of the datetime input code is to
|
|
allow <quote>24:00:00</quote> or
|
|
equivalently <quote>23:59:60</quote>, but no larger value.
|
|
However, the range check was miscoded so that it would
|
|
accept <quote>23:59:60.<replaceable>nnn</replaceable></quote> with
|
|
nonzero fractional-second <replaceable>nnn</replaceable>. In
|
|
timestamp values this would result in wrapping into the first second
|
|
of the next day. In <type>time</type> and <type>timetz</type>
|
|
values, the stored value would actually be more than 24 hours,
|
|
causing dump/reload failures and possibly other misbehavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [63d2ac23b] 2020-06-22 11:46:41 -0400
|
|
Branch: REL_13_STABLE [57f8b9913] 2020-06-22 11:46:41 -0400
|
|
Branch: REL_12_STABLE [d3d875518] 2020-06-22 11:46:41 -0400
|
|
Branch: REL_11_STABLE [35a8e227e] 2020-06-22 11:46:41 -0400
|
|
Branch: REL_10_STABLE [6d9f7a094] 2020-06-22 11:46:41 -0400
|
|
Branch: REL9_6_STABLE [bd53ea2b2] 2020-06-22 11:46:41 -0400
|
|
Branch: REL9_5_STABLE [dda25c599] 2020-06-22 11:46:41 -0400
|
|
-->
|
|
<para>
|
|
Undo double-quoting of index names in <command>EXPLAIN</command>'s
|
|
non-text output formats (Tom Lane, Euler Taveira)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [2a2494229] 2020-07-25 10:20:39 +0530
|
|
Branch: REL_13_STABLE [b15367ae3] 2020-07-25 10:31:19 +0530
|
|
Branch: REL_12_STABLE [bdaa84e38] 2020-07-25 10:38:46 +0530
|
|
Branch: REL_11_STABLE [603c18b7e] 2020-07-25 10:48:09 +0530
|
|
Branch: REL_10_STABLE [f963b5bc0] 2020-07-25 10:57:20 +0530
|
|
-->
|
|
<para>
|
|
Fix <command>EXPLAIN</command>'s accounting for resource usage,
|
|
particularly buffer accesses, in parallel workers in a plan
|
|
using <literal>Gather Merge</literal> nodes
|
|
(Jehan-Guillaume de Rorthais)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [f1fcf2d3b] 2020-07-14 16:55:35 +1200
|
|
Branch: REL_13_STABLE [b82730429] 2020-07-14 16:57:41 +1200
|
|
Branch: REL_12_STABLE [1231a0b0e] 2020-07-14 17:03:12 +1200
|
|
Branch: REL_11_STABLE [d2761b680] 2020-07-14 16:59:57 +1200
|
|
Branch: REL_10_STABLE [4e02f88a4] 2020-07-14 17:00:28 +1200
|
|
Branch: REL9_6_STABLE [c732df133] 2020-07-14 17:00:57 +1200
|
|
Branch: REL9_5_STABLE [e20003fa0] 2020-07-14 17:01:25 +1200
|
|
-->
|
|
<para>
|
|
Fix timing of constraint revalidation in <command>ALTER
|
|
TABLE</command> (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
If <command>ALTER TABLE</command> needs to fully rewrite the table's
|
|
contents (for example, due to change of a column's data type) and
|
|
also needs to scan the table to re-validate foreign keys
|
|
or <literal>CHECK</literal> constraints, it sometimes did things in
|
|
the wrong order, leading to odd errors such as <quote>could not read
|
|
block 0 in file "base/nnnnn/nnnnn": read only 0 of 8192 bytes</quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_13_BR [1127f0e39] 2020-06-05 10:26:02 +0900
|
|
Branch: REL_12_STABLE [75f147924] 2020-06-05 10:29:27 +0900
|
|
-->
|
|
<para>
|
|
Fix <command>REINDEX CONCURRENTLY</command> to preserve the index's
|
|
replication identity flag (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, reindexing a table's replica identity index caused the
|
|
setting to be lost, preventing old tuple values from being included
|
|
in future logical-decoding output.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: REL_12_STABLE [798b4faef] 2020-07-20 15:54:24 -0400
|
|
Branch: REL_11_STABLE [855195a7b] 2020-07-20 15:54:24 -0400
|
|
Branch: REL_12_STABLE [b7103bbe3] 2020-07-21 11:40:46 -0400
|
|
Branch: REL_11_STABLE [99b0c5da3] 2020-07-21 11:40:47 -0400
|
|
Branch: REL_10_STABLE [ae3d40b0c] 2020-07-21 11:40:47 -0400
|
|
-->
|
|
<para>
|
|
Work around incorrect not-null markings for
|
|
<structname>pg_subscription</structname>.<structfield>subslotname</structfield>
|
|
and <structname>pg_subscription_rel</structname>.<structfield>srsublsn</structfield>
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The bootstrap catalog data incorrectly marks these two catalog
|
|
columns as always non-null. There's no easy way to correct that
|
|
mistake in existing installations (though v13 and later will have
|
|
the correct markings). The main place that depends on that marking
|
|
being correct is JIT-enabled tuple deconstruction, so teach it to
|
|
explicitly ignore the marking for these two columns. Also adjust
|
|
some C code that accessed <structfield>srsublsn</structfield> without
|
|
checking to see if it's null; a crash from that is improbable but
|
|
perhaps not impossible.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a742ecf9c] 2020-07-13 20:38:20 -0400
|
|
Branch: REL_13_STABLE [0734dbc45] 2020-07-13 20:38:20 -0400
|
|
Branch: REL_12_STABLE [d3b642ad9] 2020-07-13 20:38:21 -0400
|
|
Branch: REL_11_STABLE [3753df8f8] 2020-07-13 20:38:21 -0400
|
|
Branch: REL_10_STABLE [6443cd2e2] 2020-07-13 20:38:21 -0400
|
|
Branch: REL9_6_STABLE [dc6bb0994] 2020-07-13 20:38:21 -0400
|
|
Branch: REL9_5_STABLE [80d8f6d1d] 2020-07-13 20:38:21 -0400
|
|
-->
|
|
<para>
|
|
Cope with <literal>LATERAL</literal> references in restriction
|
|
clauses attached to an un-flattened sub-<literal>SELECT</literal> in
|
|
the <literal>FROM</literal> clause (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could result in assertion failures or crashes at
|
|
query execution.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_13_BR [044c99bc5] 2020-06-05 16:18:50 -0400
|
|
Branch: REL_12_STABLE [022cd0bfd] 2020-06-05 16:18:50 -0400
|
|
Branch: master [bd0d893aa] 2020-07-21 19:41:03 -0400
|
|
Branch: REL_13_STABLE [cc4dd2a7a] 2020-07-21 19:40:44 -0400
|
|
Branch: REL_12_STABLE [171633ff5] 2020-07-21 19:40:44 -0400
|
|
-->
|
|
<para>
|
|
Use the query-specified collation for operators invoked during
|
|
selectivity estimation (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, the collation of the underlying database column was
|
|
used. But using the query's collation is arguably more correct.
|
|
More importantly, now that we have nondeterministic collations,
|
|
there are cases where an operator will fail outright if given a
|
|
nondeterministic collation. We don't want planning to fail in cases
|
|
where the query itself would work, so this means that we must use
|
|
the query's collation when invoking operators for estimation
|
|
purposes.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ca5e93f76] 2020-07-03 19:01:21 -0400
|
|
Branch: REL_13_STABLE [9233624b1] 2020-07-03 19:01:21 -0400
|
|
Branch: REL_12_STABLE [153c14cdd] 2020-07-03 19:01:21 -0400
|
|
Branch: REL_11_STABLE [ef799bdd0] 2020-07-03 19:01:21 -0400
|
|
Branch: REL_10_STABLE [5144a40f3] 2020-07-03 19:01:22 -0400
|
|
Branch: REL9_6_STABLE [69a3fe6e6] 2020-07-03 19:01:22 -0400
|
|
Branch: REL9_5_STABLE [d83d59e42] 2020-07-03 19:01:22 -0400
|
|
-->
|
|
<para>
|
|
Avoid believing that a never-analyzed foreign table has zero tuples
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This primarily affected the planner's estimate of the number of
|
|
groups that would be obtained by <literal>GROUP BY</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [986529ce4] 2020-07-09 20:13:25 -0400
|
|
Branch: REL_13_STABLE [c3a79e719] 2020-07-09 20:13:25 -0400
|
|
Branch: REL_12_STABLE [ca5001a36] 2020-07-09 20:13:25 -0400
|
|
Branch: REL_11_STABLE [907283576] 2020-07-09 20:13:25 -0400
|
|
Branch: REL_10_STABLE [40316dfed] 2020-07-09 20:13:24 -0400
|
|
-->
|
|
<para>
|
|
Remove bogus warning about <quote>leftover placeholder tuple</quote>
|
|
in BRIN index de-summarization (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
The case can occur legitimately after a cancelled vacuum, so warning
|
|
about it is overly noisy.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f7b5988cc] 2020-07-03 17:01:34 -0400
|
|
Branch: REL_13_STABLE [cfe89f5e6] 2020-07-03 17:01:34 -0400
|
|
Branch: REL_12_STABLE [8b83e0160] 2020-07-03 17:01:34 -0400
|
|
Branch: REL_11_STABLE [79ed1d99d] 2020-07-03 17:01:34 -0400
|
|
Author: Magnus Hagander <magnus@hagander.net>
|
|
Branch: master [ecd9e9f0b] 2020-07-03 15:09:06 +0200
|
|
Branch: REL_13_STABLE [1d94c3965] 2020-07-03 15:10:12 +0200
|
|
Branch: REL_12_STABLE [28a862e9d] 2020-07-03 15:10:33 +0200
|
|
Branch: REL_11_STABLE [4aa02d072] 2020-07-03 15:10:41 +0200
|
|
-->
|
|
<para>
|
|
Fix selection of tablespaces for <quote>shared fileset</quote>
|
|
temporary files (Magnus Hagander, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
If <varname>temp_tablespaces</varname> is empty or explicitly names
|
|
the database's primary tablespace, such files got placed into
|
|
the <literal>pg_default</literal> tablespace rather than the
|
|
database's primary tablespace as expected.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [a44dd932f] 2020-06-20 17:34:51 +0300
|
|
Branch: REL_13_STABLE [39aafc88c] 2020-06-20 18:14:51 +0300
|
|
Branch: REL_12_STABLE [396a44a01] 2020-06-20 17:35:55 +0300
|
|
Branch: REL_11_STABLE [3f88e2d78] 2020-06-20 17:35:59 +0300
|
|
-->
|
|
<para>
|
|
Fix corner-case error in masking of SP-GiST index pages during WAL
|
|
consistency checking (Alexander Korotkov)
|
|
</para>
|
|
|
|
<para>
|
|
This could cause false failure reports
|
|
when <varname>wal_consistency_checking</varname> is enabled.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [7897e3bb9] 2020-06-16 16:59:07 +1200
|
|
Branch: REL_13_STABLE [3e0b08c40] 2020-06-16 17:00:06 +1200
|
|
Branch: REL_12_STABLE [28ee12669] 2020-06-16 17:00:21 +1200
|
|
Branch: REL_11_STABLE [9c14d6024] 2020-06-16 17:00:37 +1200
|
|
Branch: REL_10_STABLE [95647a1c7] 2020-06-16 17:00:53 +1200
|
|
Branch: REL9_6_STABLE [02b71f06b] 2020-06-16 17:01:07 +1200
|
|
Branch: REL9_5_STABLE [89020a92f] 2020-06-16 17:01:22 +1200
|
|
Branch: master [42dee8b8e] 2020-07-23 21:10:49 +1200
|
|
Branch: REL_13_STABLE [6b366190d] 2020-07-23 21:15:01 +1200
|
|
Branch: REL_12_STABLE [8bf4e69a7] 2020-07-23 21:17:47 +1200
|
|
Branch: REL_11_STABLE [028f0c3a8] 2020-07-23 21:18:02 +1200
|
|
Branch: REL_10_STABLE [fac4145bf] 2020-07-23 21:18:13 +1200
|
|
Branch: REL9_6_STABLE [47adb2488] 2020-07-23 21:18:25 +1200
|
|
Branch: REL9_5_STABLE [3725c8ce4] 2020-07-23 21:18:34 +1200
|
|
-->
|
|
<para>
|
|
Improve error handling in the server's <filename>buffile</filename>
|
|
module (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Fix some cases where I/O errors were indistinguishable from reaching
|
|
EOF, or were not reported at all. Also add details such as block
|
|
numbers and byte counts where appropriate.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
Branch: master [5940ffb22] 2020-06-11 10:09:47 -0700
|
|
Branch: REL_13_STABLE [6df7105e5] 2020-06-11 10:09:45 -0700
|
|
Branch: REL_12_STABLE [e620a38c2] 2020-06-11 10:09:43 -0700
|
|
Branch: REL_11_STABLE [dd616f2ec] 2020-06-11 10:09:40 -0700
|
|
Branch: REL_10_STABLE [19a6e1bc3] 2020-06-11 10:09:37 -0700
|
|
Branch: REL9_6_STABLE [e81dc2b7e] 2020-06-11 10:09:35 -0700
|
|
Branch: REL9_5_STABLE [c05f6b354] 2020-06-11 10:09:32 -0700
|
|
-->
|
|
<para>
|
|
Fix conflict-checking anomalies in <literal>SERIALIZABLE</literal>
|
|
isolation mode (Peter Geoghegan)
|
|
</para>
|
|
|
|
<para>
|
|
If a concurrently-inserted tuple was updated by a different
|
|
concurrent transaction, and neither tuple version was visible to the
|
|
current transaction's snapshot, serialization conflict checking
|
|
could draw the wrong conclusions about whether the tuple was relevant
|
|
to the results of the current transaction. This could allow a
|
|
serializable transaction to commit when it should have failed with a
|
|
serialization error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master Release: REL_13_BR [242dfcbaf] 2020-05-15 16:50:34 -0400
|
|
Branch: REL_12_STABLE [1d84751c6] 2020-05-15 16:50:34 -0400
|
|
Branch: REL_11_STABLE [37b5c5fde] 2020-05-15 16:50:34 -0400
|
|
Branch: REL_10_STABLE [09f2752b0] 2020-05-15 16:50:34 -0400
|
|
Branch: REL9_6_STABLE [4649eb919] 2020-05-15 16:50:34 -0400
|
|
Branch: REL9_5_STABLE [0a319699d] 2020-05-15 16:50:34 -0400
|
|
-->
|
|
<para>
|
|
Avoid repeated marking of dead btree index entries as dead (Masahiko
|
|
Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
While functionally harmless, this led to useless WAL traffic when
|
|
checksums are enabled or <varname>wal_log_hints</varname> is on.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master Release: REL_13_BR [e8abf585a] 2020-05-14 08:39:26 +0300
|
|
Branch: REL_12_STABLE [891a2007e] 2020-05-14 08:40:19 +0300
|
|
-->
|
|
<para>
|
|
Fix checkpointer process to discard file sync requests
|
|
when <varname>fsync</varname> is off (Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
Such requests are treated as no-ops if <varname>fsync</varname> is
|
|
off, but we forgot to remove them from the checkpointer's table of
|
|
pending actions. This would lead to bloat of that table, as well as
|
|
possible assertion failures if <varname>fsync</varname> is later
|
|
re-enabled.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master Release: REL_13_BR [303640199] 2019-12-19 09:06:54 -0500
|
|
Branch: REL_12_STABLE [bcbc27251] 2020-08-06 13:58:23 -0400
|
|
Branch: REL_11_STABLE [f7013683d] 2020-08-06 14:06:24 -0400
|
|
Branch: master Release: REL_13_BR [f05798014] 2020-04-26 13:48:33 +0200
|
|
Branch: REL_12_STABLE [7c78040f6] 2020-08-06 14:55:00 -0400
|
|
Branch: REL_11_STABLE [495a9b1fb] 2020-08-06 15:01:55 -0400
|
|
-->
|
|
<para>
|
|
Avoid trouble during cleanup of a non-exclusive backup when JIT
|
|
compilation has been activated during the backup (Robert Haas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [57cb80630] 2020-06-08 13:57:24 +1200
|
|
Branch: REL_13_STABLE [acefa2cca] 2020-06-08 13:58:10 +1200
|
|
Branch: REL_12_STABLE [72766ad63] 2020-06-08 13:58:35 +1200
|
|
Branch: REL_11_STABLE [48eb6a3c8] 2020-06-08 13:59:57 +1200
|
|
Branch: REL_10_STABLE [fd11b842e] 2020-06-08 14:01:07 +1200
|
|
Branch: REL9_6_STABLE [644cac32a] 2020-06-08 14:01:51 +1200
|
|
Branch: REL9_5_STABLE [09dc17486] 2020-06-08 14:02:20 +1200
|
|
-->
|
|
<para>
|
|
Fix failure of some code paths to acquire the correct lock before
|
|
modifying <filename>pg_control</filename> (Nathan Bossart, Fujii
|
|
Masao)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could allow <filename>pg_control</filename> to be
|
|
written out with an inconsistent checksum, possibly causing trouble
|
|
later, including inability to restart the database if it crashed
|
|
before the next <filename>pg_control</filename> update.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_13_BR [ce1c5b9ae] 2020-06-01 14:41:18 +0900
|
|
Branch: REL_12_STABLE [894041eb2] 2020-06-01 14:41:25 +0900
|
|
Branch: REL_11_STABLE [8bc74490d] 2020-06-01 14:41:32 +0900
|
|
Branch: REL_10_STABLE [a36f21620] 2020-06-01 14:41:37 +0900
|
|
Branch: REL9_6_STABLE [e2fa9732f] 2020-06-01 14:41:42 +0900
|
|
Branch: REL9_5_STABLE [a8c6eb5b4] 2020-06-01 14:41:46 +0900
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_13_BR [e786be5fc] 2020-06-01 10:32:06 +0900
|
|
Branch: REL_12_STABLE [95e389b3c] 2020-06-01 10:32:53 +0900
|
|
-->
|
|
<para>
|
|
Fix errors in <function>currtid()</function>
|
|
and <function>currtid2()</function> (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
These functions (which are undocumented and used only by ancient
|
|
versions of the ODBC driver) contained coding errors that could
|
|
result in crashes, or in confusing error messages such as <quote>could
|
|
not open file</quote> when applied to a relation having no storage.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_13_BR [c1669fd58] 2020-06-04 10:17:49 +0900
|
|
Branch: REL_12_STABLE [03aa25b6e] 2020-06-04 10:18:02 +0900
|
|
Branch: REL_11_STABLE [b41a85f53] 2020-06-04 10:18:06 +0900
|
|
Branch: REL_10_STABLE [5ed8b4a98] 2020-06-04 10:18:11 +0900
|
|
Branch: REL9_6_STABLE [e7a134b58] 2020-06-04 10:18:17 +0900
|
|
Branch: REL9_5_STABLE [4a9809e34] 2020-06-04 10:18:27 +0900
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_13_BR [f88bd3139] 2020-06-03 12:36:23 -0400
|
|
Branch: REL_12_STABLE [3d474a079] 2020-06-03 12:36:24 -0400
|
|
Branch: REL_11_STABLE [7a8cb4a61] 2020-06-03 12:36:00 -0400
|
|
Branch: REL_10_STABLE [0c735c686] 2020-06-03 12:36:00 -0400
|
|
-->
|
|
<para>
|
|
Avoid calling <function>elog()</function>
|
|
or <function>palloc()</function> while holding a spinlock (Michael
|
|
Paquier, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Logic associated with replication slots had several violations of
|
|
this coding rule. While the odds of trouble are quite low, an error
|
|
in the called function would lead to a stuck spinlock.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_13_BR [7ccb2f54d] 2020-05-16 18:15:18 +0900
|
|
Branch: REL_12_STABLE [b4ded2f22] 2020-05-16 18:16:31 +0900
|
|
Branch: REL_11_STABLE [70ae82b9b] 2020-05-16 18:16:37 +0900
|
|
Branch: REL_10_STABLE [3acb30b49] 2020-05-16 18:16:41 +0900
|
|
-->
|
|
<para>
|
|
Fix assertion in logical replication subscriber to allow use
|
|
of <literal>REPLICA IDENTITY FULL</literal> (Euler Taveira)
|
|
</para>
|
|
|
|
<para>
|
|
This was just an incorrect assertion, so it has no impact on
|
|
standard production builds.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master Release: REL_13_BR [7247e243a] 2020-06-07 13:44:13 -0400
|
|
Branch: REL_12_STABLE [2edf14f5a] 2020-06-07 13:44:13 -0400
|
|
-->
|
|
<para>
|
|
Ensure that <application>libpq</application> continues to try to
|
|
read from the database connection socket after a write failure
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This is important not only to ensure that we collect any final error
|
|
message from a dying server process, but because we do not consider
|
|
the connection lost until we see a read failure. This oversight
|
|
allowed <application>libpq</application> to continue trying to
|
|
send <command>COPY</command> data indefinitely after a mid-transfer
|
|
loss of connection, rather than reporting failure to the application.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [25fe5ac45] 2020-07-13 11:58:08 -0400
|
|
Branch: REL_13_STABLE [8e6f134a9] 2020-07-13 11:58:09 -0400
|
|
Branch: REL_12_STABLE [e8b22a8a2] 2020-07-13 11:57:55 -0400
|
|
-->
|
|
<para>
|
|
Fix bugs in <application>libpq</application>'s management of GSS
|
|
encryption state (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A connection using GSS encryption could freeze up when attempting to
|
|
reset it after a server restart, or when moving on to the next one of
|
|
a list of candidate servers.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Meskes <meskes@postgresql.org>
|
|
Branch: master [e576f71fb] 2020-06-30 18:34:41 +0200
|
|
Branch: REL_13_STABLE [70dc45e8c] 2020-06-30 19:35:22 +0200
|
|
Branch: REL_12_STABLE [6425d6f6a] 2020-06-30 18:35:21 +0200
|
|
-->
|
|
<para>
|
|
Fix <application>ecpg</application> crash with <type>bytea</type>
|
|
and cursor variables (Jehan-Guillaume de Rorthais)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [ae3259c55] 2020-06-19 16:46:07 -0400
|
|
Branch: REL_13_STABLE [e74559c97] 2020-06-19 16:46:07 -0400
|
|
Branch: REL_12_STABLE [5b52008a6] 2020-06-19 16:46:07 -0400
|
|
Branch: REL_11_STABLE [2e155d90d] 2020-06-19 16:46:07 -0400
|
|
Branch: REL_10_STABLE [411febd53] 2020-06-19 16:46:07 -0400
|
|
Branch: REL9_6_STABLE [83762d0a9] 2020-06-19 16:46:07 -0400
|
|
Branch: REL9_5_STABLE [bbbce94dc] 2020-06-19 16:46:06 -0400
|
|
-->
|
|
<para>
|
|
Report out-of-disk-space errors properly
|
|
in <application>pg_dump</application>
|
|
and <application>pg_basebackup</application> (Justin Pryzby, Tom
|
|
Lane, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Some code paths could produce silly reports like <quote>could not
|
|
write file: Success</quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f009591d6] 2020-07-17 13:04:05 -0400
|
|
Branch: REL_13_STABLE [71e8e66f7] 2020-07-17 13:04:06 -0400
|
|
Branch: REL_12_STABLE [66232220e] 2020-07-17 13:03:50 -0400
|
|
Branch: master [a8d0732ac] 2020-07-17 13:04:05 -0400
|
|
Branch: REL_13_STABLE [447cf2f8e] 2020-07-17 13:04:06 -0400
|
|
Branch: REL_12_STABLE [39a068ce6] 2020-07-17 12:14:28 -0400
|
|
-->
|
|
<para>
|
|
Make <application>pg_restore</application> cope with
|
|
data-offset-less custom-format archive files when it needs to
|
|
restore data items out of order (David Gilman, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
<application>pg_dump</application> will produce such files if it
|
|
cannot seek its output (for example, if the output is piped to
|
|
something). This fix primarily improves the ability to do a
|
|
parallel restore from such a file.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [ea9125304] 2020-07-11 13:36:50 -0400
|
|
Branch: REL_13_STABLE [bc9aaac1a] 2020-07-11 13:36:50 -0400
|
|
Branch: REL_12_STABLE [5fea14f4b] 2020-07-11 13:36:50 -0400
|
|
Branch: REL_11_STABLE [4fdc559c8] 2020-07-11 13:36:50 -0400
|
|
Branch: REL_10_STABLE [2d43c3057] 2020-07-11 13:36:51 -0400
|
|
Branch: REL9_6_STABLE [303322c5a] 2020-07-11 13:36:51 -0400
|
|
Branch: REL9_5_STABLE [db820b9a9] 2020-07-11 13:36:51 -0400
|
|
-->
|
|
<para>
|
|
Fix parallel restore of tables having both table-level privileges
|
|
and per-column privileges (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The table-level privilege grants have to be applied first, but a
|
|
parallel restore did not reliably order them that way; this could
|
|
lead to <quote>tuple concurrently updated</quote> errors, or to
|
|
disappearance of some per-column privilege grants. The fix for this
|
|
is to include dependency links between such entries in the archive
|
|
file, meaning that a new dump has to be taken with a
|
|
corrected <application>pg_dump</application> to ensure that the
|
|
problem will not recur.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Bruce Momjian <bruce@momjian.us>
|
|
Branch: master [3f5863e15] 2020-06-15 20:59:40 -0400
|
|
Branch: REL_13_STABLE [a2c72851a] 2020-06-15 20:59:40 -0400
|
|
Branch: REL_12_STABLE [8e933596c] 2020-06-15 20:59:40 -0400
|
|
Branch: REL_11_STABLE [aeb785c0f] 2020-06-15 20:59:40 -0400
|
|
Branch: REL_10_STABLE [9170da96d] 2020-06-15 20:59:40 -0400
|
|
Branch: REL9_6_STABLE [5c1bfd627] 2020-06-15 20:59:40 -0400
|
|
Branch: REL9_5_STABLE [39c698cff] 2020-06-15 20:59:40 -0400
|
|
-->
|
|
<para>
|
|
Ensure that <application>pg_upgrade</application> runs
|
|
with <varname>vacuum_defer_cleanup_age</varname> set to zero in the
|
|
target cluster (Bruce Momjian)
|
|
</para>
|
|
|
|
<para>
|
|
If the target cluster's configuration has been modified to
|
|
set <varname>vacuum_defer_cleanup_age</varname> to a nonzero value,
|
|
that prevented freezing of the system catalogs from working properly,
|
|
which caused the upgrade to fail in confusing ways. Ensure that any
|
|
such setting is overridden for the duration of the upgrade.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master Release: REL_13_BR [cee9cadb5] 2020-05-13 20:42:09 -0700
|
|
Branch: REL_12_STABLE [73a5c0d81] 2020-05-13 20:42:24 -0700
|
|
Branch: REL_11_STABLE [a26789452] 2020-05-13 20:42:37 -0700
|
|
Branch: REL_10_STABLE [970ed4493] 2020-05-13 20:42:42 -0700
|
|
Branch: REL9_6_STABLE [1ab5b672e] 2020-05-13 20:42:46 -0700
|
|
Branch: REL9_5_STABLE [595b4115c] 2020-05-13 20:42:49 -0700
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master Release: REL_13_BR [8222a9d9a] 2020-05-13 20:42:09 -0700
|
|
Branch: REL_12_STABLE [7130be8aa] 2020-05-13 20:42:23 -0700
|
|
Branch: REL_11_STABLE [357012e17] 2020-05-13 20:42:34 -0700
|
|
Branch: REL_10_STABLE [a28db2081] 2020-05-13 20:42:42 -0700
|
|
-->
|
|
<para>
|
|
Fix <application>pg_recvlogical</application> to drain pending
|
|
messages before exiting (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
Without this, the replication sender might detect a send failure and
|
|
exit without making the expected final update to the replication
|
|
slot's LSN position. That led to re-transmitting data after the
|
|
next connection. It was also possible to miss error messages sent
|
|
after the last data that <application>pg_recvlogical</application>
|
|
wants to consume.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [1d09fb1f0] 2020-07-15 15:17:23 +0900
|
|
Branch: REL_13_STABLE [5f89bb4cf] 2020-07-15 15:17:32 +0900
|
|
Branch: REL_12_STABLE [92927477f] 2020-07-15 15:17:36 +0900
|
|
Branch: REL_11_STABLE [c6d33d144] 2020-07-15 15:17:44 +0900
|
|
Branch: REL_10_STABLE [23924feca] 2020-07-15 15:17:49 +0900
|
|
Branch: REL9_6_STABLE [14fe80413] 2020-07-15 15:17:55 +0900
|
|
Branch: REL9_5_STABLE [18ec25412] 2020-07-15 15:18:01 +0900
|
|
-->
|
|
<para>
|
|
Fix <application>pg_rewind</application>'s handling of just-deleted
|
|
files in the source data directory (Justin Pryzby, Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
When working with an on-line source database, concurrent file
|
|
deletions are possible, but <application>pg_rewind</application>
|
|
would get confused if deletion happened between seeing a file's
|
|
directory entry and examining it with <function>stat()</function>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [932f9fb50] 2020-07-16 15:52:37 +0900
|
|
Branch: REL_13_STABLE [beebbb39d] 2020-07-16 15:52:54 +0900
|
|
Branch: REL_12_STABLE [cd113a0b4] 2020-07-16 15:52:58 +0900
|
|
Branch: REL_11_STABLE [de559c2b0] 2020-07-16 15:53:01 +0900
|
|
Branch: REL_10_STABLE [800ec48f5] 2020-07-16 15:53:04 +0900
|
|
Branch: REL9_6_STABLE [a452b239e] 2020-07-16 15:53:09 +0900
|
|
Branch: REL9_5_STABLE [ab7ce97ec] 2020-07-16 15:53:12 +0900
|
|
-->
|
|
<para>
|
|
Make <application>pg_test_fsync</application> use binary I/O mode on
|
|
Windows (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Previously it wrote the test file in text mode, which is not an
|
|
accurate reflection of <productname>PostgreSQL</productname>'s
|
|
actual usage.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master Release: REL_13_BR [34dae902c] 2020-05-14 12:44:44 +0300
|
|
Branch: REL_12_STABLE [ae1f9b0a9] 2020-05-14 12:46:08 +0300
|
|
Branch: REL_11_STABLE [b9a45d8db] 2020-05-14 12:46:15 +0300
|
|
-->
|
|
<para>
|
|
Fix <filename>contrib/amcheck</filename> to not complain about
|
|
deleted index pages that are empty (Alexander Korotkov)
|
|
</para>
|
|
|
|
<para>
|
|
This state of affairs is normal during WAL replay.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Joe Conway <mail@joeconway.com>
|
|
Branch: master Release: REL_13_BR [9003b76e1] 2020-05-28 13:44:54 -0400
|
|
Branch: REL_12_STABLE [e8eb48595] 2020-05-28 13:44:59 -0400
|
|
Branch: REL_11_STABLE [49a00e07c] 2020-05-28 13:45:02 -0400
|
|
Branch: REL_10_STABLE [43d3d7318] 2020-05-28 13:45:06 -0400
|
|
Branch: REL9_6_STABLE [43d7934a3] 2020-05-28 13:45:11 -0400
|
|
Branch: REL9_5_STABLE [f140d9b6e] 2020-05-28 13:45:15 -0400
|
|
-->
|
|
<para>
|
|
Fix failure to initialize local state correctly
|
|
in <filename>contrib/dblink</filename> (Joe Conway)
|
|
</para>
|
|
|
|
<para>
|
|
With the right combination of circumstances, this could lead to
|
|
<function>dblink_close()</function> issuing an unexpected
|
|
remote <command>COMMIT</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b9b610577] 2020-07-23 17:20:01 -0400
|
|
Branch: REL_13_STABLE [7dab4569d] 2020-07-23 17:20:01 -0400
|
|
Branch: REL_12_STABLE [3d4a77815] 2020-07-23 17:20:02 -0400
|
|
Branch: REL_11_STABLE [475c69c97] 2020-07-23 17:20:03 -0400
|
|
Branch: REL_10_STABLE [d8ec3b126] 2020-07-23 17:20:03 -0400
|
|
Branch: REL9_6_STABLE [ccf964a80] 2020-07-23 17:20:04 -0400
|
|
Branch: REL9_5_STABLE [d0519e9fe] 2020-07-23 17:20:04 -0400
|
|
-->
|
|
<para>
|
|
Fix <filename>contrib/pgcrypto</filename>'s misuse
|
|
of <function>deflate()</function> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The <function>pgp_sym_encrypt</function> functions could produce
|
|
incorrect compressed data due to mishandling
|
|
of <application>zlib</application>'s API requirements. We have no
|
|
reports of this error manifesting with
|
|
stock <application>zlib</application>, but it can be seen when using
|
|
IBM's <application>zlibNX</application> implementation.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [a3ab7a707] 2020-07-27 15:58:32 +0900
|
|
Branch: REL_13_STABLE [0caf1fc6e] 2020-07-27 15:58:54 +0900
|
|
Branch: REL_12_STABLE [5bd087eb5] 2020-07-27 15:58:59 +0900
|
|
Branch: REL_11_STABLE [202fc4ca5] 2020-07-27 15:59:03 +0900
|
|
Branch: REL_10_STABLE [9729f9979] 2020-07-27 15:59:07 +0900
|
|
Branch: REL9_6_STABLE [8a60f541f] 2020-07-27 15:59:13 +0900
|
|
Branch: REL9_5_STABLE [aaa132a65] 2020-07-27 15:59:22 +0900
|
|
Branch: REL_11_STABLE [1785ac8ad] 2020-08-02 11:00:12 -0400
|
|
Branch: REL_10_STABLE [e1b4135cf] 2020-08-02 11:00:12 -0400
|
|
-->
|
|
<para>
|
|
Fix corner case in decompression logic
|
|
in <filename>contrib/pgcrypto</filename>'s
|
|
<function>pgp_sym_decrypt</function> functions (Kyotaro Horiguchi,
|
|
Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
A compressed stream can validly end with an empty packet, but the
|
|
decompressor failed to handle this and would complain about corrupt
|
|
data.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master Release: REL_13_BR [a16915545] 2020-05-14 09:24:33 +0530
|
|
Branch: REL_12_STABLE [98171e59a] 2020-05-14 09:34:46 +0530
|
|
Branch: REL_11_STABLE [1fbfc3d8a] 2020-05-14 09:39:04 +0530
|
|
Branch: REL_10_STABLE [33b772801] 2020-05-14 09:44:21 +0530
|
|
Branch: REL9_6_STABLE [a1466e194] 2020-05-14 09:50:10 +0530
|
|
Branch: REL9_5_STABLE [650952aeb] 2020-05-14 09:55:04 +0530
|
|
-->
|
|
<para>
|
|
Support building our NLS code with Microsoft Visual Studio 2015 or
|
|
later (Juan José Santamaría Flecha, Davinder Singh,
|
|
Amit Kapila)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master Release: REL_13_BR [d2a995990] 2020-05-21 14:41:15 +0900
|
|
Branch: REL_12_STABLE [089baec6f] 2020-05-21 14:41:30 +0900
|
|
Branch: REL_11_STABLE [bb24af50d] 2020-05-21 14:41:33 +0900
|
|
Branch: REL_10_STABLE [8dfc7d888] 2020-05-21 14:41:36 +0900
|
|
Branch: REL9_6_STABLE [57dc672c2] 2020-05-21 14:41:40 +0900
|
|
Branch: REL9_5_STABLE [8de137017] 2020-05-21 14:41:43 +0900
|
|
-->
|
|
<para>
|
|
Avoid possible failure of our MSVC install script when there is a
|
|
file named <filename>configure</filename> several levels above the
|
|
source code tree (Arnold Müller)
|
|
</para>
|
|
|
|
<para>
|
|
This could confuse some logic that looked
|
|
for <filename>configure</filename> to identify the top level of the
|
|
source tree.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-3">
|
|
<title>Release 12.3</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2020-05-14</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.2.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.3</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you are upgrading from a version earlier than 12.2,
|
|
see <xref linkend="release-12-2"/>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: David Rowley <drowley@postgresql.org>
|
|
Branch: master [3cb02e307] 2020-04-18 14:10:37 +1200
|
|
Branch: REL_12_STABLE [a375f11c4] 2020-04-18 14:11:21 +1200
|
|
-->
|
|
<para>
|
|
Fix possible failure with <literal>GENERATED</literal> columns
|
|
(David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
If a <literal>GENERATED</literal> column's value is an exact copy of
|
|
another column of the table (and it is a pass-by-reference data
|
|
type), it was possible to crash or insert corrupted data into the
|
|
table. While it would be rather pointless for
|
|
a <literal>GENERATED</literal> expression to just duplicate another
|
|
column, an expression using a function that sometimes returns its
|
|
input unchanged could create the situation.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [086ffddf3] 2020-05-08 11:31:57 +0200
|
|
Branch: REL_12_STABLE [14751c340] 2020-05-08 11:31:46 +0200
|
|
-->
|
|
<para>
|
|
Handle inheritance of generated columns better (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
When a table column is inherited during <command>CREATE TABLE
|
|
... INHERITS</command>, disallow changing any generation properties
|
|
when the parent column is already
|
|
marked <literal>GENERATED</literal>; but allow a child column to be
|
|
marked <literal>GENERATED</literal> when its parent is not.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [e92e4a2b6] 2020-04-09 16:36:45 +0200
|
|
Branch: REL_12_STABLE [f06d583c5] 2020-04-09 16:34:30 +0200
|
|
-->
|
|
<para>
|
|
Fix cross-column references in <command>CREATE TABLE LIKE INCLUDING
|
|
GENERATED</command> (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
<command>CREATE TABLE ... LIKE</command> failed when trying to copy
|
|
a <literal>GENERATED</literal> expression that references a
|
|
physically-later column.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [501e41dd3] 2020-05-08 08:39:17 +0200
|
|
Branch: REL_12_STABLE [bf7233ee4] 2020-05-08 09:18:15 +0200
|
|
Branch: REL_11_STABLE [03a8a5f2d] 2020-05-08 09:30:57 +0200
|
|
-->
|
|
<para>
|
|
Propagate <command>ALTER TABLE ... SET STORAGE</command> to indexes
|
|
(Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Non-expression index columns have always copied
|
|
the <structfield>attstorage</structfield> property of their table
|
|
column at creation. Update them when <command>ALTER TABLE ... SET
|
|
STORAGE</command> is done, to maintain consistency.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [a40caf5f8] 2020-04-06 11:03:49 +0900
|
|
Branch: REL_12_STABLE [3e62dd3a9] 2020-04-06 11:05:47 +0900
|
|
Branch: REL_11_STABLE [41faafbd7] 2020-04-06 11:05:54 +0900
|
|
Branch: REL_10_STABLE [cef2b8d52] 2020-04-06 11:05:57 +0900
|
|
Branch: REL9_6_STABLE [61a161fe4] 2020-04-06 11:06:04 +0900
|
|
Branch: REL9_5_STABLE [3f77a6702] 2020-04-06 11:06:07 +0900
|
|
-->
|
|
<para>
|
|
Preserve the <structfield>indisclustered</structfield> setting of
|
|
indexes rewritten by <command>ALTER TABLE</command> (Amit Langote,
|
|
Justin Pryzby)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, <command>ALTER TABLE</command> lost track of which index
|
|
had been used for <command>CLUSTER</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [1cc9c2412] 2020-03-13 11:57:06 +0100
|
|
Branch: REL_12_STABLE [c9ef507e8] 2020-03-13 11:57:20 +0100
|
|
Branch: REL_11_STABLE [15cbbf81a] 2020-03-13 12:24:44 +0100
|
|
Branch: REL_10_STABLE [02530da73] 2020-03-13 13:03:28 +0100
|
|
Branch: REL9_6_STABLE [2f0dd9d93] 2020-03-13 13:21:05 +0100
|
|
Branch: REL9_5_STABLE [c15d35041] 2020-03-13 13:21:30 +0100
|
|
-->
|
|
<para>
|
|
Preserve the replica identity properties of indexes rewritten
|
|
by <command>ALTER TABLE</command> (Quan Zongliang, Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [d79fb88ac] 2020-03-03 10:12:28 +0900
|
|
Branch: REL_12_STABLE [f087d63a4] 2020-03-03 10:12:49 +0900
|
|
-->
|
|
<para>
|
|
Preserve the <structfield>indisclustered</structfield> setting of
|
|
indexes rebuilt by <command>REINDEX CONCURRENTLY</command>
|
|
(Justin Pryzby)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [5be594caf] 2020-05-06 12:29:41 -0400
|
|
Branch: REL_12_STABLE [2eea49471] 2020-05-06 12:29:41 -0400
|
|
Branch: REL_11_STABLE [59273a7ce] 2020-05-06 12:29:41 -0400
|
|
Branch: REL_10_STABLE [4d21263ff] 2020-05-06 12:29:41 -0400
|
|
Branch: REL9_6_STABLE [2bf56f50e] 2020-05-06 12:29:41 -0400
|
|
Branch: REL9_5_STABLE [91d97462c] 2020-05-06 12:29:41 -0400
|
|
-->
|
|
<para>
|
|
Lock objects sooner during <command>DROP OWNED BY</command>
|
|
(Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids failures in race-condition cases where another session is
|
|
deleting some of the same objects.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [d9a4cce29] 2020-04-25 05:09:30 +0100
|
|
Branch: REL_12_STABLE [d0360632d] 2020-04-25 05:10:24 +0100
|
|
Branch: REL_11_STABLE [0f4970d1a] 2020-04-25 05:10:19 +0100
|
|
Branch: REL_10_STABLE [287f6d2d9] 2020-04-25 05:10:13 +0100
|
|
Branch: REL9_6_STABLE [86b7a4e6f] 2020-04-25 05:10:10 +0100
|
|
Branch: REL9_5_STABLE [b3824ca22] 2020-04-25 05:10:05 +0100
|
|
-->
|
|
<para>
|
|
Fix error-case processing for <command>CREATE ROLE ... IN
|
|
ROLE</command> (Andrew Gierth)
|
|
</para>
|
|
|
|
<para>
|
|
Some error cases would be reported as <quote>unexpected node
|
|
type</quote> or the like, instead of the intended message.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [afccd76f1] 2020-04-21 13:57:00 -0400
|
|
Branch: REL_12_STABLE [e26c8a6b3] 2020-04-21 13:57:00 -0400
|
|
Branch: REL_11_STABLE [0b83c4721] 2020-04-21 13:57:00 -0400
|
|
-->
|
|
<para>
|
|
Ensure that when a partition is detached, any triggers cloned from
|
|
its formerly-parent table are removed (Justin Pryzby)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [c0187869a] 2020-04-08 15:04:51 +0900
|
|
Branch: REL_12_STABLE [0a9ae1800] 2020-04-08 15:04:57 +0900
|
|
-->
|
|
<para>
|
|
Fix crash when <literal>COLLATE</literal> is applied to a
|
|
non-collatable type in a partition bound expression (Dmitry Dolgov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [501b01879] 2020-04-01 14:49:49 -0400
|
|
Branch: REL_12_STABLE [76ea60696] 2020-04-01 14:49:49 -0400
|
|
Branch: REL_11_STABLE [76ddc88f4] 2020-04-01 14:49:49 -0400
|
|
-->
|
|
<para>
|
|
Ensure that unique indexes over partitioned tables match the
|
|
equality semantics of the partitioning key (Guancheng Luo)
|
|
</para>
|
|
|
|
<para>
|
|
This would only be an issue with index opclasses that have unusual
|
|
notions of equality, but it's wrong in theory, so check.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Magnus Hagander <magnus@hagander.net>
|
|
Branch: master [7e4e57474] 2020-04-20 12:53:40 +0200
|
|
Branch: REL_12_STABLE [212e712a5] 2020-04-20 12:56:26 +0200
|
|
Branch: REL_11_STABLE [3d4652f67] 2020-04-20 12:57:12 +0200
|
|
Branch: REL_10_STABLE [d0bb66572] 2020-04-20 12:57:24 +0200
|
|
-->
|
|
<para>
|
|
Ensure that members of the <literal>pg_read_all_stats</literal> role
|
|
can read all statistics views, as expected (Magnus Hagander)
|
|
</para>
|
|
|
|
<para>
|
|
The functions underlying
|
|
the <structname>pg_stat_progress_*</structname> views had not gotten
|
|
this memo.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [baf17ad9d] 2020-04-24 12:02:36 -0400
|
|
Branch: REL_12_STABLE [64e49a67e] 2020-04-24 12:02:36 -0400
|
|
Branch: REL_11_STABLE [776f6d3d0] 2020-04-24 12:02:36 -0400
|
|
-->
|
|
<para>
|
|
Repair performance regression in
|
|
<structname>information_schema</structname>.<structname>triggers</structname>
|
|
view (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This patch redefines that view so that an
|
|
outer <literal>WHERE</literal> clause constraining the table name
|
|
can be pushed down into the view, allowing its calculations to be
|
|
done only for triggers belonging to the table of interest rather
|
|
than all triggers in the database. In a database with many triggers
|
|
this would make a significant speed difference for queries of that
|
|
form. Since things worked that way before v11, this is a potential
|
|
performance regression. Users who find this to be a problem can fix
|
|
it by replacing the view definition (or, perhaps, just deleting and
|
|
reinstalling the whole <structname>information_schema</structname>
|
|
schema).
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [607f8ce74] 2020-02-13 13:37:43 -0500
|
|
Branch: REL_12_STABLE [764a554d6] 2020-02-13 13:37:43 -0500
|
|
-->
|
|
<para>
|
|
Repair performance regression in floating point overflow/underflow
|
|
detection (Emre Hasegeli)
|
|
</para>
|
|
|
|
<para>
|
|
Previous refactoring had resulted in <function>isinf()</function>
|
|
being called extra times in some hot code paths.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e81e5741a] 2020-04-27 12:21:04 -0400
|
|
Branch: REL_12_STABLE [18f7e856c] 2020-04-27 12:21:04 -0400
|
|
Branch: REL_11_STABLE [98a4d6950] 2020-04-27 12:21:04 -0400
|
|
Branch: REL_10_STABLE [072a86327] 2020-04-27 12:21:04 -0400
|
|
Branch: REL9_6_STABLE [22dcb6c20] 2020-04-27 12:21:04 -0400
|
|
-->
|
|
<para>
|
|
Fix full text search to handle NOT above a phrase search correctly
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Queries such as <literal>!(foo<->bar)</literal> failed to find
|
|
matching rows when implemented as a GiST or GIN index search.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [db89f0e3a] 2020-05-07 15:59:51 -0400
|
|
Branch: REL_12_STABLE [e1d70ba43] 2020-05-07 15:59:51 -0400
|
|
Branch: REL_11_STABLE [5db48808c] 2020-05-07 15:59:52 -0400
|
|
Branch: REL_10_STABLE [26cf16a93] 2020-05-07 15:59:52 -0400
|
|
Branch: REL9_6_STABLE [7c9d9aa5c] 2020-05-07 15:59:52 -0400
|
|
-->
|
|
<para>
|
|
Fix full text search for cases where a phrase search includes an
|
|
item with both prefix matching and a weight restriction (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c9b0c678d] 2020-04-09 13:19:23 -0400
|
|
Branch: REL_12_STABLE [841378947] 2020-04-09 13:19:23 -0400
|
|
Branch: REL_11_STABLE [91be1d190] 2020-04-09 13:19:23 -0400
|
|
Branch: REL_10_STABLE [5f7247b3b] 2020-04-09 13:19:23 -0400
|
|
Branch: REL9_6_STABLE [c81de3a82] 2020-04-09 13:19:23 -0400
|
|
Branch: master [2e0e409e3] 2020-04-09 15:38:43 -0400
|
|
Branch: REL_12_STABLE [07453e9e3] 2020-04-09 15:38:52 -0400
|
|
Branch: REL_11_STABLE [d9a3fe4c5] 2020-04-09 15:38:57 -0400
|
|
Branch: REL_10_STABLE [9be664d71] 2020-04-09 15:39:02 -0400
|
|
Branch: REL9_6_STABLE [c2599b93d] 2020-04-09 15:39:09 -0400
|
|
Branch: master [b10f8bb9f] 2020-04-09 12:36:59 -0400
|
|
Branch: REL_12_STABLE [1306edeae] 2020-04-09 12:36:59 -0400
|
|
Branch: REL_11_STABLE [ff081d6bb] 2020-04-09 12:37:00 -0400
|
|
Branch: REL_10_STABLE [afab39986] 2020-04-09 12:37:00 -0400
|
|
Branch: REL9_6_STABLE [638519156] 2020-04-09 12:37:00 -0400
|
|
-->
|
|
<para>
|
|
Fix <function>ts_headline()</function> to make better headline
|
|
selections when working with phrase queries (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e41955faf] 2020-04-03 13:15:45 -0400
|
|
Branch: REL_12_STABLE [05f4a8818] 2020-04-03 13:15:30 -0400
|
|
Branch: REL_11_STABLE [0912fb39c] 2020-04-03 13:15:30 -0400
|
|
Branch: REL_10_STABLE [44c763fe9] 2020-04-03 13:15:30 -0400
|
|
Branch: REL9_6_STABLE [49b0d13d7] 2020-04-03 13:15:30 -0400
|
|
Branch: REL9_5_STABLE [8150f7813] 2020-04-03 13:15:30 -0400
|
|
Branch: REL9_5_STABLE [e82b6e00a] 2020-04-06 12:29:54 -0400
|
|
-->
|
|
<para>
|
|
Fix bugs in <varname>gin_fuzzy_search_limit</varname> processing
|
|
(Adé Heyward, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A small value of <varname>gin_fuzzy_search_limit</varname> could
|
|
result in unexpected slowness due to unintentionally rescanning the
|
|
same index page many times. Another code path failed to apply the
|
|
intended filtering at all, possibly returning too many values.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [41a194f49] 2020-04-07 20:50:28 -0400
|
|
Branch: REL_12_STABLE [35d1eefb2] 2020-04-07 20:50:02 -0400
|
|
Branch: REL_11_STABLE [5fae66410] 2020-04-07 20:50:02 -0400
|
|
Branch: REL_10_STABLE [4c7a311a2] 2020-04-07 20:50:02 -0400
|
|
Branch: REL9_6_STABLE [049e9f48e] 2020-04-07 20:50:02 -0400
|
|
Branch: REL9_5_STABLE [ebd194ac5] 2020-04-07 20:50:02 -0400
|
|
-->
|
|
<para>
|
|
Allow input of type <type>circle</type> to accept the format
|
|
<quote><literal>(<replaceable>x</replaceable>,<replaceable>y</replaceable>),<replaceable>r</replaceable></literal></quote>
|
|
as the documentation says it does (David Zhang)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [26a944cf2] 2020-04-07 15:57:58 -0400
|
|
Branch: REL_12_STABLE [6e6b74a20] 2020-04-07 16:30:55 -0400
|
|
Branch: REL_11_STABLE [5d79fc60c] 2020-04-07 16:30:55 -0400
|
|
Branch: REL_10_STABLE [889786e0e] 2020-04-07 16:30:55 -0400
|
|
Branch: REL9_6_STABLE [e40c4d491] 2020-04-07 16:30:55 -0400
|
|
Branch: REL9_5_STABLE [dbb121038] 2020-04-07 16:30:55 -0400
|
|
-->
|
|
<para>
|
|
Make the <function>get_bit()</function>
|
|
and <function>set_bit()</function> functions cope
|
|
with <type>bytea</type> strings longer than 256MB (Movead Li)
|
|
</para>
|
|
|
|
<para>
|
|
Since the bit number argument is only <type>int4</type>, it's
|
|
impossible to use these functions to access bits beyond the first
|
|
256MB of a long <type>bytea</type>. We'll widen the argument
|
|
to <type>int8</type> in v13, but in the meantime, allow these
|
|
functions to work on the initial substring of a
|
|
long <type>bytea</type>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [82e801852] 2020-03-31 12:57:55 -0400
|
|
Branch: REL_12_STABLE [ee40e8975] 2020-03-31 12:57:55 -0400
|
|
Branch: REL_11_STABLE [5b22ff764] 2020-03-31 12:57:55 -0400
|
|
Branch: REL_10_STABLE [83f7761d8] 2020-03-31 12:57:55 -0400
|
|
-->
|
|
<para>
|
|
Ignore file-not-found errors in <function>pg_ls_waldir()</function>
|
|
and allied functions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents a race condition failure if a file is removed between
|
|
when we see its directory entry and when we attempt
|
|
to <function>stat()</function> it.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [085b6b667] 2020-03-11 15:27:59 -0400
|
|
Branch: REL_12_STABLE [3c8864fc1] 2020-03-11 15:27:59 -0400
|
|
Branch: REL_11_STABLE [63b51dfec] 2020-03-11 15:27:59 -0400
|
|
Branch: REL_10_STABLE [05283dd5b] 2020-03-11 15:28:00 -0400
|
|
Branch: master [a029a0641] 2020-03-11 18:24:11 -0400
|
|
Branch: REL_12_STABLE [630590d6f] 2020-03-11 18:24:13 -0400
|
|
Branch: REL_11_STABLE [13f353b0e] 2020-03-11 18:24:14 -0400
|
|
Branch: REL_10_STABLE [064e029e6] 2020-03-11 18:24:15 -0400
|
|
Branch: master [b4570d33a] 2020-03-16 21:05:52 -0400
|
|
Branch: REL_12_STABLE [2a89455aa] 2020-03-16 21:05:53 -0400
|
|
Branch: REL_11_STABLE [819d55257] 2020-03-16 21:05:54 -0400
|
|
Branch: REL_10_STABLE [5e4a0b719] 2020-03-16 21:05:55 -0400
|
|
Branch: REL9_6_STABLE [cd6a05187] 2020-03-16 21:05:56 -0400
|
|
Branch: REL9_5_STABLE [da254148f] 2020-03-16 21:05:29 -0400
|
|
-->
|
|
<para>
|
|
Avoid possibly leaking an open-file descriptor for a directory
|
|
in <function>pg_ls_dir()</function>,
|
|
<function>pg_timezone_names()</function>,
|
|
<function>pg_tablespace_databases()</function>, and allied functions
|
|
(Justin Pryzby)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4dbcb3f84] 2020-03-14 14:42:22 -0400
|
|
Branch: REL_12_STABLE [390984f92] 2020-03-14 14:42:22 -0400
|
|
Branch: REL_11_STABLE [540ef37cc] 2020-03-14 14:42:22 -0400
|
|
Branch: REL_10_STABLE [61d14971d] 2020-03-14 14:42:22 -0400
|
|
Branch: REL9_6_STABLE [30e491653] 2020-03-14 14:42:22 -0400
|
|
Branch: REL9_5_STABLE [a1ef0f373] 2020-03-14 14:42:22 -0400
|
|
-->
|
|
<para>
|
|
Fix polymorphic-function type resolution to correctly infer the
|
|
actual type of an <type>anyarray</type> output when given only
|
|
an <type>anyrange</type> input (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Stephen Frost <sfrost@snowman.net>
|
|
Branch: master [b68a560f8] 2020-05-02 11:39:26 -0400
|
|
Branch: REL_12_STABLE [79e594cf0] 2020-05-02 11:39:32 -0400
|
|
-->
|
|
<para>
|
|
Fix server's connection-startup logic for case where a GSSAPI
|
|
connection is rejected because support is not compiled in, and the
|
|
client then tries SSL instead (Andrew Gierth)
|
|
</para>
|
|
|
|
<para>
|
|
This led to a bogus <quote>unsupported frontend protocol</quote>
|
|
failure.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [46da7bf67] 2020-05-05 13:10:17 -0400
|
|
Branch: REL_12_STABLE [987717d7c] 2020-05-05 13:10:09 -0400
|
|
-->
|
|
<para>
|
|
Fix memory leakage during GSSAPI encryption (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Both the backend and libpq would leak memory equivalent to the total
|
|
amount of data sent during the session, if GSSAPI encryption is in use.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [299298bc8] 2020-04-22 19:53:06 -0700
|
|
Branch: REL_12_STABLE [95695c784] 2020-04-22 19:55:53 -0700
|
|
-->
|
|
<para>
|
|
Fix query-lifespan memory leak for a set-returning function used in
|
|
a query's <literal>FROM</literal> clause (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [58c47ccff] 2020-02-29 13:48:09 -0500
|
|
Branch: REL_12_STABLE [96d783ae5] 2020-02-29 13:48:10 -0500
|
|
Branch: REL_11_STABLE [9eb6b652a] 2020-02-29 13:48:10 -0500
|
|
-->
|
|
<para>
|
|
Avoid leakage of a hashed subplan's hash tables across multiple
|
|
executions (Andreas Karlsson, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This mistake could result in severe memory bloat if a query
|
|
re-executed a hashed subplan enough times.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a477bfc1d] 2020-02-26 18:14:12 -0500
|
|
Branch: REL_12_STABLE [30d5c6bf2] 2020-02-26 18:14:13 -0500
|
|
-->
|
|
<para>
|
|
Improve planner's handling of no-op domain coercions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Fix some cases where a domain coercion that does nothing was not
|
|
completely removed from expressions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d12bdba77] 2020-04-21 15:58:42 -0400
|
|
Branch: REL_12_STABLE [5a4efd100] 2020-04-21 15:58:42 -0400
|
|
Branch: REL_11_STABLE [56259c377] 2020-04-21 15:58:42 -0400
|
|
Branch: REL_10_STABLE [e6c17c85a] 2020-04-21 15:58:42 -0400
|
|
Branch: REL9_6_STABLE [5c1c27eef] 2020-04-21 15:58:43 -0400
|
|
Branch: REL9_5_STABLE [36714f8ca] 2020-04-21 15:58:43 -0400
|
|
-->
|
|
<para>
|
|
Avoid unlikely crash when <command>REINDEX</command> is terminated
|
|
by a session-shutdown signal (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5c27bce7f] 2020-04-11 12:29:06 -0400
|
|
Branch: REL_12_STABLE [8ffb86644] 2020-04-11 12:29:06 -0400
|
|
Branch: REL_11_STABLE [f3d06e524] 2020-04-11 12:29:06 -0400
|
|
Branch: REL_10_STABLE [1e6bb6125] 2020-04-11 12:29:06 -0400
|
|
Branch: REL9_6_STABLE [242ca479f] 2020-04-11 12:29:06 -0400
|
|
Branch: REL9_5_STABLE [30ce86367] 2020-04-11 12:29:06 -0400
|
|
-->
|
|
<para>
|
|
Prevent printout of possibly-incorrect hash join table statistics
|
|
in <command>EXPLAIN</command> (Konstantin Knizhnik, Tom Lane, Thomas
|
|
Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [007491979] 2020-02-19 20:37:26 +0900
|
|
Branch: REL_12_STABLE [16e6c968b] 2020-02-19 20:38:38 +0900
|
|
Branch: REL_11_STABLE [414ed1ca2] 2020-02-19 20:39:02 +0900
|
|
Branch: REL_10_STABLE [79f344d52] 2020-02-19 20:39:37 +0900
|
|
Branch: REL9_6_STABLE [307c27037] 2020-02-19 20:40:38 +0900
|
|
Branch: REL9_5_STABLE [4a3f164b7] 2020-02-19 20:43:59 +0900
|
|
-->
|
|
<para>
|
|
Fix reporting of elapsed time for heap truncation steps
|
|
in <command>VACUUM VERBOSE</command> (Tatsuhito Kasahara)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
Branch: master [73a076b03] 2020-05-01 09:51:09 -0700
|
|
Branch: REL_12_STABLE [40708eaaf] 2020-05-01 09:51:08 -0700
|
|
Branch: REL_11_STABLE [d3944c364] 2020-05-01 09:51:06 -0700
|
|
-->
|
|
<para>
|
|
Fix possible undercounting of deleted B-tree index pages
|
|
in <command>VACUUM VERBOSE</command> output (Peter Geoghegan)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
Branch: master [b0229f26d] 2020-05-01 08:39:52 -0700
|
|
Branch: REL_12_STABLE [05b73261c] 2020-05-01 08:39:51 -0700
|
|
Branch: REL_11_STABLE [e4fa6c929] 2020-05-01 08:39:49 -0700
|
|
Branch: master [69cf853fe] 2020-05-01 12:19:44 -0700
|
|
Branch: REL_12_STABLE [e1477db92] 2020-05-01 12:19:42 -0700
|
|
Branch: REL_11_STABLE [573478564] 2020-05-01 12:19:39 -0700
|
|
-->
|
|
<para>
|
|
Fix wrong bookkeeping for oldest deleted page in a B-tree index
|
|
(Peter Geoghegan)
|
|
</para>
|
|
|
|
<para>
|
|
This could cause subtly wrong decisions about
|
|
when <command>VACUUM</command> can skip an index cleanup scan;
|
|
although it appears there may be no significant user-visible effects
|
|
from that.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [f2ff20359] 2020-05-08 10:36:40 +0900
|
|
Branch: REL_12_STABLE [a354d0153] 2020-05-08 10:38:01 +0900
|
|
Branch: REL_11_STABLE [cc534fc3b] 2020-05-08 10:38:45 +0900
|
|
Branch: REL_10_STABLE [3a48740e8] 2020-05-08 10:39:08 +0900
|
|
-->
|
|
<para>
|
|
Ensure that TimelineHistoryRead and TimelineHistoryWrite wait states
|
|
are reported in all code paths that read or write timeline history
|
|
files (Masahiro Ikeda)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [17d3fcdc3] 2020-03-10 00:14:43 +0900
|
|
Branch: REL_12_STABLE [82c04e483] 2020-03-10 00:15:25 +0900
|
|
Branch: REL_11_STABLE [e54183cb0] 2020-03-10 00:16:48 +0900
|
|
Branch: REL_10_STABLE [e9c4eaacd] 2020-03-10 00:18:24 +0900
|
|
Branch: REL9_6_STABLE [d1b414e7e] 2020-03-10 00:19:57 +0900
|
|
Branch: REL9_5_STABLE [c9a47b81e] 2020-03-10 00:23:22 +0900
|
|
-->
|
|
<para>
|
|
Avoid possibly showing <quote>waiting</quote> twice in a process's
|
|
PS status (Masahiko Sawada)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [fe3036527] 2020-03-31 17:06:22 -0400
|
|
Branch: REL_12_STABLE [6c426cd43] 2020-03-31 17:06:22 -0400
|
|
-->
|
|
<para>
|
|
Avoid race condition when <command>ANALYZE</command> replaces the
|
|
catalog tuple for extended statistics data (Dean Rasheed)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [dd9ac7d5d] 2020-03-31 08:27:47 +0900
|
|
Branch: REL_12_STABLE [3ec8576a0] 2020-03-31 08:27:54 +0900
|
|
-->
|
|
<para>
|
|
Remove ill-considered skip of <quote>redundant</quote>
|
|
anti-wraparound vacuums (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids a corner case where autovacuum could get into a loop of
|
|
repeatedly trying and then skipping the same vacuum job.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
Branch: master [4b42a8993] 2020-03-30 12:03:59 -0700
|
|
Branch: REL_12_STABLE [97cda93d8] 2020-03-30 12:03:57 -0700
|
|
-->
|
|
<para>
|
|
Ensure INCLUDE'd columns are always removed from B-tree pivot tuples
|
|
(Peter Geoghegan)
|
|
</para>
|
|
|
|
<para>
|
|
This mistake wasted space in some rare cases, but was otherwise
|
|
harmless.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [61d7c7bce] 2020-03-10 15:38:17 +0900
|
|
Branch: REL_12_STABLE [8bca5f935] 2020-03-10 15:38:34 +0900
|
|
-->
|
|
<para>
|
|
Cope with invalid TOAST indexes that could be left over after a
|
|
failed <command>REINDEX CONCURRENTLY</command> (Julien Rouhaud)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [fbcf08711] 2020-03-05 12:50:15 +0900
|
|
Branch: REL_12_STABLE [26876127b] 2020-03-05 12:50:23 +0900
|
|
-->
|
|
<para>
|
|
Ensure that valid index dependencies are left behind after a
|
|
failed <command>REINDEX CONCURRENTLY</command> (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Previously the old index could be left with
|
|
no <structname>pg_depend</structname> links at all, so that for
|
|
example it would not get dropped if the parent table is dropped.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [80d76be51] 2020-02-28 20:28:34 -0500
|
|
Branch: REL_12_STABLE [d7684c38a] 2020-02-28 20:28:34 -0500
|
|
Branch: REL_11_STABLE [7ea20a2bc] 2020-02-28 20:28:34 -0500
|
|
-->
|
|
<para>
|
|
Avoid failure if autovacuum tries to access a just-dropped temporary
|
|
schema (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This hazard only arises if a superuser manually drops a temporary
|
|
schema; which isn't normal practice, but should work.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [4e87c4836] 2020-04-24 08:48:28 +0900
|
|
Branch: REL_12_STABLE [22db5269b] 2020-04-24 08:48:35 +0900
|
|
Branch: REL_11_STABLE [2d24ca00b] 2020-04-24 08:48:40 +0900
|
|
Branch: REL_10_STABLE [02657c421] 2020-04-24 08:48:45 +0900
|
|
Branch: REL9_6_STABLE [c2d8ae0df] 2020-04-24 08:48:51 +0900
|
|
Branch: REL9_5_STABLE [9eff11653] 2020-04-24 08:48:55 +0900
|
|
Branch: master [f9c1b8dba] 2020-04-24 11:33:41 +0900
|
|
Branch: REL_12_STABLE [26057550d] 2020-04-24 11:33:58 +0900
|
|
Branch: REL_11_STABLE [0d04e9d76] 2020-04-24 11:34:03 +0900
|
|
Branch: REL_10_STABLE [3d9cae5ad] 2020-04-24 11:34:06 +0900
|
|
Branch: REL9_6_STABLE [11f004699] 2020-04-24 11:34:11 +0900
|
|
Branch: REL9_5_STABLE [a4726998d] 2020-04-24 11:34:16 +0900
|
|
-->
|
|
<para>
|
|
Avoid premature recycling of WAL segments during crash recovery
|
|
(Jehan-Guillaume de Rorthais)
|
|
</para>
|
|
|
|
<para>
|
|
WAL segments that become ready to be archived during crash recovery
|
|
were potentially recycled without being archived.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [4bd0ad9e4] 2020-04-08 00:49:29 +0900
|
|
Branch: REL_12_STABLE [683e0ef55] 2020-05-09 12:00:27 +0900
|
|
Branch: REL_11_STABLE [dcd1569fb] 2020-05-09 12:04:51 +0900
|
|
Branch: REL_10_STABLE [660f1fc40] 2020-05-09 12:11:11 +0900
|
|
Branch: REL9_6_STABLE [70b597974] 2020-05-09 12:16:37 +0900
|
|
Branch: REL9_5_STABLE [e3f5b148e] 2020-05-09 12:19:47 +0900
|
|
-->
|
|
<para>
|
|
Avoid scanning irrelevant timelines during archive recovery (Kyotaro
|
|
Horiguchi)
|
|
</para>
|
|
|
|
<para>
|
|
This can eliminate many attempts to fetch non-existent WAL files from
|
|
archive storage, which is helpful if archive access is slow.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [e3ff789ac] 2020-02-19 08:15:49 +0530
|
|
Branch: REL_12_STABLE [59112f235] 2020-02-19 08:27:15 +0530
|
|
Branch: REL_11_STABLE [bff456d7a] 2020-02-19 08:35:16 +0530
|
|
Branch: REL_10_STABLE [b448aa441] 2020-02-19 08:44:16 +0530
|
|
Branch: REL9_6_STABLE [59c1a03f0] 2020-02-19 08:52:08 +0530
|
|
Branch: REL9_5_STABLE [05555f7aa] 2020-02-19 08:59:18 +0530
|
|
-->
|
|
<para>
|
|
Remove bogus <quote>subtransaction logged without previous top-level
|
|
txn record</quote> error check in logical decoding (Arseny Sher,
|
|
Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
This condition is legitimately reachable in various scenarios, so
|
|
remove the check.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [bcd1c3630] 2020-03-17 16:13:18 -0300
|
|
Branch: REL_12_STABLE [e58e13e84] 2020-03-17 16:13:18 -0300
|
|
-->
|
|
<para>
|
|
Avoid possible failure after a replication slot copy, due to
|
|
premature removal of WAL data (Masahiko Sawada, Arseny Sher)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [49bf81536] 2020-03-26 13:29:20 +0100
|
|
Branch: REL_12_STABLE [223e9c77d] 2020-03-26 13:31:07 +0100
|
|
Branch: REL_11_STABLE [ba4cc05ce] 2020-03-26 13:51:07 +0100
|
|
Branch: REL_10_STABLE [f36a10434] 2020-03-26 13:51:22 +0100
|
|
Branch: REL9_6_STABLE [2d8597ba6] 2020-03-26 14:01:56 +0100
|
|
Branch: REL9_5_STABLE [ce28a43ff] 2020-03-26 14:08:15 +0100
|
|
Branch: master [a9d9bdd3a] 2020-04-05 10:02:00 +0200
|
|
Branch: REL_12_STABLE [d278d4e1a] 2020-04-05 10:03:04 +0200
|
|
Branch: REL_11_STABLE [250041a56] 2020-04-05 10:03:41 +0200
|
|
Branch: REL_10_STABLE [038c9bbe9] 2020-04-05 10:04:13 +0200
|
|
Branch: REL9_6_STABLE [3dcaea4b0] 2020-04-05 10:04:26 +0200
|
|
Branch: REL9_5_STABLE [72b2b9c52] 2020-04-05 10:05:18 +0200
|
|
-->
|
|
<para>
|
|
Ensure that a replication
|
|
slot's <literal>io_in_progress_lock</literal> is released in failure
|
|
code paths (Pavan Deolasee)
|
|
</para>
|
|
|
|
<para>
|
|
This could result in a walsender later becoming stuck waiting for
|
|
the lock.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [ad3ae6477] 2020-02-17 15:20:57 +0100
|
|
Branch: REL_12_STABLE [4a97f647d] 2020-02-17 15:21:12 +0100
|
|
-->
|
|
<para>
|
|
Ensure that generated columns are correctly handled during updates
|
|
issued by logical replication (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f332241a6] 2020-04-18 14:02:44 -0400
|
|
Branch: REL_12_STABLE [00ef5d52c] 2020-04-18 14:02:44 -0400
|
|
Branch: REL_11_STABLE [b3fa6d016] 2020-04-18 14:02:44 -0400
|
|
Branch: REL_10_STABLE [63ecdaf75] 2020-04-18 14:02:44 -0400
|
|
Branch: REL9_6_STABLE [c65c1aa82] 2020-04-18 14:02:45 -0400
|
|
-->
|
|
<para>
|
|
Fix race conditions in synchronous standby management (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
During a change in the <varname>synchronous_standby_names</varname>
|
|
setting, there was a window in which wrong decisions could be made
|
|
about whether it is OK to release transactions that are waiting for
|
|
synchronous commit. Another hazard for similarly wrong decisions
|
|
existed if a walsender process exited and was immediately replaced
|
|
by another.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [b4f140869] 2020-03-18 09:27:14 +0530
|
|
Branch: REL_12_STABLE [e37824136] 2020-03-18 09:33:01 +0530
|
|
Branch: REL_11_STABLE [18c41cb6b] 2020-03-18 09:37:08 +0530
|
|
Branch: REL_10_STABLE [569f9354b] 2020-03-18 09:46:52 +0530
|
|
Branch: REL9_6_STABLE [fe27ce1c1] 2020-03-18 10:08:56 +0530
|
|
Branch: REL9_5_STABLE [6bdfe428d] 2020-03-18 10:10:27 +0530
|
|
-->
|
|
<para>
|
|
Add missing SQLSTATE values to a few error reports (Sawada Masahiko)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [761a5688b] 2020-02-19 14:45:17 -0500
|
|
Branch: REL_12_STABLE [32aa14d40] 2020-02-19 14:44:58 -0500
|
|
Branch: REL_11_STABLE [612d207bc] 2020-02-19 14:44:58 -0500
|
|
Branch: REL_10_STABLE [6af63cf8c] 2020-02-19 14:44:58 -0500
|
|
Branch: REL9_6_STABLE [3e5308969] 2020-02-19 14:44:58 -0500
|
|
Branch: REL9_5_STABLE [bbefb1154] 2020-02-19 14:44:58 -0500
|
|
-->
|
|
<para>
|
|
Fix PL/pgSQL to reliably refuse to execute an event trigger function
|
|
as a plain function (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [27dbe1a18] 2020-04-22 07:27:03 +0900
|
|
Branch: REL_12_STABLE [e1c08722a] 2020-04-22 07:27:45 +0900
|
|
Branch: REL_11_STABLE [35d08658d] 2020-04-22 07:27:49 +0900
|
|
Branch: REL_10_STABLE [1bb0293d8] 2020-04-22 07:27:53 +0900
|
|
Branch: REL9_6_STABLE [c9c15790d] 2020-04-22 07:28:00 +0900
|
|
Branch: REL9_5_STABLE [e5e295d50] 2020-04-22 07:28:04 +0900
|
|
-->
|
|
<para>
|
|
Fix memory leak in <application>libpq</application> when
|
|
using <literal>sslmode=verify-full</literal> (Roman Peshkurov)
|
|
</para>
|
|
|
|
<para>
|
|
Certificate verification during connection startup could leak some
|
|
memory. This would become an issue if a client process opened many
|
|
database connections during its lifetime.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [980a70b97] 2020-03-23 11:58:00 -0400
|
|
Branch: REL_12_STABLE [036fdf6be] 2020-03-23 11:58:01 -0400
|
|
Branch: REL_11_STABLE [aae7e8530] 2020-03-23 11:58:01 -0400
|
|
Branch: REL_10_STABLE [ef7d6d79a] 2020-03-23 11:58:01 -0400
|
|
Branch: REL9_6_STABLE [c0eb57dd9] 2020-03-23 11:58:01 -0400
|
|
Branch: REL9_5_STABLE [5f9eace5d] 2020-03-23 11:58:01 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>ecpg</application> to treat an argument of
|
|
just <quote><literal>-</literal></quote> as meaning <quote>read
|
|
from stdin</quote> on all platforms (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [8d84dd001] 2020-04-01 14:45:45 +0900
|
|
Branch: REL_12_STABLE [f79bea4b6] 2020-04-01 14:45:57 +0900
|
|
-->
|
|
<para>
|
|
Fix crash in <application>psql</application> when attempting to
|
|
re-establish a failed connection (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Bruce Momjian <bruce@momjian.us>
|
|
Branch: master [08481eedd] 2020-03-31 23:01:34 -0400
|
|
Branch: REL_12_STABLE [6a50f1af4] 2020-03-31 23:01:33 -0400
|
|
Branch: REL_11_STABLE [7054e12e0] 2020-03-31 23:01:33 -0400
|
|
Branch: REL_10_STABLE [a936012d6] 2020-03-31 23:01:33 -0400
|
|
-->
|
|
<para>
|
|
Allow tab-completion of the filename argument
|
|
to <application>psql</application>'s <command>\gx</command> command
|
|
(Vik Fearing)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [b08dee24a] 2020-03-11 16:54:54 -0300
|
|
Branch: REL_12_STABLE [f977e6dec] 2020-03-11 16:54:54 -0300
|
|
Branch: REL_11_STABLE [e70187c9b] 2020-03-11 16:54:54 -0300
|
|
Branch: REL_10_STABLE [d04e342ba] 2020-03-11 16:54:54 -0300
|
|
Branch: REL9_6_STABLE [2b9d70159] 2020-03-11 16:54:54 -0300
|
|
Branch: master [046001fe3] 2020-03-16 16:27:13 -0300
|
|
Branch: REL_12_STABLE [cf72898c6] 2020-03-16 16:27:13 -0300
|
|
Branch: REL_11_STABLE [55978e28c] 2020-03-16 16:27:13 -0300
|
|
Branch: REL_10_STABLE [c6b75b3f1] 2020-03-16 16:27:13 -0300
|
|
Branch: REL9_6_STABLE [7984c7e9f] 2020-03-16 16:27:13 -0300
|
|
Branch: master [899a04f5e] 2020-03-11 11:04:59 -0300
|
|
Branch: REL_12_STABLE [b7739ebec] 2020-03-11 11:04:59 -0300
|
|
Branch: REL_11_STABLE [7c094a11c] 2020-03-11 11:04:59 -0300
|
|
Branch: REL_10_STABLE [3dfd2d6cd] 2020-03-11 11:04:59 -0300
|
|
Branch: REL9_6_STABLE [73b31e784] 2020-03-11 11:04:59 -0300
|
|
-->
|
|
<para>
|
|
Add <application>pg_dump</application> support for <command>ALTER
|
|
... DEPENDS ON EXTENSION</command> (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
<application>pg_dump</application> previously ignored dependencies added
|
|
this way, causing them to be forgotten during dump/restore or
|
|
<application>pg_upgrade</application>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [f31364676] 2020-02-17 18:40:02 -0500
|
|
Branch: REL_12_STABLE [6da7d3630] 2020-02-17 18:40:02 -0500
|
|
Branch: REL_11_STABLE [bd2cd138f] 2020-02-17 18:40:02 -0500
|
|
Branch: REL_10_STABLE [f9d7bb68d] 2020-02-17 18:40:02 -0500
|
|
Branch: REL9_6_STABLE [3380b9931] 2020-02-17 18:40:02 -0500
|
|
Branch: REL9_5_STABLE [d9ec8d1d7] 2020-02-17 18:40:02 -0500
|
|
-->
|
|
<para>
|
|
Fix <application>pg_dump</application> to dump comments on RLS
|
|
policy objects (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8728b2c70] 2020-03-09 14:58:26 -0400
|
|
Branch: REL_12_STABLE [4c40b27b5] 2020-03-09 14:58:11 -0400
|
|
Branch: REL_11_STABLE [f5d49f226] 2020-03-09 14:58:11 -0400
|
|
Branch: REL_10_STABLE [475b061c8] 2020-03-09 14:58:11 -0400
|
|
Branch: REL9_6_STABLE [fab545635] 2020-03-09 14:58:11 -0400
|
|
Branch: REL9_5_STABLE [0b0247644] 2020-03-09 14:58:11 -0400
|
|
Branch: master [a9d70c108] 2020-04-08 11:23:39 -0400
|
|
Branch: REL_12_STABLE [983ed99a6] 2020-04-08 11:23:39 -0400
|
|
Branch: REL_11_STABLE [d050c6113] 2020-04-08 11:23:39 -0400
|
|
Branch: REL_10_STABLE [830471e0d] 2020-04-08 11:23:39 -0400
|
|
Branch: REL9_6_STABLE [778066052] 2020-04-08 11:23:40 -0400
|
|
Branch: REL9_5_STABLE [564c1e6d7] 2020-04-08 11:23:40 -0400
|
|
-->
|
|
<para>
|
|
In <application>pg_dump</application>, postpone restore of event
|
|
triggers till the end (Fabrízio de Royes Mello, Hamid Akhtar,
|
|
Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This minimizes the risk that an event trigger could interfere with
|
|
the restoration of other objects.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
Branch: master [0278d3f79] 2020-04-27 13:04:35 -0400
|
|
Branch: REL_12_STABLE [a08bfe742] 2020-04-27 14:00:36 -0400
|
|
-->
|
|
<para>
|
|
Ensure that <application>pg_basebackup</application> generates valid
|
|
tar files (Robert Haas)
|
|
</para>
|
|
|
|
<para>
|
|
In some cases a partial block of zeroes would be added to the end of
|
|
the file. While this seems to be harmless with common versions of
|
|
tar, it's not OK per the POSIX file format spec.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [428a2609e] 2020-02-27 15:31:27 +0900
|
|
Branch: REL_12_STABLE [f6e8e8b38] 2020-02-27 15:31:48 +0900
|
|
Branch: REL_11_STABLE [8f9aba187] 2020-02-27 15:31:52 +0900
|
|
-->
|
|
<para>
|
|
Make <application>pg_checksums</application> skip tablespace
|
|
subdirectories that belong to a
|
|
different <productname>PostgreSQL</productname> major version
|
|
(Michael Banck, Bernd Helmle)
|
|
</para>
|
|
|
|
<para>
|
|
Such subdirectories don't really belong to our database cluster, and
|
|
so must not be processed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [bf883b211] 2020-02-24 18:13:25 +0900
|
|
Branch: REL_12_STABLE [a8beece95] 2020-02-24 18:14:16 +0900
|
|
Branch: REL_11_STABLE [da2a7180a] 2020-02-24 18:14:22 +0900
|
|
-->
|
|
<para>
|
|
Ignore temporary copies of <filename>pg_internal.init</filename>
|
|
in <application>pg_checksums</application> and related
|
|
programs (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [008cf0409] 2020-02-27 11:20:46 +0900
|
|
Branch: REL_12_STABLE [943affb3d] 2020-02-27 11:21:00 +0900
|
|
Branch: REL_11_STABLE [83bd732eb] 2020-02-27 11:21:07 +0900
|
|
Branch: REL_10_STABLE [240c7c75f] 2020-02-27 11:21:14 +0900
|
|
Branch: REL9_6_STABLE [3340034f2] 2020-02-27 11:21:23 +0900
|
|
Branch: REL9_5_STABLE [49300e4cf] 2020-02-27 11:21:28 +0900
|
|
Branch: master [c4b0edb07] 2020-02-27 21:58:37 +0900
|
|
Branch: REL_12_STABLE [aeb846edb] 2020-02-27 21:58:45 +0900
|
|
Branch: REL_11_STABLE [8e076f4f9] 2020-02-27 21:58:50 +0900
|
|
-->
|
|
<para>
|
|
Fix quoting of <option>--encoding</option>, <option>--lc-ctype</option>
|
|
and <option>--lc-collate</option> values
|
|
in <application>createdb</application> utility (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [6dd9f3577] 2020-04-03 11:24:56 -0400
|
|
Branch: REL_12_STABLE [d56657c35] 2020-04-03 11:24:56 -0400
|
|
Branch: REL_11_STABLE [7b1552283] 2020-04-03 11:24:56 -0400
|
|
Branch: REL_10_STABLE [85f0d4703] 2020-04-03 11:24:56 -0400
|
|
Branch: REL9_6_STABLE [a9f821f48] 2020-04-03 11:24:56 -0400
|
|
Branch: REL9_5_STABLE [82bc56e63] 2020-04-03 11:24:56 -0400
|
|
-->
|
|
<para>
|
|
<filename>contrib/lo</filename>'s <function>lo_manage()</function>
|
|
function crashed if called directly rather than as a trigger (Tom
|
|
Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [95f7ddfda] 2020-03-28 17:09:51 -0400
|
|
Branch: REL_12_STABLE [2bb6bdbe5] 2020-03-28 17:09:51 -0400
|
|
Branch: REL_11_STABLE [5feb3d0b3] 2020-03-28 17:09:51 -0400
|
|
Branch: REL_10_STABLE [2618ac6c6] 2020-03-28 17:09:51 -0400
|
|
Branch: REL9_6_STABLE [39491aa0d] 2020-03-28 17:09:51 -0400
|
|
Branch: REL9_5_STABLE [8e1e630d0] 2020-03-28 17:09:52 -0400
|
|
-->
|
|
<para>
|
|
In <filename>contrib/ltree</filename>,
|
|
protect against overflow of <type>ltree</type>
|
|
and <type>lquery</type> length fields (Nikita Glukhov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
Branch: REL_12_STABLE [393b449f1] 2020-03-11 14:15:02 -0700
|
|
Branch: REL_11_STABLE [c788115b5] 2020-03-11 14:15:00 -0700
|
|
-->
|
|
<para>
|
|
Work around failure in <filename>contrib/pageinspect</filename>'s
|
|
<function>bt_metap()</function> function when an oldest_xact value
|
|
exceeds 2^31-1 (Peter Geoghegan)
|
|
</para>
|
|
|
|
<para>
|
|
Such XIDs will now be reported as negative integers, which isn't
|
|
great but it beats throwing an error. v13 will widen the output
|
|
argument to <type>int8</type> to provide saner reporting.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [fc576b7c4] 2020-04-16 14:45:54 -0400
|
|
Branch: REL_12_STABLE [687e566b9] 2020-04-16 14:45:54 -0400
|
|
Branch: REL_11_STABLE [cc2737ab0] 2020-04-16 14:45:54 -0400
|
|
Branch: REL_10_STABLE [f4a420056] 2020-04-16 14:45:54 -0400
|
|
Branch: REL9_6_STABLE [3cdf2421a] 2020-04-16 14:45:54 -0400
|
|
Branch: REL9_5_STABLE [46b1b6379] 2020-04-16 14:45:54 -0400
|
|
-->
|
|
<para>
|
|
Fix cache reference leak in <filename>contrib/sepgsql</filename>
|
|
(Michael Luo)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e02ea141e] 2020-02-16 12:20:18 -0500
|
|
Branch: REL_12_STABLE [de5e03f7f] 2020-02-16 12:20:18 -0500
|
|
-->
|
|
<para>
|
|
On Windows, avoid premature creation of postmaster's log file
|
|
during <literal>pg_ctl start</literal> (Alexander Lakhin)
|
|
</para>
|
|
|
|
<para>
|
|
The previous coding could allow the file to be created with
|
|
permissions that wouldn't allow the postmaster to write on it.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8c49454ca] 2020-03-30 11:14:58 -0400
|
|
Branch: REL_12_STABLE [de5b9db36] 2020-03-30 11:14:58 -0400
|
|
Branch: REL_11_STABLE [4bc3a1667] 2020-03-30 11:14:58 -0400
|
|
Branch: REL_10_STABLE [d59e83cf5] 2020-03-30 11:14:58 -0400
|
|
Branch: REL9_6_STABLE [f15f5edee] 2020-03-30 11:14:58 -0400
|
|
Branch: REL9_5_STABLE [6dac1e858] 2020-03-30 11:14:58 -0400
|
|
-->
|
|
<para>
|
|
Avoid failures when dealing with Unix-style locale names on
|
|
Windows (Juan José Santamaría Flecha)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [3b77dce86] 2020-03-02 15:45:34 +0900
|
|
Branch: REL_12_STABLE [3b5709e66] 2020-03-02 15:46:24 +0900
|
|
-->
|
|
<para>
|
|
On Windows, set console VT100 compatibility mode in
|
|
programs that support <varname>PG_COLOR</varname> colorization
|
|
(Juan José Santamaría Flecha)
|
|
</para>
|
|
|
|
<para>
|
|
Without this, the colorization option doesn't actually work.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e3a87b499] 2020-03-24 11:49:00 -0400
|
|
Branch: REL_12_STABLE [a86715451] 2020-03-24 11:48:33 -0400
|
|
-->
|
|
<para>
|
|
Stop requiring extra parentheses in <function>ereport()</function>
|
|
calls (Andres Freund, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [0bc8cebdb] 2020-03-17 12:09:26 -0400
|
|
Branch: REL_12_STABLE [d8e7f8149] 2020-03-17 12:09:26 -0400
|
|
Branch: REL_11_STABLE [9af2f7dc9] 2020-03-17 12:09:27 -0400
|
|
Branch: REL_10_STABLE [d67d7243f] 2020-03-17 12:09:27 -0400
|
|
-->
|
|
<para>
|
|
Use <application>pkg-config</application>, if available, to
|
|
locate <application>libxml2</application>
|
|
during <application>configure</application> (Hugh McMaster, Tom
|
|
Lane, Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
If <application>pkg-config</application> is not present or lacks
|
|
knowledge of <application>libxml2</application>, we still
|
|
query <application>xml2-config</application> as before.
|
|
</para>
|
|
|
|
<para>
|
|
This change could break build processes that try to
|
|
make <productname>PostgreSQL</productname> use a non-default version
|
|
of <application>libxml2</application> by putting that
|
|
version's <application>xml2-config</application> into
|
|
the <varname>PATH</varname>. Instead,
|
|
set <varname>XML2_CONFIG</varname> to point to the
|
|
non-default <application>xml2-config</application>. That method
|
|
will work with either older or
|
|
newer <productname>PostgreSQL</productname> releases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Bruce Momjian <bruce@momjian.us>
|
|
Branch: master [051fd5e0f] 2020-03-31 14:17:32 -0400
|
|
Branch: REL_12_STABLE [297a174d2] 2020-03-31 14:17:32 -0400
|
|
-->
|
|
<para>
|
|
Fix Makefile dependencies for <application>libpq</application>
|
|
and <application>ecpg</application> (Dagfinn Ilmari Mannsåker)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [beb2516e9] 2020-05-06 21:08:15 +0900
|
|
Branch: REL_12_STABLE [8c0939dad] 2020-05-06 21:08:22 +0900
|
|
Branch: REL_11_STABLE [984aca448] 2020-05-06 21:08:26 +0900
|
|
Branch: REL_10_STABLE [307ed98b0] 2020-05-06 21:08:31 +0900
|
|
Branch: REL9_6_STABLE [e07fdc126] 2020-05-06 21:08:38 +0900
|
|
Branch: REL9_5_STABLE [ad53d6efe] 2020-05-06 21:08:42 +0900
|
|
-->
|
|
<para>
|
|
In MSVC builds, cope with spaces in the path name for Python
|
|
(Victor Wagner)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [a9659fb65] 2020-04-17 14:44:33 -0400
|
|
Branch: REL_12_STABLE [6b02bee66] 2020-04-17 14:52:42 -0400
|
|
Branch: REL_11_STABLE [758814224] 2020-04-17 14:53:56 -0400
|
|
Branch: REL_10_STABLE [ddac64f2d] 2020-04-17 14:55:55 -0400
|
|
Branch: REL9_6_STABLE [4c9239d08] 2020-04-17 14:56:56 -0400
|
|
Branch: REL9_5_STABLE [3ca17999f] 2020-04-17 14:57:15 -0400
|
|
-->
|
|
<para>
|
|
In MSVC builds, fix detection of Visual Studio version to work with
|
|
more language settings (Andrew Dunstan)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [71c2fd0c0] 2020-03-20 13:55:15 -0400
|
|
Branch: REL_12_STABLE [d0747714e] 2020-03-20 14:02:05 -0400
|
|
Branch: REL_11_STABLE [e8a6391fc] 2020-03-20 14:02:15 -0400
|
|
Branch: REL_10_STABLE [3163349fd] 2020-03-20 14:02:43 -0400
|
|
Branch: REL9_6_STABLE [80370836f] 2020-03-20 14:03:13 -0400
|
|
Branch: REL9_5_STABLE [467b40832] 2020-03-20 14:03:31 -0400
|
|
-->
|
|
<para>
|
|
In MSVC builds, use <literal>-Wno-deprecated</literal> with bison
|
|
versions newer than 3.0, as non-Windows builds already do (Andrew
|
|
Dunstan)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4cac3a49e] 2020-04-24 10:54:47 -0400
|
|
Branch: REL_12_STABLE [c820692bd] 2020-04-24 10:55:00 -0400
|
|
Branch: REL_11_STABLE [eb335bc62] 2020-04-24 10:55:05 -0400
|
|
Branch: REL_10_STABLE [898921a18] 2020-04-24 10:55:10 -0400
|
|
Branch: REL9_6_STABLE [66be99742] 2020-04-24 10:55:17 -0400
|
|
Branch: REL9_5_STABLE [39006ae7a] 2020-04-24 10:55:23 -0400
|
|
Branch: master [6c5f91616] 2020-04-24 17:53:23 -0400
|
|
Branch: REL_12_STABLE [1e07e3fc0] 2020-04-24 17:53:23 -0400
|
|
Branch: REL_11_STABLE [b31f9fd63] 2020-04-24 17:53:23 -0400
|
|
Branch: REL_10_STABLE [40d4bc5ac] 2020-04-24 17:53:23 -0400
|
|
Branch: REL9_6_STABLE [f65f3a5d8] 2020-04-24 17:53:23 -0400
|
|
Branch: REL9_5_STABLE [3cdb45c54] 2020-04-24 17:53:23 -0400
|
|
Branch: master [bd8c5cee9] 2020-04-24 17:21:44 -0400
|
|
Branch: REL_12_STABLE [a2342c658] 2020-04-24 17:21:44 -0400
|
|
Branch: REL_11_STABLE [99c9ed224] 2020-04-24 17:21:44 -0400
|
|
Branch: REL_10_STABLE [4985b3b84] 2020-04-24 17:21:44 -0400
|
|
Branch: REL9_6_STABLE [351252904] 2020-04-24 17:21:44 -0400
|
|
Branch: REL9_5_STABLE [3f3ab184c] 2020-04-24 17:21:44 -0400
|
|
-->
|
|
<para>
|
|
Update time zone data files to <application>tzdata</application>
|
|
release 2020a for DST law changes in Morocco and the Canadian Yukon,
|
|
plus historical corrections for Shanghai.
|
|
</para>
|
|
|
|
<para>
|
|
The America/Godthab zone has been renamed to America/Nuuk to reflect
|
|
current English usage; however, the old name remains available as a
|
|
compatibility link.
|
|
</para>
|
|
|
|
<para>
|
|
Also, update <application>initdb</application>'s list of known
|
|
Windows time zone names to include recent additions, improving the
|
|
odds that it will correctly translate the system time zone setting
|
|
on that platform.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-2">
|
|
<title>Release 12.2</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2020-02-13</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.1.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.2</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
|
|
<para>
|
|
However, if you have any foreign key constraints referencing
|
|
partitioned tables, see the two entries below about bugs in that
|
|
feature.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [b048f558d] 2020-02-10 11:47:09 -0300
|
|
Branch: REL_12_STABLE [2ad125322] 2020-02-10 11:47:09 -0300
|
|
Branch: REL_11_STABLE [bdd19e48a] 2020-02-10 11:47:09 -0300
|
|
Branch: REL_10_STABLE [ac1a998ed] 2020-02-10 11:47:09 -0300
|
|
Branch: REL9_6_STABLE [e8b8eb937] 2020-02-10 12:06:25 -0300
|
|
-->
|
|
<para>
|
|
Add missing permissions checks for <command>ALTER ... DEPENDS ON
|
|
EXTENSION</command> (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Marking an object as dependent on an extension did not have any
|
|
privilege check whatsoever. This oversight allowed any user to mark
|
|
routines, triggers, materialized views, or indexes as droppable by
|
|
anyone able to drop an extension. Require that the calling user own
|
|
the specified object (and hence have privilege to drop it).
|
|
(CVE-2020-1720)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [9710d3d4a] 2020-02-07 17:09:36 -0300
|
|
Branch: REL_12_STABLE [ce054a8cd] 2020-02-07 17:09:36 -0300
|
|
-->
|
|
<para>
|
|
Fix <command>TRUNCATE ... CASCADE</command> to ensure all relevant
|
|
partitions are truncated (Jehan-Guillaume de Rorthais)
|
|
</para>
|
|
|
|
<para>
|
|
If a partition of a partitioned table is truncated with
|
|
the <literal>CASCADE</literal> option, and the partitioned table has
|
|
a foreign-key reference from another table, that table must also be
|
|
truncated. The need to check this was missed if the referencing
|
|
table was itself partitioned, possibly allowing rows to survive that
|
|
violate the foreign-key constraint.
|
|
</para>
|
|
|
|
<para>
|
|
Hence, if you have foreign key constraints between partitioned
|
|
tables, and you have done any
|
|
partition-level <command>TRUNCATE</command> on the referenced table,
|
|
you should check to see if any foreign key violations exist. The
|
|
simplest way is to add a new instance of the foreign key constraint
|
|
(and, once that succeeds, drop it or the original constraint).
|
|
That may be prohibitive from a locking standpoint, however, in which
|
|
case you might prefer to manually query for unmatched rows.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [55173d2e6] 2020-02-07 18:27:18 -0300
|
|
Branch: REL_12_STABLE [2c80a656c] 2020-02-07 18:27:18 -0300
|
|
-->
|
|
<para>
|
|
Fix failure to attach foreign key constraints to sub-partitions
|
|
(Jehan-Guillaume de Rorthais)
|
|
</para>
|
|
|
|
<para>
|
|
When adding a partition to a level below the first level of a
|
|
multi-level partitioned table, foreign key constraints referencing
|
|
the top partitioned table were not cloned to the new partition,
|
|
leading to possible constraint violations later. Detaching and
|
|
re-attaching the new partition is the cheapest way to fix this.
|
|
However, if there are many partitions to be fixed, adding a new
|
|
instance of the foreign key constraint might be preferable.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [01d9676a5] 2020-01-28 17:26:37 -0500
|
|
Branch: REL_12_STABLE [87fed2a19] 2020-01-28 17:26:37 -0500
|
|
-->
|
|
<para>
|
|
Fix possible crash during concurrent update on a partitioned table
|
|
or inheritance tree (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [1fa846f1c] 2020-01-02 17:04:24 -0300
|
|
Branch: REL_12_STABLE [d73214839] 2020-01-02 17:04:24 -0300
|
|
Branch: REL_11_STABLE [adc9cb6f2] 2020-01-02 17:04:24 -0300
|
|
-->
|
|
<para>
|
|
Ensure that row triggers on partitioned tables are correctly
|
|
cloned to sub-partitions when appropriate
|
|
(Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
User-defined triggers (but not triggers for foreign key or deferred
|
|
unique constraints) might be missed when creating or attaching a
|
|
partition.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [b9c130a1f] 2020-01-06 08:40:00 +0100
|
|
Branch: REL_12_STABLE [8c2bfd9f9] 2020-01-06 10:43:55 +0100
|
|
Branch: REL_11_STABLE [7474393e0] 2020-01-06 11:38:24 +0100
|
|
Branch: REL_10_STABLE [66fd0adc7] 2020-01-06 11:38:33 +0100
|
|
-->
|
|
<para>
|
|
Fix logical replication subscriber code to execute
|
|
per-column <literal>UPDATE</literal> triggers when appropriate
|
|
(Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [d20703805] 2020-01-02 11:41:04 +0530
|
|
Branch: REL_12_STABLE [f8a6d8e71] 2020-01-02 11:53:53 +0530
|
|
Branch: REL_11_STABLE [3e3a79735] 2020-01-02 12:04:13 +0530
|
|
Branch: REL_10_STABLE [27b5f48c7] 2020-01-02 12:11:55 +0530
|
|
Branch: REL9_6_STABLE [ba5b4e506] 2020-01-02 11:29:50 +0530
|
|
Branch: REL9_5_STABLE [a6f4f407a] 2020-01-02 12:28:02 +0530
|
|
Branch: REL9_4_STABLE [1ad47e875] 2020-01-02 12:38:29 +0530
|
|
Branch: master [ed7bb5c31] 2020-01-14 07:53:50 +0530
|
|
Branch: REL_12_STABLE [fa1eaebfa] 2020-01-14 08:05:05 +0530
|
|
Branch: REL_11_STABLE [17869eca7] 2020-01-14 08:12:12 +0530
|
|
Branch: REL_10_STABLE [f9e95252a] 2020-01-14 08:20:11 +0530
|
|
-->
|
|
<para>
|
|
Avoid failure in logical decoding when a large transaction must be
|
|
spilled into many separate temporary files (Amit Khandekar)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4d9ceb001] 2019-11-22 11:31:19 -0500
|
|
Branch: REL_12_STABLE [a2aa224e0] 2019-11-22 11:31:19 -0500
|
|
Branch: REL_11_STABLE [b72a44c51] 2019-11-22 11:31:19 -0500
|
|
Branch: REL_10_STABLE [5d3fcb53a] 2019-11-22 11:31:19 -0500
|
|
-->
|
|
<para>
|
|
Fix possible crash or data corruption when a logical replication
|
|
subscriber processes a row update (Tom Lane, Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
This bug caused visible problems only if the subscriber's table
|
|
contained columns that were not being copied from the publisher and
|
|
had pass-by-reference data types.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [04c8a69c0] 2019-12-18 07:49:18 +0530
|
|
Branch: REL_12_STABLE [c74111d8b] 2019-12-18 07:57:01 +0530
|
|
Branch: REL_11_STABLE [046830164] 2019-12-18 08:16:31 +0530
|
|
Branch: REL_10_STABLE [d6eca4958] 2019-12-18 08:27:41 +0530
|
|
-->
|
|
<para>
|
|
Fix crash in logical replication subscriber after DDL changes on a
|
|
subscribed relation (Jehan-Guillaume de Rorthais, Vignesh C)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [15cac3a52] 2020-01-17 18:00:39 -0300
|
|
Branch: REL_12_STABLE [bc2140627] 2020-01-17 18:00:39 -0300
|
|
Branch: REL_11_STABLE [fe955ebee] 2020-01-17 18:00:39 -0300
|
|
Branch: REL_10_STABLE [e3154aae3] 2020-01-17 18:00:39 -0300
|
|
Branch: REL9_6_STABLE [cdb14154b] 2020-01-17 18:00:39 -0300
|
|
Branch: REL9_5_STABLE [58997ace5] 2020-01-17 18:00:39 -0300
|
|
Branch: REL9_4_STABLE [20a1dc1e3] 2020-01-17 18:00:39 -0300
|
|
-->
|
|
<para>
|
|
Fix failure in logical replication publisher after a database crash
|
|
and restart (Vignesh C)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [b0afdcad2] 2020-01-30 11:14:02 +0900
|
|
Branch: REL_12_STABLE [3228512b7] 2020-01-30 11:15:28 +0900
|
|
Branch: REL_11_STABLE [374464c3e] 2020-01-30 11:15:35 +0900
|
|
Branch: master [7ca8c9706] 2020-01-31 13:57:56 +0900
|
|
Branch: REL_12_STABLE [706ad6a4d] 2020-01-31 13:58:05 +0900
|
|
Branch: REL_11_STABLE [8b29c75f6] 2020-01-31 13:58:11 +0900
|
|
-->
|
|
<para>
|
|
Ensure that the effect
|
|
of <function>pg_replication_slot_advance()</function> on a physical
|
|
replication slot will persist across restarts (Alexey Kondratov,
|
|
Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [1c7a0b387] 2020-02-03 18:59:12 -0300
|
|
Branch: REL_12_STABLE [42e3187a8] 2020-02-03 18:59:12 -0300
|
|
Branch: REL_11_STABLE [beefab654] 2020-02-03 18:59:12 -0300
|
|
Branch: REL_10_STABLE [380bc8829] 2020-02-03 18:59:12 -0300
|
|
-->
|
|
<para>
|
|
Improve efficiency of logical replication with <literal>REPLICA
|
|
IDENTITY FULL</literal> (Konstantin Knizhnik)
|
|
</para>
|
|
|
|
<para>
|
|
When searching for an existing tuple during an update or delete
|
|
operation, return the first matching tuple not the last one.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [259bbe177] 2020-01-13 13:41:12 +0100
|
|
Branch: REL_12_STABLE [bf65f3c88] 2020-01-13 13:41:09 +0100
|
|
-->
|
|
<para>
|
|
Fix base backup to handle database OIDs larger
|
|
than <literal>INT32_MAX</literal> (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [76cbfcdf3] 2019-11-16 10:11:30 +1300
|
|
Branch: REL_12_STABLE [24897e1a1] 2019-11-16 10:18:45 +1300
|
|
Branch: REL_11_STABLE [bc049d0d4] 2019-11-16 10:19:16 +1300
|
|
-->
|
|
<para>
|
|
Ensure parallel plans are always shut down at the correct time
|
|
(Kyotaro Horiguchi)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight is known to result in <quote>temporary file
|
|
leak</quote> warnings from multi-batch parallel hash joins.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [080313f82] 2019-11-26 08:30:24 +0530
|
|
Branch: REL_12_STABLE [1cc3a90c7] 2019-11-26 08:55:06 +0530
|
|
Branch: REL_11_STABLE [d0ccfa9d6] 2019-11-26 09:07:35 +0530
|
|
Branch: REL_10_STABLE [f7ae68aac] 2019-11-26 09:23:45 +0530
|
|
Branch: REL9_6_STABLE [1ad0df67c] 2019-11-26 09:41:41 +0530
|
|
-->
|
|
<para>
|
|
Prevent premature shutdown of a Gather or GatherMerge plan node that
|
|
is underneath a Limit node (Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids failure if such a plan node needs to be scanned more
|
|
than once, as for instance if it is on the inside of a nestloop.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [3e4818e9d] 2020-01-27 15:07:03 +1300
|
|
Branch: REL_12_STABLE [f9d0be241] 2020-01-27 14:11:24 +1300
|
|
Branch: REL_11_STABLE [6a9fc75d0] 2020-01-27 14:12:18 +1300
|
|
-->
|
|
<para>
|
|
Improve efficiency of parallel hash join on CPUs with many cores
|
|
(Gang Deng, Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [74618e77b] 2020-01-31 10:25:34 +1300
|
|
Branch: REL_12_STABLE [1fcf62e0b] 2020-01-31 10:27:53 +1300
|
|
Branch: REL_11_STABLE [2c56b3ac4] 2020-01-31 11:12:21 +1300
|
|
Branch: master [d9fe702a2] 2020-02-05 12:27:00 +1300
|
|
Branch: REL_12_STABLE [2e2351bd6] 2020-02-05 12:28:33 +1300
|
|
Branch: REL_11_STABLE [c4a2041a4] 2020-02-05 12:30:06 +1300
|
|
-->
|
|
<para>
|
|
Avoid crash in parallel <command>CREATE INDEX</command> when there
|
|
are no free dynamic shared memory slots (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Fall back to a non-parallel index build, instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [93745f1e0] 2020-02-01 14:29:13 +1300
|
|
Branch: REL_12_STABLE [24dd34af1] 2020-02-01 14:49:57 +1300
|
|
Branch: REL_11_STABLE [600387f5d] 2020-02-01 22:57:46 +1300
|
|
Branch: REL_10_STABLE [aab30cd4e] 2020-02-01 14:54:48 +1300
|
|
Branch: REL9_6_STABLE [93be45245] 2020-02-01 14:57:40 +1300
|
|
Branch: REL9_5_STABLE [a5f45c3dd] 2020-02-01 14:59:58 +1300
|
|
Branch: REL9_4_STABLE [95936c795] 2020-02-01 15:10:20 +1300
|
|
-->
|
|
<para>
|
|
Avoid memory leak when there are no free dynamic shared memory slots
|
|
(Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [a904abe2e] 2020-01-22 09:49:18 +0900
|
|
Branch: REL_12_STABLE [817a1b88a] 2020-01-22 09:49:24 +0900
|
|
Branch: REL_11_STABLE [5b4b07fa9] 2020-01-22 09:49:28 +0900
|
|
Branch: REL_10_STABLE [9055344b4] 2020-01-22 09:49:33 +0900
|
|
Branch: REL9_6_STABLE [ef33edeb5] 2020-01-22 09:49:39 +0900
|
|
Branch: REL9_5_STABLE [c39f45598] 2020-01-22 09:49:44 +0900
|
|
Branch: REL9_4_STABLE [d76652edc] 2020-01-22 09:49:48 +0900
|
|
-->
|
|
<para>
|
|
Ignore the <literal>CONCURRENTLY</literal> option when performing an
|
|
index creation, drop, or rebuild on a temporary table (Michael
|
|
Paquier, Heikki Linnakangas, Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids strange failures if the temporary table has
|
|
an <literal>ON COMMIT</literal> action. There is no benefit in
|
|
using <literal>CONCURRENTLY</literal> for a temporary table anyway,
|
|
since other sessions cannot access the table, making the extra
|
|
processing pointless.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c35b714ca] 2019-12-01 13:09:26 -0500
|
|
Branch: REL_12_STABLE [b154d70f7] 2019-12-01 13:09:26 -0500
|
|
Branch: REL_11_STABLE [768a401e2] 2019-12-01 13:09:26 -0500
|
|
Branch: REL_10_STABLE [25c7183c0] 2019-12-01 13:09:27 -0500
|
|
Branch: REL9_6_STABLE [283f095d0] 2019-12-01 13:09:27 -0500
|
|
Branch: REL9_5_STABLE [cfffa8a6b] 2019-12-01 13:09:27 -0500
|
|
Branch: REL9_4_STABLE [0c84e992c] 2019-12-01 13:09:27 -0500
|
|
-->
|
|
<para>
|
|
Fix possible failure when resetting expression indexes on temporary
|
|
tables that are marked <literal>ON COMMIT DELETE ROWS</literal>
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [4c8701098] 2020-01-20 10:36:35 +0200
|
|
Branch: REL_12_STABLE [fd436bba0] 2020-01-20 10:36:45 +0200
|
|
Branch: REL_11_STABLE [da7abcf0f] 2020-01-20 10:36:47 +0200
|
|
Branch: REL_10_STABLE [ff0c567cb] 2020-01-20 10:36:50 +0200
|
|
Branch: REL9_6_STABLE [e96f30d89] 2020-01-20 10:36:52 +0200
|
|
Branch: REL9_5_STABLE [98f0d2837] 2020-01-20 10:36:55 +0200
|
|
-->
|
|
<para>
|
|
Fix possible crash in BRIN index operations
|
|
with <type>box</type>, <type>range</type> and <type>inet</type> data
|
|
types (Heikki Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
Branch: master [a7ee7c851] 2019-12-13 23:58:10 +0200
|
|
Branch: REL_12_STABLE [70c4f500e] 2019-12-13 23:59:00 +0200
|
|
Branch: master [741b88435] 2019-12-16 13:57:41 +0200
|
|
Branch: REL_12_STABLE [42d1acd2e] 2019-12-16 13:58:07 +0200
|
|
-->
|
|
<para>
|
|
Fix crash during recursive page split in GiST index build (Heikki
|
|
Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
Branch: master [b10714080] 2019-11-20 00:12:33 +0300
|
|
Branch: REL_12_STABLE [a64e7e05a] 2019-11-20 00:17:58 +0300
|
|
Branch: REL_11_STABLE [7d467dee0] 2019-11-20 00:18:02 +0300
|
|
Branch: master [e14641197] 2019-11-20 00:04:09 +0300
|
|
Branch: REL_12_STABLE [051c50c01] 2019-11-20 00:04:53 +0300
|
|
Branch: REL_11_STABLE [9f2927989] 2019-11-20 00:05:12 +0300
|
|
Branch: REL_10_STABLE [21ad61ab3] 2019-11-20 00:05:35 +0300
|
|
Branch: master [d5ad7a09a] 2019-11-20 00:04:22 +0300
|
|
Branch: REL_12_STABLE [ee437ca74] 2019-11-20 00:05:01 +0300
|
|
Branch: REL_11_STABLE [c0bf35421] 2019-11-20 00:05:21 +0300
|
|
Branch: REL_10_STABLE [ab64b474d] 2019-11-20 00:05:42 +0300
|
|
Branch: REL9_6_STABLE [99f5888d3] 2019-11-19 23:47:29 +0300
|
|
Branch: REL9_5_STABLE [4fc485684] 2019-11-20 00:01:55 +0300
|
|
Branch: REL9_4_STABLE [1414821e1] 2019-11-20 00:03:04 +0300
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4093ff573] 2020-02-09 12:02:57 -0500
|
|
Branch: REL_12_STABLE [baf487123] 2020-02-09 12:02:57 -0500
|
|
Branch: REL_11_STABLE [f91706b00] 2020-02-09 12:02:57 -0500
|
|
-->
|
|
<para>
|
|
Fix handling of deleted pages in GIN indexes (Alexander Korotkov)
|
|
</para>
|
|
|
|
<para>
|
|
Avoid possible deadlocks, incorrect updates of a deleted page's
|
|
state, and failure to traverse through a recently-deleted page.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [41c6f9db2] 2020-01-17 16:17:31 -0500
|
|
Branch: REL_12_STABLE [2e2646060] 2020-01-17 16:17:32 -0500
|
|
Branch: REL_11_STABLE [d8e877b86] 2020-01-17 16:17:33 -0500
|
|
Branch: REL_10_STABLE [167fd022f] 2020-01-17 16:17:35 -0500
|
|
Branch: REL9_6_STABLE [45f03cfa5] 2020-01-17 16:17:36 -0500
|
|
Branch: REL9_5_STABLE [396472278] 2020-01-17 16:17:37 -0500
|
|
Branch: REL9_4_STABLE [eb9d1f050] 2020-01-17 16:17:39 -0500
|
|
-->
|
|
<para>
|
|
Fix possible crash with a SubPlan (sub-<literal>SELECT</literal>)
|
|
within a multi-row <literal>VALUES</literal> list (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4ac8aaa36] 2020-01-08 09:42:53 -0500
|
|
Branch: REL_12_STABLE [c24f3b70e] 2020-01-08 09:42:53 -0500
|
|
-->
|
|
<para>
|
|
Fix failure in <command>ALTER TABLE</command> when a column
|
|
referenced in a <literal>GENERATED</literal> expression has been
|
|
added or changed in type earlier in the
|
|
same <command>ALTER</command> command (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [bf6cc19e3] 2020-02-05 20:21:20 +0000
|
|
Branch: REL_12_STABLE [0e37489ed] 2020-02-05 20:08:11 +0000
|
|
Branch: REL_11_STABLE [d8f1c03a4] 2020-02-05 20:15:13 +0000
|
|
-->
|
|
<para>
|
|
Fix failure to insert default values for <quote>missing</quote>
|
|
attributes during tuple conversion (Vik Fearing, Andrew Gierth)
|
|
</para>
|
|
|
|
<para>
|
|
This could result in values incorrectly reading as NULL, when
|
|
they come from columns that had been added by <literal>ALTER
|
|
TABLE ADD COLUMN</literal> with a constant default.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [7bb3102ce] 2019-12-14 16:32:03 +1300
|
|
Branch: REL_12_STABLE [c3dc0cdd6] 2019-12-14 16:34:21 +1300
|
|
Branch: master [7c85be08a] 2019-12-14 18:35:58 +1300
|
|
Branch: REL_12_STABLE [fd005e1a8] 2019-12-14 19:03:44 +1300
|
|
-->
|
|
<para>
|
|
Fix unlikely panic in the checkpointer process, caused by opening
|
|
relation segments that might already have been removed (Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [38fc05607] 2020-01-10 18:31:22 -0800
|
|
Branch: REL_12_STABLE [93078e63f] 2020-01-10 18:31:25 -0800
|
|
Branch: REL_11_STABLE [2e86e154d] 2020-01-10 18:31:26 -0800
|
|
Branch: REL_10_STABLE [cb9774245] 2020-01-10 18:31:26 -0800
|
|
-->
|
|
<para>
|
|
Fix crash after FileClose() failure (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
This issue could only be observed
|
|
with <varname>data_sync_retry</varname> enabled, since otherwise
|
|
FileClose() failure would be reported as a PANIC.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
Branch: master [5a20b0219] 2019-12-10 18:00:30 +0900
|
|
Branch: REL_12_STABLE [547e454cb] 2019-12-10 18:00:31 +0900
|
|
-->
|
|
<para>
|
|
Fix handling of multiple <literal>AFTER ROW</literal> triggers on a
|
|
foreign table (Etsuro Fujita)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [affdde2e1] 2020-01-20 23:26:51 -0800
|
|
Branch: REL_12_STABLE [21fdfd0e8] 2020-01-20 23:29:35 -0800
|
|
Branch: REL_11_STABLE [c8e0e560e] 2020-01-20 23:29:38 -0800
|
|
Branch: REL_10_STABLE [8bb006a41] 2020-01-20 23:30:47 -0800
|
|
Branch: REL9_6_STABLE [d4c339924] 2020-01-20 23:31:48 -0800
|
|
Branch: REL9_5_STABLE [f651976d9] 2020-01-20 23:31:52 -0800
|
|
Branch: REL9_4_STABLE [ba1dfbe22] 2020-01-20 23:32:21 -0800
|
|
-->
|
|
<para>
|
|
Fix unlikely crash with pass-by-reference aggregate transition
|
|
states (Andres Freund, Teodor Sigaev)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4c70098ff] 2020-01-23 13:42:09 -0500
|
|
Branch: REL_12_STABLE [be13f227f] 2020-01-23 13:42:10 -0500
|
|
Branch: REL_11_STABLE [fb12aefaa] 2020-01-23 13:42:10 -0500
|
|
Branch: REL_10_STABLE [212b870d6] 2020-01-23 13:42:10 -0500
|
|
Branch: REL9_6_STABLE [9e24575f6] 2020-01-23 13:42:10 -0500
|
|
Branch: REL9_5_STABLE [a576f2a8f] 2020-01-23 13:42:10 -0500
|
|
Branch: REL9_4_STABLE [600b953d7] 2020-01-23 13:42:10 -0500
|
|
Branch: master [9a3a75cb8] 2020-01-23 16:15:32 -0500
|
|
Branch: REL_12_STABLE [f309c812e] 2020-01-23 16:15:32 -0500
|
|
Branch: REL_11_STABLE [7a9fef299] 2020-01-23 16:15:32 -0500
|
|
Branch: REL_10_STABLE [d6a9548b2] 2020-01-23 16:15:32 -0500
|
|
Branch: REL9_6_STABLE [451f50813] 2020-01-23 16:15:32 -0500
|
|
Branch: REL9_5_STABLE [0e63d9641] 2020-01-23 16:15:32 -0500
|
|
Branch: REL9_4_STABLE [8fc33e6cc] 2020-01-23 16:15:32 -0500
|
|
-->
|
|
<para>
|
|
Improve error reporting in <function>to_date()</function>
|
|
and <function>to_timestamp()</function>
|
|
(Tom Lane, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Reports about incorrect month or day names in input strings could
|
|
truncate the input in the middle of a multi-byte character, leading
|
|
to an improperly encoded error message that could cause follow-on
|
|
failures. Truncate at the next whitespace instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [1a3efa1eb] 2019-12-12 12:30:43 -0500
|
|
Branch: REL_12_STABLE [07c4b6ac7] 2019-12-12 12:30:44 -0500
|
|
Branch: REL_11_STABLE [332584da9] 2019-12-12 12:30:44 -0500
|
|
Branch: REL_10_STABLE [c965c42a5] 2019-12-12 12:30:44 -0500
|
|
Branch: REL9_6_STABLE [6e2ac8d66] 2019-12-12 12:30:44 -0500
|
|
Branch: REL9_5_STABLE [323c47925] 2019-12-12 12:30:44 -0500
|
|
Branch: REL9_4_STABLE [6aa126311] 2019-12-12 12:30:44 -0500
|
|
-->
|
|
<para>
|
|
Fix off-by-one result for <literal>EXTRACT(ISOYEAR
|
|
FROM <replaceable>timestamp</replaceable>)</literal> for BC dates
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d57d61533] 2019-11-13 15:53:53 -0500
|
|
Branch: REL_12_STABLE [5a6eea092] 2019-11-13 15:53:53 -0500
|
|
-->
|
|
<para>
|
|
Ensure that the <literal><></literal> operator for
|
|
type <type>char</type> reports indeterminate-collation errors as
|
|
such, rather than as <quote>cache lookup failed for collation
|
|
0</quote> (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [cb5b28613] 2020-02-07 22:06:31 +0900
|
|
Branch: REL_12_STABLE [598b466e8] 2020-02-07 22:07:44 +0900
|
|
Branch: REL_12_STABLE [4faea7fdf] 2020-02-08 12:29:38 +0900
|
|
-->
|
|
<para>
|
|
Avoid treating TID scans as sequential scans (Tatsuhito Kasahara)
|
|
</para>
|
|
|
|
<para>
|
|
A refactoring oversight caused TID scans (selection by CTID) to be
|
|
counted as sequential scans in the statistics views, and to take
|
|
whole-table predicate locks as sequential scans do. The latter
|
|
behavior could cause unnecessary serialization errors in
|
|
serializable transaction mode.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4a0aab14d] 2019-11-21 16:21:43 -0500
|
|
Branch: REL_12_STABLE [5186f7625] 2019-11-21 16:21:43 -0500
|
|
Branch: REL_11_STABLE [669138ebd] 2019-11-21 16:21:44 -0500
|
|
Branch: REL_10_STABLE [b9f3d7a53] 2019-11-21 16:21:44 -0500
|
|
Branch: REL9_6_STABLE [52434ba73] 2019-11-21 16:21:44 -0500
|
|
Branch: REL9_5_STABLE [bcd541897] 2019-11-21 16:21:44 -0500
|
|
Branch: REL9_4_STABLE [f09829017] 2019-11-21 16:21:44 -0500
|
|
-->
|
|
<para>
|
|
Avoid stack overflow in <literal>information_schema</literal> views
|
|
when a self-referential view exists in the system catalogs
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
A self-referential view can't work; it will always result in
|
|
infinite recursion. We handled that situation correctly when
|
|
trying to execute the view, but not when inquiring whether it is
|
|
automatically updatable.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [b175bd59f] 2020-01-07 17:38:48 -0300
|
|
Branch: REL_12_STABLE [fce9ba819] 2020-01-07 17:38:48 -0300
|
|
Branch: REL_11_STABLE [896db774e] 2020-01-07 17:38:48 -0300
|
|
Branch: REL_10_STABLE [8de3b68fa] 2020-01-07 17:55:21 -0300
|
|
Branch: master [f5d28710c] 2020-01-08 14:33:49 -0300
|
|
Branch: REL_12_STABLE [20c4df8c8] 2020-01-08 14:33:49 -0300
|
|
Branch: REL_11_STABLE [af43581e8] 2020-01-08 14:33:49 -0300
|
|
Branch: REL_10_STABLE [da42b9f3f] 2020-01-08 14:33:49 -0300
|
|
-->
|
|
<para>
|
|
Ensure that walsender processes always show NULL for transaction
|
|
start time in <structname>pg_stat_activity</structname>
|
|
(Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, the <structfield>xact_start</structfield> column would
|
|
sometimes show the process start time.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [e69d64454] 2019-12-24 13:05:43 +1300
|
|
Branch: REL_12_STABLE [8052aaf52] 2019-12-24 13:07:54 +1300
|
|
Branch: REL_11_STABLE [9e551a14c] 2019-12-24 13:09:56 +1300
|
|
Branch: REL_10_STABLE [8e89bc6df] 2019-12-24 13:11:13 +1300
|
|
Branch: REL9_6_STABLE [15861deb6] 2019-12-24 13:12:50 +1300
|
|
Branch: REL9_5_STABLE [893eaf0be] 2019-12-24 13:13:13 +1300
|
|
Branch: REL9_4_STABLE [5c0a132cf] 2019-12-24 13:13:30 +1300
|
|
-->
|
|
<para>
|
|
Improve performance of hash joins with very large inner relations
|
|
(Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e369f3708] 2020-01-06 16:42:20 -0500
|
|
Branch: REL_12_STABLE [b89845267] 2020-01-06 16:42:20 -0500
|
|
-->
|
|
<para>
|
|
Reduce spinlock contention when there are many active walsender
|
|
processes (Pierre Ducroquet)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7d91b604d] 2020-02-04 13:07:13 -0500
|
|
Branch: REL_12_STABLE [9a85860e1] 2020-02-04 13:07:13 -0500
|
|
Branch: REL_11_STABLE [842a23efa] 2020-02-04 13:07:13 -0500
|
|
-->
|
|
<para>
|
|
Fix placement of <quote>Subplans Removed</quote> field
|
|
in <command>EXPLAIN</command> output (Daniel Gustafsson, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
In non-text output formats, this field was emitted inside
|
|
the <quote>Plans</quote> sub-group, resulting in syntactically
|
|
invalid output. Attach it to the parent Append or MergeAppend plan
|
|
node as intended. This causes the field to change position in text
|
|
output format too: if there are any InitPlans attached to the same
|
|
plan node, <quote>Subplans Removed</quote> will now appear before
|
|
those.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3ec20c709] 2020-01-26 16:32:19 -0500
|
|
Branch: REL_12_STABLE [bad494380] 2020-01-26 16:31:48 -0500
|
|
-->
|
|
<para>
|
|
Fix <command>EXPLAIN</command>'s <literal>SETTINGS</literal> option
|
|
to print as empty in non-text output formats (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
In the non-text output formats, fields are supposed to appear when
|
|
requested, even if they have empty or zero values.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [553d2ec27] 2019-11-26 14:41:48 -0500
|
|
Branch: REL_12_STABLE [21a4edd12] 2019-11-26 14:41:48 -0500
|
|
Branch: REL_11_STABLE [1d9056f56] 2019-11-26 14:41:48 -0500
|
|
-->
|
|
<para>
|
|
Allow the planner to apply potentially-leaky tests to child-table
|
|
statistics, if the user can read the corresponding column of the
|
|
table that's actually named in the query (Dilip Kumar, Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
This change fixes a performance problem for partitioned tables that
|
|
was created by the fix for CVE-2017-7484. That security fix
|
|
disallowed applying leaky operators to statistics for columns that
|
|
the current user doesn't have permission to read directly. However,
|
|
it's somewhat common to grant permissions only on the parent
|
|
partitioned table and not bother to do so on individual partitions.
|
|
In such cases, the user can read the column via the parent, so
|
|
there's no point in this security restriction; it only results in
|
|
poorer planner estimates than necessary.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [6ea364e7e] 2019-12-14 13:49:15 -0500
|
|
Branch: REL_12_STABLE [d04e2553d] 2019-12-14 13:49:15 -0500
|
|
-->
|
|
<para>
|
|
Fix planner errors induced by overly-aggressive collapsing of joins
|
|
to single-row subqueries (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This mistake led to errors such as <quote>failed to construct the
|
|
join relation</quote>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [b3c265d7b] 2019-11-19 17:03:34 -0500
|
|
Branch: REL_12_STABLE [bffe18e3e] 2019-11-19 17:03:35 -0500
|
|
-->
|
|
<para>
|
|
Fix <quote>no = operator for
|
|
opfamily <replaceable>NNNN</replaceable></quote> planner error when
|
|
trying to match a <literal>LIKE</literal> or regex pattern-match
|
|
operator to a binary-compatible index opclass (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [652686a33] 2020-01-12 14:36:59 -0500
|
|
Branch: REL_12_STABLE [70c17a812] 2020-01-12 14:37:00 -0500
|
|
Branch: REL_11_STABLE [5832be6ca] 2020-01-12 14:37:00 -0500
|
|
Branch: REL_10_STABLE [8c8b456b5] 2020-01-12 14:37:00 -0500
|
|
Branch: REL9_6_STABLE [2dd10477c] 2020-01-12 14:37:00 -0500
|
|
Branch: REL9_5_STABLE [784c58da1] 2020-01-12 14:37:00 -0500
|
|
Branch: REL9_4_STABLE [6bd567b65] 2020-01-12 14:37:00 -0500
|
|
-->
|
|
<para>
|
|
Fix edge-case crashes and misestimations in selectivity calculations
|
|
for the <literal><@</literal> and <literal>@></literal> range
|
|
operators (Michael Paquier, Andrey Borodin, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [c676e659b] 2019-11-28 22:20:45 +0100
|
|
Branch: REL_12_STABLE [ef3fed2ce] 2019-11-28 22:26:25 +0100
|
|
Branch: master [6d61c3f1c] 2019-11-28 23:25:14 +0100
|
|
Branch: REL_12_STABLE [79d6e6afa] 2019-11-28 23:28:53 +0100
|
|
-->
|
|
<para>
|
|
Fix incorrect estimation for <literal>OR</literal> clauses when
|
|
using most-common-value extended statistics (Tomas Vondra)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [d482f7f86] 2019-11-16 01:17:15 +0100
|
|
Branch: REL_12_STABLE [28555a53c] 2019-11-16 01:25:14 +0100
|
|
Branch: REL_11_STABLE [25a9ff6ca] 2019-11-16 01:58:38 +0100
|
|
Branch: REL_10_STABLE [0b0f281cc] 2019-11-16 01:42:20 +0100
|
|
-->
|
|
<para>
|
|
Ignore system columns when applying most-common-value
|
|
extended statistics (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents <quote>negative bitmapset member not allowed</quote>
|
|
planner errors for affected queries.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [168d20640] 2019-11-21 10:23:28 +0900
|
|
Branch: REL_12_STABLE [c644407f7] 2019-11-21 10:23:38 +0900
|
|
Branch: REL_11_STABLE [62074a343] 2019-11-21 10:23:43 +0900
|
|
Branch: REL_10_STABLE [f4095026c] 2019-11-21 10:23:49 +0900
|
|
-->
|
|
<para>
|
|
Fix BRIN index logic to support hypothetical BRIN indexes
|
|
(Julien Rouhaud, Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, if an <quote>index adviser</quote> extension tried to
|
|
get the planner to produce a plan involving a hypothetical BRIN
|
|
index, that would fail, because the BRIN cost estimation code would
|
|
always try to physically access the index's metapage. Now it checks
|
|
to see if the index is only hypothetical, and uses default
|
|
assumptions about the index parameters if so.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
Branch: master [d751ba523] 2020-01-14 09:52:21 +0000
|
|
Branch: REL_12_STABLE [fd5476b79] 2020-01-14 09:51:28 +0000
|
|
Branch: REL_11_STABLE [9bdb1f0e3] 2020-01-14 09:50:51 +0000
|
|
Branch: REL_10_STABLE [353cd826f] 2020-01-14 09:50:13 +0000
|
|
Branch: REL9_6_STABLE [fd87262de] 2020-01-14 09:49:23 +0000
|
|
Branch: REL9_5_STABLE [bb09a9414] 2020-01-14 09:48:44 +0000
|
|
Branch: REL9_4_STABLE [9be6fcb3e] 2020-01-14 09:47:44 +0000
|
|
-->
|
|
<para>
|
|
Improve error reporting for attempts to use automatic updating of
|
|
views with conditional <literal>INSTEAD</literal> rules (Dean Rasheed)
|
|
</para>
|
|
|
|
<para>
|
|
This has never been supported, but previously the error was thrown
|
|
only at execution time, so that it could be masked by planner errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [fc7695891] 2019-12-23 12:08:23 -0500
|
|
Branch: REL_12_STABLE [976cb11f6] 2019-12-23 12:08:23 -0500
|
|
Branch: REL_11_STABLE [31dfa40a8] 2019-12-23 12:08:24 -0500
|
|
Branch: REL_10_STABLE [4af2531d0] 2019-12-23 12:08:24 -0500
|
|
Branch: REL9_6_STABLE [354d913f9] 2019-12-23 12:08:24 -0500
|
|
Branch: REL9_5_STABLE [6609c3ad9] 2019-12-23 12:08:24 -0500
|
|
Branch: REL9_4_STABLE [0d245d13c] 2019-12-23 12:08:24 -0500
|
|
Branch: master [74b35eb46] 2020-01-31 17:03:55 -0500
|
|
Branch: REL_12_STABLE [65aa15513] 2020-01-31 17:03:55 -0500
|
|
Branch: REL_11_STABLE [25dc267a1] 2020-01-31 17:03:55 -0500
|
|
Branch: REL_10_STABLE [de3d2df75] 2020-01-31 17:03:55 -0500
|
|
Branch: REL9_6_STABLE [742c646c1] 2020-01-31 17:03:55 -0500
|
|
Branch: REL9_5_STABLE [59047b6d0] 2020-01-31 17:03:55 -0500
|
|
Branch: REL9_4_STABLE [f521ef0ae] 2020-01-31 17:03:55 -0500
|
|
-->
|
|
<para>
|
|
Prevent a composite type from being included in itself indirectly
|
|
via a range type (Tom Lane, Julien Rouhaud)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [39ebb943d] 2019-12-23 12:53:12 -0500
|
|
Branch: REL_12_STABLE [7fbb39a96] 2019-12-23 12:53:13 -0500
|
|
Branch: REL_11_STABLE [281dd22ac] 2019-12-23 12:53:13 -0500
|
|
Branch: REL_10_STABLE [ea1205a02] 2019-12-23 12:53:13 -0500
|
|
-->
|
|
<para>
|
|
Disallow partition key expressions that return pseudo-types, such
|
|
as <type>record</type> (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2acab054b] 2019-12-17 17:44:27 -0500
|
|
Branch: REL_12_STABLE [97ba30fab] 2019-12-17 17:44:28 -0500
|
|
Branch: REL_11_STABLE [fc449abc3] 2019-12-17 17:44:28 -0500
|
|
Branch: REL_10_STABLE [5c5a268c6] 2019-12-17 17:44:28 -0500
|
|
Branch: REL9_6_STABLE [275a8ac4f] 2019-12-17 17:44:28 -0500
|
|
Branch: REL9_5_STABLE [da5dd4218] 2019-12-17 17:44:28 -0500
|
|
Branch: REL9_4_STABLE [298d056d9] 2019-12-17 17:44:28 -0500
|
|
-->
|
|
<para>
|
|
Fix error reporting for index expressions of prohibited types
|
|
(Amit Langote)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [bf2efc55d] 2019-11-16 20:00:19 -0500
|
|
Branch: REL_12_STABLE [fcaf29d87] 2019-11-16 20:00:19 -0500
|
|
Branch: REL_11_STABLE [d898edf4f] 2019-11-16 20:00:19 -0500
|
|
Branch: REL_10_STABLE [a1b2cf095] 2019-11-16 20:00:19 -0500
|
|
Branch: REL9_6_STABLE [e4865bbdc] 2019-11-16 20:00:19 -0500
|
|
Branch: REL9_5_STABLE [ecb533af6] 2019-11-16 20:00:20 -0500
|
|
Branch: REL9_4_STABLE [65da6dd1d] 2019-11-16 20:00:20 -0500
|
|
-->
|
|
<para>
|
|
Fix dumping of views that contain only a <literal>VALUES</literal>
|
|
list to handle cases where a view output column has been renamed
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2c7b5dad6] 2019-11-13 12:11:49 -0500
|
|
Branch: REL_12_STABLE [eec569fac] 2019-11-13 12:11:49 -0500
|
|
Branch: REL_11_STABLE [94a9cb43f] 2019-11-13 12:11:49 -0500
|
|
Branch: REL_10_STABLE [e25c4b3b2] 2019-11-13 12:11:50 -0500
|
|
-->
|
|
<para>
|
|
Ensure that data types and collations used
|
|
in <literal>XMLTABLE</literal> constructs are accounted for when
|
|
computing dependencies of a view or rule (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously it was possible to break a view
|
|
using <literal>XMLTABLE</literal> by dropping a type, if the type
|
|
was not otherwise referenced in the view. This fix does not
|
|
correct the dependencies already recorded for existing views, only
|
|
for newly-created ones.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [7618eaf5f] 2019-11-13 13:41:04 -0500
|
|
Branch: REL_12_STABLE [d9802590a] 2019-11-13 13:41:04 -0500
|
|
Branch: REL_11_STABLE [d66e68207] 2019-11-13 13:41:04 -0500
|
|
Branch: REL_10_STABLE [4be69e2ea] 2019-11-13 13:41:04 -0500
|
|
-->
|
|
<para>
|
|
Prevent unwanted downcasing and truncation of RADIUS authentication
|
|
parameters (Marcos David)
|
|
</para>
|
|
|
|
<para>
|
|
The <filename>pg_hba.conf</filename> parser mistakenly treated these
|
|
fields as SQL identifiers, which in general they aren't.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [790026972] 2019-11-24 14:42:59 -0500
|
|
Branch: REL_12_STABLE [c47f498c9] 2019-11-24 14:42:59 -0500
|
|
Branch: REL_11_STABLE [377d1b95b] 2019-11-24 14:42:59 -0500
|
|
Branch: REL_10_STABLE [dbe15524b] 2019-11-24 14:42:59 -0500
|
|
Branch: REL9_6_STABLE [111298aa6] 2019-11-24 14:42:59 -0500
|
|
-->
|
|
<para>
|
|
Transmit incoming <command>NOTIFY</command> messages to the client
|
|
before sending <literal>ReadyForQuery</literal>, rather than after
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This change ensures that, with libpq and other client libraries that
|
|
act similarly to it, any notifications received during a transaction
|
|
will be available by the time the client thinks the transaction is
|
|
complete. This probably makes no difference in practical
|
|
applications (which would need to cope with asynchronous
|
|
notifications in any case); but it makes it easier to build test
|
|
cases with reproducible behavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2c0cdc818] 2020-01-11 17:14:08 -0500
|
|
Branch: REL_12_STABLE [fde155424] 2020-01-11 17:14:08 -0500
|
|
-->
|
|
<para>
|
|
Fix bugs in handling of non-blocking I/O when using GSSAPI
|
|
encryption (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
These errors could result in dropping data (usually leading to
|
|
subsequent wire-protocol-violation errors) or in
|
|
a <quote>livelock</quote> situation where a sending process goes to
|
|
sleep although not all its data has been sent.
|
|
Moreover, <application>libpq</application> failed to keep separate
|
|
encryption state for each connection, creating the possibility for
|
|
failures in applications using multiple encrypted database
|
|
connections.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [e60b480d3] 2019-12-20 15:34:07 -0500
|
|
Branch: REL_12_STABLE [e8f60e6fe] 2019-12-20 15:34:07 -0500
|
|
Branch: REL_11_STABLE [1a77ea02d] 2019-12-20 15:34:08 -0500
|
|
Branch: REL_10_STABLE [d09cfa3e2] 2019-12-20 15:34:08 -0500
|
|
Branch: REL9_6_STABLE [c11bd6c10] 2019-12-20 15:34:08 -0500
|
|
Branch: REL9_5_STABLE [5e22a1111] 2019-12-20 15:34:08 -0500
|
|
Branch: REL9_4_STABLE [875c7d70d] 2019-12-20 15:34:08 -0500
|
|
-->
|
|
<para>
|
|
Allow <application>libpq</application> to parse all GSS-related
|
|
connection parameters even when the GSSAPI code hasn't been compiled
|
|
in (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This makes the behavior similar to our SSL support, where it was
|
|
long ago deemed to be a good idea to always accept all the related
|
|
parameters, even if some are ignored or restricted due to lack of
|
|
the feature in a particular build.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [3ff660bbe] 2019-11-30 14:51:27 +0100
|
|
Branch: REL_12_STABLE [0dafed6fe] 2019-11-30 15:04:02 +0100
|
|
Branch: REL_11_STABLE [9668bf5d5] 2019-11-30 15:05:31 +0100
|
|
Branch: REL_10_STABLE [f71b22f53] 2019-11-30 15:07:47 +0100
|
|
Branch: REL9_6_STABLE [c59414da7] 2019-11-30 15:10:14 +0100
|
|
Branch: REL9_5_STABLE [a17602de1] 2019-11-30 15:14:12 +0100
|
|
Branch: REL9_4_STABLE [d9b974e99] 2019-11-30 15:16:58 +0100
|
|
-->
|
|
<para>
|
|
Fix incorrect handling of <literal>%b</literal>
|
|
and <literal>%B</literal> format codes
|
|
in <application>ecpg</application>'s
|
|
<function>PGTYPEStimestamp_fmt_asc()</function> function
|
|
(Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
Due to an off-by-one error, these codes would print the wrong month
|
|
name, or possibly crash.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [44f1fc8df] 2020-01-19 19:15:15 -0500
|
|
Branch: REL_12_STABLE [c7c2cc670] 2020-01-19 19:15:15 -0500
|
|
-->
|
|
<para>
|
|
Avoid crash after an out-of-memory failure
|
|
in <application>ecpglib</application> (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [2425f8f71] 2020-01-31 14:41:49 -0500
|
|
Branch: REL_12_STABLE [0c84199f7] 2020-01-31 14:41:49 -0500
|
|
Branch: REL_11_STABLE [63634883f] 2020-01-31 14:41:49 -0500
|
|
Branch: REL_10_STABLE [8b1d447a7] 2020-01-31 14:41:49 -0500
|
|
Branch: REL9_6_STABLE [cb4c04a4e] 2020-01-31 14:41:49 -0500
|
|
Branch: REL9_5_STABLE [1b78759a6] 2020-01-31 14:41:49 -0500
|
|
Branch: REL9_4_STABLE [5d60df830] 2020-01-31 14:41:49 -0500
|
|
-->
|
|
<para>
|
|
Fix
|
|
parallel <application>pg_dump</application>/<application>pg_restore</application>
|
|
to more gracefully handle failure to create worker processes
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [cd23a2019] 2020-01-20 12:57:17 -0500
|
|
Branch: REL_12_STABLE [71b121f42] 2020-01-20 12:57:17 -0500
|
|
Branch: REL_11_STABLE [4ea5cf403] 2020-01-20 12:57:17 -0500
|
|
Branch: REL_10_STABLE [6f6daa1be] 2020-01-20 12:57:17 -0500
|
|
Branch: REL9_6_STABLE [208e262f9] 2020-01-20 12:57:17 -0500
|
|
Branch: REL9_5_STABLE [b1392a950] 2020-01-20 12:57:17 -0500
|
|
Branch: REL9_4_STABLE [42e538fe6] 2020-01-20 12:57:18 -0500
|
|
-->
|
|
<para>
|
|
Prevent possible crash or lockup when attempting to terminate a
|
|
parallel <application>pg_dump</application>/<application>pg_restore</application>
|
|
run via a signal (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [29aeda6e4] 2019-11-13 11:35:37 -0500
|
|
Branch: REL_12_STABLE [1cd57b05e] 2019-11-13 11:35:37 -0500
|
|
Branch: REL_11_STABLE [8e4ef3287] 2019-11-13 11:35:37 -0500
|
|
Branch: REL_10_STABLE [c443e3c43] 2019-11-13 11:35:37 -0500
|
|
Branch: REL9_6_STABLE [f378d4dac] 2019-11-13 11:35:37 -0500
|
|
Branch: REL9_5_STABLE [fb26754af] 2019-11-13 11:35:37 -0500
|
|
Branch: REL9_4_STABLE [56c06999d] 2019-11-13 11:35:37 -0500
|
|
-->
|
|
<para>
|
|
In <application>pg_upgrade</application>, look inside arrays and
|
|
ranges while searching for non-upgradable data types in tables
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [8fa8e0115] 2020-02-10 12:14:58 -0300
|
|
Branch: REL_12_STABLE [87d014da9] 2020-02-10 12:14:58 -0300
|
|
Branch: REL_11_STABLE [ca902add6] 2020-02-10 12:14:58 -0300
|
|
Branch: REL_10_STABLE [163161723] 2020-02-10 12:14:58 -0300
|
|
Branch: REL9_6_STABLE [5575fc208] 2020-02-10 12:14:58 -0300
|
|
Branch: REL9_5_STABLE [1b2ae4bcd] 2020-02-10 12:16:40 -0300
|
|
Branch: REL9_4_STABLE [6f1e443a6] 2020-02-10 12:14:58 -0300
|
|
-->
|
|
<para>
|
|
Apply more thorough syntax checking
|
|
to <application>createuser</application>'s
|
|
<option>--connection-limit</option> option (Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [4ba4bfaf2] 2019-12-26 15:19:39 -0500
|
|
Branch: REL_12_STABLE [883c27a1c] 2019-12-26 15:19:39 -0500
|
|
Branch: REL_11_STABLE [ee206cb83] 2019-12-26 15:19:39 -0500
|
|
-->
|
|
<para>
|
|
Cope with changes of the specific type referenced by a PL/pgSQL
|
|
composite-type variable in more cases (Ashutosh Sharma, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Dropping and re-creating the composite type referenced by a PL/pgSQL
|
|
variable could lead to <quote>could not open relation with
|
|
OID <replaceable>NNNN</replaceable></quote> errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [215824f91] 2020-01-26 14:31:08 -0500
|
|
Branch: REL_12_STABLE [7294f99a0] 2020-01-26 14:31:08 -0500
|
|
Branch: REL_11_STABLE [5220ced0d] 2020-01-26 14:31:08 -0500
|
|
Branch: REL_10_STABLE [603e03b4c] 2020-01-26 14:31:08 -0500
|
|
Branch: REL9_6_STABLE [43a648f57] 2020-01-26 14:31:08 -0500
|
|
-->
|
|
<para>
|
|
Avoid crash in <filename>postgres_fdw</filename> when trying to
|
|
send a command like <literal>UPDATE remote_tab SET (x,y) = (SELECT
|
|
...)</literal> to the remote server (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [b52739436] 2019-12-03 18:40:07 +0100
|
|
Branch: REL_12_STABLE [a8a8c6b29] 2019-12-03 18:40:48 +0100
|
|
Branch: REL_11_STABLE [267eb954c] 2019-12-03 18:41:29 +0100
|
|
Branch: REL_10_STABLE [46ce37b67] 2019-12-03 18:41:50 +0100
|
|
Branch: REL9_6_STABLE [fabdad822] 2019-12-03 18:42:25 +0100
|
|
Branch: REL9_5_STABLE [a2fdeb786] 2019-12-03 18:42:54 +0100
|
|
Branch: REL9_4_STABLE [44381b1af] 2019-12-03 18:43:15 +0100
|
|
-->
|
|
<para>
|
|
In <filename>contrib/dict_int</filename>,
|
|
reject <varname>maxlen</varname> settings less than one
|
|
(Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents a possible crash with silly settings for that parameter.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Joe Conway <mail@joeconway.com>
|
|
Branch: master [d5b9c2baf] 2019-12-23 13:33:25 -0500
|
|
Branch: REL_12_STABLE [b5e7569dd] 2019-12-23 13:33:34 -0500
|
|
Branch: REL_11_STABLE [f49e5efbc] 2019-12-23 13:33:42 -0500
|
|
Branch: REL_10_STABLE [81be0c57e] 2019-12-23 13:33:50 -0500
|
|
Branch: REL9_6_STABLE [3757c1640] 2019-12-23 13:33:57 -0500
|
|
Branch: REL9_5_STABLE [70fc6c4ef] 2019-12-23 13:34:05 -0500
|
|
Branch: REL9_4_STABLE [4a3cdb531] 2019-12-23 13:34:12 -0500
|
|
-->
|
|
<para>
|
|
Disallow NULL category values
|
|
in <filename>contrib/tablefunc</filename>'s
|
|
<function>crosstab()</function> function (Joe Conway)
|
|
</para>
|
|
|
|
<para>
|
|
This case never worked usefully, and it would crash on some
|
|
platforms.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [7d0bcb047] 2019-12-06 15:13:55 +0900
|
|
Branch: REL_12_STABLE [902276ff1] 2019-12-06 15:14:26 +0900
|
|
Branch: REL_11_STABLE [7ad544fd8] 2019-12-06 15:14:31 +0900
|
|
-->
|
|
<para>
|
|
Fix <application>configure</application>'s probe for
|
|
OpenSSL's <function>SSL_clear_options()</function> function so that
|
|
it works with OpenSSL versions before 1.1.0 (Michael Paquier, Daniel
|
|
Gustafsson)
|
|
</para>
|
|
|
|
<para>
|
|
This problem could lead to failure to set the SSL compression option
|
|
as desired, when <productname>PostgreSQL</productname> is built against
|
|
an old version of OpenSSL.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [62c9b5223] 2020-01-21 13:46:39 +0900
|
|
Branch: REL_12_STABLE [ef8e6b2c2] 2020-01-21 13:46:55 +0900
|
|
Branch: REL_11_STABLE [7c7026bb7] 2020-01-21 13:47:01 +0900
|
|
Branch: REL_10_STABLE [1ef7332b7] 2020-01-21 13:47:05 +0900
|
|
Branch: REL9_6_STABLE [9740cdbe5] 2020-01-21 13:47:10 +0900
|
|
Branch: REL9_5_STABLE [4a49149b9] 2020-01-21 13:47:13 +0900
|
|
Branch: REL9_4_STABLE [dbe405b78] 2020-01-21 13:47:17 +0900
|
|
-->
|
|
<para>
|
|
Mark some timeout and statistics-tracking GUC variables
|
|
as <literal>PGDLLIMPORT</literal>, to allow extensions to access
|
|
them on Windows (Pascal Legrand)
|
|
</para>
|
|
|
|
<para>
|
|
This applies to
|
|
<literal>idle_in_transaction_session_timeout</literal>,
|
|
<literal>lock_timeout</literal>,
|
|
<literal>statement_timeout</literal>,
|
|
<literal>track_activities</literal>,
|
|
<literal>track_counts</literal>, and
|
|
<literal>track_functions</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [543852fd8] 2020-01-17 15:29:11 +0100
|
|
Branch: REL_12_STABLE [162c951df] 2020-01-17 15:30:51 +0100
|
|
Branch: REL_11_STABLE [8c37e4469] 2020-01-17 15:31:33 +0100
|
|
Branch: REL_10_STABLE [a801452c9] 2020-01-17 15:32:03 +0100
|
|
-->
|
|
<para>
|
|
Avoid memory leak in sanity checks for <quote>slab</quote> memory
|
|
contexts (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
This isn't an issue for production builds, since they wouldn't
|
|
ordinarily have memory context checking enabled; but the leak could
|
|
be quite severe in a debug build.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [3ccc66dac] 2020-02-06 14:43:21 +0900
|
|
Branch: REL_12_STABLE [3d214a8e5] 2020-02-06 14:44:22 +0900
|
|
Branch: REL_11_STABLE [ac25e1044] 2020-02-06 14:44:40 +0900
|
|
Branch: REL_10_STABLE [c17abac60] 2020-02-06 14:44:59 +0900
|
|
-->
|
|
<para>
|
|
Fix multiple statistics entries reported by the LWLock statistics
|
|
mechanism (Fujii Masao)
|
|
</para>
|
|
|
|
<para>
|
|
The LWLock statistics code (which is not built by default; it
|
|
requires compiling with <option>-DLWLOCK_STATS</option>)
|
|
could report multiple entries for the same LWLock and backend
|
|
process, as a result of faulty hashtable key creation.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [28e6a2fd6] 2019-12-09 15:03:51 -0500
|
|
Branch: REL_12_STABLE [001362cfd] 2019-12-09 15:03:51 -0500
|
|
Branch: REL_11_STABLE [2ed302ab9] 2019-12-09 15:03:51 -0500
|
|
Branch: REL_10_STABLE [096ea540e] 2019-12-09 15:03:52 -0500
|
|
Branch: REL9_6_STABLE [df44e411c] 2019-12-09 15:03:52 -0500
|
|
Branch: REL9_5_STABLE [1a0c65120] 2019-12-09 15:03:52 -0500
|
|
Branch: REL9_4_STABLE [7309e75fa] 2019-12-09 15:03:52 -0500
|
|
-->
|
|
<para>
|
|
Fix race condition that led to delayed delivery of interprocess
|
|
signals on Windows (Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
This caused visible timing oddities in <command>NOTIFY</command>,
|
|
and perhaps other misbehavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [6969deeb8] 2019-11-20 18:29:37 +1300
|
|
Branch: REL_12_STABLE [2189f49c4] 2019-11-20 18:30:56 +1300
|
|
-->
|
|
<para>
|
|
Fix handling of a corner-case error result from
|
|
Windows' <function>ReadFile()</function> function
|
|
(Thomas Munro, Juan José Santamaría Flecha)
|
|
</para>
|
|
|
|
<para>
|
|
So far as is known, this oversight just resulted in noisy log
|
|
messages, not any actual query misbehavior.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [6d7547c21] 2019-12-16 15:10:55 -0500
|
|
Branch: REL_12_STABLE [95f43fee9] 2019-12-16 15:10:55 -0500
|
|
Branch: REL_11_STABLE [2cf51809b] 2019-12-16 15:10:55 -0500
|
|
Branch: REL_10_STABLE [81b052c31] 2019-12-16 15:10:55 -0500
|
|
Branch: REL9_6_STABLE [65cb25e4f] 2019-12-16 15:10:55 -0500
|
|
Branch: REL9_5_STABLE [cd0380351] 2019-12-16 15:10:55 -0500
|
|
Branch: REL9_4_STABLE [cfb2a4cce] 2019-12-16 15:10:56 -0500
|
|
Branch: master [5406513e9] 2019-12-21 17:39:36 -0500
|
|
Branch: REL_12_STABLE [90281a3a2] 2019-12-21 17:39:36 -0500
|
|
Branch: REL_11_STABLE [b3c4e2418] 2019-12-21 17:39:36 -0500
|
|
Branch: REL_10_STABLE [a69f5697a] 2019-12-21 17:39:36 -0500
|
|
Branch: REL9_6_STABLE [739201b0e] 2019-12-21 17:39:36 -0500
|
|
Branch: REL9_5_STABLE [35b28d983] 2019-12-21 17:39:37 -0500
|
|
Branch: REL9_4_STABLE [f1a4020ef] 2019-12-21 17:39:37 -0500
|
|
-->
|
|
<para>
|
|
On Windows, retry a few times after
|
|
an <literal>ERROR_ACCESS_DENIED</literal> file access failure
|
|
(Alexander Lakhin, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This helps cope with cases where a file open attempt fails because
|
|
the targeted file is flagged for deletion but not yet actually gone.
|
|
<application>pg_ctl</application>, for example, frequently failed
|
|
with such an error when probing to see if the postmaster had shut
|
|
down yet.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [0da33c762] 2019-12-10 13:17:08 -0500
|
|
Branch: REL_12_STABLE [be9d4b928] 2019-12-10 13:17:08 -0500
|
|
-->
|
|
<para>
|
|
On Windows, work around sharing violations for the postmaster's log
|
|
file when <application>pg_ctl</application> is used to start the
|
|
postmaster very shortly after it's been stopped, for example by
|
|
<literal>pg_ctl restart</literal> (Alexander Lakhin)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12-1">
|
|
<title>Release 12.1</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2019-11-14</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
This release contains a variety of fixes from 12.0.
|
|
For information about new features in major release 12, see
|
|
<xref linkend="release-12"/>.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Migration to Version 12.1</title>
|
|
|
|
<para>
|
|
A dump/restore is not required for those running 12.X.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [93765bd95] 2019-10-09 22:00:50 -0700
|
|
Branch: REL_12_STABLE [f224c7c11] 2019-10-09 22:13:48 -0700
|
|
Branch: master [ae5cae54c] 2019-10-16 02:37:34 -0700
|
|
Branch: REL_12_STABLE [3b25de620] 2019-10-16 02:38:13 -0700
|
|
-->
|
|
<para>
|
|
Fix crash when <command>ALTER TABLE</command> adds a column without
|
|
a default value along with making other changes that require a table
|
|
rewrite (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [5d3500da7] 2019-10-23 15:04:48 +0900
|
|
Branch: REL_12_STABLE [7668d4847] 2019-10-23 15:05:09 +0900
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [8270a0d9a] 2019-10-25 10:20:08 +0900
|
|
Branch: REL_12_STABLE [7f84b0ef0] 2019-10-25 10:20:16 +0900
|
|
-->
|
|
<para>
|
|
Fix lock handling in <command>REINDEX CONCURRENTLY</command>
|
|
(Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
<command>REINDEX CONCURRENTLY</command> neglected to take a
|
|
session-level lock on the new index version, potentially allowing
|
|
other sessions to manipulate it too soon.
|
|
Also, a query-cancel or session-termination interrupt arriving at the
|
|
wrong time could result in failure to release the session-level
|
|
locks that <command>REINDEX CONCURRENTLY</command> does hold.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [0d21f919e] 2019-10-16 14:51:34 +0200
|
|
Branch: REL_12_STABLE [1cd5bc3cc] 2019-10-16 14:51:23 +0200
|
|
-->
|
|
<para>
|
|
Avoid crash due to race condition when reporting the progress of
|
|
a <command>CREATE INDEX CONCURRENTLY</command> or <command>REINDEX
|
|
CONCURRENTLY</command> command (Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [68ac9cf24] 2019-10-28 11:57:31 +0900
|
|
Branch: REL_12_STABLE [5e5f32284] 2019-10-28 11:58:29 +0900
|
|
-->
|
|
<para>
|
|
Avoid creating duplicate dependency entries during <command>REINDEX
|
|
CONCURRENTLY</command> (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This bug resulted in bloat in <structname>pg_depend</structname>,
|
|
but no worse consequences than that.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [6bda2af03] 2019-10-17 09:59:21 +1300
|
|
Branch: REL_12_STABLE [486a8f152] 2019-10-17 11:08:49 +1300
|
|
Branch: REL_11_STABLE [6f1e336de] 2019-10-17 11:01:35 +1300
|
|
Branch: REL_10_STABLE [583d86f92] 2019-10-17 10:55:26 +1300
|
|
Branch: REL9_6_STABLE [0640f032a] 2019-10-17 11:57:33 +1300
|
|
Branch: REL9_5_STABLE [c1443eebe] 2019-10-17 10:28:28 +1300
|
|
Branch: REL9_4_STABLE [080cf32d2] 2019-10-17 10:14:51 +1300
|
|
-->
|
|
<para>
|
|
Prevent <command>VACUUM</command> from trying to freeze
|
|
an old multixact ID involving a still-running transaction
|
|
(Nathan Bossart, Jeremy Schneider)
|
|
</para>
|
|
|
|
<para>
|
|
This case would lead to <command>VACUUM</command> failing until the
|
|
old transaction terminates.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [cef82eda1] 2019-10-15 10:40:13 -0700
|
|
Branch: REL_12_STABLE [6d3fe6b6b] 2019-10-15 10:40:51 -0700
|
|
-->
|
|
<para>
|
|
Fix <quote>wrong type of slot</quote> error when trying
|
|
to <command>CLUSTER</command> on an expression index (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [b4bcc6bfd] 2019-11-07 13:59:24 -0300
|
|
Branch: REL_12_STABLE [b75ccddcd] 2019-11-07 13:59:24 -0300
|
|
Branch: REL_11_STABLE [e4baecf1e] 2019-11-07 14:26:10 -0300
|
|
-->
|
|
<para>
|
|
<command>SET CONSTRAINTS ... DEFERRED</command> failed on
|
|
partitioned tables, incorrectly complaining about lack of triggers
|
|
(Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [dc816e581] 2019-11-02 14:16:04 +0900
|
|
Branch: REL_12_STABLE [7963c4c4b] 2019-11-02 14:16:11 +0900
|
|
Branch: REL_11_STABLE [f10815c5b] 2019-11-02 14:17:12 +0900
|
|
-->
|
|
<para>
|
|
Fix failure when creating indexes for a partition, if the parent
|
|
partitioned table contains any dropped columns (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [1df5875d3] 2019-10-13 17:51:55 +0900
|
|
Branch: REL_12_STABLE [3a58c5f14] 2019-10-13 17:53:08 +0900
|
|
Branch: master [14ac4237c] 2019-10-14 08:58:38 +0900
|
|
Branch: REL_12_STABLE [9fd9af97f] 2019-10-14 08:58:47 +0900
|
|
-->
|
|
<para>
|
|
Fix dropping of indexed columns in partitioned tables
|
|
(Amit Langote, Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Previously this might fail with an error message complaining about
|
|
the dependencies of the indexes. It should automatically drop the
|
|
indexes, instead.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [d80be6f2f] 2019-10-29 11:08:09 +0900
|
|
Branch: REL_12_STABLE [eae1ba65f] 2019-10-29 11:08:16 +0900
|
|
-->
|
|
<para>
|
|
Ensure that a partition index can be dropped after a failure to
|
|
reindex it concurrently (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
The
|
|
index's <structname>pg_class</structname>.<structfield>relispartition</structfield>
|
|
flag was left in the wrong state in such a case,
|
|
causing <command>DROP INDEX</command> to fail.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [529ebb20a] 2019-11-05 11:42:24 -0500
|
|
Branch: REL_12_STABLE [a9db37a18] 2019-11-05 11:42:25 -0500
|
|
-->
|
|
<para>
|
|
Fix handling of equivalence class members for partition-wise joins
|
|
(Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could lead either to failure to use a feasible
|
|
partition-wise join plan, or to a <quote>could not find pathkey item
|
|
to sort</quote> planner failure.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [b7a1c5539] 2019-10-03 10:54:52 +0100
|
|
Branch: REL_12_STABLE [0b11dc019] 2019-10-03 11:12:39 +0100
|
|
Branch: REL_11_STABLE [0a445f279] 2019-10-03 11:14:30 +0100
|
|
Branch: REL_10_STABLE [ede0ab6cc] 2019-10-03 11:15:38 +0100
|
|
Branch: REL9_6_STABLE [6db0d7f35] 2019-10-03 11:17:38 +0100
|
|
Branch: REL9_5_STABLE [d2427f11b] 2019-10-03 11:18:15 +0100
|
|
Branch: REL9_4_STABLE [3473f81dd] 2019-10-03 11:18:20 +0100
|
|
-->
|
|
<para>
|
|
Ensure that offset expressions in <literal>WINDOW</literal> clauses
|
|
are processed when a query's expressions are manipulated (Andrew Gierth)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight could result in assorted failures when the offsets
|
|
are nontrivial expressions. One example is that a function
|
|
parameter reference in such an expression would fail if the function
|
|
was inlined.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3887e9455] 2019-10-07 12:39:09 -0400
|
|
Branch: REL_12_STABLE [7e8d0eb63] 2019-10-07 12:39:09 -0400
|
|
Branch: REL_11_STABLE [021065aac] 2019-10-07 12:39:09 -0400
|
|
Branch: REL_10_STABLE [1b5c2ddcd] 2019-10-07 12:39:09 -0400
|
|
Branch: REL9_6_STABLE [c69e982a6] 2019-10-07 12:39:09 -0400
|
|
Branch: REL9_5_STABLE [8c2910ce5] 2019-10-07 12:39:10 -0400
|
|
-->
|
|
<para>
|
|
Avoid postmaster failure if a parallel query requests a background
|
|
worker when no postmaster child process array slots remain free
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [d986d4e87] 2019-10-04 13:50:49 -0700
|
|
Branch: REL_12_STABLE [60e97d63e] 2019-10-04 13:57:37 -0700
|
|
-->
|
|
<para>
|
|
Fix crash triggered by an EvalPlanQual recheck on a table with
|
|
a <literal>BEFORE UPDATE</literal> trigger (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a30531c5c] 2019-11-05 13:40:37 -0500
|
|
Branch: REL_12_STABLE [791864193] 2019-11-05 13:40:37 -0500
|
|
Branch: REL_11_STABLE [2bfe015b5] 2019-11-05 13:40:37 -0500
|
|
-->
|
|
<para>
|
|
Fix <quote>unexpected relkind</quote> error when a query tries to
|
|
access a TOAST table (John Hsu, Michael Paquier, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The error should say that permission is denied, but this case got
|
|
broken during code refactoring.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
Branch: master [3c8c55dd5] 2019-10-17 13:47:01 +1300
|
|
Branch: REL_12_STABLE [3af7c64fe] 2019-10-17 14:00:15 +1300
|
|
Branch: REL_11_STABLE [6737111a7] 2019-10-17 13:58:58 +1300
|
|
Branch: REL_10_STABLE [89a3cdb32] 2019-10-17 13:57:23 +1300
|
|
Branch: REL9_6_STABLE [fd5ffa425] 2019-10-17 13:52:59 +1300
|
|
Branch: REL9_5_STABLE [cdbb39213] 2019-10-17 13:50:59 +1300
|
|
-->
|
|
<para>
|
|
Provide a relevant error context line when an error occurs while
|
|
setting GUC parameters during parallel worker startup (Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [a586cc4b6] 2019-10-04 13:34:28 -0700
|
|
Branch: REL_12_STABLE [c025165da] 2019-10-04 13:34:39 -0700
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [b8e19b932] 2019-10-09 13:30:43 +0900
|
|
Branch: REL_12_STABLE [07c314968] 2019-10-09 13:31:13 +0900
|
|
Branch: REL_11_STABLE [e34358c43] 2019-10-09 13:31:17 +0900
|
|
Branch: REL_10_STABLE [fbfc835b4] 2019-10-09 13:31:22 +0900
|
|
Branch: REL9_6_STABLE [4e7a8874a] 2019-10-09 13:31:27 +0900
|
|
Branch: REL9_5_STABLE [c50f95272] 2019-10-09 13:31:33 +0900
|
|
Branch: REL9_4_STABLE [59800f7ce] 2019-10-09 13:31:38 +0900
|
|
-->
|
|
<para>
|
|
Ensure that <function>fsync()</function> is applied only to files
|
|
that are opened read/write (Andres Freund, Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Some code paths tried to do this after opening a file read-only,
|
|
but on some platforms that causes <quote>bad file descriptor</quote>
|
|
or similar errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8e10405c7] 2019-10-03 17:34:25 -0400
|
|
Branch: REL_12_STABLE [8381242df] 2019-10-03 17:34:25 -0400
|
|
Branch: REL_11_STABLE [e5ff97571] 2019-10-03 17:34:25 -0400
|
|
Branch: REL_10_STABLE [226551e7c] 2019-10-03 17:34:26 -0400
|
|
Branch: REL9_6_STABLE [677989cc0] 2019-10-03 17:34:26 -0400
|
|
Branch: REL9_5_STABLE [54d641da0] 2019-10-03 17:34:26 -0400
|
|
Branch: REL9_4_STABLE [6899be289] 2019-10-03 17:34:26 -0400
|
|
-->
|
|
<para>
|
|
Allow encoding conversion to succeed on longer strings than before
|
|
(Álvaro Herrera, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, there was a hard limit of 0.25GB on the input string,
|
|
but now it will work as long as the converted output is not over 1GB.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
Branch: master [a9056cc63] 2019-11-06 04:13:30 +0000
|
|
Branch: REL_12_STABLE [f57c63107] 2019-11-06 04:33:35 +0000
|
|
Branch: REL_11_STABLE [be99485b9] 2019-11-06 04:33:42 +0000
|
|
Branch: REL_10_STABLE [6da5310e8] 2019-11-06 04:33:49 +0000
|
|
Branch: REL9_6_STABLE [747aac88f] 2019-11-06 04:33:55 +0000
|
|
-->
|
|
<para>
|
|
Avoid creating unnecessarily-bulky tuple stores for window functions
|
|
(Andrew Gierth)
|
|
</para>
|
|
|
|
<para>
|
|
In some cases the tuple storage would include all columns of the
|
|
source table(s), not just the ones that are needed by the query.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c477f3e44] 2019-10-03 13:56:26 -0400
|
|
Branch: REL_12_STABLE [9a407209a] 2019-10-03 13:56:26 -0400
|
|
Branch: REL_11_STABLE [82d0a46ea] 2019-10-03 13:56:26 -0400
|
|
Branch: REL_10_STABLE [9ad1b572d] 2019-10-03 13:56:26 -0400
|
|
Branch: REL9_6_STABLE [e5e4f12a5] 2019-10-03 13:56:26 -0400
|
|
Branch: REL9_5_STABLE [1534531fe] 2019-10-03 13:56:26 -0400
|
|
Branch: REL9_4_STABLE [4829576ba] 2019-10-03 13:56:27 -0400
|
|
-->
|
|
<para>
|
|
Allow <function>repalloc()</function> to give back space when a
|
|
large chunk is reduced in size (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [df86e52ca] 2019-10-02 15:53:07 +0900
|
|
Branch: REL_12_STABLE [2a724cdbf] 2019-10-02 15:53:51 +0900
|
|
Branch: REL_11_STABLE [b978de0eb] 2019-10-02 15:53:56 +0900
|
|
Branch: REL_10_STABLE [7ca35472c] 2019-10-02 15:54:01 +0900
|
|
Branch: REL9_6_STABLE [ac1efdd08] 2019-10-02 15:54:11 +0900
|
|
Branch: REL9_5_STABLE [ae205dfe6] 2019-10-02 15:54:16 +0900
|
|
-->
|
|
<para>
|
|
Ensure that temporary WAL and history files are removed at the end
|
|
of archive recovery (Sawada Masahiko)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [ec1259e88] 2019-10-18 22:32:18 +0900
|
|
Branch: REL_12_STABLE [9dfbf9a04] 2019-10-18 22:34:05 +0900
|
|
Branch: REL_11_STABLE [f7b70700b] 2019-10-18 22:35:07 +0900
|
|
Branch: REL_10_STABLE [c455ee88c] 2019-10-18 22:35:19 +0900
|
|
Branch: REL9_6_STABLE [579996bc2] 2019-10-18 22:35:30 +0900
|
|
Branch: REL9_5_STABLE [1b2ba8874] 2019-10-18 22:35:41 +0900
|
|
Branch: REL9_4_STABLE [14c59185b] 2019-10-18 22:35:52 +0900
|
|
-->
|
|
<para>
|
|
Avoid failure in archive recovery
|
|
if <varname>recovery_min_apply_delay</varname> is enabled
|
|
(Fujii Masao)
|
|
</para>
|
|
|
|
<para>
|
|
<varname>recovery_min_apply_delay</varname> is not typically used in
|
|
this configuration, but it should work.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [20961ceaf] 2019-10-11 15:47:59 +0900
|
|
Branch: REL_12_STABLE [fcf7f8d92] 2019-10-11 15:49:32 +0900
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [9b95a36be] 2019-10-18 22:24:18 +0900
|
|
Branch: REL_12_STABLE [03666dfa1] 2019-10-18 22:25:42 +0900
|
|
-->
|
|
<para>
|
|
Ignore <varname>restore_command</varname>,
|
|
<varname>recovery_end_command</varname>,
|
|
and <varname>recovery_min_apply_delay</varname> settings during
|
|
crash recovery (Fujii Masao)
|
|
</para>
|
|
|
|
<para>
|
|
Now that these settings can be specified
|
|
in <filename>postgresql.conf</filename>, they could be turned on
|
|
during crash recovery, but honoring them then is undesirable.
|
|
Ignore these settings until crash recovery is complete.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
Branch: master [1c60e40ad] 2019-11-09 08:35:44 +0100
|
|
Branch: REL_12_STABLE [d891d2c89] 2019-11-09 08:35:51 +0100
|
|
Branch: REL_11_STABLE [7961da188] 2019-11-09 08:36:11 +0100
|
|
Branch: REL_10_STABLE [2e00d5976] 2019-11-09 09:15:35 +0100
|
|
Branch: master [ef8fcbff5] 2019-11-09 13:19:27 +0100
|
|
Branch: REL_12_STABLE [f96756304] 2019-11-09 16:00:34 +0100
|
|
Branch: REL_11_STABLE [aa9884578] 2019-11-09 16:01:23 +0100
|
|
Branch: REL_10_STABLE [806f9dc02] 2019-11-09 16:03:00 +0100
|
|
-->
|
|
<para>
|
|
Fix logical replication failure when publisher and subscriber have
|
|
different ideas about a table's replica identity columns
|
|
(Jehan-Guillaume de Rorthais, Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Declaring a column as part of the replica identity on the
|
|
subscriber, when it does not exist at all on the publisher, led
|
|
to <quote>negative bitmapset member not allowed</quote> errors.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [38ddeab13] 2019-10-17 15:06:06 +0200
|
|
Branch: REL_12_STABLE [1391c13ce] 2019-10-17 15:06:06 +0200
|
|
Branch: REL_11_STABLE [45e4067c0] 2019-10-17 15:06:05 +0200
|
|
Branch: REL_10_STABLE [0d9fcbada] 2019-10-17 15:06:05 +0200
|
|
Branch: REL9_6_STABLE [5f038991e] 2019-10-17 15:06:05 +0200
|
|
Branch: REL9_5_STABLE [b2ab06e02] 2019-10-17 15:06:05 +0200
|
|
Branch: REL9_4_STABLE [abd5071d2] 2019-10-17 15:06:05 +0200
|
|
-->
|
|
<para>
|
|
Avoid unwanted delay during shutdown of a logical replication
|
|
walsender (Craig Ringer, Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [3f60f690f] 2019-10-18 14:26:29 +0900
|
|
Branch: REL_12_STABLE [04510dbe3] 2019-10-18 14:26:53 +0900
|
|
Branch: REL_11_STABLE [feed5ee47] 2019-10-18 14:27:00 +0900
|
|
Branch: REL_10_STABLE [47698b4b6] 2019-10-18 14:27:04 +0900
|
|
-->
|
|
<para>
|
|
Fix timeout handling in logical replication walreceiver processes
|
|
(Julien Rouhaud)
|
|
</para>
|
|
|
|
<para>
|
|
Erroneous logic prevented <varname>wal_receiver_timeout</varname>
|
|
from working in logical replication deployments.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [5f6b1eb0c] 2019-11-06 16:12:21 +0900
|
|
Branch: REL_12_STABLE [9ae4bdadf] 2019-11-06 16:12:28 +0900
|
|
Branch: REL_11_STABLE [cb6d7f985] 2019-11-06 16:12:34 +0900
|
|
Branch: REL_10_STABLE [f7b0d0704] 2019-11-06 16:12:40 +0900
|
|
Branch: REL9_6_STABLE [16b43e091] 2019-11-06 16:12:47 +0900
|
|
Branch: REL9_5_STABLE [404d25f3c] 2019-11-06 16:12:51 +0900
|
|
Branch: REL9_4_STABLE [15d90a02a] 2019-11-06 16:12:56 +0900
|
|
-->
|
|
<para>
|
|
Correctly time-stamp replication messages for logical
|
|
decoding (Jeff Janes)
|
|
</para>
|
|
|
|
<para>
|
|
This oversight resulted, for example,
|
|
in <structname>pg_stat_subscription</structname>.<structfield>last_msg_send_time</structfield>
|
|
usually reading as NULL.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [20345197f] 2019-11-01 22:38:32 +0900
|
|
Branch: REL_12_STABLE [7b8c2de64] 2019-11-01 22:38:45 +0900
|
|
Branch: REL_11_STABLE [61f238392] 2019-11-01 22:38:51 +0900
|
|
Branch: REL_10_STABLE [b99bfc3c9] 2019-11-01 22:38:55 +0900
|
|
Branch: REL9_6_STABLE [52684bc7d] 2019-11-01 22:39:01 +0900
|
|
Branch: REL9_5_STABLE [0927d0c25] 2019-11-01 22:39:05 +0900
|
|
Branch: REL9_4_STABLE [f88f7206e] 2019-11-01 22:39:09 +0900
|
|
-->
|
|
<para>
|
|
Fix race condition during backend exit, when the backend process has
|
|
previously waited for synchronous replication to occur (Dongming Liu)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [3affe76ef] 2019-11-05 14:27:37 -0500
|
|
Branch: REL_12_STABLE [f9bd3b6d9] 2019-11-05 14:27:37 -0500
|
|
Branch: REL_11_STABLE [97ddc47b9] 2019-11-05 14:27:37 -0500
|
|
Branch: REL_10_STABLE [0238a5028] 2019-11-05 14:27:37 -0500
|
|
Branch: REL9_6_STABLE [383602f9a] 2019-11-05 14:27:37 -0500
|
|
Branch: REL9_5_STABLE [970372037] 2019-11-05 14:27:37 -0500
|
|
Branch: REL9_4_STABLE [762b25653] 2019-11-05 14:27:38 -0500
|
|
-->
|
|
<para>
|
|
Avoid logging complaints about abandoned connections when using PAM
|
|
authentication (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
libpq-based clients will typically make two connection attempts when
|
|
a password is required, since they don't prompt their user for a
|
|
password until their first connection attempt fails. Therefore the
|
|
server is coded not to generate useless log spam when a client
|
|
closes the connection upon being asked for a password. However,
|
|
the PAM authentication code hadn't gotten that memo, and would
|
|
generate several messages about a phantom authentication failure.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5ac0d9360] 2019-09-22 17:45:59 -0400
|
|
Branch: REL_12_STABLE Release: REL_12_0 [860216efa] 2019-09-22 17:46:00 -0400
|
|
Branch: REL_11_STABLE [7e7abed05] 2019-09-22 17:46:00 -0400
|
|
Branch: REL_10_STABLE [096d34c3b] 2019-09-22 17:46:00 -0400
|
|
Branch: REL9_6_STABLE [6ddd164aa] 2019-09-22 17:46:00 -0400
|
|
Branch: REL9_5_STABLE [35eb13270] 2019-09-22 17:46:00 -0400
|
|
Branch: REL9_4_STABLE [8a17afe84] 2019-09-22 17:46:00 -0400
|
|
Branch: master [61aa9f544] 2019-10-04 10:34:40 -0400
|
|
Branch: REL_12_STABLE [6c3b6406d] 2019-10-04 10:34:21 -0400
|
|
Branch: REL_11_STABLE [b8ddf0bdf] 2019-10-04 10:34:21 -0400
|
|
Branch: REL_10_STABLE [9faa9794f] 2019-10-04 10:34:21 -0400
|
|
Branch: REL9_6_STABLE [30e5b3bbe] 2019-10-04 10:34:21 -0400
|
|
Branch: REL9_5_STABLE [8b77f783b] 2019-10-04 10:34:21 -0400
|
|
Branch: REL9_4_STABLE [b6a6c129f] 2019-10-04 10:34:21 -0400
|
|
-->
|
|
<para>
|
|
Fix misbehavior of <function>bitshiftright()</function> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The bitstring right shift operator failed to zero out padding space
|
|
that exists in the last byte of the result when the bitstring length
|
|
is not a multiple of 8. While invisible to most operations, any
|
|
nonzero bits there would result in unexpected comparison behavior,
|
|
since bitstring comparisons don't bother to ignore the extra bits,
|
|
expecting them to always be zero.
|
|
</para>
|
|
|
|
<para>
|
|
If you have inconsistent data as a result of saving the output
|
|
of <function>bitshiftright()</function> in a table, it's possible to
|
|
fix it with something like
|
|
<programlisting>
|
|
UPDATE mytab SET bitcol = ~(~bitcol) WHERE bitcol != ~(~bitcol);
|
|
</programlisting>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [bd1ef5799] 2019-10-28 12:21:13 -0400
|
|
Branch: REL_12_STABLE [43e43771b] 2019-10-28 12:21:13 -0400
|
|
-->
|
|
<para>
|
|
Fix result of text <function>position()</function> function (also
|
|
known as <function>strpos()</function>) for an empty search string
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Historically, and per the SQL standard, the result should be one in
|
|
such cases, but 12.0 returned zero.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [a7145f6bc] 2019-11-07 11:22:58 -0500
|
|
Branch: REL_12_STABLE [f6e72dc9c] 2019-11-07 11:22:59 -0500
|
|
Branch: REL_11_STABLE [b49b7f944] 2019-11-07 11:23:00 -0500
|
|
Branch: REL_10_STABLE [5f794f757] 2019-11-07 11:23:02 -0500
|
|
Branch: REL9_6_STABLE [15783d057] 2019-11-07 11:23:03 -0500
|
|
Branch: REL9_5_STABLE [84780d468] 2019-11-07 11:23:04 -0500
|
|
Branch: REL9_4_STABLE [8d380864a] 2019-11-07 11:23:06 -0500
|
|
Branch: REL9_6_STABLE [a55018760] 2019-11-09 15:50:16 -0500
|
|
Branch: REL9_5_STABLE [30f6998ff] 2019-11-09 15:50:16 -0500
|
|
Branch: REL9_4_STABLE [18622caa3] 2019-11-09 15:50:16 -0500
|
|
-->
|
|
<para>
|
|
Fix detection of edge-case integer overflow in interval
|
|
multiplication (Yuya Watari)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [8af1624e3] 2019-11-02 16:45:32 -0400
|
|
Branch: REL_12_STABLE [43753c2cf] 2019-11-02 16:45:32 -0400
|
|
Branch: REL_11_STABLE [65cdf8bc1] 2019-11-02 16:45:32 -0400
|
|
Branch: REL_10_STABLE [680aabd2f] 2019-11-02 16:45:32 -0400
|
|
Branch: REL9_6_STABLE [51b9ac558] 2019-11-02 16:45:32 -0400
|
|
Branch: master [db27b60f0] 2019-11-03 16:10:23 -0500
|
|
Branch: REL_12_STABLE [6dd92138d] 2019-11-03 16:10:38 -0500
|
|
Branch: REL_11_STABLE [88d03d73c] 2019-11-03 16:10:45 -0500
|
|
Branch: REL_10_STABLE [4077e9ae1] 2019-11-03 16:10:56 -0500
|
|
Branch: REL9_6_STABLE [d43bd9dce] 2019-11-03 16:11:05 -0500
|
|
-->
|
|
<para>
|
|
Avoid crashes if <literal>ispell</literal> text search dictionaries
|
|
contain wrong affix data (Arthur Zakirov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
Branch: master [70a6c37d5] 2019-10-21 08:57:32 +0530
|
|
Branch: REL_12_STABLE [62f4dd379] 2019-10-21 09:04:35 +0530
|
|
-->
|
|
<para>
|
|
Avoid memory leak while vacuuming a GiST index (Dilip Kumar)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [db477b691] 2019-10-21 14:18:01 -0400
|
|
Branch: REL_12_STABLE [4f2ad5226] 2019-10-21 14:18:16 -0400
|
|
Branch: REL_11_STABLE [a05a04d0e] 2019-10-21 14:18:31 -0400
|
|
Branch: REL_10_STABLE [aebe3ef0e] 2019-10-21 14:18:38 -0400
|
|
Branch: REL9_6_STABLE [185253ab8] 2019-10-21 14:18:47 -0400
|
|
Branch: REL9_5_STABLE [e3267407e] 2019-10-21 14:18:55 -0400
|
|
Branch: REL9_4_STABLE [fedcab352] 2019-10-21 14:19:03 -0400
|
|
-->
|
|
<para>
|
|
On Windows, recognize additional spellings of the <quote>Norwegian
|
|
(Bokmål)</quote> locale name (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [4f4061b2d] 2019-10-21 11:17:13 +0900
|
|
Branch: REL_12_STABLE [2b0f959b5] 2019-10-21 11:17:43 +0900
|
|
Branch: master [57379cd5a] 2019-10-23 11:34:18 +0900
|
|
Branch: REL_12_STABLE [a6a95d4f3] 2019-10-23 11:34:42 +0900
|
|
-->
|
|
<para>
|
|
Fix <application>libpq</application> to allow trailing whitespace in
|
|
the string values of integer parameters (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Version 12 tightened <application>libpq</application>'s validation
|
|
of integer parameters, but disallowing trailing whitespace seems
|
|
undesirable.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [ba19a6b73] 2019-10-21 11:39:15 +0900
|
|
Branch: REL_12_STABLE [ed5109a61] 2019-10-21 11:39:28 +0900
|
|
-->
|
|
<para>
|
|
In <application>libpq</application>, correctly
|
|
report <literal>CONNECTION_BAD</literal> connection status after a
|
|
failure caused by a syntactically
|
|
invalid <option>connect_timeout</option> parameter value (Lars Kanis)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [c8cb98ec4] 2019-11-07 14:21:52 -0500
|
|
Branch: REL_12_STABLE [101654987] 2019-11-07 14:21:52 -0500
|
|
Branch: REL_11_STABLE [89f56fc22] 2019-11-07 14:21:52 -0500
|
|
Branch: REL_10_STABLE [831ca9513] 2019-11-07 14:21:52 -0500
|
|
Branch: REL9_6_STABLE [baa483984] 2019-11-07 14:21:52 -0500
|
|
Branch: REL9_5_STABLE [b705d6391] 2019-11-07 14:21:52 -0500
|
|
Branch: REL9_4_STABLE [b20233aac] 2019-11-07 14:21:52 -0500
|
|
-->
|
|
<para>
|
|
Avoid compile failure if an ECPG client
|
|
includes <filename>ecpglib.h</filename> while
|
|
having <literal>ENABLE_NLS</literal> defined (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This risk was created by a misplaced
|
|
declaration: <function>ecpg_gettext()</function> should not be
|
|
visible to client code.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
Branch: master [1752e3516] 2019-10-17 09:58:01 +0200
|
|
Branch: REL_12_STABLE [b304b2b65] 2019-10-17 09:58:01 +0200
|
|
-->
|
|
<para>
|
|
Fix scheduling of parallel restore of a foreign key constraint on a
|
|
partitioned table (Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
<application>pg_dump</application> failed to emit full dependency
|
|
information for partitioned tables' foreign keys. This could allow
|
|
parallel <application>pg_restore</application> to try to recreate a
|
|
foreign key constraint too soon.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [5102f3944] 2019-11-04 16:25:05 -0500
|
|
Branch: REL_12_STABLE [ca27a84c9] 2019-11-04 16:25:05 -0500
|
|
Branch: REL_11_STABLE [078f5bc8e] 2019-11-04 16:25:05 -0500
|
|
Branch: REL_10_STABLE [ee8b95f26] 2019-11-04 16:25:05 -0500
|
|
Branch: REL9_6_STABLE [648f17879] 2019-11-04 16:25:05 -0500
|
|
Branch: REL9_5_STABLE [74d32ee70] 2019-11-04 16:25:05 -0500
|
|
Branch: REL9_4_STABLE [da5cd7a68] 2019-11-04 16:25:05 -0500
|
|
-->
|
|
<para>
|
|
In <application>pg_dump</application>, ensure stable output order
|
|
for similarly-named triggers and row-level-security policy objects
|
|
(Benjie Gillam)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, if two triggers on different tables had the same names,
|
|
they would be sorted in OID-based order, which is less desirable
|
|
than sorting them by table name. Likewise for RLS policies.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [0ccfc2822] 2019-10-14 22:31:56 +0200
|
|
Branch: REL_12_STABLE [eaf900e84] 2019-10-14 23:40:58 +0200
|
|
Branch: master [3a0e85739] 2019-10-15 00:25:04 +0200
|
|
Branch: REL_12_STABLE [702fd3b71] 2019-10-15 00:35:51 +0200
|
|
-->
|
|
<para>
|
|
In <application>pg_upgrade</application>, reject tables with
|
|
columns of type <type>sql_identifier</type>, as that has changed
|
|
representation in version 12 (Tomas Vondra)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [8d48e6a72] 2019-10-16 13:23:14 +0200
|
|
Branch: REL_12_STABLE [ebb4caa91] 2019-10-16 13:25:25 +0200
|
|
Branch: REL_11_STABLE [a970b6cde] 2019-10-16 13:26:22 +0200
|
|
Branch: REL_10_STABLE [2218fdca4] 2019-10-16 13:26:53 +0200
|
|
Branch: REL9_6_STABLE [0a643de08] 2019-10-16 13:27:24 +0200
|
|
Branch: REL9_5_STABLE [f57b01dd7] 2019-10-16 13:27:51 +0200
|
|
Branch: REL9_4_STABLE [235a52ca0] 2019-10-16 13:31:00 +0200
|
|
Branch: REL9_6_STABLE [e09ab32a2] 2019-10-16 16:20:07 +0200
|
|
Branch: REL9_5_STABLE [984aa0ede] 2019-10-16 16:23:09 +0200
|
|
Branch: REL9_4_STABLE [bc3a94dc0] 2019-10-16 16:28:48 +0200
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
Branch: master [a524f50d0] 2019-10-16 13:23:18 +0200
|
|
Branch: REL_12_STABLE [a8e49ae0c] 2019-10-16 13:25:37 +0200
|
|
Branch: REL_11_STABLE [d071a2539] 2019-10-16 13:26:26 +0200
|
|
Branch: REL_10_STABLE [e86ece221] 2019-10-16 13:26:56 +0200
|
|
-->
|
|
<para>
|
|
Improve <application>pg_upgrade</application>'s checks for the use
|
|
of a data type that has changed representation, such
|
|
as <type>line</type> (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
The previous coding could be fooled by cases where the data type of
|
|
interest underlies a stored column of a domain or composite type.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
Branch: master [6f3823b03] 2019-10-04 09:14:51 +0900
|
|
Branch: REL_12_STABLE [c2e3b311d] 2019-10-04 09:16:03 +0900
|
|
-->
|
|
<para>
|
|
In <application>pg_rewind</application>
|
|
with the <option>--dry-run</option> option, avoid
|
|
updating <filename>pg_control</filename>
|
|
(Alexey Kondratov)
|
|
</para>
|
|
|
|
<para>
|
|
This could lead to failures in
|
|
subsequent <application>pg_rewind</application> attempts.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
Branch: master [a0c96856e] 2019-11-07 16:31:36 +0900
|
|
Branch: REL_12_STABLE [e5cfb8cbb] 2019-11-07 16:32:37 +0900
|
|
Branch: REL_11_STABLE [fb53c4c07] 2019-11-07 16:32:58 +0900
|
|
Branch: REL_10_STABLE [127ad57f5] 2019-11-07 16:33:06 +0900
|
|
Branch: REL9_6_STABLE [aa7cd6a8e] 2019-11-07 16:33:23 +0900
|
|
Branch: REL9_5_STABLE [b1bebc2ce] 2019-11-07 16:33:47 +0900
|
|
Branch: REL9_4_STABLE [1accf9974] 2019-11-07 16:33:58 +0900
|
|
-->
|
|
<para>
|
|
Fix failure in <application>pg_waldump</application> with
|
|
the <option>-s</option> option, when a continuation WAL record ends
|
|
exactly at a page boundary (Andrey Lepikhov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [e4d92126f] 2019-10-29 22:53:05 -0700
|
|
Branch: REL_12_STABLE [d4b5206b2] 2019-10-29 22:53:30 -0700
|
|
Branch: REL_11_STABLE [3b24cf732] 2019-10-29 22:53:33 -0700
|
|
Branch: REL_10_STABLE [82200115e] 2019-10-29 22:53:37 -0700
|
|
Branch: REL9_6_STABLE [bc4f56c18] 2019-10-29 22:54:36 -0700
|
|
Branch: REL9_5_STABLE [39ff656a4] 2019-10-29 22:55:19 -0700
|
|
-->
|
|
<para>
|
|
In <application>pg_waldump</application> with
|
|
the <option>--bkp-details</option> option, avoid emitting extra
|
|
newlines for WAL records involving full-page writes (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
Branch: master [e0f76f204] 2019-10-29 19:18:07 -0700
|
|
Branch: REL_12_STABLE [4ab353c47] 2019-10-29 19:28:34 -0700
|
|
Branch: REL_11_STABLE [af67aee69] 2019-10-29 19:28:34 -0700
|
|
Branch: REL_10_STABLE [e3ff8c360] 2019-10-29 19:28:34 -0700
|
|
Branch: REL9_6_STABLE [95f2efd50] 2019-10-29 19:28:34 -0700
|
|
Branch: REL9_5_STABLE [c3882f8b8] 2019-10-29 19:28:34 -0700
|
|
-->
|
|
<para>
|
|
Fix small memory leak in <application>pg_waldump</application>
|
|
(Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [06a367c38] 2019-10-10 14:24:56 -0400
|
|
Branch: REL_12_STABLE [7ed1bcaed] 2019-10-10 14:24:57 -0400
|
|
-->
|
|
<para>
|
|
Put back <function>pqsignal()</function> as an
|
|
exported <application>libpq</application> symbol (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This function was removed on the grounds that no clients should be
|
|
using it, but that turns out to break usage of
|
|
current <application>libpq</application> with very old versions
|
|
of <application>psql</application>, and perhaps other applications.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
Branch: master [d995fd667] 2019-10-21 13:52:25 -0400
|
|
Branch: REL_12_STABLE [ca658c91a] 2019-10-21 13:52:25 -0400
|
|
Branch: REL_11_STABLE [4e19bd41d] 2019-10-21 13:52:25 -0400
|
|
Branch: REL_10_STABLE [328b81348] 2019-10-21 13:52:25 -0400
|
|
Branch: REL9_6_STABLE [34621cb12] 2019-10-21 13:52:25 -0400
|
|
Branch: REL9_5_STABLE [8835e0bd4] 2019-10-21 13:52:26 -0400
|
|
Branch: REL9_4_STABLE [6d2b18d07] 2019-10-21 13:52:26 -0400
|
|
Branch: master [44273ce4f] 2019-10-21 12:32:35 -0400
|
|
Branch: REL_12_STABLE [aa5bb828a] 2019-10-21 12:32:35 -0400
|
|
Branch: REL_11_STABLE [99c51d5ed] 2019-10-21 12:32:36 -0400
|
|
Branch: REL_10_STABLE [e167b1ae3] 2019-10-21 12:32:36 -0400
|
|
Branch: REL9_6_STABLE [62ca50ad7] 2019-10-21 12:32:36 -0400
|
|
Branch: REL9_5_STABLE [11330c311] 2019-10-21 12:32:36 -0400
|
|
Branch: REL9_4_STABLE [727c2ccfe] 2019-10-21 12:32:36 -0400
|
|
-->
|
|
<para>
|
|
Fix <application>configure</application>'s test for presence of
|
|
libperl so that it works on recent Red Hat releases (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, it could fail if the user sets <literal>CFLAGS</literal>
|
|
to <literal>-O0</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [89b4d7744] 2019-10-18 20:20:28 -0700
|
|
Branch: REL_12_STABLE [ef13f914e] 2019-10-18 20:20:31 -0700
|
|
Branch: REL_11_STABLE [af4477b00] 2019-10-18 20:20:32 -0700
|
|
Branch: REL_10_STABLE [083929372] 2019-10-18 20:20:32 -0700
|
|
Branch: REL9_6_STABLE [09d74aef3] 2019-10-18 20:20:32 -0700
|
|
Branch: REL9_5_STABLE [62e881946] 2019-10-18 20:20:32 -0700
|
|
Branch: REL9_4_STABLE [930787c7f] 2019-10-18 20:20:33 -0700
|
|
-->
|
|
<para>
|
|
Ensure correct code generation for spinlocks on PowerPC (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
The previous spinlock coding allowed the compiler to select register
|
|
zero for use with an assembly instruction that does not accept that
|
|
register, causing a build failure. We have seen only one long-ago
|
|
report that matches this bug, but it could cause problems for people
|
|
trying to build modified <productname>PostgreSQL</productname> code
|
|
or use atypical compiler options.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
Branch: master [5f3d271d0] 2019-10-12 00:21:47 -0700
|
|
Branch: REL_12_STABLE [3fb14cfcb] 2019-10-12 00:21:50 -0700
|
|
Branch: REL_11_STABLE [e5b4926ef] 2019-10-12 00:21:50 -0700
|
|
Branch: REL_10_STABLE [77cc4a595] 2019-10-12 00:21:50 -0700
|
|
Branch: REL9_6_STABLE [c73f4f680] 2019-10-12 00:21:50 -0700
|
|
Branch: REL9_5_STABLE [e40eb31c0] 2019-10-12 00:21:51 -0700
|
|
Branch: REL9_4_STABLE [b705582b4] 2019-10-12 00:21:51 -0700
|
|
-->
|
|
<para>
|
|
On AIX, don't use the compiler option <option>-qsrcmsg</option>
|
|
(Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids an internal compiler error with xlc v16.1.0, with little
|
|
consequence other than changing the format of compiler error messages.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
Branch: master [ad7595b89] 2019-10-04 15:34:40 -0400
|
|
Branch: REL_12_STABLE [ec38d2311] 2019-10-04 15:39:27 -0400
|
|
Branch: REL_11_STABLE [3b9c22700] 2019-10-04 15:39:19 -0400
|
|
Branch: REL_10_STABLE [62d2caed6] 2019-10-04 15:39:12 -0400
|
|
Branch: REL9_6_STABLE [1e9a0487d] 2019-10-04 15:39:02 -0400
|
|
Branch: REL9_5_STABLE [6ca51b155] 2019-10-04 15:38:48 -0400
|
|
Branch: REL9_4_STABLE [8f8809091] 2019-10-04 15:38:36 -0400
|
|
-->
|
|
<para>
|
|
Fix MSVC build process to cope with spaces in the file path of
|
|
OpenSSL (Andrew Dunstan)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="release-12">
|
|
<title>Release 12</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2019-10-03</para>
|
|
</formalpara>
|
|
|
|
<sect2>
|
|
<title>Overview</title>
|
|
|
|
<para>
|
|
Major enhancements in <productname>PostgreSQL</productname> 12 include:
|
|
</para>
|
|
|
|
<!-- Items in this list summarize one or more items below -->
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<para>
|
|
General performance improvements, including:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Optimizations to space utilization and read/write performance for
|
|
B-tree indexes
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Partitioning performance enhancements, including improved query
|
|
performance on tables with thousands of partitions, improved
|
|
insertion performance with <xref linkend="sql-insert"/> and <xref
|
|
linkend="sql-copy"/>, and the ability to execute <link
|
|
linkend="sql-altertable-attach-partition"><command>ALTER TABLE ATTACH
|
|
PARTITION</command></link> without blocking queries
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Automatic (but overridable) inlining
|
|
of <link linkend="queries-with">common table expressions</link>
|
|
(<acronym>CTEs</acronym>)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Reduction of <acronym>WAL</acronym> overhead for creation of
|
|
<link linkend="gist">GiST</link>, <link linkend="gin">GIN</link>, and
|
|
<link linkend="spgist">SP-GiST</link> indexes
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Support for covering <link linkend="gist">GiST</link> indexes, via
|
|
the <link linkend="indexes-index-only-scans"><literal>INCLUDE</literal></link>
|
|
clause
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Multi-column most-common-value (MCV) statistics can be defined
|
|
via <xref linkend="sql-createstatistics"/>, to support better
|
|
plans for queries that test several non-uniformly-distributed
|
|
columns
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Enhancements to administrative functionality, including:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<link linkend="sql-reindex-concurrently"><command>REINDEX
|
|
CONCURRENTLY</command></link> can rebuild an index without
|
|
blocking writes to its table
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<xref linkend="app-pgchecksums"/> can enable/disable page checksums
|
|
(used for detecting data corruption) in an offline cluster
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Progress reporting statistics for <xref linkend="sql-createindex"/>,
|
|
<xref linkend="sql-reindex"/>, <xref linkend="sql-cluster"/>,
|
|
<link linkend="sql-vacuum">VACUUM FULL</link>, and
|
|
<xref linkend="app-pgchecksums"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Support for the <link
|
|
linkend="functions-sqljson-path"><acronym>SQL/JSON</acronym>
|
|
path</link> language
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Stored <link linkend="ddl-generated-columns">generated columns</link>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
<link linkend="collation-nondeterministic">Nondeterministic</link> ICU
|
|
collations, enabling case-insensitive and accent-insensitive grouping
|
|
and ordering
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
New authentication features, including:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Encryption of TCP/IP connections when using
|
|
<link linkend="gssapi-auth"><acronym>GSSAPI</acronym></link>
|
|
authentication
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Discovery of LDAP servers using <acronym>DNS SRV</acronym> records
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Multi-factor authentication, using the <link linkend="auth-cert">
|
|
<literal>clientcert=verify-full</literal></link> option combined
|
|
with an additional authentication method in
|
|
<filename>pg_hba.conf</filename>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
The above items are explained in more detail in the sections below.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
|
|
<title>Migration to Version 12</title>
|
|
|
|
<para>
|
|
A dump/restore using <xref linkend="app-pg-dumpall"/> or use of <xref
|
|
linkend="pgupgrade"/> or logical replication is required for those
|
|
wishing to migrate data from any previous release. See <xref
|
|
linkend="upgrading"/> for general information on migrating to new major
|
|
releases.
|
|
</para>
|
|
|
|
<para>
|
|
Version 12 contains a number of changes that may affect compatibility
|
|
with previous releases. Observe the following incompatibilities:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2018-11-20 [578b22971] Remove WITH OIDS support, change oid catalog column visi
|
|
-->
|
|
|
|
<para>
|
|
Remove the special behavior of <link
|
|
linkend="datatype-oid">oid</link> columns (Andres Freund,
|
|
John Naylor)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, a normally-invisible <structfield>oid</structfield>
|
|
column could be specified during table creation using <literal>WITH
|
|
OIDS</literal>; that ability has been removed. Columns can still be
|
|
explicitly declared as type <type>oid</type>. Operations on tables
|
|
that have columns created using <literal>WITH OIDS</literal> will
|
|
need adjustment.
|
|
</para>
|
|
|
|
<para>
|
|
The system catalogs that previously had
|
|
hidden <structfield>oid</structfield> columns now have
|
|
ordinary <structfield>oid</structfield> columns.
|
|
Hence, <command>SELECT *</command> will now output those columns,
|
|
whereas previously they would be displayed only if selected
|
|
explicitly.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2018-10-11 [cda6a8d01] Remove deprecated abstime, reltime, tinterval datatypes.
|
|
-->
|
|
|
|
<para>
|
|
Remove data types <type>abstime</type>, <type>reltime</type>,
|
|
and <type>tinterval</type> (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
These are obsoleted by SQL-standard types such
|
|
as <type>timestamp</type>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2018-10-11 [2d10defa7] Remove timetravel extension.
|
|
-->
|
|
|
|
<para>
|
|
Remove the <filename>timetravel</filename> extension
|
|
(Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-25 [2dedf4d9a] Integrate recovery.conf into postgresql.conf
|
|
-->
|
|
|
|
<para>
|
|
Move <filename>recovery.conf</filename> settings into <link
|
|
linkend="runtime-config-wal-archive-recovery"><filename>postgresql.conf</filename></link>
|
|
(Masao Fujii, Simon Riggs, Abhijit Menon-Sen, Sergei Kornilov)
|
|
</para>
|
|
|
|
<para>
|
|
<filename>recovery.conf</filename> is no longer used,
|
|
and the server will not start if that file exists. <link
|
|
linkend="runtime-config-wal-archive-recovery">recovery.signal</link>
|
|
and <filename>standby.signal</filename> files are now used to switch
|
|
into non-primary mode. The <varname>trigger_file</varname> setting
|
|
has been renamed to <xref linkend="guc-promote-trigger-file"/>. The
|
|
<varname>standby_mode</varname> setting has been removed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-28 [f2cbffc7a] Only allow one recovery target setting
|
|
-->
|
|
|
|
<para>
|
|
Do not allow multiple conflicting <link
|
|
linkend="runtime-config-wal-recovery-target"><varname>recovery_target</varname>*</link>
|
|
specifications (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Specifically, only allow one of <xref
|
|
linkend="guc-recovery-target"/>, <xref
|
|
linkend="guc-recovery-target-lsn"/>,
|
|
<xref linkend="guc-recovery-target-name"/>,
|
|
<xref linkend="guc-recovery-target-time"/>, and <xref
|
|
linkend="guc-recovery-target-xid"/>. Previously, multiple different
|
|
instances of these parameters could be specified, and the last one
|
|
was honored. Now, only one can be specified, though the same one can
|
|
be specified multiple times and the last specification is honored.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-01-13 [0acb3bc33] Change default of recovery_target_timeline to <literal>latest</literal>
|
|
-->
|
|
|
|
<para>
|
|
Cause recovery to advance to the latest timeline by default
|
|
(Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Specifically, <xref linkend="guc-recovery-target-timeline"/> now
|
|
defaults to <literal>latest</literal>. Previously, it defaulted
|
|
to <literal>current</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2018-07-29 [a7dc63d90] Refactor geometric functions and operators
|
|
2018-08-16 [c4c340088] Use the built-in float datatypes to implement geometric
|
|
2018-09-26 [2e2a392de] Fix problems in handling the line data type
|
|
-->
|
|
|
|
<para>
|
|
Refactor code for <link linkend="functions-geometry">geometric
|
|
functions and operators</link> (Emre Hasegeli)
|
|
</para>
|
|
|
|
<para>
|
|
This could lead to more accurate, but slightly different, results
|
|
compared to previous releases. Notably, cases involving NaN,
|
|
underflow, overflow, and division by zero are handled more
|
|
consistently than before.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
2019-02-13 [02ddd4993] Change floating-point output format for improved perform
|
|
2018-10-12 [f1885386f] Make float exponent output on Windows look the same as e
|
|
-->
|
|
|
|
<para>
|
|
Improve performance by using a new algorithm for output
|
|
of <link linkend="datatype-float"><type>real</type></link>
|
|
and <type>double precision</type> values (Andrew Gierth)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, displayed floating-point values were rounded to 6
|
|
(for <type>real</type>) or 15 (for <type>double precision</type>)
|
|
digits by default, adjusted by the value of
|
|
<xref linkend="guc-extra-float-digits"/>. Now,
|
|
whenever <varname>extra_float_digits</varname> is more than zero (as
|
|
it now is by default), only the minimum number of digits required to
|
|
preserve the exact binary value are output. The behavior is the
|
|
same as before when <varname>extra_float_digits</varname> is set to
|
|
zero or less.
|
|
</para>
|
|
|
|
<para>
|
|
Also, formatting of floating-point exponents is now uniform across
|
|
platforms: two digits are used unless three are necessary. In
|
|
previous releases, Windows builds always printed three digits.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-29 [6645ad6bd] Use a separate random seed for SQL random()/setseed() fu
|
|
2018-12-29 [4203842a1] Use pg_strong_random() to select each server process's r
|
|
-->
|
|
|
|
<para>
|
|
<link linkend="functions-math-random-table"><function>random()</function></link>
|
|
and <function>setseed()</function> now behave uniformly across
|
|
platforms (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The sequence of <function>random()</function> values generated
|
|
following a <function>setseed()</function> call with a particular
|
|
seed value is likely to be different now than before. However, it
|
|
will also be repeatable, which was not previously guaranteed because
|
|
of interference from other uses of random numbers inside the server.
|
|
The SQL <function>random()</function> function now has its own
|
|
private per-session state to forestall that.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-05-14 [7c850320d] Fix SQL-style substring() to have spec-compliant greedin
|
|
-->
|
|
|
|
<para>
|
|
Change SQL-style
|
|
<link linkend="functions-similarto-regexp"><function>substring()</function></link>
|
|
to have standard-compliant greediness behavior (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
In cases where the pattern can be matched in more than one way, the
|
|
initial sub-pattern is now treated as matching the least possible
|
|
amount of text rather than the greatest; for example, a pattern such
|
|
as <literal>%#"aa*#"%</literal> now selects the first group
|
|
of <literal>a</literal>'s from the input, not the last group.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-04-23 [c06e3550d] Don't request pretty-printed output from xmlNodeDump().
|
|
-->
|
|
|
|
<para>
|
|
Do not pretty-print the result
|
|
of <link linkend="functions-xml"><function>xpath()</function></link>
|
|
or the <literal>XMLTABLE</literal> construct (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
In some cases, these functions would insert extra whitespace
|
|
(newlines and/or spaces) in nodeset values. This is undesirable
|
|
since depending on usage, the whitespace might be considered
|
|
semantically significant.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-03-13 [6dd263cfa] Rename pg_verify_checksums to pg_checksums
|
|
-->
|
|
|
|
<para>
|
|
Rename command-line tool
|
|
<application>pg_verify_checksums</application> to <xref
|
|
linkend="app-pgchecksums"/> (Michaël Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-04 [413ccaa74] pg_restore: Require -f - to mean stdout
|
|
-->
|
|
|
|
<para>
|
|
In <xref linkend="app-pgrestore"/>, require specification of
|
|
<literal>-f -</literal> to send the dump contents to standard output
|
|
(Euler Taveira)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, this happened by default if no destination was
|
|
specified, but that was deemed to be unfriendly.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-14 [eaf746a5b] Make psql's "\pset format" command reject non-unique abb
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-26 [a7eece4fc] Fix breakage of "\pset format latex".
|
|
-->
|
|
|
|
<para>
|
|
Disallow non-unique abbreviations
|
|
in <application>psql</application>'s <command>\pset format</command>
|
|
command (Daniel Vérité)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, for example, <command>\pset format a</command> chose
|
|
<literal>aligned</literal>; it will now fail since that could
|
|
equally well mean <literal>asciidoc</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
2019-03-20 [dd299df81] Make heap TID a tiebreaker nbtree index column.
|
|
-->
|
|
|
|
<para>
|
|
In new btree indexes, the maximum index entry length is
|
|
reduced by eight bytes, to improve handling of duplicate entries
|
|
(Peter Geoghegan)
|
|
</para>
|
|
|
|
<para>
|
|
This means that a <xref linkend="sql-reindex"/> operation on an
|
|
index <application>pg_upgrade</application>'d from a previous
|
|
release could potentially fail.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-21 [bfb456c1b] Improve error reporting for DROP FUNCTION/PROCEDURE/AGGR
|
|
-->
|
|
|
|
<para>
|
|
Cause <link linkend="sql-dropfunction"><command>DROP IF EXISTS
|
|
FUNCTION</command></link>/<literal>PROCEDURE</literal>/<literal>AGGREGATE</literal>/<literal>ROUTINE</literal>
|
|
to generate an error if no argument list is supplied and there are
|
|
multiple matching objects (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
Also improve the error message in such cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2019-06-16 [6cbfb784c] Rework the pg_statistic_ext catalog
|
|
2019-06-16 [aa087ec64] Add pg_stats_ext view for extended statistics
|
|
-->
|
|
|
|
<para>
|
|
Split the <link
|
|
linkend="catalog-pg-statistic-ext"><structname>pg_statistic_ext</structname></link>
|
|
catalog into two catalogs, and add the <link
|
|
linkend="view-pg-stats-ext"><structname>pg_stats_ext</structname></link>
|
|
view of it (Dean Rasheed, Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
This change supports hiding potentially-sensitive statistics data
|
|
from unprivileged users.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-01 [96b00c433] Remove obsolete pg_constraint.consrc column
|
|
-->
|
|
|
|
<para>
|
|
Remove obsolete <link
|
|
linkend="catalog-pg-constraint"><structname>pg_constraint</structname></link>.<structfield>consrc</structfield>
|
|
column (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This column has been deprecated for a long time, because it did not
|
|
update in response to other catalog changes (such as column renamings).
|
|
The recommended way to get a text version of a check constraint's
|
|
expression from <structname>pg_constraint</structname>
|
|
is <literal>pg_get_expr(conbin, conrelid)</literal>.
|
|
<function>pg_get_constraintdef()</function> is also a useful
|
|
alternative.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-01 [fe5038236] Remove obsolete pg_attrdef.adsrc column
|
|
-->
|
|
|
|
<para>
|
|
Remove obsolete <link
|
|
linkend="catalog-pg-attrdef"><structname>pg_attrdef</structname></link>.<structfield>adsrc</structfield>
|
|
column (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This column has been deprecated for a long time, because it did not
|
|
update in response to other catalog changes (such as column renamings).
|
|
The recommended way to get a text version of a default-value expression
|
|
from <structname>pg_attrdef</structname> is <literal>pg_get_expr(adbin,
|
|
adrelid)</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-19 [586b98fdf] Make type "name" collation-aware.
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-04-05 [478cacb50] Ensure consistent name matching behavior in processSQLNa
|
|
-->
|
|
|
|
<para>
|
|
Mark table columns of type <link
|
|
linkend="datatype-character-special-table">name</link> as having
|
|
<quote>C</quote> collation by default (Tom Lane, Daniel Vérité)
|
|
</para>
|
|
|
|
<para>
|
|
The comparison operators for data type <type>name</type> can now use
|
|
any collation, rather than always using <quote>C</quote> collation.
|
|
To preserve the previous semantics of queries, columns of
|
|
type <type>name</type> are now explicitly marked as
|
|
having <quote>C</quote> collation. A side effect of this is that
|
|
regular-expression operators on <type>name</type> columns will now
|
|
use the <quote>C</quote> collation by default, not the database
|
|
collation, to determine the behavior of locale-dependent regular
|
|
expression patterns (such as <literal>\w</literal>). If you want
|
|
non-C behavior for a regular expression on a <type>name</type>
|
|
column, attach an explicit <literal>COLLATE</literal> clause. (For
|
|
user-defined <type>name</type> columns, another possibility is to
|
|
specify a different collation at table creation time; but that just
|
|
moves the non-backwards-compatibility to the comparison operators.)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-20 [7c15cef86] Base information_schema.sql_identifier domain on name, n
|
|
2018-12-20 [5bbee34d9] Avoid producing over-length specific_name outputs in inf
|
|
2018-12-18 [6b0faf723] Make collation-aware system catalog columns use "C" coll
|
|
-->
|
|
|
|
<para>
|
|
Treat object-name columns in
|
|
the <link linkend="information-schema"><structname>information_schema</structname></link>
|
|
views as being of type <type>name</type>, not <type>varchar</type>
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Per the SQL standard, object-name columns in
|
|
the <structname>information_schema</structname> views are declared
|
|
as being of domain type <type>sql_identifier</type>.
|
|
In <productname>PostgreSQL</productname>, the underlying catalog
|
|
columns are really of type <type>name</type>. This change
|
|
makes <type>sql_identifier</type> be a domain
|
|
over <type>name</type>, rather than <type>varchar</type> as before.
|
|
This eliminates a semantic mismatch in comparison and sorting
|
|
behavior, which can greatly improve the performance of queries
|
|
on <structname>information_schema</structname> views that restrict
|
|
an object-name column. Note however that inequality restrictions,
|
|
for example
|
|
<programlisting>
|
|
SELECT ... FROM information_schema.tables WHERE table_name < 'foo';
|
|
</programlisting>
|
|
will now use <quote>C</quote>-locale comparison semantics by
|
|
default, rather than the database's default collation as before.
|
|
Sorting on these columns will also follow <quote>C</quote> ordering
|
|
rules. The previous behavior (and inefficiency) can be enforced by
|
|
adding a <literal>COLLATE "default"</literal> clause.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-07-10 [bcbd94080] Remove dynamic_shared_memory_type=none
|
|
-->
|
|
|
|
<para>
|
|
Remove the ability to disable dynamic shared memory (Kyotaro
|
|
Horiguchi)
|
|
</para>
|
|
|
|
<para>
|
|
Specifically, <xref linkend="guc-dynamic-shared-memory-type"/>
|
|
can no longer be set to <literal>none</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-09-12 [e7a221797] Parse more strictly integer parameters from connection s
|
|
-->
|
|
|
|
<para>
|
|
Parse libpq integer connection parameters more strictly (Fabien
|
|
Coelho)
|
|
</para>
|
|
|
|
<para>
|
|
In previous releases, using an incorrect integer value for
|
|
connection parameters <literal>connect_timeout</literal>,
|
|
<literal>keepalives</literal>, <literal>keepalives_count</literal>,
|
|
<literal>keepalives_idle</literal>,
|
|
<literal>keepalives_interval</literal> and <literal>port</literal>
|
|
resulted in libpq either ignoring those values or failing with
|
|
incorrect error messages.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<para>
|
|
Below you will find a detailed account of the changes between
|
|
<productname>PostgreSQL</productname> 12 and the previous
|
|
major release.
|
|
</para>
|
|
|
|
<sect3>
|
|
<title>Server</title>
|
|
|
|
<sect4>
|
|
<title><link linkend="ddl-partitioning">Partitioning</link></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-07 [c6e4133fa] Postpone calculating total_table_pages until after pruni
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-15 [34c9e455d] Improve performance of partition pruning remapping a lit
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2018-11-16 [3f2393ede] Redesign initialization of partition routing structures
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-02-21 [9eefba181] Delay lock acquisition for partitions until we route a t
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-30 [428b260f8] Speed up planning when partitions can be pruned at plan
|
|
-->
|
|
|
|
<para>
|
|
Improve performance of many operations on partitioned tables
|
|
(Amit Langote, David Rowley, Tom Lane, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Allow tables with thousands of child partitions to be processed
|
|
efficiently by operations that only affect a small number of
|
|
partitions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-03 [f56f8f8da] Support foreign keys that reference partitioned tables
|
|
-->
|
|
|
|
<para>
|
|
Allow <link linkend="ddl-constraints-fk">foreign keys</link>
|
|
to reference partitioned tables (Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-08-01 [0d5f05cde] Allow multi-inserts during COPY into a partitioned table
|
|
-->
|
|
|
|
<para>
|
|
Improve speed of <command>COPY</command> into partitioned tables
|
|
(David Rowley)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-01-25 [7c079d741] Allow generalized expression syntax for partition bounds
|
|
-->
|
|
|
|
<para>
|
|
Allow partition bounds to be any expression (Kyotaro Horiguchi,
|
|
Tom Lane, Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
Such expressions are evaluated at partitioned-table creation time.
|
|
Previously, only simple constants were allowed as partition bounds.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2018-12-17 [ca4103025] Fix tablespace handling for partitioned tables
|
|
-->
|
|
|
|
<para>
|
|
Allow <command>CREATE TABLE</command>'s tablespace specification
|
|
for a partitioned table to affect the tablespace of its children
|
|
(David Rowley, Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-04-05 [959d00e9d] Use Append rather than MergeAppend for scanning ordered
|
|
-->
|
|
|
|
<para>
|
|
Avoid sorting when partitions are already being scanned in the
|
|
necessary order (David Rowley)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-03-07 [898e5e329] Allow ATTACH PARTITION with only ShareUpdateExclusiveLoc
|
|
-->
|
|
|
|
<para>
|
|
<link linkend="sql-altertable"><command>ALTER TABLE ATTACH
|
|
PARTITION</command></link> is now performed with reduced locking
|
|
requirements (Robert Haas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-02-08 [3677a0b26] Add pg_partition_root to display top-most parent of a pa
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-03-04 [b96f6b194] pg_partition_ancestors
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-30 [d5eec4eef] Add pg_partition_tree to display information about parti
|
|
-->
|
|
|
|
<para>
|
|
Add partition introspection functions (Michaël Paquier, Álvaro
|
|
Herrera, Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
The new function <link
|
|
linkend="functions-info-partition"><function>pg_partition_root()</function></link>
|
|
returns the top-most parent of a partition tree, <link
|
|
linkend="functions-info-partition"><function>pg_partition_ancestors()</function></link>
|
|
reports all ancestors of a partition, and <link
|
|
linkend="functions-info-partition"><function>pg_partition_tree()</function></link>
|
|
displays information about partitions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-12-18 [f94cec644] Include partitioned indexes to system view pg_indexes
|
|
-->
|
|
|
|
<para>
|
|
Include partitioned indexes in the system view <link
|
|
linkend="view-pg-indexes"><structname>pg_indexes</structname></link>
|
|
(Suraj Kharage)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-07 [1c5d9270e] psql \dP: list partitioned tables and indexes
|
|
-->
|
|
|
|
<para>
|
|
Add <application>psql</application> command <command>\dP</command>
|
|
to list partitioned tables and indexes (Pavel Stehule)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2018-11-19 [d56e0fde8] psql: Describe partitioned tables/indexes as such
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-03-26 [1af25ca0c] Improve psql's \d display of foreign key constraints
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-17 [b036982db] psql: display tablespace for partitioned indexes
|
|
-->
|
|
|
|
<para>
|
|
Improve <application>psql</application> <command>\d</command>
|
|
and <command>\z</command> display of partitioned tables (Pavel
|
|
Stehule, Michaël Paquier, Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-02-11 [1d92a0c9f] Redesign the partition dependency mechanism.
|
|
-->
|
|
|
|
<para>
|
|
Fix bugs that could cause <command>ALTER TABLE DETACH
|
|
PARTITION</command> to leave behind incorrect dependency state,
|
|
allowing subsequent operations to misbehave, for example by not
|
|
dropping a former partition child index when its table is dropped
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Indexes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
2019-03-20 [dd299df81] Make heap TID a tiebreaker nbtree index column.
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
2019-03-20 [fab250243] Consider secondary factors during nbtree splits.
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
2019-03-25 [f21668f32] Add "split after new tuple" nbtree optimization.
|
|
-->
|
|
|
|
<para>
|
|
Improve performance and space utilization of btree indexes with
|
|
many duplicates (Peter Geoghegan, Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, duplicate index entries were stored unordered within
|
|
their duplicate groups. This caused overhead during index
|
|
inserts, wasted space due to excessive page splits, and it reduced
|
|
<command>VACUUM</command>'s ability to recycle entire pages.
|
|
Duplicate index entries are now sorted in heap-storage order.
|
|
</para>
|
|
|
|
<para>
|
|
Indexes <application>pg_upgrade</application>'d from previous
|
|
releases will not have these benefits.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
see commits above
|
|
-->
|
|
|
|
<para>
|
|
Allow multi-column btree indexes to be smaller (Peter Geoghegan,
|
|
Heikki Linnakangas)
|
|
</para>
|
|
|
|
<para>
|
|
Internal pages and min/max leaf page indicators now only store
|
|
index keys until the change key, rather than all indexed keys.
|
|
This also improves the locality of index access.
|
|
</para>
|
|
|
|
<para>
|
|
Indexes <application>pg_upgrade</application>'d from previous
|
|
releases will not have these benefits.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2018-07-28 [d2086b08b] Reduce path length for locking leaf B-tree pages during
|
|
-->
|
|
|
|
<para>
|
|
Improve speed of btree index insertions by reducing locking
|
|
overhead (Alexander Korotkov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2019-03-10 [f2e403803] Support for INCLUDE attributes in GiST indexes
|
|
-->
|
|
|
|
<para>
|
|
Support <link
|
|
linkend="indexes-index-only-scans"><literal>INCLUDE</literal></link> columns
|
|
in <link linkend="gist">GiST</link> indexes (Andrey Borodin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2018-09-19 [2a6368343] Add support for nearest-neighbor (KNN) searches to SP-Gi
|
|
-->
|
|
|
|
<para>
|
|
Add support for nearest-neighbor (<acronym>KNN</acronym>) searches
|
|
of <link linkend="spgist">SP-GiST</link> indexes (Nikita Glukhov,
|
|
Alexander Korotkov, Vlad Sterzhanov)
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
2019-04-03 [9155580fd] Generate less WAL during GiST, GIN and SP-GiST index bui
|
|
-->
|
|
|
|
<para>
|
|
Reduce the <acronym>WAL</acronym> write overhead
|
|
of <acronym>GiST</acronym>, <acronym>GIN</acronym>, and
|
|
<acronym>SP-GiST</acronym> index creation (Anastasia Lubennikova,
|
|
Andrey V. Lepikhov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-03 [80b9e9c46] Improve performance of index-only scans with many index
|
|
-->
|
|
|
|
<para>
|
|
Allow index-only scans to be more efficient on indexes with many
|
|
columns (Konstantin Knizhnik)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
2019-03-05 [fe280694d] Scan GiST indexes in physical order during VACUUM.
|
|
-->
|
|
|
|
<para>
|
|
Improve the performance of vacuum scans of GiST indexes (Andrey
|
|
Borodin, Konstantin Kuznetsov, Heikki Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
2019-03-22 [7df159a62] Delete empty pages during GiST VACUUM.
|
|
-->
|
|
|
|
<para>
|
|
Delete empty leaf pages during <acronym>GiST</acronym>
|
|
<command>VACUUM</command> (Andrey Borodin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-14 [1b5d797cd] Lower lock level for renaming indexes
|
|
-->
|
|
|
|
<para>
|
|
Reduce locking requirements for index renaming (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Optimizer</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2019-03-27 [7300a6995] Add support for multivariate MCV lists
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2019-03-27 [a63b29a1d] Minor improvements for the multivariate MCV lists
|
|
-->
|
|
|
|
<para>
|
|
Allow <xref linkend="sql-createstatistics"/> to create
|
|
most-common-value statistics for multiple columns (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
This improves optimization for queries that test several columns,
|
|
requiring an estimate of the combined effect of
|
|
several <literal>WHERE</literal> clauses. If the columns are
|
|
correlated and have non-uniform distributions then multi-column
|
|
statistics will allow much better estimates.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-02-16 [608b167f9] Allow user control of CTE materialization, and change th
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-04-09 [947613127] Prevent inlining of multiply-referenced CTEs with outer
|
|
-->
|
|
|
|
<para>
|
|
Allow <link linkend="queries-with">common table expressions</link>
|
|
(<acronym>CTEs</acronym>) to be inlined into the outer query
|
|
(Andreas Karlsson, Andrew Gierth, David Fetter, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Specifically, <acronym>CTE</acronym>s are automatically inlined if
|
|
they have no side-effects, are not recursive, and are referenced
|
|
only once in the query. Inlining can be prevented by
|
|
specifying <literal>MATERIALIZED</literal>, or forced for
|
|
multiply-referenced <acronym>CTE</acronym>s by
|
|
specifying <literal>NOT MATERIALIZED</literal>. Previously,
|
|
<acronym>CTE</acronym>s were never inlined and were always
|
|
evaluated before the rest of the query.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-07-16 [f7cb2842b] Add plan_cache_mode setting
|
|
-->
|
|
|
|
<para>
|
|
Allow control over when generic plans are used for prepared
|
|
statements (Pavel Stehule)
|
|
</para>
|
|
|
|
<para>
|
|
This is controlled by the <xref linkend="guc-plan-cache_mode"/>
|
|
server parameter.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-25 [8edd0e794] Suppress Append and MergeAppend plan nodes that have a s
|
|
-->
|
|
|
|
<para>
|
|
Improve optimization of partition and <literal>UNION ALL</literal>
|
|
queries that have only a single child (David Rowley)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-13 [04fe805a1] Drop no-op CoerceToDomain nodes from expressions at plan
|
|
-->
|
|
|
|
<para>
|
|
Improve processing of <link linkend="domains">domains</link> that
|
|
have no check constraints (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Domains that are being used purely as type aliases no longer cause
|
|
optimization difficulties.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-30 [6f19a8c41] Teach eval_const_expressions to constant-fold LEAST/GREA
|
|
-->
|
|
|
|
<para>
|
|
Pre-evaluate calls of <link
|
|
linkend="functions-greatest-least"><literal>LEAST</literal></link>
|
|
and <literal>GREATEST</literal> when their arguments are constants
|
|
(Vik Fearing)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-02-20 [e04a3905e] Improve planner's understanding of strictness of type co
|
|
2019-03-01 [65ce07e02] Teach optimizer's predtest.c more things about ScalarArr
|
|
-->
|
|
|
|
<para>
|
|
Improve optimizer's ability to verify that partial indexes
|
|
with <literal>IS NOT NULL</literal> conditions are usable in
|
|
queries (Tom Lane, James Coleman)
|
|
</para>
|
|
|
|
<para>
|
|
Usability can now be recognized in more cases where the calling
|
|
query involves casts or
|
|
large <literal><replaceable>x</replaceable> IN
|
|
(<replaceable>array</replaceable>)</literal> clauses.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-14 [5e0928005] Make pg_statistic and related code account more honestly
|
|
-->
|
|
|
|
<para>
|
|
Compute <command>ANALYZE</command> statistics using the collation
|
|
defined for each column (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, the database's default collation was used for all
|
|
statistics. This potentially gives better optimizer behavior for
|
|
columns with non-default collations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-25 [f7111f72d] Improve planner's selectivity estimates for inequalities
|
|
-->
|
|
|
|
<para>
|
|
Improve selectivity estimates for inequality comparisons
|
|
on <link linkend="ddl-system-columns"><structfield>ctid</structfield></link>
|
|
columns (Edmund Horner)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-30 [b5415e3c2] Support parameterized TidPaths.
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-30 [0a6ea4001] Add a hash opclass for type "tid".
|
|
-->
|
|
|
|
<para>
|
|
Improve optimization of joins on columns of type <link
|
|
linkend="datatype-oid"><type>tid</type></link>
|
|
(Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
These changes primarily improve the efficiency of self-joins
|
|
on <structfield>ctid</structfield> columns.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-07-11 [39a96512b] Mark built-in btree comparison functions as leakproof wh
|
|
2019-09-21 [d9110d7e1] Straighten out leakproofness markings on text comparison
|
|
-->
|
|
|
|
<para>
|
|
Fix the leakproofness designations of some btree comparison operators
|
|
and support functions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This allows some optimizations that previously would not have been
|
|
applied in the presence of security barrier views or row-level
|
|
security.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>General Performance</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Bruce Momjian <bruce@momjian.us>
|
|
2018-09-21 [1f7fc7670] doc: JIT is enabled by default in PG 12
|
|
-->
|
|
|
|
<para>
|
|
Enable <link linkend="jit">Just-in-Time</link>
|
|
(<acronym>JIT</acronym>) compilation by default, if the server
|
|
has been built with support for it (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
Note that this support is not built by default, but has to be
|
|
selected explicitly while configuring the build.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-01-06 [afb0d0712] Replace the data structure used for keyword lookup.
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-01-09 [c64d0cd5c] Use perfect hashing, instead of binary search, for keywo
|
|
-->
|
|
|
|
<para>
|
|
Speed up keyword lookup (John Naylor, Joerg Sonnenberger, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
2019-01-25 [9556aa01c] Use single-byte Boyer-Moore-Horspool search even with mu
|
|
-->
|
|
|
|
<para>
|
|
Improve search performance for multi-byte characters
|
|
in <function>position()</function> and related functions (Heikki
|
|
Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Stephen Frost <sfrost@snowman.net>
|
|
2019-04-02 [4d0e994ee] Add support for partial TOAST decompression
|
|
-->
|
|
|
|
<para>
|
|
Allow <link linkend="storage-toast">toasted</link>
|
|
values to be minimally decompressed (Paul Ramsey)
|
|
</para>
|
|
|
|
<para>
|
|
This is useful for routines that only need to examine the initial
|
|
portion of a toasted field.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-03-13 [bbb96c370] Allow ALTER TABLE .. SET NOT NULL to skip provably unnec
|
|
-->
|
|
|
|
<para>
|
|
Allow <link linkend="sql-altertable"><command>ALTER TABLE ... SET
|
|
NOT NULL</command></link> to avoid unnecessary table scans (Sergei
|
|
Kornilov)
|
|
</para>
|
|
|
|
<para>
|
|
This can be optimized when the table's column constraints can be
|
|
recognized as disallowing nulls.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
2019-03-08 [3c5926301] Avoid some table rewrites for ALTER TABLE .. SET DATA TY
|
|
-->
|
|
|
|
<para>
|
|
Allow <command>ALTER TABLE ... SET DATA TYPE</command> changing between
|
|
<type>timestamp</type> and <type>timestamptz</type> to avoid a
|
|
table rewrite when the session time zone is <acronym>UTC</acronym>
|
|
(Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
In the <acronym>UTC</acronym> time zone, these two data types are
|
|
binary compatible.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2018-07-22 [86eaf208e] Hand code string to integer conversion for performance.
|
|
-->
|
|
|
|
<para>
|
|
Improve speed in converting strings to
|
|
<type>int2</type> or <type>int4</type> integers (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2019-03-15 [bb16aba50] Enable parallel query with SERIALIZABLE isolation.
|
|
-->
|
|
|
|
<para>
|
|
Allow parallelized queries when in <link
|
|
linkend="xact-serializable"><literal>SERIALIZABLE</literal></link>
|
|
isolation mode (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, parallelism was disabled when in this mode.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2018-11-07 [3fd2a7932] Provide pg_pread() and pg_pwrite() for random I/O.
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2018-11-07 [c24dcd0cf] Use pg_pread() and pg_pwrite() for data files and WAL.
|
|
-->
|
|
|
|
<para>
|
|
Use <function>pread()</function> and <function>pwrite()</function>
|
|
for random I/O (Oskari Saarenmaa, Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
This reduces the number of system calls required for I/O.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2018-07-24 [1bc180cd2] Use setproctitle_fast() to update the ps status, if avai
|
|
-->
|
|
|
|
<para>
|
|
Improve the speed of setting the <link
|
|
linkend="guc-update-process-title">process title</link> on
|
|
<systemitem class="osname">FreeBSD</systemitem> (Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Monitoring</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-03 [799e22034] Log all statements from a sample of transactions
|
|
-->
|
|
|
|
<para>
|
|
Allow logging of statements from only a percentage of transactions
|
|
(Adrien Nayrat)
|
|
</para>
|
|
|
|
<para>
|
|
The parameter <xref linkend="guc-log-transaction-sample-rate"/>
|
|
controls this.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-02 [ab0dfc961] Report progress of CREATE INDEX operations
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-04-07 [03f9e5cba] Report progress of REINDEX operations
|
|
-->
|
|
|
|
<para>
|
|
Add progress reporting to <command>CREATE INDEX</command> and
|
|
<command>REINDEX</command> operations (Álvaro Herrera, Peter
|
|
Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Progress is reported in the <link
|
|
linkend="create-index-progress-reporting"><structname>pg_stat_progress_create_index</structname></link>
|
|
system view.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-03-25 [6f97457e0] Add progress reporting for CLUSTER and VACUUM FULL.
|
|
-->
|
|
|
|
<para>
|
|
Add progress reporting to <command>CLUSTER</command> and
|
|
<command>VACUUM FULL</command> (Tatsuro Yamada)
|
|
</para>
|
|
|
|
<para>
|
|
Progress is reported in the <link
|
|
linkend="cluster-progress-reporting"><structname>pg_stat_progress_cluster</structname></link>
|
|
system view.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-04-02 [280e5f140] Add progress reporting to pg_checksums
|
|
-->
|
|
|
|
<para>
|
|
Add progress reporting to <xref linkend="app-pgchecksums"/>
|
|
(Michael Banck, Bernd Helmle)
|
|
</para>
|
|
|
|
<para>
|
|
This is enabled with the option <option>--progress</option>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Magnus Hagander <magnus@hagander.net>
|
|
2019-03-09 [6b9e875f7] Track block level checksum failures in pg_stat_database
|
|
-->
|
|
|
|
<para>
|
|
Add counter of checksum failures to
|
|
<structname>pg_stat_database</structname> (Magnus Hagander)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Magnus Hagander <magnus@hagander.net>
|
|
2019-04-12 [77bd49adb] Show shared object statistics in pg_stat_database
|
|
-->
|
|
|
|
<para>
|
|
Add tracking of global objects in system view
|
|
<structname>pg_stat_database</structname> (Julien Rouhaud)
|
|
</para>
|
|
|
|
<para>
|
|
Global objects are shown with a <link
|
|
linkend="pg-stat-database-view"><structname>pg_stat_database</structname></link>.<structfield>datid</structfield>
|
|
value of zero.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-09 [c48101620] Add pg_ls_archive_statusdir function
|
|
-->
|
|
|
|
<para>
|
|
Add the ability to list the contents of the archive directory
|
|
(Christoph Moench-Tegeder)
|
|
</para>
|
|
|
|
<para>
|
|
The function is <link
|
|
linkend="functions-admin-genfile-table"><function>pg_ls_archive_statusdir()</function></link>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-05 [9cd92d1a3] Add pg_ls_tmpdir function
|
|
-->
|
|
|
|
<para>
|
|
Add the ability to list the contents of temporary directories
|
|
(Nathan Bossart)
|
|
</para>
|
|
|
|
<para>
|
|
The function, <link
|
|
linkend="functions-admin-genfile-table"><function>pg_ls_tmpdir()</function></link>,
|
|
optionally allows specification of a tablespace.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-02-01 [f60a0e967] Add more columns to pg_stat_ssl
|
|
-->
|
|
|
|
<para>
|
|
Add information about the client certificate to the system view <link
|
|
linkend="pg-stat-ssl-view"><structname>pg_stat_ssl</structname></link>
|
|
(Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The new columns are <structfield>client_serial</structfield>
|
|
and <structfield>issuer_dn</structfield>. Column
|
|
<structfield>clientdn</structfield> has been renamed to
|
|
<structfield>client_dn</structfield> for clarity.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-02-21 [f9692a769] Hide other user's pg_stat_ssl rows
|
|
-->
|
|
|
|
<para>
|
|
Restrict visibility of rows in <structname>pg_stat_ssl</structname>
|
|
for unprivileged users (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-01-30 [689d15e95] Log PostgreSQL version number on startup
|
|
-->
|
|
|
|
<para>
|
|
At server start, emit a log message including the server
|
|
version number (Christoph Berg)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
2019-03-06 [342cb650e] Don't log incomplete startup packet if it's empty
|
|
-->
|
|
|
|
<para>
|
|
Prevent logging <quote>incomplete startup packet</quote> if a new
|
|
connection is immediately closed (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids log spam from certain forms of monitoring.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Stephen Frost <sfrost@snowman.net>
|
|
2018-09-28 [8bddc8640] Add application_name to connection authorized msg
|
|
-->
|
|
|
|
<para>
|
|
Include the <xref linkend="guc-application-name"/>, if set,
|
|
in <xref linkend="guc-log-connections"/> log messages (Don Seiler)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-02-27 [6ae578a91] Set fallback_application_name for a walreceiver to clust
|
|
-->
|
|
|
|
<para>
|
|
Make the walreceiver set its application name to the cluster name,
|
|
if set (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-12-09 [7fee252f6] Add timestamp of last received message from standby to p
|
|
-->
|
|
|
|
<para>
|
|
Add the timestamp of the last received standby message to <link
|
|
linkend="pg-stat-replication-view"><structname>pg_stat_replication</structname></link>
|
|
(Lim Myungkyu)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-07-02 [c55de5e51] Add wait event for fsync of WAL segments
|
|
-->
|
|
|
|
<para>
|
|
Add a <link linkend="wait-event-table">wait event</link> for fsync
|
|
of <acronym>WAL</acronym> segments (Konstantin Knizhnik)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title><acronym>Authentication</acronym></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Stephen Frost <sfrost@snowman.net>
|
|
2019-04-03 [b0b39f72b] GSSAPI encryption support
|
|
-->
|
|
|
|
<para>
|
|
Add <link linkend="gssapi-auth"><acronym>GSSAPI</acronym></link>
|
|
encryption support (Robbie Harwood, Stephen Frost)
|
|
</para>
|
|
|
|
<para>
|
|
This feature allows TCP/IP connections to be encrypted when using
|
|
GSSAPI authentication, without having to set up a separate
|
|
encryption facility such as SSL.
|
|
In support of this, add <literal>hostgssenc</literal>
|
|
and <literal>hostnogssenc</literal> record types in <link
|
|
linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>
|
|
for selecting connections that do or do not use GSSAPI encryption,
|
|
corresponding to the existing <literal>hostssl</literal>
|
|
and <literal>hostnossl</literal> record types.
|
|
There is also a new <xref linkend="libpq-connect-gssencmode"/>
|
|
libpq option, and a <xref linkend="pg-stat-gssapi-view"/> system
|
|
view.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Magnus Hagander <magnus@hagander.net>
|
|
2019-03-09 [0516c61b7] Add new clientcert hba option verify-full
|
|
-->
|
|
|
|
<para>
|
|
Allow the <link
|
|
linkend="auth-cert"><literal>clientcert</literal></link>
|
|
<filename>pg_hba.conf</filename> option to check that the database
|
|
user name matches the client certificate's common name
|
|
(Julian Markwort, Marius Timmer)
|
|
</para>
|
|
|
|
<para>
|
|
This new check is enabled with
|
|
<literal>clientcert=verify-full</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2019-03-21 [0f086f84a] Add DNS SRV support for LDAP server discovery.
|
|
-->
|
|
|
|
<para>
|
|
Allow discovery of an <link
|
|
linkend="auth-ldap"><acronym>LDAP</acronym></link> server using
|
|
<acronym>DNS SRV</acronym> records (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids the requirement of specifying
|
|
<literal>ldapserver</literal>. It is only supported if
|
|
<productname>PostgreSQL</productname> is compiled with
|
|
<productname>OpenLDAP</productname>.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Server Configuration</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-03-23 [ed308d783] Add options to enable and disable checksums in pg_checks
|
|
-->
|
|
|
|
<para>
|
|
Add ability to enable/disable cluster checksums using <xref
|
|
linkend="app-pgchecksums"/> (Michael Banck, Michaël Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
The cluster must be shut down for these operations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-10 [cbccac371] Reduce the default value of autovacuum_vacuum_cost_delay
|
|
-->
|
|
|
|
<para>
|
|
Reduce the default value of <xref
|
|
linkend="guc-autovacuum-vacuum-cost-delay"/> to 2ms (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This allows autovacuum operations to proceed faster by default.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-10 [caf626b2c] Convert [autovacuum_]vacuum_cost_delay into floating-poi
|
|
-->
|
|
|
|
<para>
|
|
Allow <xref linkend="guc-vacuum-cost-delay"/> to specify
|
|
sub-millisecond delays, by accepting fractional values (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-10 [caf626b2c] Convert [autovacuum_]vacuum_cost_delay into floating-poi
|
|
-->
|
|
|
|
<para>
|
|
Allow time-based server parameters to use units of <link
|
|
linkend="config-setting">microseconds</link>
|
|
(<literal>us</literal>) (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-11 [1a83a80a2] Allow fractional input values for integer GUCs, and impr
|
|
-->
|
|
|
|
<para>
|
|
Allow fractional input for integer server parameters (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
For example, <command>SET work_mem = '30.1GB'</command> is now
|
|
allowed, even though <varname>work_mem</varname> is an integer
|
|
parameter. The value will be rounded to an integer after any
|
|
required units conversion.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-10 [caf626b2c] Convert [autovacuum_]vacuum_cost_delay into floating-poi
|
|
-->
|
|
|
|
<para>
|
|
Allow units to be defined for floating-point server parameters
|
|
(Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2019-04-02 [475861b26] Add wal_recycle and wal_init_zero GUCs.
|
|
-->
|
|
|
|
<para>
|
|
Add <xref linkend="guc-wal-recycle"/> and <xref
|
|
linkend="guc-wal-init-zero"/> server parameters to control
|
|
<acronym>WAL</acronym> file recycling (Jerry Jelinek)
|
|
</para>
|
|
|
|
<para>
|
|
Avoiding file recycling can be beneficial on copy-on-write file
|
|
systems like <productname>ZFS</productname>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-04-06 [249d64999] Add support TCP user timeout in libpq and the backend se
|
|
-->
|
|
|
|
<para>
|
|
Add server parameter <xref linkend="guc-tcp-user-timeout"/> to
|
|
control the server's <acronym>TCP</acronym> timeout (Ryohei Nagaura)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-20 [e73e67c71] Add settings to control SSL/TLS protocol version
|
|
-->
|
|
|
|
<para>
|
|
Allow control of the minimum and maximum <acronym>SSL</acronym>
|
|
protocol versions (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The server parameters are <xref
|
|
linkend="guc-ssl-min-protocol-version"/> and <xref
|
|
linkend="guc-ssl-max-protocol-version"/>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-07-30 [98efa76fe] Add ssl_library preset parameter
|
|
-->
|
|
|
|
<para>
|
|
Add server parameter <xref linkend="guc-ssl-library"/> to report
|
|
the <acronym>SSL</acronym> library version used by the server
|
|
(Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2019-02-03 [f1bebef60] Add shared_memory_type GUC.
|
|
-->
|
|
|
|
<para>
|
|
Add server parameter <xref linkend="guc-shared-memory-type"/>
|
|
to control the type of shared memory to use (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
This allows selection of <productname>System V</productname>
|
|
shared memory, if desired.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Streaming Replication and Recovery</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-02-07 [13b89f96d] Allow some recovery parameters to be changed with reload
|
|
-->
|
|
|
|
<para>
|
|
Allow some recovery parameters to be changed with reload (Peter
|
|
Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
These parameters are <xref linkend="guc-archive-cleanup-command"/>,
|
|
<xref linkend="guc-promote-trigger-file"/>, <xref
|
|
linkend="guc-recovery-end-command"/>, and <xref
|
|
linkend="guc-recovery-min-apply-delay"/>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-09-22 [db361db2f] Make GUC wal_sender_timeout user-settable
|
|
-->
|
|
|
|
<para>
|
|
Allow the streaming replication timeout (<xref
|
|
linkend="guc-wal-sender-timeout"/>) to be set per connection
|
|
(Takayuki Tsunakawa)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, this could only be set cluster-wide.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-25 [10074651e] Add pg_promote function
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-11-06 [8f045e242] Switch pg_promote to be parallel-safe
|
|
-->
|
|
|
|
<para>
|
|
Add function <link
|
|
linkend="functions-recovery-control"><function>pg_promote()</function></link>
|
|
to promote standbys to primaries (Laurenz Albe, Michaël Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, this operation was only possible by using <xref
|
|
linkend="app-pg-ctl"/> or creating a trigger file.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-05 [9f06d79ef] Add facility to copy replication slots
|
|
-->
|
|
|
|
<para>
|
|
Allow replication slots to be copied (Masahiko Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
The functions for this are <link
|
|
linkend="functions-replication-table"><function>pg_copy_physical_replication_slot()</function></link>
|
|
and <function>pg_copy_logical_replication_slot()</function>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-02-12 [ea92368cd] Move max_wal_senders out of max_connections for connecti
|
|
-->
|
|
|
|
<para>
|
|
Make <xref linkend="guc-max-wal-senders"/> not count as part of
|
|
<xref linkend="guc-max-connections"/> (Alexander Kukushkin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-01-11 [ff8530605] Add value 'current' for recovery_target_timeline
|
|
-->
|
|
|
|
<para>
|
|
Add an explicit value of <literal>current</literal> for <xref
|
|
linkend="guc-recovery-target-timeline"/> (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-09-07 [8582b4d04] Improve handling of corrupted two-phase state files at r
|
|
-->
|
|
|
|
<para>
|
|
Make recovery fail if a <link
|
|
linkend="sql-prepare-transaction">two-phase transaction</link>
|
|
status file is corrupt (Michaël Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, a warning was logged and recovery continued,
|
|
allowing the transaction to be lost.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Utility Commands</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-29 [5dc92b844] REINDEX CONCURRENTLY
|
|
-->
|
|
|
|
<para>
|
|
Add <xref linkend="sql-reindex"/> <literal>CONCURRENTLY</literal>
|
|
option to allow reindexing without locking out writes (Michaël
|
|
Paquier, Andreas Karlsson, Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This is also controlled by the <xref linkend="app-reindexdb"/>
|
|
application's <option>--concurrently</option> option.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-30 [fc22b6623] Generated columns
|
|
-->
|
|
|
|
<para>
|
|
Add support for <link linkend="ddl-generated-columns">generated
|
|
columns</link> (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The content of generated columns are computed from expressions
|
|
(including references to other columns in the same table)
|
|
rather than being specified by <command>INSERT</command> or
|
|
<command>UPDATE</command> commands.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2019-01-20 [31f381740] Allow COPY FROM to filter data using WHERE conditions
|
|
-->
|
|
|
|
<para>
|
|
Add a <literal>WHERE</literal> clause
|
|
to <link linkend="sql-copy"><command>COPY FROM</command></link> to
|
|
control which rows are accepted (Surafel Temesgen)
|
|
</para>
|
|
|
|
<para>
|
|
This provides a simple way to filter incoming data.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2018-10-09 [212fab992] Relax transactional restrictions on ALTER TYPE ... ADD V
|
|
-->
|
|
|
|
<para>
|
|
Allow enumerated values to be added more flexibly
|
|
(Andrew Dunstan, Tom Lane, Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, <link linkend="sql-altertype"><command>ALTER TYPE
|
|
... ADD VALUE</command></link> could not be called in a transaction
|
|
block, unless it was part of the same transaction that created the
|
|
enumerated type. Now it can be called in a later transaction, so
|
|
long as the new enumerated value is not referenced until after it is
|
|
committed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-24 [280a408b4] Transaction chaining
|
|
-->
|
|
|
|
<para>
|
|
Add commands to end a transaction and start a new one (Peter
|
|
Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The commands are <link linkend="sql-commit"><command>COMMIT AND
|
|
CHAIN</command></link>
|
|
and <link linkend="sql-rollback"><command>ROLLBACK AND
|
|
CHAIN</command></link>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
2019-04-08 [119dcfad9] Add vacuum_truncate reloption.
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
2019-05-08 [b84dbc8eb] Add TRUNCATE parameter to VACUUM.
|
|
-->
|
|
|
|
<para>
|
|
Add <xref linkend="sql-vacuum"/> and <command>CREATE
|
|
TABLE</command> options to prevent <command>VACUUM</command>
|
|
from truncating trailing empty pages (Takayuki Tsunakawa)
|
|
</para>
|
|
|
|
<para>
|
|
These options are <varname>vacuum_truncate</varname> and
|
|
<varname>toast.vacuum_truncate</varname>. Use of these options
|
|
reduces <command>VACUUM</command>'s locking requirements, but
|
|
prevents returning disk space to the operating system.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-04-04 [a96c41fee] Allow VACUUM to be run with index cleanup disabled.
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-06-25 [ce59b75d4] Add toast-level reloption for vacuum_index_cleanup
|
|
-->
|
|
|
|
<para>
|
|
Allow <command>VACUUM</command> to skip index cleanup
|
|
(Masahiko Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
This change adds a <command>VACUUM</command> command
|
|
option <literal>INDEX_CLEANUP</literal> as well as a table storage
|
|
option <literal>vacuum_index_cleanup</literal>. Use of this option
|
|
reduces the ability to reclaim space and can lead to index bloat,
|
|
but it is helpful when the main goal is to freeze old tuples.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-04 [803b1301e] Add option SKIP_LOCKED to VACUUM and ANALYZE
|
|
-->
|
|
|
|
<para>
|
|
Add the ability to skip <command>VACUUM</command> and
|
|
<command>ANALYZE</command> operations on tables that cannot be
|
|
locked immediately (Nathan Bossart)
|
|
</para>
|
|
|
|
<para>
|
|
This option is called <literal>SKIP_LOCKED</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-03-29 [41b54ba78] Allow existing VACUUM options to take a Boolean argument
|
|
-->
|
|
|
|
<para>
|
|
Allow <command>VACUUM</command> and <command>ANALYZE</command>
|
|
to take optional Boolean argument specifications (Masahiko Sawada)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-08-10 [f841ceb26] Improve TRUNCATE by avoiding early lock queue
|
|
2018-08-27 [a556549d7] Improve VACUUM and ANALYZE by avoiding early lock queue
|
|
-->
|
|
|
|
<para>
|
|
Prevent <xref linkend="sql-truncate"/>,
|
|
<command>VACUUM</command> and <command>ANALYZE</command>
|
|
from requesting a lock on
|
|
tables for which the user lacks permission (Michaël Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents unauthorized locking, which could interfere with
|
|
user queries.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2019-04-04 [ea569d64a] Add SETTINGS option to EXPLAIN, to print modified settin
|
|
-->
|
|
|
|
<para>
|
|
Add <xref linkend="sql-explain"/> option
|
|
<literal>SETTINGS</literal> to output non-default optimizer
|
|
settings (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
This output can also be obtained when using <xref linkend="auto-explain"/>
|
|
by setting <varname>auto_explain.log_settings</varname>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
2019-03-19 [01bde4fa4] Implement OR REPLACE option for CREATE AGGREGATE.
|
|
-->
|
|
|
|
<para>
|
|
Add <literal>OR REPLACE</literal> option to
|
|
<xref linkend="sql-createaggregate"/>
|
|
(Andrew Gierth)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-19 [590a87025] Ignore attempts to add TOAST table to shared or catalog
|
|
-->
|
|
|
|
<para>
|
|
Allow modifications of system catalogs' options using <xref
|
|
linkend="sql-altertable"/> (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Modifications of catalogs' <literal>reloptions</literal> and
|
|
autovacuum settings are now supported. (Setting <xref
|
|
linkend="guc-allow-system-table-mods"/> is still required.)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-13 [f177660ab] Include all columns in default names for foreign key con
|
|
-->
|
|
|
|
<para>
|
|
Use all key columns' names when selecting default constraint
|
|
names for foreign keys (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, only the first column name was included in the constraint
|
|
name, resulting in ambiguity for multi-column foreign keys.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Data Types</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-06-19 [d8594d123] Update list of combining characters
|
|
2019-06-24 [82be666ee] Update unicode_norm_table.h to Unicode 12.1.0
|
|
-->
|
|
|
|
<para>
|
|
Update assorted knowledge about Unicode to match Unicode 12.1.0
|
|
(Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This fixes, for example, cases
|
|
where <application>psql</application> would misformat output
|
|
involving combining characters.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-24 [fd582317e] Sync our Snowball stemmer dictionaries with current upst
|
|
-->
|
|
|
|
<para>
|
|
Update Snowball stemmer dictionaries with support for new languages
|
|
(Arthur Zakirov)
|
|
</para>
|
|
|
|
<para>
|
|
This adds word stemming support for Arabic, Indonesian, Irish,
|
|
Lithuanian, Nepali, and Tamil to <link linkend="textsearch">full
|
|
text search</link>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-22 [5e1963fb7] Collations with nondeterministic comparison
|
|
-->
|
|
|
|
<para>
|
|
Allow creation of <link
|
|
linkend="collation">collations</link> that report
|
|
string equality for strings that are not bit-wise equal (Peter
|
|
Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This feature supports <quote>nondeterministic</quote> collations
|
|
that can define case- and accent-agnostic equality comparisons.
|
|
Thus, for example, a case-insensitive uniqueness constraint on a
|
|
text column can be made more easily than before. This is only
|
|
supported for <acronym>ICU</acronym> collations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-17 [b8f9a2a69] Add support for collation attributes on older ICU versio
|
|
-->
|
|
|
|
<para>
|
|
Add support for <acronym>ICU</acronym> collation attributes on older
|
|
ICU versions (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This allows customization of the collation rules in a consistent way
|
|
across all ICU versions.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-19 [2ece7c07d] Add text-vs-name cross-type operators, and unify name_op
|
|
-->
|
|
|
|
<para>
|
|
Allow data
|
|
type <link linkend="datatype-character-special-table">name</link>
|
|
to more seamlessly be compared to other text types (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Type <type>name</type> now behaves much like a domain over
|
|
type <type>text</type> that has default collation <quote>C</quote>.
|
|
This allows cross-type comparisons to be processed more efficiently.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Functions</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2019-03-16 [72b646033] Partial implementation of SQL/JSON path language
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2019-03-16 [16d489b0f] Numeric error suppression in jsonpath
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2019-04-01 [0a02e2ae0] GIN support for @@ and @? jsonpath operators
|
|
-->
|
|
|
|
<para>
|
|
Add support for the <acronym>SQL/JSON</acronym> <link
|
|
linkend="functions-sqljson-path">path</link> language
|
|
(Nikita Glukhov, Teodor Sigaev, Alexander Korotkov, Oleg Bartunov,
|
|
Liudmila Mantrova)
|
|
</para>
|
|
|
|
<para>
|
|
This allows execution of complex queries on <type>JSON</type>
|
|
values using an <acronym>SQL</acronym>-standard language.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-12 [f1d85aa98] Add support for hyperbolic functions, as well as log10()
|
|
-->
|
|
|
|
<para>
|
|
Add support for <link linkend="functions-math-hyp-table">hyperbolic
|
|
functions</link> (Lætitia Avrot)
|
|
</para>
|
|
|
|
<para>
|
|
Also add <function>log10()</function> as an alias for
|
|
<function>log()</function>, for standards compliance.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
2018-10-06 [e954a727f] Improve the accuracy of floating point statistical aggre
|
|
-->
|
|
<para>
|
|
Improve the accuracy of statistical aggregates like <link
|
|
linkend="functions-aggregate-statistics-table"><function>variance()</function></link>
|
|
by using more precise algorithms (Dean Rasheed)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-14 [600b04d6b] Add a timezone-specific variant of date_trunc().
|
|
-->
|
|
|
|
<para>
|
|
Allow <link
|
|
linkend="functions-datetime-table"><function>date_trunc()</function></link>
|
|
to have an additional argument to control the time zone (Vik
|
|
Fearing, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This is faster and simpler than using the <literal>AT TIME
|
|
ZONE</literal> clause.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2018-09-09 [cf9846724] Improve behavior of to_timestamp()/to_date() functions
|
|
-->
|
|
|
|
<para>
|
|
Adjust <link
|
|
linkend="functions-formatting-table"><function>to_timestamp()</function></link>/<function>to_date()</function>
|
|
functions to be more forgiving of template mismatches (Artur
|
|
Zakirov, Alexander Korotkov, Liudmila Mantrova)
|
|
</para>
|
|
|
|
<para>
|
|
This new behavior more closely matches the
|
|
<productname>Oracle</productname> functions of the same name.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-03-07 [251cf2e27] Fix minor deficiencies in XMLTABLE, xpath(), xmlexists()
|
|
-->
|
|
|
|
<para>
|
|
Fix assorted bugs in <link
|
|
linkend="functions-xml"><acronym>XML</acronym> functions</link>
|
|
(Pavel Stehule, Markus Winand, Chapman Flack)
|
|
</para>
|
|
|
|
<para>
|
|
Specifically, in <literal>XMLTABLE</literal>,
|
|
<function>xpath()</function>, and <function>xmlexists()</function>,
|
|
fix some cases where nothing was output for a node, or an
|
|
unexpected error was thrown, or necessary escaping of XML special
|
|
characters was omitted.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-03-07 [eaaa5986a] Fix the BY {REF,VALUE} clause of XMLEXISTS/XMLTABLE
|
|
-->
|
|
|
|
<para>
|
|
Allow the <literal>BY VALUE</literal> clause
|
|
in <function>XMLEXISTS</function> and <function>XMLTABLE</function>
|
|
(Chapman Flack)
|
|
</para>
|
|
|
|
<para>
|
|
This SQL-standard clause has no effect
|
|
in <productname>PostgreSQL</productname>'s implementation, but it
|
|
was unnecessarily being rejected.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-03-27 [5bde1651b] Switch function current_schema[s]() to be parallel-unsaf
|
|
-->
|
|
|
|
<para>
|
|
Prevent <link
|
|
linkend="functions-info-session-table"><function>current_schema()</function></link>
|
|
and <function>current_schemas()</function> from being run by
|
|
parallel workers, as they are not parallel-safe (Michaël Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-01-30 [5f5c01459] Allow RECORD and RECORD[] to be specified in function co
|
|
-->
|
|
|
|
<para>
|
|
Allow <type>RECORD</type> and <type>RECORD[]</type> to be used
|
|
as column types in a query's column definition list for a <link
|
|
linkend="queries-tablefunctions">table function</link> that is declared
|
|
to return <type>RECORD</type> (Elvis Pranskevichus)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title><link linkend="plpgsql">PL/pgSQL</link></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-01-04 [4879a5172] Support plpgsql variable names that conflict with unrese
|
|
-->
|
|
|
|
<para>
|
|
Allow SQL commands and variables with the same names as those
|
|
commands to be used in the same PL/pgSQL function (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
For example, allow a variable called <varname>comment</varname> to
|
|
exist in a function that calls
|
|
the <command>COMMENT</command> <acronym>SQL</acronym> command.
|
|
Previously this combination caused a parse error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2018-07-25 [167075be3] Add strict_multi_assignment and too_many_rows plpgsql ch
|
|
-->
|
|
|
|
<para>
|
|
Add new optional warning and error checks to PL/pgSQL (Pavel
|
|
Stehule)
|
|
</para>
|
|
|
|
<para>
|
|
The new checks allow for run-time validation of
|
|
<literal>INTO</literal> column counts and single-row results.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Client Interfaces</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-04-06 [249d64999] Add support TCP user timeout in libpq and the backend se
|
|
-->
|
|
|
|
<para>
|
|
Add connection parameter <xref linkend="libpq-tcp-user-timeout"/>
|
|
to control <application>libpq</application>'s <acronym>TCP</acronym>
|
|
timeout (Ryohei Nagaura)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-04-04 [7bac3acab] Add a "SQLSTATE-only" error verbosity option to libpq an
|
|
-->
|
|
|
|
<para>
|
|
Allow <application>libpq</application> (and thus
|
|
<application>psql</application>) to report only the
|
|
<literal>SQLSTATE</literal> value in error messages (Didier Gautheron)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-11 [2970afa6c] Add PQresultMemorySize function to report allocated size
|
|
-->
|
|
|
|
<para>
|
|
Add <application>libpq</application>
|
|
function <link linkend="libpq-pqresultmemorysize"><function>PQresultMemorySize()</function></link>
|
|
to report the memory used by a query result (Lars Kanis, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-09-07 [1fea1e325] libpq: Change "options" dispchar to normal
|
|
-->
|
|
|
|
<para>
|
|
Remove the no-display/debug flag from <application>libpq</application>'s
|
|
<literal>options</literal> connection parameter (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This allows this parameter to be set by
|
|
<application>postgres_fdw</application>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Meskes <meskes@postgresql.org>
|
|
2019-02-18 [050710b36] Add bytea datatype to ECPG.
|
|
-->
|
|
|
|
<para>
|
|
Allow <xref linkend="app-ecpg"/> to create variables of data type
|
|
<type>bytea</type> (Ryo Matsumura)
|
|
</para>
|
|
|
|
<para>
|
|
This allows ECPG clients to interact with <type>bytea</type> data
|
|
directly, rather than using an encoded form.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Meskes <meskes@postgresql.org>
|
|
2019-05-22 [a1dc6ab46] Implement PREPARE AS statement for ECPG.
|
|
-->
|
|
|
|
<para>
|
|
Add <command>PREPARE AS</command> support to
|
|
<productname>ECPG</productname> (Ryo Matsumura)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Client Applications</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-01-31 [00d1e88d3] Add - -min-xid-age and - -min-mxid-age options to vacuumdb
|
|
-->
|
|
|
|
<para>
|
|
Allow <xref linkend="app-vacuumdb"/> to select tables for vacuum
|
|
based on their wraparound horizon (Nathan Bossart)
|
|
</para>
|
|
|
|
<para>
|
|
The options are <option>--min-xid-age</option> and
|
|
<option>--min-mxid-age</option>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-01-08 [354e95d1f] Add - -disable-page-skipping and - -skip-locked to vacuumd
|
|
-->
|
|
|
|
<para>
|
|
Allow <application>vacuumdb</application> to disable waiting for locks
|
|
or skipping all-visible pages (Nathan Bossart)
|
|
</para>
|
|
|
|
<para>
|
|
The options are <option>--skip-locked</option> and
|
|
<option>--disable-page-skipping</option>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-04-01 [cc8d41511] Unified logging system for command-line programs
|
|
-->
|
|
|
|
<para>
|
|
Add colorization to the output of command-line utilities (Peter
|
|
Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This is enabled by setting the environment variable
|
|
<envar>PG_COLOR</envar> to <literal>always</literal>
|
|
or <literal>auto</literal>. The specific colors used can be
|
|
adjusted by setting the environment variable
|
|
<envar>PG_COLORS</envar>, using ANSI escape codes for colors.
|
|
For example, the default behavior is equivalent to
|
|
<literal>PG_COLORS="error=01;31:warning=01;35:locus=01"</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<sect4>
|
|
<title><xref linkend="app-psql"/></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-26 [aa2ba50c2] Add CSV table output mode in psql.
|
|
-->
|
|
|
|
<para>
|
|
Add <acronym>CSV</acronym> table output mode in
|
|
<application>psql</application> (Daniel Vérité)
|
|
</para>
|
|
|
|
<para>
|
|
This is controlled by <command>\pset format csv</command> or the
|
|
command-line <option>--csv</option> option.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-11 [27f3dea64] psql: Add documentation URL to \help output
|
|
-->
|
|
|
|
<para>
|
|
Show the manual page <acronym>URL</acronym> in
|
|
<application>psql</application>'s <command>\help</command> output
|
|
for a SQL command (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2018-11-19 [6e5f8d489] psql: Show IP address in \conninfo
|
|
2019-06-14 [313f56ce2] Tweak libpq's PQhost, PQhostaddr, and psql's \connect
|
|
-->
|
|
|
|
<para>
|
|
Display the <acronym>IP</acronym> address in
|
|
<application>psql</application>'s <command>\conninfo</command>
|
|
(Fabien Coelho)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-12-23 [11a60d496] Add completion for storage parameters after CREATE TABLE
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-26 [5953c9969] Improve tab completion of CREATE EVENT TRIGGER in psql
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-26 [292ef6e27] Add tab completion of EXECUTE FUNCTION for CREATE TRIGGE
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-01-28 [23349b18d] Add tab completion for ALTER INDEX ALTER COLUMN in psql
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-12-20 [4cba9c2a3] Add more tab completion for CREATE TABLE in psql
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-20 [a7c4dad1a] Fix psql's tab completion for ALTER DATABASE ... SET TAB
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-12-25 [f89ae34ab] Improve tab completion of ALTER INDEX/TABLE with SET STA
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-20 [c9a8a401f] Fix psql's tab completion for TABLE.
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-21 [121213d9d] Improve tab completion for ANALYZE, EXPLAIN, and VACUUM.
|
|
-->
|
|
|
|
<para>
|
|
Improve tab completion of <command>CREATE TABLE</command>,
|
|
<command>CREATE TRIGGER</command>,
|
|
<command>CREATE EVENT TRIGGER</command>,
|
|
<command>ANALYZE</command>, <command>EXPLAIN</command>,
|
|
<command>VACUUM</command>, <command>ALTER TABLE</command>,
|
|
<command>ALTER INDEX</command>, <command>ALTER DATABASE</command>,
|
|
and <command>ALTER INDEX ALTER COLUMN</command>
|
|
(Dagfinn Ilmari Mannsåker, Tatsuro Yamada, Michaël Paquier,
|
|
Tom Lane, Justin Pryzby)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title><link linkend="pgbench"><application>pgbench</application></link></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-01-10 [6260cc550] pgbench: add \cset and \gset commands
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-03-25 [25ee70511] pgbench: Remove \cset
|
|
-->
|
|
|
|
<para>
|
|
Allow values produced by queries to be assigned
|
|
to <application>pgbench</application> variables (Fabien Coelho,
|
|
Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
The command for this is <command>\gset</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-25 [5b7e03670] Avoid unnecessary precision loss for pgbench's - -rate ta
|
|
-->
|
|
|
|
<para>
|
|
Improve precision of <application>pgbench</application>'s
|
|
<option>--rate</option> option (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-10-15 [5b75a4f82] pgbench: Report errors during run better
|
|
-->
|
|
<para>
|
|
Improve <application>pgbench</application>'s error reporting with
|
|
clearer messages and return codes (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Server Applications</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2018-09-01 [ec7436993] Implement "pg_ctl logrotate" command
|
|
-->
|
|
|
|
<para>
|
|
Allow control of log file rotation via <xref linkend="app-pg-ctl"/>
|
|
(Kyotaro Horiguchi, Alexander Kuzmenkov, Alexander Korotkov)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, this was only possible via an <acronym>SQL</acronym>
|
|
function or a process signal.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
2019-01-14 [bb24439ce] Detach postmaster process from pg_ctl's session at serve
|
|
-->
|
|
|
|
<para>
|
|
Properly detach the new server process
|
|
during <literal><application>pg_ctl</application> start</literal>
|
|
(Paul Guo)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents the server from being shut down if the shell script
|
|
that invoked <application>pg_ctl</application> is interrupted later.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-07 [3a769d823] pg_upgrade: Allow use of file cloning
|
|
-->
|
|
|
|
<para>
|
|
Allow <xref linkend="pgupgrade"/> to use the file system's cloning
|
|
feature, if there is one (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The <option>--clone</option> option has the advantages of
|
|
<option>--link</option>, while preventing the old cluster from
|
|
being changed after the new cluster has started.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-01 [2d34ad843] Add a - -socketdir option to pg_upgrade.
|
|
-->
|
|
|
|
<para>
|
|
Allow specification of the socket directory to use
|
|
in <application>pg_upgrade</application> (Daniel Gustafsson)
|
|
</para>
|
|
|
|
<para>
|
|
This is controlled by <option>--socketdir</option>; the default
|
|
is the current directory.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-03-23 [e0090c869] Add option -N/- -no-sync to pg_checksums
|
|
-->
|
|
|
|
<para>
|
|
Allow <xref linkend="app-pgchecksums"/> to disable fsync operations
|
|
(Michaël Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This is controlled by the <option>--no-sync</option> option.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-07-10 [8a00b96aa] Add pg_rewind - -no-sync
|
|
-->
|
|
|
|
<para>
|
|
Allow <xref linkend="app-pgrewind"/> to disable fsync operations
|
|
(Michaël Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-09-14 [0ba06e0bf] Allow concurrent-safe open() and fopen() in frontend
|
|
2018-09-20 [40cfe8606] Enforce translation mode for Windows frontends to text
|
|
-->
|
|
|
|
<para>
|
|
Fix <xref linkend="pgtestfsync"/> to report accurate
|
|
<literal>open_datasync</literal> durations on
|
|
<productname>Windows</productname> (Laurenz Albe)
|
|
</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>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-03-07 [7e413a0f8] pg_dump: allow multiple rows per insert
|
|
2019-06-14 [a193cbec1] Add pg_dumpall rows-per-insert
|
|
-->
|
|
|
|
<para>
|
|
When <application>pg_dump</application> emits data
|
|
with <command>INSERT</command> commands rather
|
|
than <command>COPY</command>, allow more than one data row to be
|
|
included in each <command>INSERT</command> (Surafel Temesgen,
|
|
David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
The option controlling this is <option>--rows-per-insert</option>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2018-07-13 [387a5cfb9] Add pg_dump - -on-conflict-do-nothing option.
|
|
-->
|
|
|
|
<para>
|
|
Allow <application>pg_dump</application> to emit <command>INSERT
|
|
... ON CONFLICT DO NOTHING</command> (Surafel Temesgen)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids conflict failures during restore.
|
|
The option is <option>--on-conflict-do-nothing</option>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-14 [548e50976] Improve parallel scheduling logic in pg_dump/pg_restore.
|
|
-->
|
|
|
|
<para>
|
|
Decouple the order of operations in a
|
|
parallel <application>pg_dump</application> from the order used by
|
|
a subsequent parallel <application>pg_restore</application> (Tom
|
|
Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This allows <application>pg_restore</application> to perform
|
|
more-fully-parallelized parallel restores, especially in cases
|
|
where the original dump was not done in parallel. Scheduling of a
|
|
parallel <application>pg_dump</application> is also somewhat
|
|
improved.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
2019-02-18 [af25bc03e] Provide an extra-float-digits setting for pg_dump / pg_d
|
|
-->
|
|
|
|
<para>
|
|
Allow the <xref linkend="guc-extra-float-digits"/> setting to be
|
|
specified for <application>pg_dump</application> and
|
|
<application>pg_dumpall</application> (Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
This is primarily useful for making dumps that are exactly
|
|
comparable across different source server versions. It is not
|
|
recommended for normal use, as it may result in loss of precision
|
|
when the dump is restored.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
2019-03-01 [f092de050] Add - -exclude-database option to pg_dumpall
|
|
-->
|
|
|
|
<para>
|
|
Add <option>--exclude-database</option> option to
|
|
<application>pg_dumpall</application> (Andrew Dunstan)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Source Code</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2018-11-16 [4da597edf] Make TupleTableSlots extensible, finish split of
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-06 [8586bf7ed] tableam: introduce table AM infrastructure.
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-06 [3b925e905] tableam: Add pg_dump support.
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-11 [c2fe139c2] tableam: Add and use scan APIs.
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-23 [5db6df0c0] tableam: Add tuple_{insert, delete, update, lock} and us
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-28 [d25f51910] tableam: relation creation, VACUUM FULL/CLUSTER, SET TAB
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-29 [d3a5fc17e] Show table access methods as such in psql's \dA.
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-31 [73c954d24] tableam: sample scan.
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-31 [bfbcad478] tableam: bitmap table scan.
|
|
existin
|
|
-->
|
|
|
|
<para>
|
|
Add <xref linkend="sql-create-access-method"/> command to create
|
|
new table types (Andres Freund, Haribabu Kommi, Álvaro Herrera,
|
|
Alexander Korotkov, Dmitry Dolgov)
|
|
</para>
|
|
|
|
<para>
|
|
This enables the development of new <link linkend="tableam">table
|
|
access methods</link>, which can optimize storage for different
|
|
use cases. The existing <literal>heap</literal> access method
|
|
remains the default.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-02-09 [1fb57af92] Create the infrastructure for planner support functions.
|
|
2019-02-09 [a391ff3c3] Build out the planner support function infrastructure.
|
|
2019-02-11 [74dfe58a5] Allow extensions to generate lossy index conditions.
|
|
-->
|
|
|
|
<para>
|
|
Add <link linkend="xfunc-optimization">planner support
|
|
function</link> interfaces to improve optimizer estimates,
|
|
inlining, and indexing for functions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This allows extensions to create planner support functions that
|
|
can provide function-specific selectivity, cost, and row-count
|
|
estimates that can depend on the function's arguments. Support
|
|
functions can also supply simplified representations and index
|
|
conditions, greatly expanding optimization possibilities.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-12 [a6417078c] Create a script that can renumber manually-assigned OIDs
|
|
2019-03-12 [3aa0395d4] Remove remaining hard-wired OID references in the initia
|
|
-->
|
|
|
|
<para>
|
|
Simplify renumbering manually-assigned OIDs, and establish a new
|
|
project policy for management of such OIDs (John Naylor, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Patches that manually assign OIDs for new built-in objects (such as
|
|
new functions) should now randomly choose OIDs in the range
|
|
8000—9999. At the end of a development cycle, the OIDs used
|
|
by committed patches will be renumbered down to lower numbers,
|
|
currently somewhere in the 4<replaceable>xxx</replaceable> range,
|
|
using the new <link
|
|
linkend="system-catalog-oid-assignment"><command>renumber_oids.pl</command></link>
|
|
script. This approach should greatly reduce the odds of OID
|
|
collisions between different in-process patches.
|
|
</para>
|
|
|
|
<para>
|
|
While there is no specific policy reserving any OIDs for external
|
|
use, it is recommended that forks and other projects needing
|
|
private manually-assigned OIDs use numbers in the high
|
|
7<replaceable>xxx</replaceable> range. This will avoid conflicts
|
|
with recently-merged patches, and it should be a long time before
|
|
the core project reaches that range.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
2018-10-02 [a33245a85] Don't build static libraries on Cygwin
|
|
-->
|
|
|
|
<para>
|
|
Build <productname>Cygwin</productname> binaries using dynamic
|
|
instead of static libraries (Marco Atzeri)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-01-01 [1707a0d2a] Remove configure switch - -disable-strong-random
|
|
-->
|
|
|
|
<para>
|
|
Remove <application>configure</application> switch
|
|
<option>--disable-strong-random</option> (Michaël Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
A strong random-number source is now required.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-26 [96bf88d52] Always use our own versions of *printf().
|
|
2018-09-26 [26e9d4d4e] Convert elog.c's useful_strerror() into a globally-used
|
|
2018-09-26 [758ce9b77] Incorporate strerror_r() into src/port/snprintf.c, too.
|
|
2018-09-26 [d6c55de1f] Implement %m in src/port/snprintf.c, and teach elog.c to
|
|
-->
|
|
|
|
<para>
|
|
<function>printf</function>-family functions, as well
|
|
as <function>strerror</function>
|
|
and <function>strerror_r</function>, now behave uniformly across
|
|
platforms within Postgres code (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Notably, <function>printf</function>
|
|
understands <literal>%m</literal> everywhere; on
|
|
Windows, <function>strerror</function> copes with Winsock error
|
|
codes (it used to do so in backend but not frontend code);
|
|
and <function>strerror_r</function> always follows the GNU return
|
|
convention.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2018-08-23 [d9dd406fe] Require C99 (and thus MSCV 2013 upwards).
|
|
-->
|
|
|
|
<para>
|
|
Require a C99-compliant compiler, and <acronym>MSVC</acronym>
|
|
2013 or later on <productname>Windows</productname> (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-01-11 [96b8b8b6f] Create INSTALL file using Pandoc
|
|
2019-03-27 [2488ea7a9] Use Pandoc also for plain-text documentation output
|
|
-->
|
|
|
|
<para>
|
|
Use <application>pandoc</application>,
|
|
not <application>lynx</application>, for generating plain-text
|
|
documentation output files (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This affects only the <filename>INSTALL</filename> file generated
|
|
during <literal>make dist</literal> and the seldom-used
|
|
plain-text <filename>postgres.txt</filename> output file.
|
|
Pandoc produces better output than lynx and avoids some
|
|
locale/encoding issues. Pandoc version 1.13 or later is required.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-27 [ea55aec0a] doc: Add some images
|
|
-->
|
|
|
|
<para>
|
|
Support use of images in the <productname>PostgreSQL</productname>
|
|
documentation (Jürgen Purtz)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Additional Modules</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
2019-04-02 [ffab494a4] postgres_fdw: Perform the (ORDERED, NULL) upperrel opera
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
2019-04-02 [d50d172e5] postgres_fdw: Perform the (FINAL, NULL) upperrel operati
|
|
-->
|
|
|
|
<para>
|
|
Allow <literal>ORDER BY</literal> sorts
|
|
and <literal>LIMIT</literal> clauses to be pushed
|
|
to <xref linkend="postgres-fdw"/> foreign servers in more
|
|
cases (Etsuro Fujita)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
2018-12-04 [f8f6e4467] postgres_fdw: Improve cost and size estimation for aggre
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
2019-01-24 [fd1afdbaf] postgres_fdw: Account for tlist eval costs in estimate_p
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
2019-05-09 [edbcbe277] postgres_fdw: Fix cost estimation for aggregate pushdown
|
|
-->
|
|
|
|
<para>
|
|
Improve optimizer cost accounting for
|
|
<application>postgres_fdw</application> queries (Etsuro Fujita)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Jeff Davis <jdavis@postgresql.org>
|
|
2018-07-08 [a45adc747] Fix WITH CHECK OPTION on views referencing postgres_fdw
|
|
-->
|
|
|
|
<para>
|
|
Properly honor <literal>WITH CHECK OPTION</literal> on views
|
|
that reference <application>postgres_fdw</application> tables
|
|
(Etsuro Fujita)
|
|
</para>
|
|
|
|
<para>
|
|
While <literal>CHECK OPTION</literal>s on
|
|
<application>postgres_fdw</application> tables are ignored (because
|
|
the reference is foreign), views on such tables are considered
|
|
local, so this change enforces <literal>CHECK OPTION</literal>s
|
|
on them. Previously, only <command>INSERT</command>s and
|
|
<command>UPDATE</command>s with <literal>RETURNING</literal>
|
|
clauses that returned <literal>CHECK OPTION</literal> values
|
|
were validated.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
2019-01-11 [43cbedab8] Extend pg_stat_statements_reset to reset statistics spec
|
|
-->
|
|
|
|
<para>
|
|
Allow <link
|
|
linkend="pgstatstatements"><function>pg_stat_statements_reset()</function></link>
|
|
to be more granular (Haribabu Kommi, Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
The function now allows reset of statistics for specific databases,
|
|
users, and queries.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
2018-07-31 [2d36a5e9d] Provide a log_level setting for auto_explain
|
|
-->
|
|
|
|
<para>
|
|
Allow control of the <xref linkend="auto-explain"/> log level
|
|
(Tom Dunstan, Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
The default is <literal>LOG</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-01-10 [e1c1d5444] Update unaccent rules with release 34 of CLDR for Latin-
|
|
-->
|
|
|
|
<para>
|
|
Update <xref linkend="unaccent"/> rules with new
|
|
punctuation and symbols (Hugh Ranalli, Michaël Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2019-02-01 [456e3718e] Add combining characters to unaccent.rules.
|
|
-->
|
|
|
|
<para>
|
|
Allow <application>unaccent</application> to handle some accents
|
|
encoded as combining characters (Hugh Ranalli)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2018-09-02 [5e8d670c3] Add Greek characters to unaccent.rules.
|
|
-->
|
|
|
|
<para>
|
|
Allow <application>unaccent</application> to remove accents from
|
|
Greek characters (Tasos Maschalidis)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
2019-03-20 [c1afd175b] Allow amcheck to re-find tuples using new search.
|
|
-->
|
|
|
|
<para>
|
|
Add a parameter to
|
|
<xref linkend="amcheck"/>'s <function>bt_index_parent_check()</function>
|
|
function to check each index tuple from the root of the tree
|
|
(Peter Geoghegan)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-08-28 [1aaf532de] Rework option set of oid2name
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-08-28 [bfea331a5] Rework option set of vacuumlo
|
|
-->
|
|
|
|
<para>
|
|
Improve <xref linkend="oid2name"/> and <xref linkend="vacuumlo"/>
|
|
option handling to match other commands (Tatsuro Yamada)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="release-12-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>Abhijit Menon-Sen</member>
|
|
<member>Achilleas Mantzios</member>
|
|
<member>Adam Berlin</member>
|
|
<member>Adam Bielanski</member>
|
|
<member>Aditya Toshniwal</member>
|
|
<member>Adrien Nayrat</member>
|
|
<member>Alan Jackson</member>
|
|
<member>Albert Schabhuetl</member>
|
|
<member>Aleksander Alekseev</member>
|
|
<member>Alex Aktsipetrov</member>
|
|
<member>Alex Kliukin</member>
|
|
<member>Alex Macy</member>
|
|
<member>Alexander Korotkov</member>
|
|
<member>Alexander Kukushkin</member>
|
|
<member>Alexander Kuzmenkov</member>
|
|
<member>Alexander Lakhin</member>
|
|
<member>Alexandra Ryzhevich</member>
|
|
<member>Alexey Bashtanov</member>
|
|
<member>Alexey Ermakov</member>
|
|
<member>Alexey Kondratov</member>
|
|
<member>Alexey Kryuchkov</member>
|
|
<member>Alexey Stepanov</member>
|
|
<member>Allison Kaptur</member>
|
|
<member>Álvaro Herrera</member>
|
|
<member>Alyssa Ross</member>
|
|
<member>Amit Kapila</member>
|
|
<member>Amit Khandekar</member>
|
|
<member>Amit Langote</member>
|
|
<member>Amul Sul</member>
|
|
<member>Anastasia Lubennikova</member>
|
|
<member>André Hänsel</member>
|
|
<member>Andrea Gelmini</member>
|
|
<member>Andreas Joseph Krogh</member>
|
|
<member>Andreas Karlsson</member>
|
|
<member>Andreas Kunert</member>
|
|
<member>Andreas Scherbaum</member>
|
|
<member>Andreas Seltenreich</member>
|
|
<member>Andrei Yahorau</member>
|
|
<member>Andres Freund</member>
|
|
<member>Andrew Dunstan</member>
|
|
<member>Andrew Fletcher</member>
|
|
<member>Andrew Gierth</member>
|
|
<member>Andrew Krasichkov</member>
|
|
<member>Andrey Borodin</member>
|
|
<member>Andrey Klychkov</member>
|
|
<member>Andrey Lepikhov</member>
|
|
<member>Andy Abelisto</member>
|
|
<member>Anthony Greene</member>
|
|
<member>Anthony Skorski</member>
|
|
<member>Antonin Houska</member>
|
|
<member>Arne Roland</member>
|
|
<member>Arseny Sher</member>
|
|
<member>Arthur Zakirov</member>
|
|
<member>Ash Marath</member>
|
|
<member>Ashutosh Bapat</member>
|
|
<member>Ashutosh Sharma</member>
|
|
<member>Ashwin Agrawal</member>
|
|
<member>Aya Iwata</member>
|
|
<member>Bartosz Polnik</member>
|
|
<member>Basil Bourque</member>
|
|
<member>Bernd Helmle</member>
|
|
<member>Brad DeJong</member>
|
|
<member>Brigitte Blanc-Lafay</member>
|
|
<member>Bruce Klein</member>
|
|
<member>Bruce Momjian</member>
|
|
<member>Bruno Wolff</member>
|
|
<member>Chapman Flack</member>
|
|
<member>Chen Huajun</member>
|
|
<member>Chris Travers</member>
|
|
<member>Chris Wilson</member>
|
|
<member>Christian Hofstaedtler</member>
|
|
<member>Christoph Berg</member>
|
|
<member>Christoph Moench-Tegeder</member>
|
|
<member>Clemens Ladisch</member>
|
|
<member>Colm McHugh</member>
|
|
<member>Corey Huinker</member>
|
|
<member>Craig Ringer</member>
|
|
<member>Dagfinn Ilmari Mannsåker</member>
|
|
<member>Daisuke Higuchi</member>
|
|
<member>Daniel Fiori</member>
|
|
<member>Daniel Gustafsson</member>
|
|
<member>Daniel Vérité</member>
|
|
<member>Daniel Westermann</member>
|
|
<member>Daniel Wilches</member>
|
|
<member>Darafei Praliaskouski</member>
|
|
<member>Daryl Waycott</member>
|
|
<member>Dave Cramer</member>
|
|
<member>David Binderman</member>
|
|
<member>David Fetter</member>
|
|
<member>David G. Johnston</member>
|
|
<member>David Rowley</member>
|
|
<member>David Steele</member>
|
|
<member>Davy Machado</member>
|
|
<member>Dean Rasheed</member>
|
|
<member>Derek Hans</member>
|
|
<member>Derek Nelson</member>
|
|
<member>Devrim Gündüz</member>
|
|
<member>Dian Fay</member>
|
|
<member>Didier Gautheron</member>
|
|
<member>Dilip Kumar</member>
|
|
<member>Dmitry Dolgov</member>
|
|
<member>Dmitry Marakasov</member>
|
|
<member>Dmitry Molotkov</member>
|
|
<member>Dmitry Shalashov</member>
|
|
<member>Don Seiler</member>
|
|
<member>Donald Dong</member>
|
|
<member>Doug Rady</member>
|
|
<member>Edmund Horner</member>
|
|
<member>Eduards Bezverhijs</member>
|
|
<member>Elvis Pranskevichus</member>
|
|
<member>Emanuel Araújo</member>
|
|
<member>Emre Hasegeli</member>
|
|
<member>Eric Cyr</member>
|
|
<member>Erik Rijkers</member>
|
|
<member>Ertugrul Kahveci</member>
|
|
<member>Etsuro Fujita</member>
|
|
<member>Eugen Konkov</member>
|
|
<member>Euler Taveira</member>
|
|
<member>Fabien Coelho</member>
|
|
<member>Fabrízio de Royes Mello</member>
|
|
<member>Feike Steenbergen</member>
|
|
<member>Filip Rembialkowski</member>
|
|
<member>Gaby Schilders</member>
|
|
<member>Geert Lobbestael</member>
|
|
<member>George Tarasov</member>
|
|
<member>Georgios Kokolatos</member>
|
|
<member>Gianni Ciolli</member>
|
|
<member>Gilles Darold</member>
|
|
<member>Greg Stark</member>
|
|
<member>Grigory Smolkin</member>
|
|
<member>Guillaume Lelarge</member>
|
|
<member>Gunnlaugur Thor Briem</member>
|
|
<member>Gurjeet Singh</member>
|
|
<member>Hadi Moshayedi</member>
|
|
<member>Hailong Li</member>
|
|
<member>Hans Buschmann</member>
|
|
<member>Haribabu Kommi</member>
|
|
<member>Haruka Takatsuka</member>
|
|
<member>Hayato Kuroda</member>
|
|
<member>Heikki Linnakangas</member>
|
|
<member>Hironobu Suzuki</member>
|
|
<member>Hubert Lubaczewski</member>
|
|
<member>Hugh Ranalli</member>
|
|
<member>Ian Barwick</member>
|
|
<member>Ibrar Ahmed</member>
|
|
<member>Ildar Musin</member>
|
|
<member>Insung Moon</member>
|
|
<member>Ioseph Kim</member>
|
|
<member>Isaac Morland</member>
|
|
<member>Ivan Panchenko</member>
|
|
<member>Jack Kelly</member>
|
|
<member>Jacob Champion</member>
|
|
<member>Jaime Casanova</member>
|
|
<member>Jakob Egger</member>
|
|
<member>Jakub Glapa</member>
|
|
<member>Jakub Janecek</member>
|
|
<member>James Coleman</member>
|
|
<member>James Inform</member>
|
|
<member>James Robinson</member>
|
|
<member>James Sewell</member>
|
|
<member>James Tomson</member>
|
|
<member>Jan Chochol</member>
|
|
<member>Jaroslav Sivy</member>
|
|
<member>Jean-Christophe Arnu</member>
|
|
<member>Jean-Marc Voillequin</member>
|
|
<member>Jean-Pierre Pelletier</member>
|
|
<member>Jeevan Chalke</member>
|
|
<member>Jeevan Ladhe</member>
|
|
<member>Jeff Davis</member>
|
|
<member>Jeff Janes</member>
|
|
<member>Jeremy Evans</member>
|
|
<member>Jeremy Schneider</member>
|
|
<member>Jeremy Smith</member>
|
|
<member>Jerry Jelinek</member>
|
|
<member>Jesper Pedersen</member>
|
|
<member>Jianing Yang</member>
|
|
<member>Jie Zhang</member>
|
|
<member>Jim Nasby</member>
|
|
<member>Jimmy Yih</member>
|
|
<member>Joe Conway</member>
|
|
<member>Joe Wildish</member>
|
|
<member>Joerg Sonnenberger</member>
|
|
<member>John Klann</member>
|
|
<member>John Naylor</member>
|
|
<member>Jonah Harris</member>
|
|
<member>Jonathan S. Katz</member>
|
|
<member>Jorge Gustavo Rocha</member>
|
|
<member>José Arthur Benetasso Villanova</member>
|
|
<member>Joshua D. Drake</member>
|
|
<member>Juan José Santamaría Flecha</member>
|
|
<member>Julian Hsiao</member>
|
|
<member>Julian Markwort</member>
|
|
<member>Julian Schauder</member>
|
|
<member>Julien Rouhaud</member>
|
|
<member>Jürgen Purtz</member>
|
|
<member>Jürgen Strobel</member>
|
|
<member>Justin Pryzby</member>
|
|
<member>Kaiting Chen</member>
|
|
<member>Karen Huddleston</member>
|
|
<member>Karl Czajkowski</member>
|
|
<member>Karl O. Pinc</member>
|
|
<member>Keiichi Hirobe</member>
|
|
<member>Keith Fiske</member>
|
|
<member>Ken Tanzer</member>
|
|
<member>Kenji Uno</member>
|
|
<member>Kevin Grittner</member>
|
|
<member>Kevin Hale Boyes</member>
|
|
<member>Kieran McCusker</member>
|
|
<member>Kirk Jamison</member>
|
|
<member>Kohei KaiGai</member>
|
|
<member>Konstantin Knizhnik</member>
|
|
<member>Konstantin Kuznetsov</member>
|
|
<member>Kristjan Tammekivi</member>
|
|
<member>Kuntal Ghosh</member>
|
|
<member>Kyle Samson</member>
|
|
<member>Kyotaro Horiguchi</member>
|
|
<member>Lætitia Avrot</member>
|
|
<member>Lars Kanis</member>
|
|
<member>Laurenz Albe</member>
|
|
<member>Lim Myungkyu</member>
|
|
<member>Liu Huailing</member>
|
|
<member>Liudmila Mantrova</member>
|
|
<member>Lloyd Albin</member>
|
|
<member>Luca Ferrari</member>
|
|
<member>Luis M. Carril</member>
|
|
<member>Lukas Eder</member>
|
|
<member>Lukas Fittl</member>
|
|
<member>Madelaine Thibaut</member>
|
|
<member>Madeleine Thompson</member>
|
|
<member>Magnus Hagander</member>
|
|
<member>Mahendra Singh</member>
|
|
<member>Mai Peng</member>
|
|
<member>Maksim Milyutin</member>
|
|
<member>Maksym Boguk</member>
|
|
<member>Malthe Borch</member>
|
|
<member>Manuel Rigger</member>
|
|
<member>Marco Atzeri</member>
|
|
<member>Marco Slot</member>
|
|
<member>Marina Polyakova</member>
|
|
<member>Mario De Frutos Dieguez</member>
|
|
<member>Marius Timmer</member>
|
|
<member>Mark Chambers</member>
|
|
<member>Mark Dilger</member>
|
|
<member>Marko Tiikkaja</member>
|
|
<member>Markus Winand</member>
|
|
<member>Martín Marqués</member>
|
|
<member>Masahiko Sawada</member>
|
|
<member>Masao Fujii</member>
|
|
<member>Mateusz Guzik</member>
|
|
<member>Mathias Brossard</member>
|
|
<member>Matt Williams</member>
|
|
<member>Matthias Otterbach</member>
|
|
<member>Matvey Arye</member>
|
|
<member>Melanie Plageman</member>
|
|
<member>Mi Tar</member>
|
|
<member>Michael Banck</member>
|
|
<member>Michael Davidson</member>
|
|
<member>Michael Meskes</member>
|
|
<member>Michael Paquier</member>
|
|
<member>Michael Vitale</member>
|
|
<member>Michel Pelletier</member>
|
|
<member>Mikalai Keida</member>
|
|
<member>Mike Palmiotto</member>
|
|
<member>Mithun Cy</member>
|
|
<member>Morgan Owens</member>
|
|
<member>Murat Kabilov</member>
|
|
<member>Nathan Bossart</member>
|
|
<member>Nawaz Ahmed</member>
|
|
<member>Neeraj Kumar</member>
|
|
<member>Nick Barnes</member>
|
|
<member>Nico Williams</member>
|
|
<member>Nikita Glukhov</member>
|
|
<member>Nikolay Shaplov</member>
|
|
<member>Ning Yu</member>
|
|
<member>Nishant Fnu</member>
|
|
<member>Noah Misch</member>
|
|
<member>Norbert Benkocs</member>
|
|
<member>Noriyoshi Shinoda</member>
|
|
<member>Oleg Bartunov</member>
|
|
<member>Oleg Samoilov</member>
|
|
<member>Oleksii Kliukin</member>
|
|
<member>Ondrej Bouda</member>
|
|
<member>Oskari Saarenmaa</member>
|
|
<member>Pan Bian</member>
|
|
<member>Patrick Francelle</member>
|
|
<member>Patrick McHardy</member>
|
|
<member>Paul A. Jungwirth</member>
|
|
<member>Paul Bonaud</member>
|
|
<member>Paul Guo</member>
|
|
<member>Paul Martinez</member>
|
|
<member>Paul Ramsey</member>
|
|
<member>Paul Schaap</member>
|
|
<member>Paul van der Linden</member>
|
|
<member>Pavan Deolasee</member>
|
|
<member>Pavel Oskin</member>
|
|
<member>Pavel Raiskup</member>
|
|
<member>Pavel Stehule</member>
|
|
<member>Peifeng Qiu</member>
|
|
<member>Peter Billen</member>
|
|
<member>Peter Eisentraut</member>
|
|
<member>Peter Geoghegan</member>
|
|
<member>Peter Neave</member>
|
|
<member>Petr Fedorov</member>
|
|
<member>Petr Jelínek</member>
|
|
<member>Petr Slavov</member>
|
|
<member>Petru-Florin Mihancea</member>
|
|
<member>Phil Bayer</member>
|
|
<member>Phil Florent</member>
|
|
<member>Philip Dubé</member>
|
|
<member>Pierre Ducroquet</member>
|
|
<member>Piotr Gabriel Kosinski</member>
|
|
<member>Piotr Stefaniak</member>
|
|
<member>Piotr Wlodarczyk</member>
|
|
<member>Prabhat Sahu</member>
|
|
<member>Quentin Rameau</member>
|
|
<member>Rafael Castro</member>
|
|
<member>Rafia Sabih</member>
|
|
<member>Rahila Syed</member>
|
|
<member>Rajkumar Raghuwanshi</member>
|
|
<member>Rares Salcudean</member>
|
|
<member>Raúl Marín Rodríguez</member>
|
|
<member>Regina Obe</member>
|
|
<member>Renaud Navarro</member>
|
|
<member>Richard Guo</member>
|
|
<member>Rick Otten</member>
|
|
<member>Rikard Falkeborn</member>
|
|
<member>RK Korlapati</member>
|
|
<member>Robbie Harwood</member>
|
|
<member>Robert Haas</member>
|
|
<member>Robert Treat</member>
|
|
<member>Robert Vollmert</member>
|
|
<member>Roger Curley</member>
|
|
<member>Roman Zharkov</member>
|
|
<member>Ronan Dunklau</member>
|
|
<member>Rui Hai Jiang</member>
|
|
<member>Rushabh Lathia</member>
|
|
<member>Ryan Lambert</member>
|
|
<member>Ryo Matsumura</member>
|
|
<member>Ryohei Nagaura</member>
|
|
<member>Ryohei Takahashi</member>
|
|
<member>Samuel Williams</member>
|
|
<member>Sand Stone</member>
|
|
<member>Sanyo Capobiango</member>
|
|
<member>Satoru Koizumi</member>
|
|
<member>Sean Johnston</member>
|
|
<member>Serge Latyntsev</member>
|
|
<member>Sergei Kornilov</member>
|
|
<member>Sergey Pashkov</member>
|
|
<member>Sergio Conde Gómez</member>
|
|
<member>Shawn Debnath</member>
|
|
<member>Shay Rojansky</member>
|
|
<member>Sho Kato</member>
|
|
<member>Shohei Mochizuki</member>
|
|
<member>Shouyu Luo</member>
|
|
<member>Simon Riggs</member>
|
|
<member>Sivasubramanian Ramasubramanian</member>
|
|
<member>Slawomir Chodnicki</member>
|
|
<member>Stas Kelvish</member>
|
|
<member>Stefan Kadow</member>
|
|
<member>Stepan Yankevych</member>
|
|
<member>Stephen Amell</member>
|
|
<member>Stephen Frost</member>
|
|
<member>Steve Rogerson</member>
|
|
<member>Steve Singer</member>
|
|
<member>Steven Winfield</member>
|
|
<member>Surafel Temesgen</member>
|
|
<member>Suraj Kharage</member>
|
|
<member>Suresh Kumar R</member>
|
|
<member>Takayuki Tsunakawa</member>
|
|
<member>Takeshi Ideriha</member>
|
|
<member>Takuma Hoshiai</member>
|
|
<member>Tasos Maschalidis</member>
|
|
<member>Tatsuo Ishii</member>
|
|
<member>Tatsuro Yamada</member>
|
|
<member>Teodor Sigaev</member>
|
|
<member>Thom Brown</member>
|
|
<member>Thomas Munro</member>
|
|
<member>Thomas Poty</member>
|
|
<member>Tillmann Schulz</member>
|
|
<member>Tim Möhlmann</member>
|
|
<member>Timur Birsh</member>
|
|
<member>Tobias Bussmann</member>
|
|
<member>Tom Cassidy</member>
|
|
<member>Tom Dunstan</member>
|
|
<member>Tom Gottfried</member>
|
|
<member>Tom Lane</member>
|
|
<member>Tomas Vondra</member>
|
|
<member>Tushar Ahuja</member>
|
|
<member>Ulf Adams</member>
|
|
<member>Vaishnavi Prabakaran</member>
|
|
<member>Victor Petrovykh</member>
|
|
<member>Victor Wagner</member>
|
|
<member>Victor Yegorov</member>
|
|
<member>Vijaykumar Jain</member>
|
|
<member>Vik Fearing</member>
|
|
<member>Vlad Sterzhanov</member>
|
|
<member>Vladimir Baranoff</member>
|
|
<member>Vladimir Kriukov</member>
|
|
<member>Wu Fei</member>
|
|
<member>Yaroslav Schekin</member>
|
|
<member>Yi Huang</member>
|
|
<member>Yoshikazu Imai</member>
|
|
<member>Yugo Nagata</member>
|
|
<member>Yulian Khodorkovskiy</member>
|
|
<member>Yuming Wang</member>
|
|
<member>YunQiang Su</member>
|
|
<member>Yuri Kurenkov</member>
|
|
<member>Yusuke Egashira</member>
|
|
<member>Yuzuko Hosoya</member>
|
|
<member>Zhou Digoal</member>
|
|
</simplelist>
|
|
</sect2>
|
|
|
|
</sect1>
|