Release notes for 15.1, 14.6, 13.9, 12.13, 11.18, 10.23.

This commit is contained in:
Tom Lane 2022-11-06 11:07:28 -05:00
parent 5f3cec77b1
commit e964827b23
1 changed files with 804 additions and 0 deletions

View File

@ -1,6 +1,810 @@
<!-- doc/src/sgml/release-10.sgml -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-10-23">
<title>Release 10.23</title>
<formalpara>
<title>Release date:</title>
<para>2022-11-10</para>
</formalpara>
<para>
This release contains a variety of fixes from 10.22.
For information about new features in major release 10, see
<xref linkend="release-10">.
</para>
<para>
This is expected to be the last <productname>PostgreSQL</productname>
release in the 10.X series. Users are encouraged to update to a newer
release branch soon.
</para>
<sect2>
<title>Migration to Version 10.23</title>
<para>
A dump/restore is not required for those running 10.X.
</para>
<para>
However, if you are upgrading from a version earlier than 10.19,
see <xref linkend="release-10-19">.
</para>
</sect2>
<sect2>
<title>Changes</title>
<itemizedlist>
<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: 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: Tom Lane <tgl@sss.pgh.pa.us>
Branch: REL_11_STABLE [19bb5e46b] 2022-09-15 15:21:35 -0400
Branch: REL_10_STABLE [19a00ea56] 2022-09-15 15:21:35 -0400
-->
<para>
Avoid flattening <literal>FROM</literal>-less subqueries when the
outer query has grouping sets (Tom Lane)
</para>
<para>
This oversight could lead to assertion failures or planner errors
such as <quote>variable not found in subplan target list</quote>.
</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: 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 [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 [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
(&Aacute;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: 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: 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-10-22">
<title>Release 10.22</title>