diff options
-rw-r--r-- | doc/src/sgml/release-13.sgml | 800 |
1 files changed, 800 insertions, 0 deletions
diff --git a/doc/src/sgml/release-13.sgml b/doc/src/sgml/release-13.sgml index 3fe549fa086..60f682f59df 100644 --- a/doc/src/sgml/release-13.sgml +++ b/doc/src/sgml/release-13.sgml @@ -1,6 +1,806 @@ <!-- doc/src/sgml/release-13.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-13-15"> + <title>Release 13.15</title> + + <formalpara> + <title>Release date:</title> + <para>2024-05-09</para> + </formalpara> + + <para> + This release contains a variety of fixes from 13.14. + For information about new features in major release 13, see + <xref linkend="release-13"/>. + </para> + + <sect2> + <title>Migration to Version 13.15</title> + + <para> + A dump/restore is not required for those running 13.X. + </para> + + <para> + However, if you are upgrading from a version earlier than 13.14, + see <xref linkend="release-13-14"/>. + </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-13-14"> <title>Release 13.14</title> |