1<!-- doc/src/sgml/release-12.sgml --> 2<!-- See header comment in release.sgml about typical markup --> 3 4 <sect1 id="release-12-9"> 5 <title>Release 12.9</title> 6 7 <formalpara> 8 <title>Release date:</title> 9 <para>2021-11-11</para> 10 </formalpara> 11 12 <para> 13 This release contains a variety of fixes from 12.8. 14 For information about new features in major release 12, see 15 <xref linkend="release-12"/>. 16 </para> 17 18 <sect2> 19 <title>Migration to Version 12.9</title> 20 21 <para> 22 A dump/restore is not required for those running 12.X. 23 </para> 24 25 <para> 26 However, note that installations using physical replication should 27 update standby servers before the primary server, as explained in 28 the third changelog entry below. 29 </para> 30 31 <para> 32 Also, several bugs have been found that may have resulted in corrupted 33 indexes, as explained in the next several changelog entries. If any 34 of those cases apply to you, it's recommended to reindex 35 possibly-affected indexes after updating. 36 </para> 37 38 <para> 39 Also, if you are upgrading from a version earlier than 12.6, 40 see <xref linkend="release-12-6"/>. 41 </para> 42 </sect2> 43 44 <sect2> 45 <title>Changes</title> 46 47 <itemizedlist> 48 49 <listitem> 50<!-- 51Author: Tom Lane <tgl@sss.pgh.pa.us> 52Branch: master [28e241255] 2021-11-08 11:01:43 -0500 53Branch: REL_14_STABLE [9d5a76b8d] 2021-11-08 11:01:43 -0500 54Branch: REL_13_STABLE [e92ed93e8] 2021-11-08 11:01:43 -0500 55Branch: REL_12_STABLE [d1bd26740] 2021-11-08 11:01:43 -0500 56Branch: REL_11_STABLE [9394fb828] 2021-11-08 11:01:43 -0500 57Branch: REL_10_STABLE [9ae0f1112] 2021-11-08 11:01:43 -0500 58Branch: REL9_6_STABLE [046c2c846] 2021-11-08 11:01:43 -0500 59--> 60 <para> 61 Make the server reject extraneous data after an SSL or GSS 62 encryption handshake (Tom Lane) 63 </para> 64 65 <para> 66 A man-in-the-middle with the ability to inject data into the TCP 67 connection could stuff some cleartext data into the start of a 68 supposedly encryption-protected database session. 69 This could be abused to send faked SQL commands to the server, 70 although that would only work if the server did not demand any 71 authentication data. (However, a server relying on SSL certificate 72 authentication might well not do so.) 73 </para> 74 75 <para> 76 The <productname>PostgreSQL</productname> Project thanks 77 Jacob Champion for reporting this problem. 78 (CVE-2021-23214) 79 </para> 80 </listitem> 81 82 <listitem> 83<!-- 84Author: Tom Lane <tgl@sss.pgh.pa.us> 85Branch: master [160c02588] 2021-11-08 11:14:56 -0500 86Branch: REL_14_STABLE [30547d791] 2021-11-08 11:14:56 -0500 87Branch: REL_13_STABLE [844b31692] 2021-11-08 11:14:56 -0500 88Branch: REL_12_STABLE [36bb95ef2] 2021-11-08 11:14:56 -0500 89Branch: REL_11_STABLE [a021a1d2a] 2021-11-08 11:14:56 -0500 90Branch: REL_10_STABLE [e65d9c8cd] 2021-11-08 11:14:56 -0500 91Branch: REL9_6_STABLE [d83cdfdca] 2021-11-08 11:14:57 -0500 92--> 93 <para> 94 Make <application>libpq</application> reject extraneous data after 95 an SSL or GSS encryption handshake (Tom Lane) 96 </para> 97 98 <para> 99 A man-in-the-middle with the ability to inject data into the TCP 100 connection could stuff some cleartext data into the start of a 101 supposedly encryption-protected database session. 102 This could probably be abused to inject faked responses to the 103 client's first few queries, although other details of libpq's 104 behavior make that harder than it sounds. A different line of 105 attack is to exfiltrate the client's password, or other sensitive 106 data that might be sent early in the session. That has been shown 107 to be possible with a server vulnerable to CVE-2021-23214. 108 </para> 109 110 <para> 111 The <productname>PostgreSQL</productname> Project thanks 112 Jacob Champion for reporting this problem. 113 (CVE-2021-23222) 114 </para> 115 </listitem> 116 117 <listitem> 118<!-- 119Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 120Branch: master [ff9f111bc] 2021-09-29 11:21:51 -0300 121Branch: REL_14_STABLE [64a8687a6] 2021-09-29 11:41:01 -0300 122Branch: REL_13_STABLE [1d97d3d08] 2021-09-29 11:21:51 -0300 123Branch: REL_12_STABLE [1df0a914d] 2021-09-29 11:21:51 -0300 124Branch: REL_11_STABLE [cfedb279a] 2021-09-29 11:21:51 -0300 125Branch: REL_10_STABLE [d9fe2cc7d] 2021-09-29 11:21:51 -0300 126Branch: REL9_6_STABLE [148c6ee3b] 2021-09-29 11:21:51 -0300 127Branch: master [d03bca4d7] 2021-09-30 10:01:03 -0300 128Branch: REL_14_STABLE [e3731bac5] 2021-09-30 10:01:03 -0300 129Branch: master [d186d233d] 2021-10-01 18:03:11 -0300 130Branch: REL_14_STABLE [0ce67bce0] 2021-10-01 18:03:11 -0300 131Branch: master [010e52337] 2021-10-13 18:49:27 -0300 132Branch: REL_14_STABLE [79c7fe1af] 2021-10-13 18:49:27 -0300 133Branch: REL_13_STABLE [2cdf97fd1] 2021-10-13 18:49:27 -0300 134Branch: REL_12_STABLE [4b7abbe48] 2021-10-13 18:49:27 -0300 135Branch: REL_11_STABLE [6287b8e19] 2021-10-13 18:49:27 -0300 136Branch: REL_10_STABLE [41cce2326] 2021-10-13 18:49:27 -0300 137Branch: REL9_6_STABLE [5ec87619b] 2021-10-13 18:49:27 -0300 138Branch: REL_14_STABLE [494ec0037] 2021-11-01 13:07:23 -0300 139Branch: REL_13_STABLE [17227825c] 2021-11-01 13:07:23 -0300 140Branch: REL_12_STABLE [da782bc93] 2021-11-01 13:07:23 -0300 141Branch: REL_11_STABLE [5ef210047] 2021-11-01 13:07:23 -0300 142Branch: REL_10_STABLE [656312c2a] 2021-11-01 13:07:23 -0300 143Branch: REL9_6_STABLE [99197701e] 2021-11-01 13:07:23 -0300 144--> 145 <para> 146 Fix physical replication for cases where the primary crashes 147 after shipping a WAL segment that ends with a partial WAL record 148 (Álvaro Herrera) 149 </para> 150 151 <para> 152 If the primary did not survive long enough to finish writing the 153 rest of the incomplete WAL record, then the previous crash-recovery 154 logic had it back up and overwrite WAL starting from the beginning 155 of the incomplete WAL record. This is problematic since standby 156 servers may already have copies of that WAL segment. They will then 157 see an inconsistent next segment, and will not be able to recover 158 without manual intervention. To fix, do not back up over a WAL 159 segment boundary when restarting after a crash. Instead write a new 160 type of WAL record at the start of the next WAL segment, informing 161 readers that the incomplete WAL record will never be finished and 162 must be disregarded. 163 </para> 164 165 <para> 166 When applying this update, it's best to update standby servers 167 before the primary, so that they will be ready to handle this new 168 WAL record type if the primary happens to crash. 169 </para> 170 </listitem> 171 172 <listitem> 173<!-- 174Author: Noah Misch <noah@leadboat.com> 175Branch: master [3cd9c3b92] 2021-10-23 18:36:38 -0700 176Branch: REL_14_STABLE [a5b9a0000] 2021-10-23 18:36:42 -0700 177Branch: REL_13_STABLE [a9d0a5409] 2021-10-23 18:36:42 -0700 178Branch: REL_12_STABLE [fe5d44a1d] 2021-10-23 18:36:42 -0700 179Branch: REL_11_STABLE [df6158139] 2021-10-23 18:36:43 -0700 180Branch: REL_10_STABLE [560124a37] 2021-10-23 18:36:43 -0700 181Branch: REL9_6_STABLE [518493243] 2021-10-23 18:36:43 -0700 182--> 183 <para> 184 Fix <command>CREATE INDEX CONCURRENTLY</command> to wait for 185 the latest prepared transactions (Andrey Borodin) 186 </para> 187 188 <para> 189 Rows inserted by just-prepared transactions might be omitted from 190 the new index, causing queries relying on the index to miss such 191 rows. The previous fix for this type of problem failed to account 192 for <command>PREPARE TRANSACTION</command> commands that were still 193 in progress when <command>CREATE INDEX CONCURRENTLY</command> 194 checked for them. As before, in installations that have enabled 195 prepared transactions (<varname>max_prepared_transactions</varname> 196 > 0), it's recommended to reindex any concurrently-built indexes 197 in case this problem occurred when they were built. 198 </para> 199 </listitem> 200 201 <listitem> 202<!-- 203Author: Noah Misch <noah@leadboat.com> 204Branch: master [fdd965d07] 2021-10-23 18:36:38 -0700 205Branch: REL_14_STABLE [dde966efb] 2021-10-23 18:36:42 -0700 206Branch: REL_13_STABLE [2e33b4359] 2021-10-23 18:36:42 -0700 207Branch: REL_12_STABLE [0869e53d3] 2021-10-23 18:36:42 -0700 208Branch: REL_11_STABLE [5141e471b] 2021-10-23 18:36:43 -0700 209Branch: REL_10_STABLE [db86746fd] 2021-10-23 18:36:43 -0700 210Branch: REL9_6_STABLE [e428699cb] 2021-10-23 18:36:43 -0700 211--> 212 <para> 213 Avoid race condition that can cause backends to fail to add entries 214 for new rows to an index being built concurrently (Noah Misch, 215 Andrey Borodin) 216 </para> 217 218 <para> 219 While it's apparently rare in the field, this case could potentially 220 affect any index built or reindexed with 221 the <literal>CONCURRENTLY</literal> option. It is recommended to 222 reindex any such indexes to make sure they are correct. 223 </para> 224 </listitem> 225 226 <listitem> 227<!-- 228Author: Tom Lane <tgl@sss.pgh.pa.us> 229Branch: master [ce773f230] 2021-09-02 17:24:41 -0400 230Branch: REL_14_STABLE Release: REL_14_0 [23c6bc581] 2021-09-02 17:24:42 -0400 231Branch: REL_13_STABLE [be2beadaf] 2021-09-02 17:24:42 -0400 232Branch: REL_12_STABLE [a3bf13673] 2021-09-02 17:24:42 -0400 233Branch: REL_11_STABLE [ad66373ea] 2021-09-02 17:24:42 -0400 234Branch: REL_10_STABLE [2bb20e34c] 2021-09-02 17:24:42 -0400 235Branch: REL9_6_STABLE [dea212e24] 2021-09-02 17:24:42 -0400 236Branch: master [fd549145d] 2021-09-03 10:01:02 -0400 237Branch: REL_14_STABLE Release: REL_14_0 [08b96a2b5] 2021-09-03 10:01:02 -0400 238Branch: REL_13_STABLE [9089f1543] 2021-09-03 10:01:02 -0400 239Branch: REL_12_STABLE [1fab33c0b] 2021-09-03 10:01:02 -0400 240Branch: REL_11_STABLE [2836d57e4] 2021-09-03 10:01:02 -0400 241Branch: master [b30cc0fd6] 2021-09-04 16:29:08 -0400 242Branch: REL_14_STABLE Release: REL_14_0 [718978d9d] 2021-09-04 16:29:08 -0400 243Branch: REL_13_STABLE [2c0dd669c] 2021-09-04 16:29:08 -0400 244Branch: REL_12_STABLE [fd295d0c6] 2021-09-04 16:29:08 -0400 245Branch: REL_11_STABLE [8782a8452] 2021-09-04 16:29:08 -0400 246Branch: REL_10_STABLE [70354dd56] 2021-09-04 16:29:08 -0400 247Branch: REL9_6_STABLE [a5e8f7b37] 2021-09-04 16:29:08 -0400 248--> 249 <para> 250 Fix <type>float4</type> and <type>float8</type> hash functions to 251 produce uniform results for NaNs (Tom Lane) 252 </para> 253 254 <para> 255 Since <productname>PostgreSQL</productname>'s floating-point types 256 deem all NaNs to be equal, it's important for the hash functions to 257 produce the same hash code for all bit-patterns that are NaNs 258 according to the IEEE 754 standard. This failed to happen before, 259 meaning that hash indexes and hash-based query plans might produce 260 incorrect results for non-canonical NaN values. 261 (<literal>'-NaN'::float8</literal> is one way to produce such a 262 value on most machines.) It is advisable to reindex hash indexes 263 on floating-point columns, if there is any possibility that they 264 might contain such values. 265 </para> 266 </listitem> 267 268 <listitem> 269<!-- 270Author: Noah Misch <noah@leadboat.com> 271Branch: master [97ddda8a8] 2021-08-27 23:33:23 -0700 272Branch: REL_14_STABLE Release: REL_14_0 [5513c09c8] 2021-08-27 23:33:27 -0700 273Branch: REL_13_STABLE [b18669f5e] 2021-08-27 23:33:27 -0700 274Branch: REL_12_STABLE [a494f1023] 2021-08-27 23:34:03 -0700 275Branch: REL_11_STABLE [6ebd2426b] 2021-08-27 23:34:22 -0700 276Branch: REL_10_STABLE [f11c1bb17] 2021-08-27 23:42:53 -0700 277Branch: REL9_6_STABLE [978998dbd] 2021-08-27 23:44:55 -0700 278--> 279 <para> 280 Prevent data loss during crash recovery of <command>CREATE 281 TABLESPACE</command>, when <varname>wal_level</varname> 282 = <literal>minimal</literal> (Noah Misch) 283 </para> 284 285 <para> 286 If the server crashed between <command>CREATE TABLESPACE</command> 287 and the next checkpoint, replay would fully remove the contents of 288 the new tablespace's directory, relying on subsequent WAL replay 289 to restore everything within that directory. This interacts badly 290 with optimizations that skip writing WAL (one example 291 is <command>COPY</command> into a just-created table). Such 292 optimizations are applied only when <varname>wal_level</varname> 293 is <literal>minimal</literal>, which is not the default in v10 and 294 later. 295 </para> 296 </listitem> 297 298 <listitem> 299<!-- 300Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 301Branch: master [d6f1e16c8] 2021-10-18 19:08:25 -0300 302Branch: REL_14_STABLE [72d064217] 2021-10-18 19:08:25 -0300 303Branch: REL_13_STABLE [fe35528a5] 2021-10-18 19:08:25 -0300 304Branch: REL_12_STABLE [8b26be8a3] 2021-10-18 19:08:25 -0300 305Branch: REL_11_STABLE [b703b7d31] 2021-10-18 19:08:25 -0300 306Branch: REL_10_STABLE [d36bdc4e9] 2021-10-18 19:08:25 -0300 307--> 308 <para> 309 Ensure that the relation cache is invalidated for a table being 310 attached to or detached from a partitioned table (Amit Langote, 311 Álvaro Herrera) 312 </para> 313 314 <para> 315 This oversight could allow misbehavior of subsequent inserts/updates 316 addressed directly to the partition, but only in currently-existing 317 sessions. 318 </para> 319 </listitem> 320 321 <listitem> 322<!-- 323Author: Amit Kapila <akapila@postgresql.org> 324Branch: master [8bd534274] 2021-09-08 11:50:37 +0530 325Branch: REL_14_STABLE Release: REL_14_0 [8db27fbc1] 2021-09-08 12:08:29 +0530 326Branch: REL_13_STABLE [ddfc7299d] 2021-09-08 12:14:59 +0530 327Branch: REL_12_STABLE [2eb09f27d] 2021-09-08 12:16:15 +0530 328Branch: REL_11_STABLE [96e38fa5e] 2021-09-08 11:20:42 +0530 329Branch: REL_10_STABLE [28cde380c] 2021-09-08 11:23:01 +0530 330--> 331 <para> 332 Ensure that the relation cache is invalidated when creating or 333 dropping a <literal>FOR ALL TABLES</literal> publication 334 (Hou Zhijie, Vignesh C) 335 </para> 336 337 <para> 338 This oversight could lead to improper replication behavior until all 339 currently-existing sessions have exited. 340 </para> 341 </listitem> 342 343 <listitem> 344<!-- 345Author: Tom Lane <tgl@sss.pgh.pa.us> 346Branch: master [5c056b0c2] 2021-08-06 17:32:54 -0400 347Branch: REL_14_STABLE Release: REL_14_0 [e5f6493e3] 2021-08-06 17:32:54 -0400 348Branch: REL_13_STABLE [dede14399] 2021-09-20 11:48:52 -0400 349Branch: REL_12_STABLE [f230614da] 2021-09-20 11:48:52 -0400 350Branch: REL_11_STABLE [914e54501] 2021-09-20 11:48:52 -0400 351Branch: REL_10_STABLE [923b7efc2] 2021-09-20 11:48:52 -0400 352Branch: REL9_6_STABLE [183b3aced] 2021-09-20 11:48:52 -0400 353--> 354 <para> 355 Don't discard a cast to the same type with unspecified type modifier 356 (Tom Lane) 357 </para> 358 359 <para> 360 For example, if column <literal>f1</literal> is of 361 type <literal>numeric(18,3)</literal>, the parser used to simply 362 discard a cast like <literal>f1::numeric</literal>, on the grounds 363 that it would have no run-time effect. That's true, but the exposed 364 type of the expression should still be considered to be 365 plain <literal>numeric</literal>, 366 not <literal>numeric(18,3)</literal>. This is important for 367 correctly resolving the type of larger constructs, such 368 as recursive <literal>UNION</literal>s. 369 </para> 370 </listitem> 371 372 <listitem> 373<!-- 374Author: Tom Lane <tgl@sss.pgh.pa.us> 375Branch: master [3e310d837] 2021-10-19 13:54:45 -0400 376Branch: REL_14_STABLE [04dae19f4] 2021-10-19 13:54:45 -0400 377Branch: REL_13_STABLE [30e61a8cd] 2021-10-19 13:54:46 -0400 378Branch: REL_12_STABLE [ae7b1dd59] 2021-10-19 13:54:46 -0400 379Branch: REL_11_STABLE [0d08c279b] 2021-10-19 13:54:46 -0400 380--> 381 <para> 382 Fix updates of element fields in arrays of domain over composite 383 (Tom Lane) 384 </para> 385 386 <para> 387 A command such as <literal>UPDATE tab SET fld[1].subfld = 388 val</literal> failed if the array's elements were domains rather 389 than plain composites. 390 </para> 391 </listitem> 392 393 <listitem> 394<!-- 395Author: Tom Lane <tgl@sss.pgh.pa.us> 396Branch: master [db2760a84] 2021-09-03 16:39:03 -0400 397Branch: REL_14_STABLE Release: REL_14_0 [2cc018ba8] 2021-09-03 16:39:04 -0400 398Branch: REL_13_STABLE [132be6000] 2021-09-03 16:38:55 -0400 399Branch: REL_12_STABLE [9046a0536] 2021-09-03 16:38:55 -0400 400Branch: REL_11_STABLE [9ebe2852e] 2021-09-03 16:38:55 -0400 401Branch: REL_10_STABLE [5d7c6b6c8] 2021-09-03 16:38:55 -0400 402--> 403 <para> 404 Disallow creating an ICU collation if the current database's 405 encoding won't support it (Tom Lane) 406 </para> 407 408 <para> 409 Previously this was allowed, but then the collation could not be 410 referenced because of the way collation lookup works; you could not 411 use the collation, nor even drop it. 412 </para> 413 </listitem> 414 415 <listitem> 416<!-- 417Author: Dean Rasheed <dean.a.rasheed@gmail.com> 418Branch: master [e54a758d2] 2021-10-06 13:16:51 +0100 419Branch: REL_14_STABLE [8e26b868d] 2021-10-06 13:19:25 +0100 420Branch: REL_13_STABLE [9ab94ccb1] 2021-10-06 13:20:23 +0100 421Branch: REL_12_STABLE [676218034] 2021-10-06 13:21:27 +0100 422Branch: REL_11_STABLE [b2a0f1673] 2021-10-06 13:22:33 +0100 423Branch: REL_10_STABLE [4853baaac] 2021-10-06 13:23:13 +0100 424Branch: REL9_6_STABLE [0de8f9bc8] 2021-10-06 13:24:22 +0100 425--> 426 <para> 427 Fix corner-case loss of precision in 428 numeric <function>power()</function> (Dean Rasheed) 429 </para> 430 431 <para> 432 The result could be inaccurate when the first argument is very close 433 to 1. 434 </para> 435 </listitem> 436 437 <listitem> 438<!-- 439Author: Tom Lane <tgl@sss.pgh.pa.us> 440Branch: master [65dc30ced] 2021-08-24 16:37:26 -0400 441Branch: REL_14_STABLE Release: REL_14_0 [244dd7992] 2021-08-24 16:37:27 -0400 442Branch: REL_13_STABLE [071146184] 2021-08-24 16:37:27 -0400 443Branch: REL_12_STABLE [92620e82f] 2021-08-24 16:37:27 -0400 444Branch: REL_11_STABLE [3ebd32e70] 2021-08-24 16:37:27 -0400 445Branch: REL_10_STABLE [062c4c791] 2021-08-24 16:37:27 -0400 446Branch: REL9_6_STABLE [7e75fe390] 2021-08-24 16:37:27 -0400 447--> 448 <para> 449 Avoid regular expression errors with capturing parentheses 450 inside <literal>{0}</literal> (Tom Lane) 451 </para> 452 453 <para> 454 Regular expressions like <literal>(.){0}...\1</literal> drew 455 <quote>invalid backreference number</quote>. Other regexp engines 456 such as Perl don't complain, though, and for that matter ours 457 doesn't either in some closely related cases. Worse, it could throw 458 an assertion failure instead. Fix it so that no error is thrown and 459 instead the back-reference is silently deemed to never match. 460 </para> 461 </listitem> 462 463 <listitem> 464<!-- 465Author: Tom Lane <tgl@sss.pgh.pa.us> 466Branch: master [9bbf6f734] 2021-08-23 17:41:07 -0400 467Branch: REL_14_STABLE Release: REL_14_0 [779557bd2] 2021-08-23 17:41:07 -0400 468Branch: REL_13_STABLE [9a327179c] 2021-08-23 17:41:07 -0400 469Branch: REL_12_STABLE [b9521a1f9] 2021-08-23 17:41:07 -0400 470Branch: REL_11_STABLE [08e080756] 2021-08-23 17:41:07 -0400 471Branch: REL_10_STABLE [df87b7c44] 2021-08-23 17:41:07 -0400 472Branch: REL9_6_STABLE [d90e14414] 2021-08-23 17:41:07 -0400 473--> 474 <para> 475 Prevent regular expression back-references from sometimes matching 476 when they shouldn't (Tom Lane) 477 </para> 478 479 <para> 480 The regexp engine was careless about clearing match data 481 for capturing parentheses after rejecting a partial match. This 482 could allow a later back-reference to match in places where it 483 should fail for lack of a defined referent. 484 </para> 485 </listitem> 486 487 <listitem> 488<!-- 489Author: Tom Lane <tgl@sss.pgh.pa.us> 490Branch: master [facce1da9] 2021-08-20 14:19:04 -0400 491Branch: REL_14_STABLE Release: REL_14_0 [57a2d4a1b] 2021-08-20 14:19:04 -0400 492Branch: REL_13_STABLE [b30f7f399] 2021-08-20 14:19:04 -0400 493Branch: REL_12_STABLE [adbfde3db] 2021-08-20 14:19:04 -0400 494Branch: REL_11_STABLE [9610852ab] 2021-08-20 14:19:04 -0400 495Branch: REL_10_STABLE [e0f2acf26] 2021-08-20 14:19:04 -0400 496Branch: REL9_6_STABLE [cafebd663] 2021-08-20 14:19:04 -0400 497--> 498 <para> 499 Fix regular expression performance bug with back-references inside 500 iteration nodes (Tom Lane) 501 </para> 502 503 <para> 504 Incorrect back-tracking logic could result in exponential time spent 505 looking for a match. Fortunately the problem is masked in most 506 cases by other optimizations. 507 </para> 508 </listitem> 509 510 <listitem> 511<!-- 512Author: Tom Lane <tgl@sss.pgh.pa.us> 513Branch: REL_14_STABLE Release: REL_14_0 [599c73a91] 2021-09-06 11:29:52 -0400 514Branch: REL_13_STABLE [d8a266c5e] 2021-09-06 11:29:52 -0400 515Branch: REL_12_STABLE [eb3c8d248] 2021-09-06 11:29:52 -0400 516Branch: REL_11_STABLE [90b4647f6] 2021-09-06 11:29:52 -0400 517Branch: REL_10_STABLE [b28c862a6] 2021-09-06 11:29:52 -0400 518Branch: REL9_6_STABLE [5907c3818] 2021-09-06 11:29:52 -0400 519--> 520 <para> 521 Fix incorrect results from <literal>AT TIME ZONE</literal> applied 522 to a <type>time with time zone</type> value (Tom Lane) 523 </para> 524 525 <para> 526 The results were incorrect if the target time zone was specified by 527 a dynamic timezone abbreviation (that is, one that is defined as 528 equivalent to a full time zone name, rather than a fixed UTC offset). 529 </para> 530 </listitem> 531 532 <listitem> 533<!-- 534Author: Tom Lane <tgl@sss.pgh.pa.us> 535Branch: master [a21049fd3] 2021-09-17 15:41:16 -0400 536Branch: REL_14_STABLE Release: REL_14_0 [4d5b4483d] 2021-09-17 15:41:16 -0400 537Branch: REL_13_STABLE [e0b0d1eab] 2021-09-17 15:41:16 -0400 538Branch: REL_12_STABLE [febe013ca] 2021-09-17 15:41:16 -0400 539--> 540 <para> 541 Fix mistranslation of PlaceHolderVars to inheritance child relations 542 (Tom Lane) 543 </para> 544 545 <para> 546 This error could result in assertion failures, or in mis-planning of 547 queries having partitioned or inherited tables on the nullable side 548 of an outer join. 549 </para> 550 </listitem> 551 552 <listitem> 553<!-- 554Author: Tom Lane <tgl@sss.pgh.pa.us> 555Branch: master [8c1144ba7] 2021-10-01 14:59:35 -0400 556Branch: REL_14_STABLE [a54509bfd] 2021-10-01 14:59:35 -0400 557Branch: REL_13_STABLE [7adbe186f] 2021-10-01 14:59:35 -0400 558Branch: REL_12_STABLE [334fb8c3d] 2021-10-01 14:59:35 -0400 559Branch: REL_11_STABLE [5863d348a] 2021-10-01 14:59:35 -0400 560Branch: REL_10_STABLE [f951ea3a2] 2021-10-01 14:59:35 -0400 561--> 562 <para> 563 Avoid using MCV-only statistics to estimate the range of a column 564 (Tom Lane) 565 </para> 566 567 <para> 568 There are corner cases in which <command>ANALYZE</command> will 569 build a most-common-values (MCV) list but not a histogram, even 570 though the MCV list does not account for all the observed values. 571 In such cases, keep the planner from using the MCV list alone to 572 estimate the range of column values. 573 </para> 574 </listitem> 575 576 <listitem> 577<!-- 578Author: Tom Lane <tgl@sss.pgh.pa.us> 579Branch: master [7b5d4c29e] 2021-10-01 11:10:12 -0400 580Branch: REL_14_STABLE [e6adaa179] 2021-10-01 11:10:12 -0400 581Branch: REL_13_STABLE [04ef2021e] 2021-10-01 11:10:12 -0400 582Branch: REL_12_STABLE [cded2c460] 2021-10-01 11:10:12 -0400 583Branch: REL_11_STABLE [5abbda985] 2021-10-01 11:10:12 -0400 584--> 585 <para> 586 Fix restoration of a Portal's snapshot inside a subtransaction 587 (Bertrand Drouvot) 588 </para> 589 590 <para> 591 If a procedure commits or rolls back a transaction, and then its 592 next significant action is inside a new subtransaction, snapshot 593 management went wrong, leading to a dangling pointer and probable 594 crash. A typical example in PL/pgSQL is a <literal>COMMIT</literal> 595 immediately followed by a <literal>BEGIN ... EXCEPTION</literal> 596 block that performs a query. 597 </para> 598 </listitem> 599 600 <listitem> 601<!-- 602Author: Michael Paquier <michael@paquier.xyz> 603Branch: master [409f9ca44] 2021-10-18 11:55:42 +0900 604Branch: REL_14_STABLE [5b353aaff] 2021-10-18 11:56:48 +0900 605Branch: REL_13_STABLE [8f4fe8d7f] 2021-10-18 11:56:52 +0900 606Branch: REL_12_STABLE [a207b8521] 2021-10-18 11:56:54 +0900 607Branch: REL_11_STABLE [506aa1f71] 2021-10-18 11:56:57 +0900 608Branch: REL_10_STABLE [d1a6a08df] 2021-10-18 11:57:02 +0900 609Branch: REL9_6_STABLE [f49bf8263] 2021-10-18 11:57:07 +0900 610--> 611 <para> 612 Clean up correctly if a transaction fails after exporting its 613 snapshot (Dilip Kumar) 614 </para> 615 616 <para> 617 This oversight would only cause a problem if the same session 618 attempted to export a snapshot again. The most likely scenario for 619 that is creation of a replication slot (followed by rollback) 620 and then creation of another replication slot. 621 </para> 622 </listitem> 623 624 <listitem> 625<!-- 626Author: Alexander Korotkov <akorotkov@postgresql.org> 627Branch: master [05e6e78c1] 2021-11-06 19:13:58 +0300 628Branch: REL_14_STABLE [b0f6bd48f] 2021-11-06 19:13:53 +0300 629Branch: REL_13_STABLE [e1fee28a0] 2021-11-06 18:34:19 +0300 630Branch: REL_12_STABLE [8f779a1a3] 2021-11-06 18:34:21 +0300 631Branch: REL_11_STABLE [691c0df73] 2021-11-06 18:34:23 +0300 632Branch: REL_10_STABLE [774d00573] 2021-11-06 18:34:26 +0300 633Branch: REL9_6_STABLE [7381b79ad] 2021-11-06 18:34:31 +0300 634--> 635 <para> 636 Prevent wraparound of overflowed-subtransaction tracking on standby 637 servers (Kyotaro Horiguchi, Alexander Korotkov) 638 </para> 639 640 <para> 641 This oversight could cause significant performance degradation 642 (manifesting as excessive SubtransSLRU traffic) on standby servers. 643 </para> 644 </listitem> 645 646 <listitem> 647<!-- 648Author: Michael Paquier <michael@paquier.xyz> 649Branch: master [8a4237908] 2021-10-04 14:05:20 +0900 650Branch: REL_14_STABLE [828f7f000] 2021-10-04 14:05:48 +0900 651Branch: REL_13_STABLE [194e535a0] 2021-10-04 14:05:52 +0900 652Branch: REL_12_STABLE [3c3f118d5] 2021-10-04 14:05:55 +0900 653Branch: REL_11_STABLE [0a561d4d0] 2021-10-04 14:05:59 +0900 654Branch: REL_10_STABLE [8a6a1fe07] 2021-10-04 14:06:03 +0900 655Branch: REL9_6_STABLE [e2b2a9e1c] 2021-10-04 14:06:09 +0900 656--> 657 <para> 658 Ensure that prepared transactions are properly accounted for during 659 promotion of a standby server (Michael Paquier, Andres Freund) 660 </para> 661 662 <para> 663 There was a narrow window where a prepared transaction could be 664 omitted from a snapshot taken by a concurrently-running session. 665 If that session then used the snapshot to perform data updates, 666 erroneous results or data corruption could occur. 667 </para> 668 </listitem> 669 670 <listitem> 671<!-- 672Author: Tom Lane <tgl@sss.pgh.pa.us> 673Branch: master [c1b7a6c27] 2021-09-10 13:18:32 -0400 674Branch: REL_14_STABLE Release: REL_14_0 [d844cd75a] 2021-09-10 13:18:32 -0400 675Branch: REL_13_STABLE [fa5d0415f] 2021-09-10 13:18:32 -0400 676Branch: REL_12_STABLE [ba408fc96] 2021-09-10 13:18:32 -0400 677Branch: REL_11_STABLE [9ea8d3d24] 2021-09-10 13:18:32 -0400 678--> 679 <para> 680 Refuse to rewind a cursor marked <literal>NO SCROLL</literal> 681 if it has been held over from a previous transaction due 682 to the <literal>WITH HOLD</literal> option (Tom Lane) 683 </para> 684 685 <para> 686 We have long forbidden fetching backwards from a <literal>NO 687 SCROLL</literal> cursor, but for historical reasons the prohibition 688 didn't extend to cases in which we rewind the query altogether and 689 then re-fetch forwards. That exception leads to inconsistencies, 690 particularly for held-over cursors which may not have stored all the 691 data necessary to rewind. Disallow rewinding for non-scrollable 692 held-over cursors to block the worst inconsistencies. (v15 will 693 remove the exception altogether.) 694 </para> 695 </listitem> 696 697 <listitem> 698<!-- 699Author: Tom Lane <tgl@sss.pgh.pa.us> 700Branch: master [cba79a163] 2021-09-09 13:36:44 -0400 701Branch: REL_14_STABLE Release: REL_14_0 [b7056c0a2] 2021-09-09 13:36:44 -0400 702Branch: REL_13_STABLE [d8d93bc8b] 2021-09-09 13:36:31 -0400 703Branch: REL_12_STABLE [2e75e969c] 2021-09-09 13:36:31 -0400 704Branch: REL_11_STABLE [7813451c2] 2021-09-09 13:36:31 -0400 705--> 706 <para> 707 Fix possible failure while saving a <literal>WITH HOLD</literal> 708 cursor at transaction end, if it had already been read to completion 709 (Tom Lane) 710 </para> 711 </listitem> 712 713 <listitem> 714<!-- 715Author: Tom Lane <tgl@sss.pgh.pa.us> 716Branch: master [8481f9989] 2021-09-09 11:45:48 -0400 717Branch: REL_14_STABLE Release: REL_14_0 [7430c7742] 2021-09-09 11:45:48 -0400 718Branch: REL_13_STABLE [04118de78] 2021-09-09 11:45:48 -0400 719Branch: REL_12_STABLE [a7a73ce30] 2021-09-09 11:45:48 -0400 720Branch: REL_11_STABLE [1a23b669d] 2021-09-09 11:45:48 -0400 721Branch: REL_10_STABLE [ca1dd6234] 2021-09-09 11:45:48 -0400 722Branch: REL9_6_STABLE [cc4de2bba] 2021-09-09 11:45:48 -0400 723--> 724 <para> 725 Fix detection of a relation that has grown to the maximum allowed 726 length (Tom Lane) 727 </para> 728 729 <para> 730 An attempt to extend a table or index past the limit of 2^32-1 731 blocks was rejected, but not soon enough to prevent inconsistent 732 internal state from being created. 733 </para> 734 </listitem> 735 736 <listitem> 737<!-- 738Author: Tom Lane <tgl@sss.pgh.pa.us> 739Branch: master [362e2dcc4] 2021-09-08 12:05:47 -0400 740Branch: REL_14_STABLE Release: REL_14_0 [03d01d746] 2021-09-08 12:05:43 -0400 741Branch: REL_13_STABLE [cbba6ba3a] 2021-09-08 12:05:43 -0400 742Branch: REL_12_STABLE [1fedbcc7a] 2021-09-08 12:05:43 -0400 743Branch: REL_11_STABLE [882b7e728] 2021-09-08 12:05:43 -0400 744Branch: REL_10_STABLE [9de082399] 2021-09-08 12:05:43 -0400 745Branch: REL9_6_STABLE [595ab8a54] 2021-09-08 12:05:43 -0400 746--> 747 <para> 748 Correctly track the presence of data-modifying CTEs when expanding 749 a <literal>DO INSTEAD</literal> rule (Greg Nancarrow, Tom Lane) 750 </para> 751 752 <para> 753 The previous failure to do this could lead to problems such as 754 unsafely choosing a parallel plan. 755 </para> 756 </listitem> 757 758 <listitem> 759<!-- 760Author: Tomas Vondra <tomas.vondra@postgresql.org> 761Branch: master [5be8ce82e] 2021-08-31 18:33:38 +0200 762Branch: REL_14_STABLE Release: REL_14_0 [a371a5ba3] 2021-08-31 18:36:06 +0200 763Branch: REL_13_STABLE [1fe1a04af] 2021-08-31 18:38:11 +0200 764Branch: REL_12_STABLE [6c8b98669] 2021-08-31 18:40:09 +0200 765Branch: REL_11_STABLE [b46ff4b50] 2021-08-31 18:42:11 +0200 766Branch: REL_10_STABLE [bfb732c0e] 2021-08-31 18:44:36 +0200 767Branch: master [628bc9d13] 2021-08-31 19:31:10 +0200 768Branch: REL_14_STABLE Release: REL_14_0 [4090ff2a9] 2021-08-31 19:32:32 +0200 769Branch: REL_13_STABLE [c8213aa94] 2021-08-31 19:36:03 +0200 770Branch: REL_12_STABLE [5f8dd5dc1] 2021-08-31 19:41:58 +0200 771Branch: REL_11_STABLE [bce24d1ed] 2021-08-31 19:42:14 +0200 772Branch: REL_10_STABLE [6963e723f] 2021-08-31 19:44:30 +0200 773--> 774 <para> 775 Fix incorrect reporting of permissions failures on extended 776 statistics objects (Tomas Vondra) 777 </para> 778 779 <para> 780 The code typically produced <quote>cache lookup error</quote> rather 781 than the intended message. 782 </para> 783 </listitem> 784 785 <listitem> 786<!-- 787Author: Robert Haas <rhaas@postgresql.org> 788Branch: master [a780b2fcc] 2021-08-25 08:32:04 -0400 789Branch: REL_14_STABLE Release: REL_14_0 [11c123988] 2021-08-25 08:33:53 -0400 790Branch: REL_13_STABLE [bc062cb93] 2021-08-25 08:40:52 -0400 791Branch: REL_12_STABLE [f4b77e82e] 2021-08-25 08:45:00 -0400 792Branch: REL_11_STABLE [198cf81e2] 2021-08-25 08:48:01 -0400 793Branch: REL_10_STABLE [96f6ef9fe] 2021-08-25 08:55:52 -0400 794--> 795 <para> 796 Fix incorrect snapshot handling in parallel workers (Greg Nancarrow) 797 </para> 798 799 <para> 800 This oversight could lead to misbehavior in parallel queries if the 801 transaction isolation level is less than <literal>REPEATABLE 802 READ</literal>. 803 </para> 804 </listitem> 805 806 <listitem> 807<!-- 808Author: Amit Kapila <akapila@postgresql.org> 809Branch: master [29b590547] 2021-08-25 09:53:07 +0530 810Branch: REL_14_STABLE Release: REL_14_0 [9d7a80ce0] 2021-08-25 10:10:50 +0530 811Branch: REL_13_STABLE [794025eff] 2021-08-25 09:23:27 +0530 812Branch: REL_12_STABLE [e35705f54] 2021-08-25 09:32:56 +0530 813Branch: REL_11_STABLE [bfdbda24b] 2021-08-25 09:43:33 +0530 814--> 815 <para> 816 Fix logical decoding to correctly ignore toast-table changes for 817 transient tables (Bertrand Drouvot) 818 </para> 819 820 <para> 821 Logical decoding normally ignores changes in transient tables such 822 as those created during an <command>ALTER TABLE</command> heap 823 rewrite. But that filtering wasn't applied to the associated toast 824 table if any, leading to possible errors when rewriting a table 825 that's being published. 826 </para> 827 </listitem> 828 829 <listitem> 830<!-- 831Author: Fujii Masao <fujii@postgresql.org> 832Branch: master [596ba75cb] 2021-09-09 23:56:57 +0900 833Branch: REL_14_STABLE Release: REL_14_0 [b5ec22bf5] 2021-09-09 23:58:05 +0900 834Branch: REL_13_STABLE [dd9b3fced] 2021-09-09 23:58:26 +0900 835Branch: REL_12_STABLE [466535254] 2021-09-09 23:58:54 +0900 836Branch: REL_11_STABLE [aacb3cfaf] 2021-09-09 23:59:19 +0900 837Branch: REL_10_STABLE [f77489046] 2021-09-09 23:59:40 +0900 838Branch: REL9_6_STABLE [61e2aa2db] 2021-09-10 00:00:06 +0900 839--> 840 <para> 841 Ensure that walreceiver processes create all required archive 842 notification files before exiting (Fujii Masao) 843 </para> 844 845 <para> 846 If a walreceiver exited exactly at a WAL segment boundary, it failed 847 to make a notification file for the last-received segment, thus 848 delaying archiving of that segment on the standby. 849 </para> 850 </listitem> 851 852 <listitem> 853<!-- 854Author: Tom Lane <tgl@sss.pgh.pa.us> 855Branch: master [8d2d6ec77] 2021-08-19 12:12:35 -0400 856Branch: REL_14_STABLE Release: REL_14_0 [464900393] 2021-08-19 12:12:35 -0400 857Branch: REL_13_STABLE [7fa367d96] 2021-08-19 12:12:35 -0400 858Branch: REL_12_STABLE [0c13ee198] 2021-08-19 12:12:35 -0400 859Branch: REL_11_STABLE [fbc1eed8a] 2021-08-19 12:12:35 -0400 860Branch: REL_10_STABLE [2739a2810] 2021-08-19 12:12:36 -0400 861Branch: REL9_6_STABLE [cc7fae5c2] 2021-08-19 12:12:36 -0400 862--> 863 <para> 864 Avoid trying to lock the <literal>OLD</literal> 865 and <literal>NEW</literal> pseudo-relations in a rule 866 that uses <literal>SELECT FOR UPDATE</literal> 867 (Masahiko Sawada, Tom Lane) 868 </para> 869 </listitem> 870 871 <listitem> 872<!-- 873Author: Tom Lane <tgl@sss.pgh.pa.us> 874Branch: master [2313dda9d] 2021-08-18 18:12:51 -0400 875Branch: REL_14_STABLE Release: REL_14_0 [61f9dae2c] 2021-08-18 18:12:51 -0400 876Branch: REL_13_STABLE [ecd4dd9f1] 2021-08-18 18:12:51 -0400 877Branch: REL_12_STABLE [eb2f59b34] 2021-08-18 18:12:51 -0400 878Branch: REL_11_STABLE [a65319f09] 2021-08-18 18:12:51 -0400 879Branch: REL_10_STABLE [82ad7ecb4] 2021-08-18 18:12:51 -0400 880Branch: REL9_6_STABLE [c09f56fed] 2021-08-18 18:12:51 -0400 881--> 882 <para> 883 Fix parser's processing of aggregate <literal>FILTER</literal> 884 clauses (Tom Lane) 885 </para> 886 887 <para> 888 If the <literal>FILTER</literal> expression is a plain boolean column, 889 the semantic level of the aggregate could be mis-determined, leading 890 to not-per-spec behavior. If the <literal>FILTER</literal> 891 expression is itself a boolean-returning aggregate, an error should 892 be thrown but was not, likely resulting in a crash at execution. 893 </para> 894 </listitem> 895 896 <listitem> 897<!-- 898Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 899Branch: master [c2c618ff1] 2021-10-19 19:08:45 -0300 900Branch: REL_14_STABLE [3ce3fb2f7] 2021-10-19 19:08:45 -0300 901Branch: REL_13_STABLE [842fe6123] 2021-10-19 19:08:45 -0300 902Branch: REL_12_STABLE [6c8d1c197] 2021-10-19 19:08:45 -0300 903Branch: master [cd124d205] 2021-10-20 13:05:42 -0300 904Branch: REL_14_STABLE [718278855] 2021-10-20 13:05:42 -0300 905Branch: REL_13_STABLE [a73a3671d] 2021-10-20 13:05:42 -0300 906Branch: REL_12_STABLE [3c8c49945] 2021-10-20 13:05:42 -0300 907--> 908 <para> 909 Ensure that the correct lock level is used when renaming a table 910 (Nathan Bossart, Álvaro Herrera) 911 </para> 912 913 <para> 914 For historical reasons, <command>ALTER INDEX ... RENAME</command> 915 can be applied to any sort of relation. The lock level required to 916 rename an index is lower than that required to rename a table or 917 other kind of relation, but the code got this wrong and would use 918 the weaker lock level whenever the command is spelled <command>ALTER 919 INDEX</command>. 920 </para> 921 </listitem> 922 923 <listitem> 924<!-- 925Author: Andres Freund <andres@anarazel.de> 926Branch: master [edb4d95dd] 2021-09-13 18:26:15 -0700 927Branch: REL_14_STABLE Release: REL_14_0 [4e86887e0] 2021-09-13 18:15:28 -0700 928Branch: REL_13_STABLE [c49e6f9d9] 2021-09-13 18:26:18 -0700 929Branch: REL_12_STABLE [43849b65f] 2021-09-13 18:26:18 -0700 930Branch: REL_11_STABLE [dccffd9a2] 2021-09-13 18:26:18 -0700 931--> 932 <para> 933 Avoid trying to clean up LLVM state after an error within LLVM 934 (Andres Freund, Justin Pryzby) 935 </para> 936 937 <para> 938 This prevents a likely crash during backend exit after a fatal LLVM 939 error. 940 </para> 941 </listitem> 942 943 <listitem> 944<!-- 945Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 946Branch: master [d74b54b3d] 2021-11-05 12:29:35 -0300 947Branch: REL_14_STABLE [02e20bb2d] 2021-11-05 12:29:35 -0300 948Branch: REL_13_STABLE [bf5cdcfd5] 2021-11-05 12:29:34 -0300 949Branch: REL_12_STABLE [3eff168a2] 2021-11-05 12:29:34 -0300 950Branch: REL_11_STABLE [92224e470] 2021-11-05 12:29:34 -0300 951Branch: REL_10_STABLE [58b600f64] 2021-11-05 12:29:34 -0300 952Branch: REL9_6_STABLE [e0eaeafd6] 2021-11-05 12:29:35 -0300 953--> 954 <para> 955 Avoid null-pointer-dereference crash when dropping a role that owns 956 objects being dropped concurrently (Álvaro Herrera) 957 </para> 958 </listitem> 959 960 <listitem> 961<!-- 962Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 963Branch: master [6b1b405eb] 2021-11-03 10:52:38 +0200 964Branch: REL_14_STABLE [4ebd740cd] 2021-11-03 10:54:33 +0200 965Branch: REL_13_STABLE [07070c008] 2021-11-03 10:54:36 +0200 966Branch: REL_12_STABLE [11a399f9c] 2021-11-03 10:54:39 +0200 967Branch: REL_11_STABLE [6bf00da11] 2021-11-03 10:54:42 +0200 968Branch: REL_10_STABLE [7b55bb892] 2021-11-03 11:09:08 +0200 969Branch: REL9_6_STABLE [8f32afee0] 2021-11-03 11:15:02 +0200 970Branch: master [d5ab0681b] 2021-11-03 19:38:17 +0200 971Branch: REL_14_STABLE [f4e3b6271] 2021-11-03 19:41:35 +0200 972Branch: REL_13_STABLE [b7299b664] 2021-11-03 19:41:38 +0200 973Branch: REL_12_STABLE [7dc9a310e] 2021-11-03 19:41:41 +0200 974Branch: REL_11_STABLE [b110af5f7] 2021-11-03 19:41:44 +0200 975Branch: REL_10_STABLE [245799d39] 2021-11-03 19:41:46 +0200 976Branch: REL9_6_STABLE [71aeaf245] 2021-11-03 19:41:49 +0200 977--> 978 <para> 979 Prevent <quote>snapshot reference leak</quote> warning 980 when <function>lo_export()</function> or a related function fails 981 (Heikki Linnakangas) 982 </para> 983 </listitem> 984 985 <listitem> 986<!-- 987Author: Tom Lane <tgl@sss.pgh.pa.us> 988Branch: master [3778bcb39] 2021-08-27 19:53:05 -0400 989Branch: REL_14_STABLE Release: REL_14_0 [e84d4810c] 2021-08-27 19:53:06 -0400 990Branch: REL_13_STABLE [dbb239d51] 2021-08-27 19:42:42 -0400 991Branch: REL_12_STABLE [187b5fea9] 2021-08-27 19:42:42 -0400 992Branch: REL_11_STABLE [7c1b0f4c3] 2021-08-27 19:42:42 -0400 993Branch: REL_10_STABLE [6a787c83c] 2021-08-27 19:42:42 -0400 994Branch: REL9_6_STABLE [9e959f7ed] 2021-08-27 19:42:42 -0400 995--> 996 <para> 997 Ensure that scans of SP-GiST indexes are counted in the statistics 998 views (Tom Lane) 999 </para> 1000 1001 <para> 1002 Incrementing the number-of-index-scans counter was overlooked in the 1003 SP-GiST code, although per-tuple counters were advanced correctly. 1004 </para> 1005 </listitem> 1006 1007 <listitem> 1008<!-- 1009Author: Michael Paquier <michael@paquier.xyz> 1010Branch: master [e4ba1005c] 2021-08-16 12:10:22 +0900 1011Branch: REL_14_STABLE Release: REL_14_0 [f83d80ea1] 2021-08-16 12:11:49 +0900 1012Branch: REL_13_STABLE [7f0873f32] 2021-08-16 12:11:53 +0900 1013Branch: REL_12_STABLE [84c1bac57] 2021-08-16 12:11:56 +0900 1014Branch: REL_11_STABLE [d392e86fa] 2021-08-16 12:11:59 +0900 1015Branch: REL_10_STABLE [024fd44e0] 2021-08-16 12:12:02 +0900 1016Branch: REL9_6_STABLE [942416f4b] 2021-08-16 12:12:09 +0900 1017--> 1018 <para> 1019 Recalculate relevant wait intervals 1020 if <varname>recovery_min_apply_delay</varname> is changed during 1021 recovery (Soumyadeep Chakraborty, Ashwin Agrawal) 1022 </para> 1023 </listitem> 1024 1025 <listitem> 1026<!-- 1027Author: David Rowley <drowley@postgresql.org> 1028Branch: master [37450f2ca] 2021-08-13 16:41:26 +1200 1029Branch: REL_14_STABLE Release: REL_14_0 [dc23c77d0] 2021-08-13 16:41:56 +1200 1030Branch: REL_13_STABLE [4873da79d] 2021-08-13 16:42:35 +1200 1031Branch: REL_12_STABLE [75d8fe818] 2021-08-13 16:43:13 +1200 1032Branch: REL_11_STABLE [5a6b0f21e] 2021-08-13 16:43:46 +1200 1033Branch: REL_10_STABLE [4874886b4] 2021-08-13 16:44:18 +1200 1034--> 1035 <para> 1036 Fix infinite loop if a <filename>simplehash.h</filename> hash table 1037 reaches 2^32 elements (Yura Sokolov) 1038 </para> 1039 1040 <para> 1041 It seems unlikely that this bug has been hit in practice, as it 1042 would require <varname>work_mem</varname> settings of hundreds of 1043 gigabytes for existing uses of <filename>simplehash.h</filename>. 1044 </para> 1045 </listitem> 1046 1047 <listitem> 1048<!-- 1049Author: Tomas Vondra <tomas.vondra@postgresql.org> 1050Branch: master [83772cc78] 2021-09-23 18:05:10 +0200 1051Branch: REL_14_STABLE Release: REL_14_0 [bb7628e55] 2021-09-23 18:22:29 +0200 1052Branch: REL_13_STABLE [b564eb018] 2021-09-23 18:33:59 +0200 1053Branch: REL_12_STABLE [16d394c05] 2021-09-23 18:41:55 +0200 1054Branch: REL_11_STABLE [ac7290a20] 2021-09-23 18:48:03 +0200 1055Branch: REL_10_STABLE [3aac99068] 2021-09-23 18:54:30 +0200 1056Branch: master [ad8a166ca] 2021-09-23 18:13:36 +0200 1057Branch: REL_14_STABLE Release: REL_14_0 [abb2f9144] 2021-09-23 18:25:37 +0200 1058Branch: REL_13_STABLE [c0386f403] 2021-09-23 18:34:01 +0200 1059Branch: REL_12_STABLE [4185632e9] 2021-09-23 18:43:05 +0200 1060Branch: REL_11_STABLE [4487a7def] 2021-09-23 18:48:58 +0200 1061Branch: REL_10_STABLE [d77e085af] 2021-09-23 18:55:22 +0200 1062--> 1063 <para> 1064 Reduce memory consumption during calculation of extended statistics 1065 (Justin Pryzby, Tomas Vondra) 1066 </para> 1067 </listitem> 1068 1069 <listitem> 1070<!-- 1071Author: Thomas Munro <tmunro@postgresql.org> 1072Branch: master [8781b0ce2] 2021-10-26 12:54:55 +1300 1073Branch: REL_14_STABLE [181361a0c] 2021-10-26 13:09:00 +1300 1074Branch: REL_13_STABLE [24b7cf8a5] 2021-10-26 13:04:40 +1300 1075Branch: REL_12_STABLE [8fef901e3] 2021-10-26 13:01:52 +1300 1076--> 1077 <para> 1078 Disallow setting <varname>huge_pages</varname> 1079 to <literal>on</literal> when <varname>shared_memory_type</varname> 1080 is <literal>sysv</literal> (Thomas Munro) 1081 </para> 1082 1083 <para> 1084 Previously, this setting was accepted, but it did nothing for lack 1085 of any implementation. 1086 </para> 1087 </listitem> 1088 1089 <listitem> 1090<!-- 1091Author: Michael Paquier <michael@paquier.xyz> 1092Branch: master [fa703b317] 2021-09-13 13:23:50 +0900 1093Branch: REL_14_STABLE Release: REL_14_0 [cc057fb31] 2021-09-13 13:24:04 +0900 1094Branch: REL_13_STABLE [b589d212f] 2021-09-13 13:24:20 +0900 1095Branch: REL_12_STABLE [b34dcf87f] 2021-09-13 13:24:27 +0900 1096Branch: REL_11_STABLE [b6a10ff4a] 2021-09-13 13:24:35 +0900 1097Branch: REL_10_STABLE [83a3737a6] 2021-09-13 13:24:47 +0900 1098Branch: REL9_6_STABLE [3768c468d] 2021-09-13 13:24:56 +0900 1099--> 1100 <para> 1101 Fix <application>ecpg</application> to recover correctly 1102 after <function>malloc()</function> failure while establishing a 1103 connection (Michael Paquier) 1104 </para> 1105 </listitem> 1106 1107 <listitem> 1108<!-- 1109Author: Tom Lane <tgl@sss.pgh.pa.us> 1110Branch: master [4476bcb87] 2021-09-21 19:06:53 -0400 1111Branch: REL_14_STABLE Release: REL_14_0 [2ad5f963e] 2021-09-21 19:06:54 -0400 1112Branch: REL_13_STABLE [5f0a073cb] 2021-09-21 19:06:33 -0400 1113Branch: REL_12_STABLE [e8b0bcae6] 2021-09-21 19:06:33 -0400 1114Branch: REL_11_STABLE [13921c511] 2021-09-21 19:06:33 -0400 1115--> 1116 <para> 1117 Fix misevaluation of stable functions called in the arguments of a 1118 PL/pgSQL <command>CALL</command> statement (Tom Lane) 1119 </para> 1120 1121 <para> 1122 They were being called with an out-of-date snapshot, so that they 1123 would not see any database changes made since the start of the 1124 session's top-level command. 1125 </para> 1126 </listitem> 1127 1128 <listitem> 1129<!-- 1130Author: Tom Lane <tgl@sss.pgh.pa.us> 1131Branch: master [1bf2518dd] 2021-09-13 12:42:03 -0400 1132Branch: REL_14_STABLE Release: REL_14_0 [4ffd3fe4d] 2021-09-13 12:42:28 -0400 1133Branch: REL_13_STABLE [745abdd95] 2021-09-13 12:42:03 -0400 1134Branch: REL_12_STABLE [b1de90699] 2021-09-13 12:42:03 -0400 1135Branch: REL_11_STABLE [bdd6ce48d] 2021-09-13 12:42:03 -0400 1136Branch: REL_10_STABLE [fe70ec907] 2021-09-13 12:42:04 -0400 1137Branch: REL9_6_STABLE [a460f7eb3] 2021-09-13 12:42:04 -0400 1138--> 1139 <para> 1140 Allow <literal>EXIT</literal> out of the outermost block in a 1141 PL/pgSQL routine (Tom Lane) 1142 </para> 1143 1144 <para> 1145 If the routine does not require an explicit <literal>RETURN</literal>, 1146 this usage should be valid, but it was rejected. 1147 </para> 1148 </listitem> 1149 1150 <listitem> 1151<!-- 1152Author: Tom Lane <tgl@sss.pgh.pa.us> 1153Branch: master [87ad49147] 2021-09-03 21:04:44 -0400 1154Branch: REL_14_STABLE Release: REL_14_0 [69d670e68] 2021-09-03 21:04:44 -0400 1155Branch: REL_13_STABLE [742b30cae] 2021-09-03 21:04:44 -0400 1156Branch: REL_12_STABLE [3b302eb1e] 2021-09-03 21:04:44 -0400 1157Branch: REL_11_STABLE [beb404d3b] 2021-09-03 21:04:44 -0400 1158Branch: REL_10_STABLE [6e2f45817] 2021-09-03 21:04:45 -0400 1159Branch: REL9_6_STABLE [9a070c658] 2021-09-03 21:04:45 -0400 1160--> 1161 <para> 1162 Remove <application>pg_ctl</application>'s hard-coded limits on the 1163 total length of generated commands (Phil Krylov) 1164 </para> 1165 1166 <para> 1167 For example, this removes a restriction on how many command-line 1168 options can be passed through to the postmaster. Individual path 1169 names that <application>pg_ctl</application> deals with, such as the 1170 postmaster executable's name or the data directory name, are still 1171 limited to <literal>MAXPGPATH</literal> bytes in most cases. 1172 </para> 1173 </listitem> 1174 1175 <listitem> 1176<!-- 1177Author: Tom Lane <tgl@sss.pgh.pa.us> 1178Branch: master [2acc84c6f] 2021-10-22 15:22:25 -0400 1179Branch: REL_14_STABLE [3ad2c2455] 2021-10-22 15:22:25 -0400 1180Branch: REL_13_STABLE [476006023] 2021-10-22 15:22:26 -0400 1181Branch: REL_12_STABLE [52b927a73] 2021-10-22 15:22:26 -0400 1182Branch: REL_11_STABLE [871dfe4b7] 2021-10-22 15:22:26 -0400 1183Branch: REL_10_STABLE [10f9faf6d] 2021-10-22 15:22:26 -0400 1184Branch: REL9_6_STABLE [b1df061f7] 2021-10-22 15:22:26 -0400 1185--> 1186 <para> 1187 Fix <application>pg_dump</application> to dump non-global default 1188 privileges correctly (Neil Chen, Masahiko Sawada) 1189 </para> 1190 1191 <para> 1192 If a global (unrestricted) <command>ALTER DEFAULT 1193 PRIVILEGES</command> command revoked some present-by-default 1194 privilege, for example <literal>EXECUTE</literal> for functions, and 1195 then a restricted <command>ALTER DEFAULT PRIVILEGES</command> 1196 command granted that privilege again for a selected role or 1197 schema, <application>pg_dump</application> failed to dump the 1198 restricted privilege grant correctly. 1199 </para> 1200 </listitem> 1201 1202 <listitem> 1203<!-- 1204Author: Tom Lane <tgl@sss.pgh.pa.us> 1205Branch: master [e2ff7d9a8] 2021-10-16 12:23:57 -0400 1206Branch: REL_14_STABLE [b5152e3ba] 2021-10-16 12:24:11 -0400 1207Branch: REL_13_STABLE [6a262ba8c] 2021-10-16 12:24:17 -0400 1208Branch: REL_12_STABLE [fd182a92a] 2021-10-16 12:24:24 -0400 1209Branch: REL_11_STABLE [ca7a4ce58] 2021-10-16 12:24:33 -0400 1210Branch: REL_10_STABLE [2e2a23283] 2021-10-16 12:24:40 -0400 1211--> 1212 <para> 1213 Make <application>pg_dump</application> acquire shared lock on 1214 partitioned tables that are to be dumped (Tom Lane) 1215 </para> 1216 1217 <para> 1218 This oversight was usually pretty harmless, since 1219 once <application>pg_dump</application> has locked any of the leaf 1220 partitions, that would suffice to prevent significant DDL on the 1221 partitioned table itself. However problems could ensue when dumping 1222 a childless partitioned table, since no relevant lock would be held. 1223 </para> 1224 </listitem> 1225 1226 <listitem> 1227<!-- 1228Author: Tom Lane <tgl@sss.pgh.pa.us> 1229Branch: master [bd3611db5] 2021-08-31 15:04:05 -0400 1230Branch: REL_14_STABLE Release: REL_14_0 [a20a9f26c] 2021-08-31 15:04:05 -0400 1231Branch: REL_13_STABLE [db11b4a3d] 2021-08-31 15:04:05 -0400 1232Branch: REL_12_STABLE [6b9667392] 2021-08-31 15:04:05 -0400 1233Branch: REL_11_STABLE [a60860ff3] 2021-08-31 15:04:05 -0400 1234Branch: REL_10_STABLE [ba8f1a0be] 2021-08-31 15:04:05 -0400 1235Branch: REL9_6_STABLE [dd3105286] 2021-08-31 15:04:05 -0400 1236Branch: master [6c450a861] 2021-08-31 13:53:49 -0400 1237Branch: REL_14_STABLE Release: REL_14_0 [9407dbbcb] 2021-08-31 13:53:49 -0400 1238Branch: REL_13_STABLE [904ce45bf] 2021-08-31 13:53:50 -0400 1239Branch: REL_12_STABLE [2f1ed9d98] 2021-08-31 13:53:50 -0400 1240Branch: REL_11_STABLE [c4b298ee1] 2021-08-31 13:53:51 -0400 1241Branch: REL_10_STABLE [0e7bdc722] 2021-08-31 13:53:51 -0400 1242Branch: REL9_6_STABLE [4645997c8] 2021-08-31 13:53:33 -0400 1243--> 1244 <para> 1245 Improve <application>pg_dump</application>'s performance by avoiding 1246 making per-table queries for RLS policies, and by avoiding repetitive 1247 calls to <function>format_type()</function> (Tom Lane) 1248 </para> 1249 1250 <para> 1251 These changes provide only marginal improvement when dumping from a 1252 local server, but a dump from a remote server can benefit 1253 substantially due to fewer network round-trips. 1254 </para> 1255 </listitem> 1256 1257 <listitem> 1258<!-- 1259Author: Tom Lane <tgl@sss.pgh.pa.us> 1260Branch: master [40dfac4fc] 2021-10-16 15:02:55 -0400 1261Branch: REL_14_STABLE [3e4c8db93] 2021-10-16 15:03:05 -0400 1262Branch: REL_13_STABLE [0b5f557b7] 2021-10-16 15:03:10 -0400 1263Branch: REL_12_STABLE [5b0b2983a] 2021-10-16 15:03:15 -0400 1264Branch: REL_11_STABLE [58955c84f] 2021-10-16 15:03:21 -0400 1265--> 1266 <para> 1267 Fix crash in <application>pg_dump</application> when attempting to 1268 dump trigger definitions from a pre-8.3 server (Tom Lane) 1269 </para> 1270 </listitem> 1271 1272 <listitem> 1273<!-- 1274Author: Daniel Gustafsson <dgustafsson@postgresql.org> 1275Branch: master [998d060f3] 2021-10-19 12:59:54 +0200 1276Branch: REL_14_STABLE [3e2f32b01] 2021-10-19 12:59:54 +0200 1277Branch: REL_13_STABLE [687fe8a9d] 2021-10-19 12:59:54 +0200 1278Branch: REL_12_STABLE [e788883de] 2021-10-19 12:59:54 +0200 1279Branch: REL_11_STABLE [038892c81] 2021-10-19 12:59:54 +0200 1280Branch: REL_10_STABLE [4fda03b67] 2021-10-19 12:59:54 +0200 1281Branch: REL9_6_STABLE [ef1f15819] 2021-10-19 12:59:54 +0200 1282--> 1283 <para> 1284 Fix incorrect filename in <application>pg_restore</application>'s 1285 error message about an invalid large object TOC file (Daniel 1286 Gustafsson) 1287 </para> 1288 </listitem> 1289 1290 <listitem> 1291<!-- 1292Author: Fujii Masao <fujii@postgresql.org> 1293Branch: master [d33674708] 2021-09-29 21:46:56 +0900 1294Branch: REL_14_STABLE [8021334d3] 2021-09-29 21:47:25 +0900 1295Branch: REL_13_STABLE [3cc85d7d5] 2021-09-29 21:47:31 +0900 1296Branch: master [2acb7cc6b] 2021-09-29 21:48:52 +0900 1297Branch: REL_14_STABLE [8231c500e] 2021-09-29 21:49:29 +0900 1298Branch: REL_13_STABLE [8cf4f7118] 2021-09-29 21:49:36 +0900 1299Branch: REL_12_STABLE [c5f7e702d] 2021-09-29 21:49:40 +0900 1300--> 1301 <para> 1302 Ensure that <application>pgbench</application> exits with non-zero 1303 status after a socket-level failure (Yugo Nagata, Fabien Coelho) 1304 </para> 1305 1306 <para> 1307 The desired behavior is to finish out the run but then exit with 1308 status 2. Also, fix the reporting of such errors. 1309 </para> 1310 </listitem> 1311 1312 <listitem> 1313<!-- 1314Author: Tom Lane <tgl@sss.pgh.pa.us> 1315Branch: master [a6bd28beb] 2021-08-10 18:10:29 -0400 1316Branch: REL_14_STABLE Release: REL_14_0 [a4957b5a7] 2021-08-10 18:10:30 -0400 1317Branch: REL_13_STABLE [7ba487cf9] 2021-08-10 18:10:30 -0400 1318Branch: REL_12_STABLE [cd7d9b6b6] 2021-08-10 18:10:30 -0400 1319Branch: REL_11_STABLE [eefa4c2b5] 2021-08-10 18:10:30 -0400 1320Branch: REL_10_STABLE [843d2879a] 2021-08-10 18:10:30 -0400 1321Branch: REL9_6_STABLE [5a9df5d50] 2021-08-10 18:10:30 -0400 1322--> 1323 <para> 1324 Fix failure of <filename>contrib/btree_gin</filename> indexes 1325 on <type>"char"</type> 1326 (not <type>char(<replaceable>n</replaceable>)</type>) columns, 1327 when an indexscan using the <literal><</literal> 1328 or <literal><=</literal> operator is performed (Tom Lane) 1329 </para> 1330 1331 <para> 1332 Such an indexscan failed to return all the entries it should. 1333 </para> 1334 </listitem> 1335 1336 <listitem> 1337<!-- 1338Author: Tom Lane <tgl@sss.pgh.pa.us> 1339Branch: master [a667b0668] 2021-10-31 19:13:48 -0400 1340Branch: REL_14_STABLE [7104e0b24] 2021-10-31 19:13:48 -0400 1341Branch: REL_13_STABLE [3a5b313ce] 2021-10-31 19:13:48 -0400 1342Branch: REL_12_STABLE [16d0da5c8] 2021-10-31 19:13:48 -0400 1343Branch: REL_11_STABLE [5dd067430] 2021-10-31 19:13:48 -0400 1344Branch: REL_10_STABLE [d87d5f8d8] 2021-10-31 19:13:48 -0400 1345Branch: REL9_6_STABLE [fdb60ca83] 2021-10-31 19:13:48 -0400 1346--> 1347 <para> 1348 Change <filename>contrib/pg_stat_statements</filename> to read 1349 its <quote>query texts</quote> file in units of at most 1GB 1350 (Tom Lane) 1351 </para> 1352 1353 <para> 1354 Such large query text files are very unusual, but if they do occur, 1355 the previous coding would fail on Windows 64 (which rejects 1356 individual read requests of more than 2GB). 1357 </para> 1358 </listitem> 1359 1360 <listitem> 1361<!-- 1362Author: Tom Lane <tgl@sss.pgh.pa.us> 1363Branch: master [3071bbfe4] 2021-10-06 15:50:24 -0400 1364Branch: REL_14_STABLE [12ff678e1] 2021-10-06 15:50:24 -0400 1365Branch: REL_13_STABLE [aee83f39a] 2021-10-06 15:50:24 -0400 1366Branch: REL_12_STABLE [228897374] 2021-10-06 15:50:24 -0400 1367Branch: REL_11_STABLE [88807757d] 2021-10-06 15:50:24 -0400 1368Branch: REL_10_STABLE [2e33fbda1] 2021-10-06 15:50:24 -0400 1369Branch: REL9_6_STABLE [36c9f7d96] 2021-10-06 15:50:24 -0400 1370--> 1371 <para> 1372 Fix null-pointer crash 1373 when <filename>contrib/postgres_fdw</filename> tries to report a 1374 data conversion error (Tom Lane) 1375 </para> 1376 </listitem> 1377 1378 <listitem> 1379<!-- 1380Author: Tom Lane <tgl@sss.pgh.pa.us> 1381Branch: master [c32fcac56] 2021-08-13 13:59:43 -0400 1382Branch: REL_14_STABLE Release: REL_14_0 [4ffbd55d9] 2021-08-13 13:59:44 -0400 1383Branch: REL_13_STABLE [48695decc] 2021-08-13 13:59:06 -0400 1384Branch: REL_12_STABLE [cdda2b247] 2021-08-13 13:59:13 -0400 1385Branch: REL_11_STABLE [8024ff478] 2021-08-13 13:59:18 -0400 1386Branch: REL_10_STABLE [7915a9515] 2021-08-13 13:59:25 -0400 1387Branch: REL9_6_STABLE [582a2affa] 2021-08-13 13:59:33 -0400 1388--> 1389 <para> 1390 Add spinlock support for the RISC-V architecture (Marek Szuba) 1391 </para> 1392 1393 <para> 1394 This is essential for reasonable performance on that platform. 1395 </para> 1396 </listitem> 1397 1398 <listitem> 1399<!-- 1400Author: Peter Eisentraut <peter@eisentraut.org> 1401Branch: master Release: REL_14_BR [22e1943f1] 2021-03-23 11:48:37 +0100 1402Branch: REL_13_STABLE [a69e1506f] 2021-09-25 11:25:48 +0200 1403Branch: REL_12_STABLE [90cfd269f] 2021-09-25 11:25:48 +0200 1404Branch: REL_11_STABLE [0f28d267c] 2021-09-25 11:25:48 +0200 1405Branch: REL_10_STABLE [841075a65] 2021-09-25 11:25:48 +0200 1406Author: Daniel Gustafsson <dgustafsson@postgresql.org> 1407Branch: master [318df8023] 2021-08-10 15:01:52 +0200 1408Branch: REL_14_STABLE Release: REL_14_0 [4fa2b15e1] 2021-09-25 11:27:20 +0200 1409Branch: REL_13_STABLE [135d8687a] 2021-09-25 11:27:20 +0200 1410Branch: REL_12_STABLE [00c72da4a] 2021-09-25 11:27:20 +0200 1411Branch: REL_11_STABLE [11901cd96] 2021-09-25 11:27:20 +0200 1412Branch: REL_10_STABLE [e802b594e] 2021-09-25 11:27:20 +0200 1413Author: Daniel Gustafsson <dgustafsson@postgresql.org> 1414Branch: master [72bbff4cd] 2021-08-10 15:08:46 +0200 1415Branch: REL_14_STABLE Release: REL_14_0 [6d0001aab] 2021-09-25 11:27:28 +0200 1416Branch: REL_13_STABLE [8e7199453] 2021-09-25 11:27:28 +0200 1417Branch: REL_12_STABLE [7b6ce36fb] 2021-09-25 11:27:28 +0200 1418Branch: REL_11_STABLE [19e91a40b] 2021-09-25 11:27:28 +0200 1419Branch: REL_10_STABLE [eb643536b] 2021-09-25 11:27:28 +0200 1420Author: Michael Paquier <michael@paquier.xyz> 1421Branch: master [41f30ecc2] 2021-10-20 16:48:24 +0900 1422Branch: REL_14_STABLE [81aefaea8] 2021-10-20 16:48:57 +0900 1423Branch: REL_13_STABLE [abb9ee92c] 2021-10-20 16:49:00 +0900 1424Branch: REL_12_STABLE [1539e0ecd] 2021-10-20 16:49:03 +0900 1425Branch: REL_11_STABLE [e00d45fea] 2021-10-20 16:49:06 +0900 1426Branch: REL_10_STABLE [922e3c3b7] 2021-10-20 16:49:10 +0900 1427Branch: REL9_6_STABLE [d581960df] 2021-10-20 16:49:14 +0900 1428--> 1429 <para> 1430 Support OpenSSL 3.0.0 1431 (Peter Eisentraut, Daniel Gustafsson, Michael Paquier) 1432 </para> 1433 </listitem> 1434 1435 <listitem> 1436<!-- 1437Author: Daniel Gustafsson <dgustafsson@postgresql.org> 1438Branch: master [31f860a52] 2021-08-17 14:30:01 +0200 1439Branch: REL_14_STABLE Release: REL_14_0 [b88377ad6] 2021-08-17 14:30:25 +0200 1440Branch: REL_13_STABLE [e15f32f0e] 2021-08-17 14:31:00 +0200 1441Branch: REL_12_STABLE [ed209db77] 2021-08-17 14:31:08 +0200 1442Branch: REL_11_STABLE [f1d5a94fc] 2021-08-17 14:30:39 +0200 1443Branch: REL_10_STABLE [ef7e24ff7] 2021-08-17 14:30:51 +0200 1444Branch: REL9_6_STABLE [0a88d4ece] 2021-08-17 14:31:22 +0200 1445--> 1446 <para> 1447 Set correct type identifier on OpenSSL BIO (I/O abstraction) 1448 objects created by <productname>PostgreSQL</productname> 1449 (Itamar Gafni) 1450 </para> 1451 1452 <para> 1453 This oversight probably only matters for code that is doing 1454 tasks like auditing the OpenSSL installation. But it's 1455 nominally a violation of the OpenSSL API, so fix it. 1456 </para> 1457 </listitem> 1458 1459 <listitem> 1460<!-- 1461Author: Peter Eisentraut <peter@eisentraut.org> 1462Branch: master [4c2eab3a0] 2021-09-03 10:52:11 +0200 1463Branch: master [55392bc5b] 2021-09-06 09:12:34 +0200 1464Branch: REL_14_STABLE Release: REL_14_0 [1e9afc868] 2021-09-06 09:41:03 +0200 1465Branch: REL_13_STABLE [9f9ae019d] 2021-09-06 09:43:05 +0200 1466Branch: REL_12_STABLE [60bf7e69b] 2021-09-06 09:43:18 +0200 1467--> 1468 <para> 1469 Fix our <filename>pkg-config</filename> files to again support static 1470 linking of <application>libpq</application> (Peter Eisentraut) 1471 </para> 1472 </listitem> 1473 1474 <listitem> 1475<!-- 1476Author: Tom Lane <tgl@sss.pgh.pa.us> 1477Branch: master [e757080e0] 2021-09-11 15:19:31 -0400 1478Branch: REL_14_STABLE Release: REL_14_0 [b33283cbd] 2021-09-11 15:19:43 -0400 1479Branch: REL_13_STABLE [7e420072e] 2021-09-11 15:19:49 -0400 1480Branch: REL_12_STABLE [3adde7eb6] 2021-09-11 15:19:54 -0400 1481Branch: REL_11_STABLE [3be381a90] 2021-09-11 15:19:58 -0400 1482Branch: REL_10_STABLE [daac97eb0] 2021-09-11 15:20:04 -0400 1483Branch: REL9_6_STABLE [ec89d7ace] 2021-09-11 15:20:12 -0400 1484--> 1485 <para> 1486 Make <function>pg_regexec()</function> robust against an 1487 out-of-range <replaceable>search_start</replaceable> parameter 1488 (Tom Lane) 1489 </para> 1490 1491 <para> 1492 Return <literal>REG_NOMATCH</literal>, instead of possibly crashing, 1493 when <replaceable>search_start</replaceable> is past the end of the 1494 string. This case is probably unreachable within 1495 core <productname>PostgreSQL</productname>, but extensions might be 1496 more careless about the parameter value. 1497 </para> 1498 </listitem> 1499 1500 <listitem> 1501<!-- 1502Author: Jeff Davis <jdavis@postgresql.org> 1503Branch: master [7821a0bf2] 2021-10-14 12:24:00 -0700 1504Branch: REL_14_STABLE [0b90f1c4c] 2021-10-14 12:24:22 -0700 1505Branch: REL_13_STABLE [20f785732] 2021-10-14 12:24:47 -0700 1506Branch: REL_12_STABLE [ab11f6e46] 2021-10-14 12:25:07 -0700 1507Branch: REL_11_STABLE [3f5d481ef] 2021-10-14 12:25:30 -0700 1508Branch: REL_10_STABLE [9364f64a2] 2021-10-14 12:25:48 -0700 1509Branch: REL9_6_STABLE [ae6abeb88] 2021-10-14 12:26:26 -0700 1510--> 1511 <para> 1512 Ensure that <function>GetSharedSecurityLabel()</function> can be 1513 used in a newly-started session that has not yet built its critical 1514 relation cache entries (Jeff Davis) 1515 </para> 1516 </listitem> 1517 1518 <listitem> 1519<!-- 1520Author: Tom Lane <tgl@sss.pgh.pa.us> 1521Branch: master [9b8d68cc6] 2021-10-02 16:05:42 -0400 1522Branch: REL_14_STABLE [fa8db4879] 2021-10-02 16:06:09 -0400 1523Branch: REL_13_STABLE [9c76689de] 2021-10-02 16:06:23 -0400 1524Branch: REL_12_STABLE [e5b25f19b] 2021-10-02 16:06:45 -0400 1525Branch: REL_11_STABLE [9cc919b51] 2021-10-02 16:06:55 -0400 1526Branch: REL_10_STABLE [e323630cd] 2021-10-02 16:07:16 -0400 1527Branch: REL9_6_STABLE [dbec5a2fe] 2021-10-02 16:07:37 -0400 1528Branch: master [ad740067a] 2021-10-02 16:05:10 -0400 1529Branch: REL_14_STABLE [81464999b] 2021-10-02 16:06:09 -0400 1530Branch: REL_13_STABLE [7ba8eb81f] 2021-10-02 16:06:23 -0400 1531Branch: REL_12_STABLE [4721e8aa6] 2021-10-02 16:06:45 -0400 1532Branch: REL_11_STABLE [bb6d42669] 2021-10-02 16:06:55 -0400 1533Branch: REL_10_STABLE [cb0799db0] 2021-10-02 16:07:16 -0400 1534Branch: REL9_6_STABLE [37cbe0f79] 2021-10-02 16:07:36 -0400 1535Branch: master [c1aa3b3c0] 2021-10-04 14:52:39 -0400 1536Branch: REL_14_STABLE [919c08d90] 2021-10-04 14:52:17 -0400 1537Branch: REL_13_STABLE [c53ff69e1] 2021-10-04 14:52:17 -0400 1538Branch: REL_12_STABLE [07873a5dc] 2021-10-04 14:52:17 -0400 1539Branch: REL_11_STABLE [d0b0b70dc] 2021-10-04 14:52:17 -0400 1540Branch: REL_10_STABLE [cd2479142] 2021-10-04 14:52:17 -0400 1541Branch: REL9_6_STABLE [b5f34ae08] 2021-10-04 14:52:17 -0400 1542--> 1543 <para> 1544 Use the CLDR project's data to map Windows time zone names to IANA 1545 time zones (Tom Lane) 1546 </para> 1547 1548 <para> 1549 When running on Windows, <application>initdb</application> attempts 1550 to set the new cluster's <varname>timezone</varname> parameter to 1551 the IANA time zone matching the system's prevailing time zone. 1552 We were using a mapping table that we'd generated years ago and 1553 updated only fitfully; unsurprisingly, it contained a number of 1554 errors as well as omissions of recently-added zones. It turns out 1555 that CLDR has been tracking the most appropriate mappings, so start 1556 using their data. This change will not affect any existing 1557 installation, only newly-initialized clusters. 1558 </para> 1559 </listitem> 1560 1561 <listitem> 1562<!-- 1563Author: Tom Lane <tgl@sss.pgh.pa.us> 1564Branch: master [937aafd6d] 2021-10-29 11:38:18 -0400 1565Branch: REL_14_STABLE [0c8a40b39] 2021-10-29 11:38:32 -0400 1566Branch: REL_13_STABLE [4cd72add0] 2021-10-29 11:38:38 -0400 1567Branch: REL_12_STABLE [14b8d25d6] 2021-10-29 11:38:47 -0400 1568Branch: REL_11_STABLE [91455f7c6] 2021-10-29 11:38:53 -0400 1569Branch: REL_10_STABLE [d0fe211ce] 2021-10-29 11:38:58 -0400 1570Branch: REL9_6_STABLE [22a498b9b] 2021-10-29 11:39:05 -0400 1571--> 1572 <para> 1573 Update time zone data files to <application>tzdata</application> 1574 release 2021e for DST law changes in Fiji, Jordan, Palestine, and 1575 Samoa, plus historical corrections for Barbados, Cook Islands, 1576 Guyana, Niue, Portugal, and Tonga. 1577 </para> 1578 1579 <para> 1580 Also, the Pacific/Enderbury zone has been renamed to Pacific/Kanton. 1581 Also, the following zones have been merged into nearby, more-populous 1582 zones whose clocks have agreed with them since 1970: Africa/Accra, 1583 America/Atikokan, America/Blanc-Sablon, America/Creston, 1584 America/Curacao, America/Nassau, America/Port_of_Spain, 1585 Antarctica/DumontDUrville, and Antarctica/Syowa. 1586 In all these cases, the previous zone name remains as an alias. 1587 </para> 1588 </listitem> 1589 1590 </itemizedlist> 1591 1592 </sect2> 1593 </sect1> 1594 1595 <sect1 id="release-12-8"> 1596 <title>Release 12.8</title> 1597 1598 <formalpara> 1599 <title>Release date:</title> 1600 <para>2021-08-12</para> 1601 </formalpara> 1602 1603 <para> 1604 This release contains a variety of fixes from 12.7. 1605 For information about new features in major release 12, see 1606 <xref linkend="release-12"/>. 1607 </para> 1608 1609 <sect2> 1610 <title>Migration to Version 12.8</title> 1611 1612 <para> 1613 A dump/restore is not required for those running 12.X. 1614 </para> 1615 1616 <para> 1617 However, if you are upgrading from a version earlier than 12.6, 1618 see <xref linkend="release-12-6"/>. 1619 </para> 1620 </sect2> 1621 1622 <sect2> 1623 <title>Changes</title> 1624 1625 <itemizedlist> 1626 1627 <listitem> 1628<!-- 1629Author: Tom Lane <tgl@sss.pgh.pa.us> 1630Branch: master Release: REL_14_BR [6ee41a301] 2021-05-31 12:03:00 -0400 1631Branch: REL_13_STABLE [fe6f63286] 2021-05-31 12:03:00 -0400 1632Branch: REL_12_STABLE [6f9e7f21f] 2021-05-31 12:03:00 -0400 1633Branch: REL_11_STABLE [fe194f731] 2021-05-31 12:03:00 -0400 1634--> 1635 <para> 1636 Fix mis-planning of repeated application of a projection step 1637 (Tom Lane) 1638 </para> 1639 1640 <para> 1641 The planner could create an incorrect plan in cases where two 1642 ProjectionPaths were stacked on top of each other. The only known 1643 way to trigger that situation involves parallel sort operations, but 1644 there may be other instances. The result would be crashes or 1645 incorrect query results. 1646 Disclosure of server memory contents is also possible. 1647 (CVE-2021-3677) 1648 </para> 1649 </listitem> 1650 1651 <listitem> 1652<!-- 1653Author: Michael Paquier <michael@paquier.xyz> 1654Branch: master Release: REL_14_BR [01e6f1a84] 2021-05-25 10:10:09 +0900 1655Branch: REL_13_STABLE [a23c0b00f] 2021-05-25 10:11:13 +0900 1656Branch: REL_12_STABLE [3f8072be8] 2021-05-25 10:11:17 +0900 1657Branch: REL_11_STABLE [96918b76f] 2021-05-25 10:11:21 +0900 1658Branch: REL_10_STABLE [c64b5d10d] 2021-05-25 10:11:26 +0900 1659Branch: REL9_6_STABLE [7777df34d] 2021-05-25 10:11:33 +0900 1660--> 1661 <para> 1662 Disallow SSL renegotiation more completely (Michael Paquier) 1663 </para> 1664 1665 <para> 1666 SSL renegotiation has been disabled for some time, but the server 1667 would still cooperate with a client-initiated renegotiation request. 1668 A maliciously crafted renegotiation request could result in a server 1669 crash (see OpenSSL issue CVE-2021-3449). Disable the feature 1670 altogether on OpenSSL versions that permit doing so, which are 1671 1.1.0h and newer. 1672 </para> 1673 </listitem> 1674 1675 <listitem> 1676<!-- 1677Author: Tom Lane <tgl@sss.pgh.pa.us> 1678Branch: master Release: REL_14_BR [84f5c2908] 2021-05-21 14:03:59 -0400 1679Branch: REL_13_STABLE [d18ee6f92] 2021-05-21 14:03:53 -0400 1680Branch: REL_12_STABLE [41c6a5bec] 2021-05-21 14:03:53 -0400 1681Branch: REL_11_STABLE [ef9480509] 2021-05-21 14:03:53 -0400 1682Branch: master Release: REL_14_BR [3a09d75b4] 2021-06-10 12:27:27 -0400 1683Branch: REL_13_STABLE [6e43f1c2d] 2021-06-10 12:27:27 -0400 1684Branch: REL_12_STABLE [26383da7d] 2021-06-10 12:27:27 -0400 1685Branch: REL_11_STABLE [eea081ad0] 2021-06-10 12:27:27 -0400 1686Branch: master Release: REL_14_BR [d102aafb6] 2021-06-22 17:48:39 -0400 1687Branch: REL_13_STABLE [6f1321d5a] 2021-06-22 17:48:39 -0400 1688Branch: REL_12_STABLE [29d5d5761] 2021-06-22 17:48:39 -0400 1689Branch: REL_11_STABLE [77200c569] 2021-06-22 17:48:39 -0400 1690Branch: master [ef12f32c0] 2021-07-31 11:50:14 -0400 1691Branch: REL_14_STABLE [ec410c985] 2021-07-31 11:50:14 -0400 1692Branch: REL_13_STABLE [93f99693f] 2021-07-31 11:50:14 -0400 1693Branch: REL_12_STABLE [f26043645] 2021-07-31 11:50:14 -0400 1694Branch: REL_11_STABLE [cefb1230e] 2021-07-31 11:50:14 -0400 1695Branch: master Release: REL_14_BR [f21fadafa] 2021-05-20 18:32:37 -0400 1696Branch: REL_13_STABLE [c64183f23] 2021-05-20 18:32:37 -0400 1697Branch: REL_12_STABLE [8d341d6cb] 2021-05-20 18:32:37 -0400 1698Branch: REL_11_STABLE [0c1b2cb17] 2021-05-20 18:32:37 -0400 1699--> 1700 <para> 1701 Restore the Portal-level snapshot after <command>COMMIT</command> 1702 or <command>ROLLBACK</command> within a procedure (Tom Lane) 1703 </para> 1704 1705 <para> 1706 This change fixes cases where an attempt to fetch a toasted value 1707 immediately after <command>COMMIT</command>/<command>ROLLBACK</command> 1708 would fail with errors like <quote>no known snapshots</quote> or 1709 <quote>missing chunk number 0 for toast value</quote>. 1710 </para> 1711 1712 <para> 1713 Some extensions may attempt to execute SQL code outside of any 1714 Portal. They are responsible for ensuring that an outer snapshot 1715 exists before doing so. Previously, not providing a snapshot might 1716 work or it might not; now it will consistently fail 1717 with <quote>cannot execute SQL without an outer snapshot or 1718 portal</quote>. 1719 </para> 1720 </listitem> 1721 1722 <listitem> 1723<!-- 1724Author: Tom Lane <tgl@sss.pgh.pa.us> 1725Branch: master Release: REL_14_BR [ba2c6d6ce] 2021-06-08 17:50:29 -0400 1726Branch: REL_13_STABLE [c1fd756fd] 2021-06-08 17:50:15 -0400 1727Branch: REL_12_STABLE [c3b508268] 2021-06-08 17:50:15 -0400 1728Branch: REL_11_STABLE [2757865fa] 2021-06-08 17:50:15 -0400 1729Branch: master Release: REL_14_BR [be9009890] 2021-06-08 18:40:06 -0400 1730Branch: REL_13_STABLE [c5b281841] 2021-06-08 18:40:06 -0400 1731Branch: REL_12_STABLE [182323300] 2021-06-08 18:40:06 -0400 1732Branch: REL_11_STABLE [5b7bf9f72] 2021-06-08 18:40:06 -0400 1733--> 1734 <para> 1735 Avoid misbehavior when persisting the output of a cursor that's 1736 reading a non-stable query (Tom Lane) 1737 </para> 1738 1739 <para> 1740 Previously, we'd always rewind and re-read the whole query result, 1741 possibly getting results different from the earlier execution, 1742 causing great confusion later. For a NO SCROLL cursor, we can fix 1743 this by only storing the not-yet-read portion of the query output, 1744 which is sufficient since a NO SCROLL cursor can't be backed up. 1745 Cursors with the SCROLL option remain at hazard, but that was 1746 already documented to be an unsafe option to use with a non-stable 1747 query. Make those documentation warnings stronger. 1748 </para> 1749 1750 <para> 1751 Also force NO SCROLL mode for the implicit cursor used by 1752 a <application>PL/pgSQL</application> FOR-over-query loop, 1753 to avoid this type of problem when persisting such a cursor 1754 during an intra-procedure commit. 1755 </para> 1756 </listitem> 1757 1758 <listitem> 1759<!-- 1760Author: Tom Lane <tgl@sss.pgh.pa.us> 1761Branch: master Release: REL_14_BR [1103033ae] 2021-06-01 11:12:56 -0400 1762Branch: REL_13_STABLE [e5b0fffa1] 2021-06-01 11:12:56 -0400 1763Branch: REL_12_STABLE [762fe98b1] 2021-06-01 11:12:56 -0400 1764Branch: REL_11_STABLE [dc272157a] 2021-06-01 11:12:56 -0400 1765Branch: REL_10_STABLE [39862dde4] 2021-06-01 11:12:56 -0400 1766Branch: REL9_6_STABLE [3eca18522] 2021-06-01 11:12:56 -0400 1767--> 1768 <para> 1769 Reject <literal>SELECT ... GROUP BY GROUPING SETS (()) FOR 1770 UPDATE</literal> (Tom Lane) 1771 </para> 1772 1773 <para> 1774 This should be disallowed, just as <literal>FOR UPDATE</literal> 1775 with a plain <literal>GROUP BY</literal> is disallowed, but the test 1776 for that failed to handle empty grouping sets correctly. 1777 The end result would be a null-pointer dereference in the executor. 1778 </para> 1779 </listitem> 1780 1781 <listitem> 1782<!-- 1783Author: Tom Lane <tgl@sss.pgh.pa.us> 1784Branch: master [a9da1934e] 2021-07-09 11:02:26 -0400 1785Branch: REL_14_STABLE [39b6e85f1] 2021-07-09 11:02:26 -0400 1786Branch: REL_13_STABLE [6edccac16] 2021-07-09 11:02:26 -0400 1787Branch: REL_12_STABLE [9c729bd30] 2021-07-09 11:02:26 -0400 1788Branch: REL_11_STABLE [158594f99] 2021-07-09 11:02:26 -0400 1789Branch: REL_10_STABLE [51df19a05] 2021-07-09 11:02:26 -0400 1790Branch: REL9_6_STABLE [f0271cb15] 2021-07-09 11:02:26 -0400 1791--> 1792 <para> 1793 Reject cases where a query in <literal>WITH</literal> 1794 rewrites to just <command>NOTIFY</command> (Tom Lane) 1795 </para> 1796 1797 <para> 1798 Such cases previously crashed. 1799 </para> 1800 </listitem> 1801 1802 <listitem> 1803<!-- 1804Author: Dean Rasheed <dean.a.rasheed@gmail.com> 1805Branch: master [e7fc488ad] 2021-07-10 12:42:59 +0100 1806Branch: REL_14_STABLE [06883d58f] 2021-07-10 12:45:00 +0100 1807Branch: REL_13_STABLE [f23a9b8a4] 2021-07-10 12:46:13 +0100 1808Branch: REL_12_STABLE [357b66ef9] 2021-07-10 12:47:45 +0100 1809Branch: REL_11_STABLE [5763ef42c] 2021-07-10 12:48:59 +0100 1810Branch: REL_10_STABLE [54a0ec1bd] 2021-07-10 12:50:05 +0100 1811Branch: REL9_6_STABLE [f8abf6944] 2021-07-10 12:51:22 +0100 1812--> 1813 <para> 1814 In <type>numeric</type> multiplication, round the result rather than 1815 failing if it would have more than 16383 digits after the decimal 1816 point (Dean Rasheed) 1817 </para> 1818 </listitem> 1819 1820 <listitem> 1821<!-- 1822Author: Dean Rasheed <dean.a.rasheed@gmail.com> 1823Branch: master [4dd5ce2fd] 2021-07-31 11:21:44 +0100 1824Branch: REL_14_STABLE [0d6b87497] 2021-07-31 11:23:48 +0100 1825Branch: REL_13_STABLE [053ec4e0c] 2021-07-31 11:25:39 +0100 1826Branch: REL_12_STABLE [5c62920fa] 2021-07-31 11:27:02 +0100 1827Branch: REL_11_STABLE [dcd0ab672] 2021-07-31 11:28:10 +0100 1828Branch: REL_10_STABLE [39b0bda67] 2021-07-31 11:29:50 +0100 1829Branch: REL9_6_STABLE [5cf350ce0] 2021-07-31 11:31:18 +0100 1830Branch: REL_11_STABLE [434ddfb79] 2021-08-05 22:24:28 +0100 1831Branch: master [2642df9fa] 2021-08-06 21:29:15 +0100 1832Branch: REL_14_STABLE [032556570] 2021-08-06 21:30:25 +0100 1833Branch: REL_13_STABLE [da188b993] 2021-08-06 21:31:20 +0100 1834Branch: REL_12_STABLE [cc4420f88] 2021-08-06 21:31:58 +0100 1835Branch: REL_11_STABLE [7a9c9acfe] 2021-08-06 21:32:46 +0100 1836Branch: REL_10_STABLE [f20b6bc96] 2021-08-06 21:33:25 +0100 1837Branch: REL9_6_STABLE [5b7b92ad7] 2021-08-06 21:34:04 +0100 1838--> 1839 <para> 1840 Fix corner-case errors and loss of precision when 1841 raising <type>numeric</type> values to very large powers 1842 (Dean Rasheed) 1843 </para> 1844 </listitem> 1845 1846 <listitem> 1847<!-- 1848Author: Dean Rasheed <dean.a.rasheed@gmail.com> 1849Branch: master [226ec49ff] 2021-08-05 09:24:11 +0100 1850Branch: REL_14_STABLE [ecbdbdfd9] 2021-08-05 09:27:35 +0100 1851Branch: REL_13_STABLE [a72ad6315] 2021-08-05 09:29:13 +0100 1852Branch: REL_12_STABLE [43644bd3b] 2021-08-05 09:30:37 +0100 1853Branch: REL_11_STABLE [4851940a5] 2021-08-05 09:32:03 +0100 1854Branch: REL_10_STABLE [661558bc3] 2021-08-05 09:33:55 +0100 1855Branch: REL9_6_STABLE [ed3e1663c] 2021-08-05 09:35:46 +0100 1856--> 1857 <para> 1858 Fix division-by-zero failure in <function>to_char()</function> 1859 with <literal>EEEE</literal> format and a <type>numeric</type> input 1860 value less than 10^(-1001) (Dean Rasheed) 1861 </para> 1862 </listitem> 1863 1864 <listitem> 1865<!-- 1866Author: David Rowley <drowley@postgresql.org> 1867Branch: master [55fe60938] 2021-07-09 14:04:30 +1200 1868Branch: REL_14_STABLE [6de3a21bb] 2021-07-09 14:04:40 +1200 1869Branch: REL_13_STABLE [6f88b68ff] 2021-07-09 14:04:49 +1200 1870Branch: REL_12_STABLE [efc42a1e1] 2021-07-09 14:04:56 +1200 1871Branch: REL_11_STABLE [45bad6a39] 2021-07-09 14:05:05 +1200 1872Branch: REL_10_STABLE [1efcd5720] 2021-07-09 14:05:15 +1200 1873Branch: REL9_6_STABLE [674ee3b76] 2021-07-09 14:05:24 +1200 1874Branch: REL_13_STABLE [87103002c] 2021-07-09 15:12:31 +1200 1875Branch: REL_12_STABLE [b18621139] 2021-07-09 15:13:01 +1200 1876Branch: REL_11_STABLE [137af4f27] 2021-07-09 15:13:29 +1200 1877Branch: REL_10_STABLE [dd76aa54a] 2021-07-09 15:14:01 +1200 1878Branch: REL9_6_STABLE [3e474a708] 2021-07-09 15:14:26 +1200 1879--> 1880 <para> 1881 Fix <function>pg_size_pretty(bigint)</function> to round negative 1882 values consistently with the way it rounds positive ones (and 1883 consistently with the <type>numeric</type> version) (Dean Rasheed, 1884 David Rowley) 1885 </para> 1886 </listitem> 1887 1888 <listitem> 1889<!-- 1890Author: Tom Lane <tgl@sss.pgh.pa.us> 1891Branch: master Release: REL_14_BR [1250aad42] 2021-06-12 13:29:24 -0400 1892Branch: REL_13_STABLE [f479ea94b] 2021-06-12 13:29:24 -0400 1893Branch: REL_12_STABLE [7681b78fb] 2021-06-12 13:29:24 -0400 1894Branch: REL_11_STABLE [25d1ef1aa] 2021-06-12 13:29:24 -0400 1895Branch: REL_10_STABLE [26a053533] 2021-06-12 13:29:24 -0400 1896Branch: REL9_6_STABLE [c1ffbbcbc] 2021-06-12 13:29:24 -0400 1897--> 1898 <para> 1899 Make <literal>pg_filenode_relation(0, 0)</literal> return NULL 1900 rather than failing (Justin Pryzby) 1901 </para> 1902 </listitem> 1903 1904 <listitem> 1905<!-- 1906Author: Tom Lane <tgl@sss.pgh.pa.us> 1907Branch: master [626731db2] 2021-07-11 12:54:24 -0400 1908Branch: REL_14_STABLE [69dfc36fd] 2021-07-11 12:54:24 -0400 1909Branch: REL_13_STABLE [1c612bc98] 2021-07-11 12:54:24 -0400 1910Branch: REL_12_STABLE [92340ba5a] 2021-07-11 12:54:24 -0400 1911Branch: REL_11_STABLE [6bd9ae173] 2021-07-11 12:54:24 -0400 1912Branch: REL_10_STABLE [1d49c8887] 2021-07-11 12:54:24 -0400 1913Branch: REL9_6_STABLE [734be249d] 2021-07-11 12:54:24 -0400 1914--> 1915 <para> 1916 Make <command>ALTER EXTENSION</command> lock the extension when 1917 adding or removing a member object (Tom Lane) 1918 </para> 1919 1920 <para> 1921 The previous coding allowed <command>ALTER EXTENSION 1922 ADD/DROP</command> to occur concurrently with <command>DROP 1923 EXTENSION</command>, leading to a crash or corrupt catalog entries. 1924 </para> 1925 </listitem> 1926 1927 <listitem> 1928<!-- 1929Author: Amit Kapila <akapila@postgresql.org> 1930Branch: master [29abde637] 2021-07-19 10:36:15 +0530 1931Branch: REL_14_STABLE [40295d158] 2021-07-19 10:54:21 +0530 1932Branch: REL_13_STABLE [bfa2a926d] 2021-07-19 11:04:21 +0530 1933Branch: REL_12_STABLE [f2f459f18] 2021-07-19 11:15:03 +0530 1934Branch: REL_11_STABLE [eb158e74a] 2021-07-19 11:23:35 +0530 1935Branch: REL_10_STABLE [22fd784af] 2021-07-19 11:32:08 +0530 1936--> 1937 <para> 1938 Fix <command>ALTER SUBSCRIPTION</command> to reject an empty slot 1939 name (Japin Li) 1940 </para> 1941 </listitem> 1942 1943 <listitem> 1944<!-- 1945Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 1946Branch: master [df80fa2ee] 2021-07-16 13:01:43 -0400 1947Branch: REL_14_STABLE [eef92de11] 2021-07-16 13:01:43 -0400 1948Branch: REL_13_STABLE [c31516ae5] 2021-07-16 13:01:43 -0400 1949Branch: REL_12_STABLE [7584ec1f6] 2021-07-16 13:01:43 -0400 1950Branch: REL_11_STABLE [fed35bd4a] 2021-07-16 13:01:43 -0400 1951--> 1952 <para> 1953 When cloning a partitioned table's triggers to a new partition, 1954 ensure that their enabled status is copied 1955 (Álvaro Herrera) 1956 </para> 1957 </listitem> 1958 1959 <listitem> 1960<!-- 1961Author: Tom Lane <tgl@sss.pgh.pa.us> 1962Branch: master [9179a82d7] 2021-08-07 13:29:32 -0400 1963Branch: REL_14_STABLE [2c915905e] 2021-08-07 13:29:32 -0400 1964Branch: REL_13_STABLE [ba9f665a4] 2021-08-07 13:29:32 -0400 1965Branch: REL_12_STABLE [1ff1e4a60] 2021-08-07 13:29:32 -0400 1966Branch: REL_11_STABLE [d33fc4110] 2021-08-07 13:29:32 -0400 1967Branch: REL_10_STABLE [ac818984a] 2021-08-07 13:29:32 -0400 1968Branch: REL9_6_STABLE [c08b3a9eb] 2021-08-07 13:29:32 -0400 1969Author: Michael Paquier <michael@paquier.xyz> 1970Branch: master Release: REL_14_BR [187682c32] 2021-06-03 15:28:24 +0900 1971Branch: REL_13_STABLE [75d66d10e] 2021-06-03 15:28:37 +0900 1972Branch: REL_12_STABLE [4ceaa760b] 2021-06-03 15:28:41 +0900 1973Branch: REL_11_STABLE [dbc9dbba5] 2021-06-03 15:28:45 +0900 1974Branch: REL_10_STABLE [20f70f558] 2021-06-03 15:28:53 +0900 1975Branch: REL9_6_STABLE [d9525c46c] 2021-06-03 15:29:01 +0900 1976--> 1977 <para> 1978 Avoid alias conflicts in queries generated 1979 for <command>REFRESH MATERIALIZED VIEW CONCURRENTLY</command> 1980 (Tom Lane, Bharath Rupireddy) 1981 </para> 1982 1983 <para> 1984 This command failed on materialized views containing columns with 1985 certain names, notably <structfield>mv</structfield> 1986 and <structfield>newdata</structfield>. 1987 </para> 1988 </listitem> 1989 1990 <listitem> 1991<!-- 1992Author: Tom Lane <tgl@sss.pgh.pa.us> 1993Branch: master [6310809c4] 2021-07-24 18:35:52 -0400 1994Branch: REL_14_STABLE [712ba6b8b] 2021-07-24 18:35:52 -0400 1995Branch: REL_13_STABLE [f47408cdc] 2021-07-24 18:35:52 -0400 1996Branch: REL_12_STABLE [899785b4f] 2021-07-24 18:35:52 -0400 1997Branch: REL_11_STABLE [7b2262a21] 2021-07-24 18:35:52 -0400 1998Branch: REL_10_STABLE [654372169] 2021-07-24 18:35:52 -0400 1999Branch: REL9_6_STABLE [1861390e6] 2021-07-24 18:35:52 -0400 2000--> 2001 <para> 2002 Fix <command>PREPARE TRANSACTION</command> to check correctly 2003 for conflicting session-lifespan and transaction-lifespan locks 2004 (Tom Lane) 2005 </para> 2006 2007 <para> 2008 A transaction cannot be prepared if it has both session-lifespan and 2009 transaction-lifespan locks on the same advisory-lock ID value. This 2010 restriction was not fully checked, which could lead to a PANIC 2011 during <command>PREPARE TRANSACTION</command>. 2012 </para> 2013 </listitem> 2014 2015 <listitem> 2016<!-- 2017Author: Tom Lane <tgl@sss.pgh.pa.us> 2018Branch: master Release: REL_14_BR [d21fca084] 2021-06-18 18:00:09 -0400 2019Branch: REL_13_STABLE [33af10c59] 2021-06-18 18:00:09 -0400 2020Branch: REL_12_STABLE [c58a41605] 2021-06-18 18:00:09 -0400 2021Branch: REL_11_STABLE [ea5ae3ae1] 2021-06-18 18:00:09 -0400 2022Branch: REL_10_STABLE [b7e3a4407] 2021-06-18 18:00:09 -0400 2023Branch: REL9_6_STABLE [0b29b41e5] 2021-06-18 18:00:09 -0400 2024--> 2025 <para> 2026 Fix misbehavior of <command>DROP OWNED BY</command> when the target 2027 role is listed more than once in an RLS policy (Tom Lane) 2028 </para> 2029 </listitem> 2030 2031 <listitem> 2032<!-- 2033Author: Tom Lane <tgl@sss.pgh.pa.us> 2034Branch: master Release: REL_14_BR [5a0f1c8c0] 2021-06-25 13:59:38 -0400 2035Branch: REL_13_STABLE [ba815f00a] 2021-06-25 13:59:38 -0400 2036Branch: REL_12_STABLE [f851696a2] 2021-06-25 13:59:38 -0400 2037Branch: REL_11_STABLE [fea89d64e] 2021-06-25 13:59:38 -0400 2038Branch: REL_10_STABLE [f5b780c45] 2021-06-25 13:59:38 -0400 2039Branch: REL9_6_STABLE [9c7a150ae] 2021-06-25 13:59:38 -0400 2040--> 2041 <para> 2042 Skip unnecessary error tests when removing a role from an RLS policy 2043 during <command>DROP OWNED BY</command> (Tom Lane) 2044 </para> 2045 2046 <para> 2047 Notably, this fixes some cases where it was necessary to be a 2048 superuser to use <command>DROP OWNED BY</command>. 2049 </para> 2050 </listitem> 2051 2052 <listitem> 2053<!-- 2054Author: Tom Lane <tgl@sss.pgh.pa.us> 2055Branch: master Release: REL_14_BR [4b1007445] 2021-05-21 15:12:08 -0400 2056Branch: REL_13_STABLE [849c7971d] 2021-05-21 15:12:19 -0400 2057Branch: REL_12_STABLE [61feb8670] 2021-05-21 15:12:37 -0400 2058--> 2059 <para> 2060 Disallow whole-row variables in <literal>GENERATED</literal> 2061 expressions (Tom Lane) 2062 </para> 2063 2064 <para> 2065 Use of a whole-row variable clearly violates the rule that a 2066 generated column cannot depend on itself, so such cases have no 2067 well-defined behavior. The actual behavior frequently included a 2068 crash. 2069 </para> 2070 </listitem> 2071 2072 <listitem> 2073<!-- 2074Author: Tom Lane <tgl@sss.pgh.pa.us> 2075Branch: master Release: REL_14_BR [2b0ee126b] 2021-05-21 15:02:06 -0400 2076Branch: REL_13_STABLE [77e3204ec] 2021-05-21 15:02:07 -0400 2077Branch: REL_12_STABLE [dfe51ffbe] 2021-05-21 15:02:07 -0400 2078--> 2079 <para> 2080 Fix usage of <structfield>tableoid</structfield> 2081 in <literal>GENERATED</literal> expressions (Tom Lane) 2082 </para> 2083 2084 <para> 2085 Some code paths failed to provide a valid value for this system 2086 column while evaluating a <literal>GENERATED</literal> expression. 2087 </para> 2088 </listitem> 2089 2090 <listitem> 2091<!-- 2092Author: Andrew Dunstan <andrew@dunslane.net> 2093Branch: master Release: REL_14_BR [0a4efdc7e] 2021-06-18 06:51:12 -0400 2094Branch: REL_13_STABLE [5b6b5e5ee] 2021-06-18 07:44:58 -0400 2095Branch: REL_12_STABLE [6432bfe8a] 2021-06-18 07:46:21 -0400 2096Branch: REL_11_STABLE [306c31804] 2021-06-18 07:53:08 -0400 2097Branch: REL_11_STABLE [0d3b69ae0] 2021-06-18 11:45:45 -0400 2098--> 2099 <para> 2100 Don't store a <quote>fast default</quote> when adding a column to a 2101 foreign table (Andrew Dunstan) 2102 </para> 2103 2104 <para> 2105 The fast default is useless since no local heap storage exists for 2106 such a table, but it confused subsequent operations. In addition to 2107 suppressing creation of such catalog entries in <command>ALTER 2108 TABLE</command> commands, adjust the downstream code to cope 2109 when one is incorrectly present. 2110 </para> 2111 </listitem> 2112 2113 <listitem> 2114<!-- 2115Author: Michael Paquier <michael@paquier.xyz> 2116Branch: master Release: REL_14_BR [83158f74d] 2020-09-14 13:56:41 +0900 2117Branch: REL_13_STABLE [acb60edf0] 2021-06-28 10:39:09 +0900 2118Branch: REL_12_STABLE [e52f7cbec] 2021-06-28 10:43:01 +0900 2119Branch: REL_11_STABLE [08acba558] 2021-06-28 10:43:04 +0900 2120Branch: REL_10_STABLE [3c465883b] 2021-06-28 10:43:08 +0900 2121Branch: REL9_6_STABLE [d3d0cbeb6] 2021-06-28 10:43:13 +0900 2122Branch: master Release: REL_14_BR [09a69f6e2] 2021-06-28 11:17:05 +0900 2123Branch: REL_13_STABLE [fd7bc10ab] 2021-06-28 11:17:12 +0900 2124Branch: REL_12_STABLE [ce8949c4b] 2021-06-28 11:17:16 +0900 2125Branch: REL_11_STABLE [38ca11ade] 2021-06-28 11:17:20 +0900 2126Branch: REL_10_STABLE [5160d5bb1] 2021-06-28 11:17:25 +0900 2127Branch: REL9_6_STABLE [21257a8f6] 2021-06-28 11:17:30 +0900 2128--> 2129 <para> 2130 Allow index state flags to be updated transactionally 2131 (Michael Paquier, Andrey Lepikhov) 2132 </para> 2133 2134 <para> 2135 This avoids failures when dealing with index predicates that aren't 2136 really immutable. While that's not considered a supported case, the 2137 original reason for using a non-transactional update here is long 2138 gone, so we may as well change it. 2139 </para> 2140 </listitem> 2141 2142 <listitem> 2143<!-- 2144Author: Tom Lane <tgl@sss.pgh.pa.us> 2145Branch: REL_13_STABLE [102f31a20] 2021-06-18 12:09:22 -0400 2146Branch: REL_12_STABLE [b2c740c42] 2021-06-18 12:09:22 -0400 2147Branch: REL_11_STABLE [4b8b3562e] 2021-06-18 12:09:22 -0400 2148Branch: REL_10_STABLE [f172438ef] 2021-06-18 12:09:22 -0400 2149Branch: REL9_6_STABLE [1a3d30255] 2021-06-18 12:09:22 -0400 2150--> 2151 <para> 2152 Avoid corrupting the plan cache entry when <command>CREATE 2153 DOMAIN</command> or <command>ALTER DOMAIN</command> appears 2154 in a cached plan (Tom Lane) 2155 </para> 2156 </listitem> 2157 2158 <listitem> 2159<!-- 2160Author: Tom Lane <tgl@sss.pgh.pa.us> 2161Branch: master Release: REL_14_BR [f560209c6] 2020-09-14 12:35:00 -0400 2162Branch: REL_13_STABLE [4a20de9d9] 2021-06-25 10:46:10 -0400 2163Branch: REL_12_STABLE [04a476057] 2021-06-25 10:46:10 -0400 2164Branch: REL_11_STABLE [c39983600] 2021-06-25 10:46:10 -0400 2165Branch: REL_10_STABLE [4040139f2] 2021-06-25 10:46:10 -0400 2166--> 2167 <para> 2168 Make walsenders show their latest replication commands 2169 in <structname>pg_stat_activity</structname> (Tom Lane) 2170 </para> 2171 2172 <para> 2173 Previously, a walsender would show its latest SQL command, which was 2174 confusing if it's now doing some replication operation instead. 2175 Now we show replication-protocol commands on the same footing as SQL 2176 commands. 2177 </para> 2178 </listitem> 2179 2180 <listitem> 2181<!-- 2182Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2183Branch: master [93a0bf239] 2021-07-27 15:44:12 -0400 2184Branch: REL_14_STABLE [ad3b40eb2] 2021-07-27 15:44:12 -0400 2185Branch: REL_13_STABLE [b8f91d7f9] 2021-07-27 15:44:12 -0400 2186Branch: REL_12_STABLE [6feb229f5] 2021-07-27 15:44:12 -0400 2187Branch: REL_11_STABLE [ddd1eac99] 2021-07-27 15:44:12 -0400 2188Branch: REL_10_STABLE [04fa0e11a] 2021-07-27 15:44:12 -0400 2189Branch: REL9_6_STABLE [85ec6c322] 2021-07-27 15:44:12 -0400 2190--> 2191 <para> 2192 Make 2193 <structname>pg_settings</structname>.<structfield>pending_restart</structfield> 2194 show as true when the pertinent entry 2195 in <filename>postgresql.conf</filename> has been removed 2196 (Álvaro Herrera) 2197 </para> 2198 2199 <para> 2200 <structfield>pending_restart</structfield> correctly showed the case 2201 where an entry that cannot be changed without a postmaster restart 2202 has been modified, but not where the entry had been removed 2203 altogether. 2204 </para> 2205 </listitem> 2206 2207 <listitem> 2208<!-- 2209Author: Tom Lane <tgl@sss.pgh.pa.us> 2210Branch: master Release: REL_14_BR [889592344] 2021-06-02 14:38:14 -0400 2211Branch: REL_13_STABLE [6753a5b7e] 2021-06-02 14:38:14 -0400 2212Branch: REL_12_STABLE [bdd096f1a] 2021-06-02 14:38:14 -0400 2213--> 2214 <para> 2215 Fix mis-planning of queries involving regular tables that are 2216 inheritance children of foreign tables (Amit Langote) 2217 </para> 2218 2219 <para> 2220 <command>SELECT FOR UPDATE</command> and related commands would fail 2221 with assertion failures or <quote>could not find junk column</quote> 2222 errors in such cases. 2223 </para> 2224 </listitem> 2225 2226 <listitem> 2227<!-- 2228Author: Robert Haas <rhaas@postgresql.org> 2229Branch: master Release: REL_14_BR [caba8f0d4] 2021-06-09 16:17:00 -0400 2230Branch: REL_13_STABLE [082656429] 2021-06-09 16:17:13 -0400 2231Branch: REL_12_STABLE [5d950c721] 2021-06-09 16:19:52 -0400 2232Branch: REL_11_STABLE [ca158c168] 2021-06-09 16:20:10 -0400 2233Branch: REL_10_STABLE [31bda6a22] 2021-06-09 16:20:28 -0400 2234Branch: REL9_6_STABLE [6eb5b9ae3] 2021-06-09 16:21:14 -0400 2235Branch: master Release: REL_14_BR [4dcb1d087] 2021-06-10 09:46:08 -0400 2236Branch: REL_13_STABLE [3465328aa] 2021-06-10 09:47:25 -0400 2237Branch: REL_12_STABLE [2208d71a0] 2021-06-10 09:34:39 -0400 2238Branch: REL_11_STABLE [534b9be80] 2021-06-10 09:43:35 -0400 2239Branch: REL_10_STABLE [1c2c6a9a2] 2021-06-10 09:48:07 -0400 2240Branch: REL9_6_STABLE [6cd0e55f9] 2021-06-10 09:51:00 -0400 2241Branch: REL9_6_STABLE [75212a854] 2021-06-09 16:16:21 -0400 2242Branch: REL_13_STABLE [99a0a2ada] 2021-06-09 12:28:39 -0400 2243Branch: REL_12_STABLE [6fc2febc2] 2021-06-09 12:29:00 -0400 2244Branch: REL_11_STABLE [38982b8b7] 2021-06-09 12:30:28 -0400 2245Branch: REL_10_STABLE [9778a191a] 2021-06-09 12:30:49 -0400 2246Author: Andrew Dunstan <andrew@dunslane.net> 2247Branch: master Release: REL_14_BR [c3652f976] 2021-06-12 08:43:54 -0400 2248Branch: REL_13_STABLE [45322bd9b] 2021-06-12 08:51:29 -0400 2249Branch: REL_12_STABLE [1730a3334] 2021-06-12 08:54:28 -0400 2250Branch: REL_11_STABLE [8b9e1275c] 2021-06-12 08:55:29 -0400 2251Branch: REL_10_STABLE [0cd8a55bd] 2021-06-12 08:55:39 -0400 2252Branch: REL9_6_STABLE [dee7ad20d] 2021-06-12 08:55:55 -0400 2253Branch: master Release: REL_14_BR [9d97c3408] 2021-06-13 07:19:34 -0400 2254Branch: REL_13_STABLE [47d5781cb] 2021-06-13 07:19:34 -0400 2255Branch: REL_12_STABLE [914c716ca] 2021-06-13 07:19:35 -0400 2256Branch: REL_11_STABLE [8cb3d95c2] 2021-06-13 07:19:36 -0400 2257Branch: REL_10_STABLE [319d616dd] 2021-06-13 07:19:38 -0400 2258Branch: REL9_6_STABLE [84cb4be71] 2021-06-13 07:19:40 -0400 2259Branch: master Release: REL_14_BR [54a5ed220] 2021-06-15 15:35:47 -0400 2260Branch: REL_13_STABLE [d906d106f] 2021-06-15 15:36:50 -0400 2261Branch: REL_12_STABLE [fb3d6b0e1] 2021-06-15 15:36:59 -0400 2262Branch: REL_11_STABLE [c0a758780] 2021-06-15 15:37:07 -0400 2263Branch: REL_10_STABLE [1dc53c914] 2021-06-15 15:37:15 -0400 2264Branch: REL9_6_STABLE [e46f6a078] 2021-06-15 15:37:24 -0400 2265--> 2266 <para> 2267 Fix corner-case failure of a new standby to follow a new primary 2268 (Dilip Kumar, Robert Haas) 2269 </para> 2270 2271 <para> 2272 Under a narrow combination of conditions, the standby could wind up 2273 trying to follow the wrong WAL timeline. 2274 </para> 2275 </listitem> 2276 2277 <listitem> 2278<!-- 2279Author: Fujii Masao <fujii@postgresql.org> 2280Branch: master [a00c138b7] 2021-07-29 01:31:41 +0900 2281Branch: REL_14_STABLE [f2a3d7404] 2021-07-29 01:33:33 +0900 2282Branch: REL_13_STABLE [a66b05b42] 2021-07-29 01:34:13 +0900 2283Branch: REL_12_STABLE [d7ded08e6] 2021-07-29 01:35:00 +0900 2284Branch: REL_11_STABLE [02ef4d1e2] 2021-07-29 01:35:05 +0900 2285Branch: REL_10_STABLE [25fe5b2bb] 2021-07-29 01:35:10 +0900 2286Branch: REL9_6_STABLE [32d182dd0] 2021-07-29 01:35:52 +0900 2287--> 2288 <para> 2289 Update minimum recovery point when WAL replay of a transaction abort 2290 record causes file truncation (Fujii Masao) 2291 </para> 2292 2293 <para> 2294 File truncation is irreversible, so it's no longer safe to stop 2295 recovery at a point earlier than that record. The corresponding 2296 case for transaction commit was fixed years ago, but this one was 2297 overlooked. 2298 </para> 2299 </listitem> 2300 2301 <listitem> 2302<!-- 2303Author: Tom Lane <tgl@sss.pgh.pa.us> 2304Branch: master [50371df26] 2021-07-02 16:04:54 -0400 2305Branch: REL_14_STABLE [63a952167] 2021-07-02 16:05:20 -0400 2306Branch: REL_13_STABLE [7fc97752d] 2021-07-02 16:04:54 -0400 2307Branch: REL_12_STABLE [feff61557] 2021-07-02 16:04:54 -0400 2308Branch: REL_11_STABLE [32d50b895] 2021-07-02 16:04:54 -0400 2309Branch: REL_10_STABLE [0b5089e8c] 2021-07-02 16:04:54 -0400 2310--> 2311 <para> 2312 In walreceivers, avoid attempting catalog lookups after an error 2313 (Masahiko Sawada, Bharath Rupireddy) 2314 </para> 2315 </listitem> 2316 2317 <listitem> 2318<!-- 2319Author: Fujii Masao <fujii@postgresql.org> 2320Branch: master Release: REL_14_BR [2945a488a] 2020-11-16 18:27:51 +0900 2321Branch: REL_13_STABLE [8d091922f] 2021-07-25 11:15:30 +0900 2322Branch: REL_12_STABLE [1bcfda30f] 2021-07-25 11:16:02 +0900 2323Branch: REL_11_STABLE [9c83398f8] 2021-07-25 11:16:13 +0900 2324Branch: REL_10_STABLE [710fabfa2] 2021-07-25 11:16:26 +0900 2325Branch: REL9_6_STABLE [8e5be9cfe] 2021-07-25 11:16:34 +0900 2326--> 2327 <para> 2328 Ensure that a standby server's startup process will respond to a 2329 shutdown signal promptly while waiting for WAL to arrive (Fujii 2330 Masao, Soumyadeep Chakraborty) 2331 </para> 2332 </listitem> 2333 2334 <listitem> 2335<!-- 2336Author: Amit Kapila <akapila@postgresql.org> 2337Branch: master Release: REL_14_BR [b786304c2] 2021-06-28 09:29:38 +0530 2338Branch: REL_13_STABLE [741deb260] 2021-06-28 08:42:48 +0530 2339Branch: REL_12_STABLE [b75c1f687] 2021-06-28 09:17:10 +0530 2340Branch: REL_11_STABLE [c62c3769f] 2021-06-28 09:09:42 +0530 2341--> 2342 <para> 2343 Correctly clear shared state after failing to become a member of a 2344 transaction commit group (Amit Kapila) 2345 </para> 2346 2347 <para> 2348 Given the right timing, this could cause an assertion failure when 2349 some later session re-uses the same PGPROC object. 2350 </para> 2351 </listitem> 2352 2353 <listitem> 2354<!-- 2355Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2356Branch: master Release: REL_14_BR [b6d8d2073] 2021-06-24 10:45:23 +0300 2357Branch: REL_13_STABLE [2a0ab13f8] 2021-06-24 10:45:34 +0300 2358Branch: REL_12_STABLE [caac19650] 2021-06-24 10:45:43 +0300 2359Branch: REL_11_STABLE [c78bb32c1] 2021-06-24 10:45:46 +0300 2360Branch: REL_10_STABLE [a5eacd86b] 2021-06-24 10:45:49 +0300 2361Branch: REL9_6_STABLE [85ae8ccb2] 2021-06-24 10:45:52 +0300 2362Branch: master Release: REL_14_BR [9b8ed0f52] 2021-06-24 11:19:03 +0300 2363Branch: REL_13_STABLE [6fb377e5f] 2021-06-24 11:19:31 +0300 2364Branch: REL_12_STABLE [8b01a403c] 2021-06-24 11:19:34 +0300 2365Branch: REL_11_STABLE [eb3bd243a] 2021-06-24 11:19:37 +0300 2366Branch: REL_10_STABLE [fbbc48995] 2021-06-24 11:19:40 +0300 2367Branch: REL9_6_STABLE [5956795cb] 2021-06-24 11:19:44 +0300 2368--> 2369 <para> 2370 Add locking to avoid reading incorrect relmapper data in the face of 2371 a concurrent write from another process (Heikki Linnakangas) 2372 </para> 2373 </listitem> 2374 2375 <listitem> 2376<!-- 2377Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2378Branch: master Release: REL_14_BR [5cc1cd502] 2021-06-11 19:07:32 -0400 2379Branch: REL_13_STABLE [065ce069a] 2021-06-11 19:07:32 -0400 2380Branch: REL_12_STABLE [0c7efd975] 2021-06-11 19:07:32 -0400 2381--> 2382 <para> 2383 Improve progress reporting for the sort phase of a parallel btree 2384 index build (Matthias van de Meent) 2385 </para> 2386 </listitem> 2387 2388 <listitem> 2389<!-- 2390Author: Tom Lane <tgl@sss.pgh.pa.us> 2391Branch: master Release: REL_14_BR [fe6a20ce5] 2021-06-12 12:59:15 -0400 2392Branch: REL_13_STABLE [8b5055812] 2021-06-12 12:59:15 -0400 2393Branch: REL_12_STABLE [1f280e833] 2021-06-12 12:59:15 -0400 2394Branch: REL_11_STABLE [9eecea7f3] 2021-06-12 12:59:15 -0400 2395Branch: REL_10_STABLE [4745c119e] 2021-06-12 12:59:15 -0400 2396--> 2397 <para> 2398 Improve checks for violations of replication protocol (Tom Lane) 2399 </para> 2400 2401 <para> 2402 Logical replication workers frequently used Asserts to check for 2403 cases that could be triggered by invalid or out-of-order replication 2404 commands. This seems unwise, so promote these tests to regular 2405 error checks. 2406 </para> 2407 </listitem> 2408 2409 <listitem> 2410<!-- 2411Author: Amit Kapila <akapila@postgresql.org> 2412Branch: master Release: REL_14_BR [6d0eb3855] 2021-05-21 07:54:27 +0530 2413Branch: REL_13_STABLE [c83c0257e] 2021-05-21 08:03:38 +0530 2414Branch: REL_12_STABLE [18c6242b7] 2021-05-21 08:17:25 +0530 2415Branch: REL_11_STABLE [71787b23e] 2021-05-21 08:31:10 +0530 2416--> 2417 <para> 2418 Fix deadlock when multiple logical replication workers try to 2419 truncate the same table (Peter Smith, Haiying Tang) 2420 </para> 2421 </listitem> 2422 2423 <listitem> 2424<!-- 2425Author: Amit Kapila <akapila@postgresql.org> 2426Branch: master Release: REL_14_BR [4daa140a2] 2021-06-15 08:28:36 +0530 2427Branch: REL_13_STABLE [602a32a68] 2021-06-15 08:41:16 +0530 2428Branch: REL_12_STABLE [40ad7ebff] 2021-06-15 08:50:12 +0530 2429Branch: REL_11_STABLE [1f8a934e0] 2021-06-15 09:02:32 +0530 2430Branch: REL_10_STABLE [35f56c124] 2021-06-15 09:10:24 +0530 2431Branch: REL9_6_STABLE [43acadfce] 2021-06-15 09:18:38 +0530 2432Branch: REL_13_STABLE [56e366f67] 2021-06-24 15:21:50 +0530 2433Branch: REL_12_STABLE [72b51e214] 2021-06-24 15:25:13 +0530 2434Branch: REL_11_STABLE [e95f617ac] 2021-06-24 15:26:37 +0530 2435--> 2436 <para> 2437 Fix error cases and memory leaks in logical decoding of speculative 2438 insertions (Dilip Kumar) 2439 </para> 2440 </listitem> 2441 2442 <listitem> 2443<!-- 2444Author: Jeff Davis <jdavis@postgresql.org> 2445Branch: master [dd0e37cc1] 2021-07-10 10:26:38 -0700 2446Branch: REL_14_STABLE [10a07973c] 2021-07-10 10:27:07 -0700 2447Branch: REL_13_STABLE [edd9a2bf7] 2021-07-10 10:27:27 -0700 2448Branch: REL_12_STABLE [5b1621d2f] 2021-07-10 10:28:15 -0700 2449Branch: REL_11_STABLE [52c168db9] 2021-07-10 10:28:33 -0700 2450--> 2451 <para> 2452 Avoid leaving an invalid record-type hash table entry behind after 2453 an error (Sait Talha Nisanci) 2454 </para> 2455 2456 <para> 2457 This could lead to later crashes or memory leakage. 2458 </para> 2459 </listitem> 2460 2461 <listitem> 2462<!-- 2463Author: Tom Lane <tgl@sss.pgh.pa.us> 2464Branch: master Release: REL_14_BR [131ea3e90] 2021-06-16 19:30:17 -0400 2465Branch: REL_13_STABLE [d03a41d1c] 2021-06-16 19:30:17 -0400 2466Branch: REL_12_STABLE [17d962cca] 2021-06-16 19:30:17 -0400 2467Branch: REL_11_STABLE [9cf163266] 2021-06-16 19:30:17 -0400 2468Branch: REL_10_STABLE [a6f7745a3] 2021-06-16 19:30:17 -0400 2469Branch: REL9_6_STABLE [c50596cdc] 2021-06-16 19:30:17 -0400 2470--> 2471 <para> 2472 Fix plan cache reference leaks in some error cases in 2473 <command>CREATE TABLE ... AS EXECUTE</command> (Tom Lane) 2474 </para> 2475 </listitem> 2476 2477 <listitem> 2478<!-- 2479Author: Thomas Munro <tmunro@postgresql.org> 2480Branch: master Release: REL_14_BR [b1d653890] 2021-05-29 15:12:34 +1200 2481Branch: REL_13_STABLE [d41fda6aa] 2021-05-29 15:13:44 +1200 2482Branch: REL_12_STABLE [82248f227] 2021-05-29 15:14:53 +1200 2483Branch: REL_11_STABLE [a15d84470] 2021-05-29 15:16:15 +1200 2484--> 2485 <para> 2486 Fix race condition in code for sharing tuple descriptors across 2487 parallel workers (Thomas Munro) 2488 </para> 2489 2490 <para> 2491 Given the right timing, a crash could result. 2492 </para> 2493 </listitem> 2494 2495 <listitem> 2496<!-- 2497Author: Tom Lane <tgl@sss.pgh.pa.us> 2498Branch: master Release: REL_14_BR [30d8bad49] 2021-05-15 12:21:06 -0400 2499Branch: REL_13_STABLE [c3cc73e14] 2021-05-15 12:21:06 -0400 2500Branch: REL_12_STABLE [6bcb51968] 2021-05-15 12:21:06 -0400 2501Branch: REL_11_STABLE [6fcbaea7a] 2021-05-15 12:21:06 -0400 2502Branch: REL_10_STABLE [c76ceacbd] 2021-05-15 12:21:06 -0400 2503Branch: REL9_6_STABLE [5d195dc40] 2021-05-15 12:21:06 -0400 2504--> 2505 <para> 2506 Fix possible race condition when releasing BackgroundWorkerSlots 2507 (Tom Lane) 2508 </para> 2509 2510 <para> 2511 It's likely that this doesn't fix any observable bug on Intel 2512 hardware, but machines with weaker memory ordering rules could 2513 have problems. 2514 </para> 2515 </listitem> 2516 2517 <listitem> 2518<!-- 2519Author: David Rowley <drowley@postgresql.org> 2520Branch: master [41469253e] 2021-07-13 12:40:16 +1200 2521Branch: REL_14_STABLE [a3b8d91cc] 2021-07-13 12:42:04 +1200 2522Branch: REL_13_STABLE [204f646a2] 2021-07-13 12:42:43 +1200 2523Branch: REL_12_STABLE [6f1c7a2d0] 2021-07-13 12:44:36 +1200 2524Branch: REL_11_STABLE [187e9c399] 2021-07-13 12:45:35 +1200 2525Branch: REL_10_STABLE [b55e478a4] 2021-07-13 12:46:12 +1200 2526Branch: REL9_6_STABLE [87b7a652b] 2021-07-13 12:46:52 +1200 2527Branch: master [5bd38d2f2] 2021-07-13 13:27:05 +1200 2528Branch: REL_14_STABLE [a92709fed] 2021-07-13 13:27:44 +1200 2529Branch: REL_13_STABLE [2fde8e49a] 2021-07-13 13:28:19 +1200 2530Branch: REL_12_STABLE [645c5d119] 2021-07-13 13:30:26 +1200 2531Branch: REL_11_STABLE [eff751ea5] 2021-07-13 13:31:00 +1200 2532Branch: REL_10_STABLE [d7f10f39c] 2021-07-13 13:31:29 +1200 2533Branch: REL9_6_STABLE [d0e44bae4] 2021-07-13 13:32:10 +1200 2534--> 2535 <para> 2536 Fix latent crash in sorting code (Ronan Dunklau) 2537 </para> 2538 2539 <para> 2540 One code path could attempt to free a null pointer. The case 2541 appears unreachable in the core server's use of sorting, but perhaps 2542 it could be triggered by extensions. 2543 </para> 2544 </listitem> 2545 2546 <listitem> 2547<!-- 2548Author: Tom Lane <tgl@sss.pgh.pa.us> 2549Branch: master Release: REL_14_BR [c3c35a733] 2021-05-14 15:07:34 -0400 2550Branch: REL_13_STABLE [dc714c120] 2021-05-14 15:07:34 -0400 2551Branch: REL_12_STABLE [4e046281f] 2021-05-14 15:07:34 -0400 2552Branch: REL_11_STABLE [d776045eb] 2021-05-14 15:07:34 -0400 2553Branch: REL_10_STABLE [e87a0d2e0] 2021-05-14 15:07:34 -0400 2554Branch: REL9_6_STABLE [5015d3c35] 2021-05-14 15:07:34 -0400 2555--> 2556 <para> 2557 Prevent infinite loops in SP-GiST index insertion (Tom Lane) 2558 </para> 2559 2560 <para> 2561 In the event that INCLUDE columns take up enough space to prevent a 2562 leaf index tuple from ever fitting on a page, the text_ops operator 2563 class would get into an infinite loop vainly trying to make the 2564 tuple fit. 2565 While pre-v11 versions don't have INCLUDE columns, back-patch this 2566 anti-looping fix to them anyway, as it seems like a good defense 2567 against bugs in operator classes. 2568 </para> 2569 </listitem> 2570 2571 <listitem> 2572<!-- 2573Author: Tom Lane <tgl@sss.pgh.pa.us> 2574Branch: master Release: REL_14_BR [eb7a6b922] 2021-05-14 13:29:39 -0400 2575Branch: REL_13_STABLE [c1b72bf04] 2021-05-14 13:26:55 -0400 2576Branch: REL_12_STABLE [004288d3c] 2021-05-14 13:26:55 -0400 2577Branch: REL_11_STABLE [f4ee4082f] 2021-05-14 13:26:55 -0400 2578Branch: REL_10_STABLE [fe64adc93] 2021-05-14 13:26:55 -0400 2579Branch: REL9_6_STABLE [4c6cfcc37] 2021-05-14 13:26:55 -0400 2580Branch: master Release: REL_14_BR [e47f93f98] 2021-05-14 13:29:39 -0400 2581Branch: REL_13_STABLE [63831c162] 2021-05-14 12:54:26 -0400 2582Branch: REL_12_STABLE [4c646b179] 2021-05-14 12:54:26 -0400 2583Branch: REL_11_STABLE [8274f4517] 2021-05-14 12:54:26 -0400 2584Branch: REL_10_STABLE [39b8ccb08] 2021-05-14 12:54:26 -0400 2585Branch: REL9_6_STABLE [567328989] 2021-05-14 12:54:26 -0400 2586--> 2587 <para> 2588 Ensure that SP-GiST index insertion can be terminated by a query 2589 cancel request (Tom Lane, Álvaro Herrera) 2590 </para> 2591 </listitem> 2592 2593 <listitem> 2594<!-- 2595Author: Tom Lane <tgl@sss.pgh.pa.us> 2596Branch: master [d9809bf86] 2021-07-20 13:01:48 -0400 2597Branch: REL_14_STABLE [899564e01] 2021-07-20 13:01:48 -0400 2598Branch: REL_13_STABLE [0fce76b99] 2021-07-20 13:01:48 -0400 2599Branch: REL_12_STABLE [85189f54a] 2021-07-20 13:01:48 -0400 2600Branch: REL_11_STABLE [7321d5c3f] 2021-07-20 13:01:48 -0400 2601Branch: REL_10_STABLE [4eac891b1] 2021-07-20 13:01:48 -0400 2602Branch: REL9_6_STABLE [dffec69fe] 2021-07-20 13:01:48 -0400 2603--> 2604 <para> 2605 Fix uninitialized-variable bug that could 2606 cause <application>PL/pgSQL</application> to act as though 2607 an <literal>INTO</literal> clause 2608 specified <literal>STRICT</literal>, even though it didn't 2609 (Tom Lane) 2610 </para> 2611 </listitem> 2612 2613 <listitem> 2614<!-- 2615Author: Tom Lane <tgl@sss.pgh.pa.us> 2616Branch: master [6f5d9bce5] 2021-06-28 14:17:41 -0400 2617Branch: REL_14_STABLE [cf1f545bf] 2021-06-28 14:17:42 -0400 2618Branch: REL_13_STABLE [1603deca3] 2021-06-28 14:17:42 -0400 2619Branch: REL_12_STABLE [240d56fc4] 2021-06-28 14:17:42 -0400 2620Branch: REL_11_STABLE [34c24e5a4] 2021-06-28 14:17:42 -0400 2621Branch: REL_10_STABLE [06a2b2fe5] 2021-06-28 14:17:42 -0400 2622Branch: REL9_6_STABLE [b54be47cd] 2021-06-28 14:17:42 -0400 2623--> 2624 <para> 2625 Don't abort the process for an out-of-memory failure in libpq's 2626 printing functions (Tom Lane) 2627 </para> 2628 </listitem> 2629 2630 <listitem> 2631<!-- 2632Author: John Naylor <john.naylor@postgresql.org> 2633Branch: master [5fcf3945b] 2021-07-30 15:39:22 -0400 2634Branch: REL_14_STABLE [f051b87ac] 2021-07-30 16:28:43 -0400 2635Branch: REL_13_STABLE [171bf1cea] 2021-07-30 16:18:59 -0400 2636Branch: REL_12_STABLE [d9589eb62] 2021-07-30 15:59:10 -0400 2637Branch: REL_11_STABLE [c7181a32c] 2021-07-30 16:12:17 -0400 2638Branch: REL_10_STABLE [231c19a89] 2021-07-30 16:40:42 -0400 2639Branch: REL9_6_STABLE [cfcb0ceab] 2021-07-30 16:34:33 -0400 2640Branch: REL_11_STABLE [9455e7f50] 2021-07-30 18:54:38 -0400 2641Branch: REL_10_STABLE [f3cd6aeb8] 2021-07-30 18:54:10 -0400 2642Branch: REL9_6_STABLE [fa27389c5] 2021-07-30 18:52:55 -0400 2643--> 2644 <para> 2645 In <application>ecpg</application>, allow the <type>numeric</type> 2646 value <systemitem>INT_MIN</systemitem> (usually -2147483648) to be 2647 converted to integer (John Naylor) 2648 </para> 2649 </listitem> 2650 2651 <listitem> 2652<!-- 2653Author: Tom Lane <tgl@sss.pgh.pa.us> 2654Branch: master Release: REL_14_BR [42f94f56b] 2021-06-07 14:15:25 -0400 2655Branch: REL_13_STABLE [5b6436874] 2021-06-07 14:15:25 -0400 2656Branch: REL_12_STABLE [fc896f45d] 2021-06-07 14:15:25 -0400 2657Branch: REL_11_STABLE [89a5499ef] 2021-06-07 14:15:25 -0400 2658Branch: REL_10_STABLE [4826fe4c5] 2021-06-07 14:15:25 -0400 2659Branch: REL9_6_STABLE [ac600c541] 2021-06-07 14:15:25 -0400 2660Branch: REL_10_STABLE [0b116346b] 2021-06-07 13:12:35 -0400 2661Branch: REL9_6_STABLE [7cdb97632] 2021-06-07 13:12:35 -0400 2662--> 2663 <para> 2664 In <application>psql</application> and other client programs, avoid 2665 overrunning the ends of strings when dealing with invalidly-encoded 2666 data (Tom Lane) 2667 </para> 2668 2669 <para> 2670 An incorrectly-encoded multibyte character near the end of a string 2671 could cause various processing loops to run past the string's 2672 terminating NUL, with results ranging from no detectable issue to 2673 a program crash, depending on what happens to be in the following 2674 memory. This is reminiscent of CVE-2006-2313, although these 2675 particular cases do not appear to have interesting security 2676 consequences. 2677 </para> 2678 </listitem> 2679 2680 <listitem> 2681<!-- 2682Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2683Branch: master [f0e21f2f6] 2021-07-16 17:29:22 -0400 2684Branch: REL_14_STABLE [3c5b7c628] 2021-07-16 17:29:22 -0400 2685Branch: REL_13_STABLE [cc340af33] 2021-07-16 17:29:22 -0400 2686Branch: REL_12_STABLE [5992c94dc] 2021-07-16 17:29:22 -0400 2687Branch: REL_11_STABLE [ccfc3cbb3] 2021-07-16 17:29:22 -0400 2688--> 2689 <para> 2690 Fix <application>pg_dump</application> to correctly handle triggers 2691 on partitioned tables whose enabled status is different from their 2692 parent triggers' status 2693 (Justin Pryzby, Álvaro Herrera) 2694 </para> 2695 </listitem> 2696 2697 <listitem> 2698<!-- 2699Author: Tom Lane <tgl@sss.pgh.pa.us> 2700Branch: master Release: REL_14_BR [f807e3410] 2021-06-13 14:32:42 -0400 2701Branch: REL_13_STABLE [bc7885b7f] 2021-06-13 14:32:42 -0400 2702Branch: REL_12_STABLE [b7c5823ac] 2021-06-13 14:32:42 -0400 2703Branch: REL_11_STABLE [73fa76241] 2021-06-13 14:32:42 -0400 2704Branch: REL_10_STABLE [05fccab6a] 2021-06-13 14:32:42 -0400 2705Branch: REL9_6_STABLE [dd53b46c7] 2021-06-13 14:32:42 -0400 2706--> 2707 <para> 2708 Avoid <quote>invalid creation date in header</quote> warnings 2709 observed when running <application>pg_restore</application> on an 2710 archive file created in a different time zone (Tom Lane) 2711 </para> 2712 </listitem> 2713 2714 <listitem> 2715<!-- 2716Author: Bruce Momjian <bruce@momjian.us> 2717Branch: master [74cf7d46a] 2021-07-26 22:38:15 -0400 2718Branch: REL_14_STABLE [695b4a113] 2021-07-26 22:38:14 -0400 2719Branch: REL_13_STABLE [0a5e708e2] 2021-07-26 22:38:14 -0400 2720Branch: REL_12_STABLE [7626e9f2b] 2021-07-26 22:38:14 -0400 2721Branch: REL_11_STABLE [c4ba87f52] 2021-07-26 22:38:14 -0400 2722Branch: REL_10_STABLE [71121450e] 2021-07-26 22:38:14 -0400 2723Branch: REL9_6_STABLE [088dbf3bc] 2021-07-26 22:38:14 -0400 2724--> 2725 <para> 2726 Make <application>pg_upgrade</application> carry forward the old 2727 installation's <literal>oldestXID</literal> value (Bertrand Drouvot) 2728 </para> 2729 2730 <para> 2731 Previously, the new installation's <literal>oldestXID</literal> was 2732 set to a value old enough to (usually) force immediate 2733 anti-wraparound autovacuuming. That's not desirable from a 2734 performance standpoint; what's worse, installations using large 2735 values of <varname>autovacuum_freeze_max_age</varname> could suffer 2736 unwanted forced shutdowns soon after an upgrade. 2737 </para> 2738 </listitem> 2739 2740 <listitem> 2741<!-- 2742Author: Bruce Momjian <bruce@momjian.us> 2743Branch: master [e462856a7] 2021-08-03 11:58:15 -0400 2744Branch: REL_14_STABLE [4051a7775] 2021-08-03 11:58:15 -0400 2745Branch: REL_13_STABLE [a81c71e3a] 2021-08-03 11:58:15 -0400 2746Branch: REL_12_STABLE [49e319cea] 2021-08-03 11:58:15 -0400 2747Branch: REL_11_STABLE [3d2b6cd6f] 2021-08-03 11:58:14 -0400 2748Branch: REL_10_STABLE [58974a542] 2021-08-03 11:58:14 -0400 2749Branch: REL9_6_STABLE [5e531bb1d] 2021-08-03 11:58:14 -0400 2750Branch: master [9e51cc87f] 2021-08-03 12:26:08 -0400 2751Branch: REL_14_STABLE [3a0ba31a3] 2021-08-03 12:26:08 -0400 2752Branch: REL_13_STABLE [47a573d91] 2021-08-03 12:26:08 -0400 2753Branch: REL_12_STABLE [165506217] 2021-08-03 12:26:08 -0400 2754Branch: REL_11_STABLE [554a7648e] 2021-08-03 12:26:08 -0400 2755Branch: REL_10_STABLE [fcdc461f5] 2021-08-03 12:26:08 -0400 2756Branch: REL9_6_STABLE [3ab496ab8] 2021-08-03 12:26:08 -0400 2757--> 2758 <para> 2759 Extend <application>pg_upgrade</application> to detect and warn 2760 about extensions that should be upgraded (Bruce Momjian) 2761 </para> 2762 2763 <para> 2764 A script file is now produced containing the <command>ALTER 2765 EXTENSION UPDATE</command> commands needed to bring extensions up to 2766 the versions that are considered default in the new installation. 2767 </para> 2768 </listitem> 2769 2770 <listitem> 2771<!-- 2772Author: Michael Paquier <michael@paquier.xyz> 2773Branch: master [7fbe0c8c4] 2021-07-20 12:12:39 +0900 2774Branch: REL_14_STABLE [3a0d2d0cb] 2021-07-20 12:12:47 +0900 2775Branch: REL_13_STABLE [fb2b86015] 2021-07-20 12:12:51 +0900 2776Branch: REL_12_STABLE [b9a0de15e] 2021-07-20 12:12:54 +0900 2777Branch: REL_11_STABLE [795a9166e] 2021-07-20 12:12:57 +0900 2778Branch: REL_10_STABLE [11dbad74c] 2021-07-20 12:13:01 +0900 2779Branch: master [4ef64c425] 2021-07-26 11:13:37 +0900 2780Branch: REL_14_STABLE [b0d286719] 2021-07-26 11:14:08 +0900 2781Branch: REL_13_STABLE [2c7395aad] 2021-07-26 11:14:11 +0900 2782Branch: REL_12_STABLE [c4ef3b81b] 2021-07-26 11:14:14 +0900 2783Branch: REL_11_STABLE [9c6fa3403] 2021-07-26 11:14:17 +0900 2784Branch: REL_10_STABLE [4372f0685] 2021-07-26 11:14:21 +0900 2785--> 2786 <para> 2787 Avoid problems when 2788 switching <application>pg_receivewal</application> between 2789 compressed and non-compressed WAL storage (Michael Paquier) 2790 </para> 2791 </listitem> 2792 2793 <listitem> 2794<!-- 2795Author: Etsuro Fujita <efujita@postgresql.org> 2796Branch: master [aa769f80e] 2021-08-05 20:00:00 +0900 2797Branch: REL_14_STABLE [588d3f597] 2021-08-05 20:00:01 +0900 2798Branch: REL_13_STABLE [388a81bf4] 2021-08-05 20:00:02 +0900 2799Branch: REL_12_STABLE [bbc0cd8fa] 2021-08-05 20:00:04 +0900 2800--> 2801 <para> 2802 Fix <filename>contrib/postgres_fdw</filename> to work usefully with 2803 generated columns (Etsuro Fujita) 2804 </para> 2805 2806 <para> 2807 <filename>postgres_fdw</filename> will now behave reasonably with 2808 generated columns, so long as a generated column in a foreign table 2809 represents a generated column in the remote table. <command>IMPORT 2810 FOREIGN SCHEMA</command> will now import generated columns that way 2811 by default. 2812 </para> 2813 </listitem> 2814 2815 <listitem> 2816<!-- 2817Author: Tom Lane <tgl@sss.pgh.pa.us> 2818Branch: master [c7b7311f6] 2021-07-06 12:36:12 -0400 2819Branch: REL_14_STABLE [86d491421] 2021-07-06 12:36:12 -0400 2820Branch: REL_13_STABLE [bee18616a] 2021-07-06 12:36:13 -0400 2821Branch: REL_12_STABLE [bd2e68d0b] 2021-07-06 12:36:13 -0400 2822Branch: REL_11_STABLE [a9460dbf1] 2021-07-06 12:36:13 -0400 2823Branch: REL_10_STABLE [b23ac5aef] 2021-07-06 12:36:13 -0400 2824Branch: REL9_6_STABLE [67f925bbd] 2021-07-06 12:36:13 -0400 2825--> 2826 <para> 2827 In <filename>contrib/postgres_fdw</filename>, avoid attempting 2828 catalog lookups after an error (Tom Lane) 2829 </para> 2830 2831 <para> 2832 While this usually worked, it's not very safe since the error might 2833 have been one that made catalog access nonfunctional. A side effect 2834 of the fix is that messages about data conversion errors will now 2835 mention the query's table and column aliases (if used) rather than 2836 the true underlying name of a foreign table or column. 2837 </para> 2838 </listitem> 2839 2840 <listitem> 2841<!-- 2842Author: Tom Lane <tgl@sss.pgh.pa.us> 2843Branch: master Release: REL_14_BR [741d7f104] 2021-06-22 21:43:12 -0400 2844Branch: REL_13_STABLE [e2cde85ef] 2021-06-22 21:43:12 -0400 2845Branch: REL_12_STABLE [f228c401b] 2021-06-22 21:43:12 -0400 2846Branch: REL_11_STABLE [a1417e437] 2021-06-22 21:43:12 -0400 2847Branch: REL_10_STABLE [1f32b789d] 2021-06-22 21:43:12 -0400 2848Branch: REL9_6_STABLE [13f3fd9e4] 2021-06-22 21:43:12 -0400 2849Branch: master Release: REL_14_BR [4a054069a] 2021-06-23 11:13:00 -0400 2850Branch: REL_13_STABLE [b961bdfe1] 2021-06-23 11:12:31 -0400 2851Branch: REL_12_STABLE [d7da3ef08] 2021-06-23 11:12:31 -0400 2852Branch: REL_11_STABLE [b1aa0f228] 2021-06-23 11:12:31 -0400 2853Branch: REL_10_STABLE [0a8929ca0] 2021-06-23 11:12:31 -0400 2854Branch: REL9_6_STABLE [e535a8899] 2021-06-23 11:12:32 -0400 2855Branch: master Release: REL_14_BR [a443c1b2d] 2021-06-23 18:41:39 -0400 2856Branch: REL_13_STABLE [5179a1ab7] 2021-06-23 18:41:39 -0400 2857Branch: REL_12_STABLE [35e6b3bbf] 2021-06-23 18:41:39 -0400 2858Branch: REL_11_STABLE [94d8d8d89] 2021-06-23 18:41:39 -0400 2859Branch: REL_10_STABLE [5cb74a803] 2021-06-23 18:41:39 -0400 2860Branch: REL9_6_STABLE [ad9827a90] 2021-06-23 18:41:39 -0400 2861Branch: REL_12_STABLE [7a48dfbb8] 2021-06-24 11:30:32 -0400 2862Branch: REL_11_STABLE [c6cb62f61] 2021-06-24 11:30:32 -0400 2863Branch: REL_10_STABLE [024e064af] 2021-06-24 11:30:32 -0400 2864Branch: REL9_6_STABLE [e0a7036e1] 2021-06-24 11:30:32 -0400 2865Author: Michael Paquier <michael@paquier.xyz> 2866Branch: master Release: REL_13_BR [989d23b04] 2019-08-24 11:45:05 +0900 2867Branch: master Release: REL_13_BR [06fdc4e4d] 2019-08-24 12:34:37 +0900 2868Branch: REL_12_STABLE [96f3661e4] 2021-06-17 11:57:21 +0900 2869Branch: REL_11_STABLE [8f3229942] 2021-06-17 11:57:26 +0900 2870Branch: REL_10_STABLE [feac82fa8] 2021-06-17 11:57:35 +0900 2871Branch: REL9_6_STABLE [484c81bf7] 2021-06-17 11:57:44 +0900 2872Branch: master Release: REL_13_BR [9903338b5] 2019-08-24 11:35:43 +0900 2873Branch: REL_12_STABLE [a8f687927] 2021-06-17 11:01:16 +0900 2874Branch: REL_11_STABLE [834cb7269] 2021-06-17 11:01:20 +0900 2875Branch: REL_10_STABLE [0ed218048] 2021-06-17 11:01:25 +0900 2876Branch: REL9_6_STABLE [b7cd5c5b0] 2021-06-17 11:01:32 +0900 2877Author: Tom Lane <tgl@sss.pgh.pa.us> 2878Branch: master Release: REL_14_BR [642c0697c] 2021-06-27 12:45:04 -0400 2879Branch: REL_13_STABLE [2d0944865] 2021-06-27 12:45:04 -0400 2880Branch: REL_12_STABLE [bc031cf13] 2021-06-27 12:45:04 -0400 2881Branch: REL_11_STABLE [1acab1209] 2021-06-27 12:45:04 -0400 2882Branch: REL_10_STABLE [7676d9594] 2021-06-27 12:45:04 -0400 2883Branch: REL9_6_STABLE [de589c112] 2021-06-27 12:45:04 -0400 2884--> 2885 <para> 2886 Improve the isolation-test infrastructure (Tom Lane, Michael Paquier) 2887 </para> 2888 2889 <para> 2890 Allow isolation test steps to be annotated to show the expected 2891 completion order. This allows getting stable results from 2892 otherwise-racy test cases, without the long delays that we 2893 previously used (not entirely successfully) to fend off race 2894 conditions. 2895 Allow non-quoted identifiers as isolation test session/step names 2896 (formerly, all such names had to be double-quoted). 2897 Detect and warn about unused steps in isolation tests. 2898 Improve display of query results in isolation tests. 2899 Remove isolationtester's <quote>dry-run</quote> mode. 2900 Remove memory leaks in isolationtester itself. 2901 </para> 2902 </listitem> 2903 2904 <listitem> 2905<!-- 2906Author: Tom Lane <tgl@sss.pgh.pa.us> 2907Branch: master [9753324b7] 2021-07-05 16:51:57 -0400 2908Branch: REL_14_STABLE [07f1e0696] 2021-07-05 16:51:57 -0400 2909Branch: REL_13_STABLE [2f487116e] 2021-07-05 16:51:57 -0400 2910Branch: REL_12_STABLE [3edc2dbc0] 2021-07-05 16:51:57 -0400 2911Branch: REL_11_STABLE [76c23bbb4] 2021-07-05 16:51:57 -0400 2912Branch: REL_10_STABLE [8c3e36fcc] 2021-07-05 16:51:57 -0400 2913Branch: REL9_6_STABLE [b82eabec3] 2021-07-05 16:51:57 -0400 2914Branch: master Release: REL_14_BR [e135743ef] 2021-05-11 20:59:58 -0400 2915Branch: REL_13_STABLE [834d9284b] 2021-05-11 20:59:45 -0400 2916--> 2917 <para> 2918 Reduce overhead of cache-clobber testing (Tom Lane) 2919 </para> 2920 </listitem> 2921 2922 <listitem> 2923<!-- 2924Author: Peter Eisentraut <peter@eisentraut.org> 2925Branch: master Release: REL_14_BR [4a682d85a] 2021-06-05 07:16:34 +0200 2926Branch: REL_13_STABLE [3989f8fb9] 2021-06-17 09:01:22 +0200 2927Branch: REL_12_STABLE [9438962ce] 2021-06-17 09:02:20 +0200 2928Branch: REL_11_STABLE [1a2752be8] 2021-06-17 09:02:44 +0200 2929Branch: REL_10_STABLE [6b6fbfd7e] 2021-06-17 09:03:30 +0200 2930Branch: REL9_6_STABLE [9c31e4165] 2021-06-17 09:04:15 +0200 2931Branch: REL_12_STABLE [70293e946] 2021-06-17 16:39:13 +0200 2932Branch: REL_11_STABLE [ba529a6ff] 2021-06-18 06:51:56 +0200 2933Branch: REL_10_STABLE [91709e10a] 2021-06-18 06:52:46 +0200 2934Branch: REL9_6_STABLE [ec52b886d] 2021-06-18 06:52:48 +0200 2935--> 2936 <para> 2937 Fix <application>PL/Python</application>'s regression tests to pass 2938 with Python 3.10 (Honza Horak) 2939 </para> 2940 </listitem> 2941 2942 <listitem> 2943<!-- 2944Author: Tom Lane <tgl@sss.pgh.pa.us> 2945Branch: master [3779ac62d] 2021-07-24 13:41:17 -0400 2946Branch: REL_14_STABLE [89ad14cd7] 2021-07-24 13:41:17 -0400 2947Branch: REL_13_STABLE [c0a6f83de] 2021-07-24 13:41:17 -0400 2948Branch: REL_12_STABLE [4c8a14e8d] 2021-07-24 13:41:17 -0400 2949Branch: REL_11_STABLE [9329b9235] 2021-07-24 13:41:17 -0400 2950Branch: REL_10_STABLE [5a435289d] 2021-07-24 13:41:17 -0400 2951Branch: REL9_6_STABLE [7e09b504d] 2021-07-24 13:41:17 -0400 2952--> 2953 <para> 2954 Make <literal>printf("%s", NULL)</literal> 2955 print <literal>(null)</literal> instead of crashing (Tom Lane) 2956 </para> 2957 2958 <para> 2959 This should improve server robustness in corner cases, and it syncs 2960 our <function>printf</function> implementation with common libraries. 2961 </para> 2962 </listitem> 2963 2964 <listitem> 2965<!-- 2966Author: Michael Paquier <michael@paquier.xyz> 2967Branch: master [17707c059] 2021-06-30 11:48:53 +0900 2968Branch: REL_14_STABLE [607a3a43b] 2021-06-30 11:49:10 +0900 2969Branch: REL_13_STABLE [41edb2db1] 2021-06-30 11:49:16 +0900 2970Branch: REL_12_STABLE [b5ee867a7] 2021-06-30 11:49:20 +0900 2971Branch: REL_11_STABLE [93d3d0cf3] 2021-06-30 11:49:24 +0900 2972Branch: REL_10_STABLE [d8569db76] 2021-06-30 11:49:29 +0900 2973Branch: REL9_6_STABLE [68bad2333] 2021-06-30 11:49:36 +0900 2974--> 2975 <para> 2976 Fix incorrect log message when point-in-time recovery stops at 2977 a <command>ROLLBACK PREPARED</command> record (Simon Riggs) 2978 </para> 2979 </listitem> 2980 2981 <listitem> 2982<!-- 2983Author: Michael Paquier <michael@paquier.xyz> 2984Branch: REL_14_STABLE [0c83eb2e0] 2021-07-14 17:15:01 +0900 2985Branch: REL_13_STABLE [522624345] 2021-07-14 17:15:18 +0900 2986Branch: REL_12_STABLE [b242e1d23] 2021-07-14 17:15:26 +0900 2987Branch: REL_11_STABLE [85a8c3a4b] 2021-07-14 17:15:31 +0900 2988--> 2989 <para> 2990 Improve <command>ALTER TABLE</command>'s messages for 2991 wrong-relation-kind errors (Kyotaro Horiguchi) 2992 </para> 2993 </listitem> 2994 2995 <listitem> 2996<!-- 2997Author: Fujii Masao <fujii@postgresql.org> 2998Branch: master [0e1275fb0] 2021-07-28 01:20:16 +0900 2999Branch: REL_14_STABLE [fd90f6ba7] 2021-07-28 01:21:35 +0900 3000Branch: REL_13_STABLE [92913fc29] 2021-07-28 01:21:52 +0900 3001Branch: REL_12_STABLE [de87c481f] 2021-07-28 01:24:24 +0900 3002Branch: REL_11_STABLE [42e6b5ccb] 2021-07-28 01:24:51 +0900 3003Branch: REL_10_STABLE [a84f95ffd] 2021-07-28 01:25:53 +0900 3004Branch: REL9_6_STABLE [78c21d79d] 2021-07-28 01:26:15 +0900 3005--> 3006 <para> 3007 Clarify error messages referring to <quote>non-negative</quote> 3008 values (Bharath Rupireddy) 3009 </para> 3010 </listitem> 3011 3012 <listitem> 3013<!-- 3014Author: Tom Lane <tgl@sss.pgh.pa.us> 3015Branch: master [d0a02bdb8] 2021-07-09 12:38:55 -0400 3016Branch: REL_14_STABLE [5620ec833] 2021-07-09 12:38:55 -0400 3017Branch: REL_13_STABLE [55cccdfdf] 2021-07-09 12:38:55 -0400 3018Branch: REL_12_STABLE [a5377e7f7] 2021-07-09 12:38:55 -0400 3019Branch: REL_11_STABLE [b69e8ad6c] 2021-07-09 12:38:55 -0400 3020Branch: REL_10_STABLE [7e0b53ad6] 2021-07-09 12:38:55 -0400 3021Branch: REL9_6_STABLE [cd5d3aefa] 2021-07-09 12:38:55 -0400 3022Branch: master [31e8cfac5] 2021-07-09 14:15:41 -0400 3023Branch: REL_14_STABLE [7f2eca6f9] 2021-07-09 14:15:41 -0400 3024Branch: REL_13_STABLE [cbcf5ffb1] 2021-07-09 14:15:41 -0400 3025Branch: REL_12_STABLE [83a8bf24e] 2021-07-09 14:15:41 -0400 3026Branch: REL_11_STABLE [29a4fbd46] 2021-07-09 14:15:41 -0400 3027Branch: REL_10_STABLE [911488b42] 2021-07-09 14:15:41 -0400 3028Branch: REL9_6_STABLE [8c9c20899] 2021-07-09 14:15:41 -0400 3029Branch: master [53c38a086] 2021-07-09 16:59:07 -0400 3030Branch: REL_14_STABLE [9ffad7ae7] 2021-07-09 16:59:07 -0400 3031Branch: REL_13_STABLE [32d0bdbfc] 2021-07-09 16:59:07 -0400 3032Branch: REL_12_STABLE [e82cde74d] 2021-07-09 16:59:08 -0400 3033Branch: REL_11_STABLE [2c28c689f] 2021-07-09 16:59:08 -0400 3034Branch: REL_10_STABLE [56533fce7] 2021-07-09 16:59:08 -0400 3035Branch: REL9_6_STABLE [3c612d9f6] 2021-07-09 16:59:08 -0400 3036Branch: master [9f6be2e79] 2021-07-10 13:19:30 -0400 3037Branch: REL_14_STABLE [ebc346e5b] 2021-07-10 13:19:31 -0400 3038Branch: REL_13_STABLE [9fca23c1d] 2021-07-10 13:19:31 -0400 3039Branch: REL_12_STABLE [03fc042eb] 2021-07-10 13:19:31 -0400 3040Branch: REL_11_STABLE [946f62f2f] 2021-07-10 13:19:31 -0400 3041--> 3042 <para> 3043 Fix <application>configure</application> to work with OpenLDAP 2.5, 3044 which no longer has a separate <filename>libldap_r</filename> 3045 library (Adrian Ho, Tom Lane) 3046 </para> 3047 3048 <para> 3049 If there is no <filename>libldap_r</filename> library, we now 3050 silently assume that <filename>libldap</filename> is thread-safe. 3051 </para> 3052 </listitem> 3053 3054 <listitem> 3055<!-- 3056Author: Andrew Dunstan <andrew@dunslane.net> 3057Branch: master [b8c4261e5] 2021-07-01 15:12:21 -0400 3058Branch: REL_14_STABLE [100e9ae53] 2021-07-01 15:15:09 -0400 3059Branch: REL_13_STABLE [bd0be7f7a] 2021-07-01 14:31:10 -0400 3060Branch: REL_12_STABLE [c71471c96] 2021-07-01 14:51:54 -0400 3061Branch: REL_11_STABLE [a7e3a390e] 2021-07-01 14:52:40 -0400 3062Branch: REL_10_STABLE [b796435be] 2021-07-01 15:07:20 -0400 3063Branch: REL9_6_STABLE [cbd5d7c85] 2021-07-01 15:11:53 -0400 3064Branch: master [7355c241e] 2021-07-01 15:47:46 -0400 3065Branch: REL_14_STABLE [1da2ea0cc] 2021-07-01 15:47:47 -0400 3066Branch: REL_13_STABLE [8d2be1402] 2021-07-01 15:40:42 -0400 3067Branch: REL_12_STABLE [383c29d1e] 2021-07-01 15:43:31 -0400 3068Branch: REL_11_STABLE [418041748] 2021-07-01 15:43:53 -0400 3069Branch: REL_10_STABLE [177531ee0] 2021-07-01 15:44:06 -0400 3070Branch: REL9_6_STABLE [1f7ea06d7] 2021-07-01 15:44:22 -0400 3071--> 3072 <para> 3073 Add new make targets <literal>world-bin</literal> 3074 and <literal>install-world-bin</literal> (Andrew Dunstan) 3075 </para> 3076 3077 <para> 3078 These are the same as <literal>world</literal> 3079 and <literal>install-world</literal> respectively, except that they 3080 do not build or install the documentation. 3081 </para> 3082 </listitem> 3083 3084 <listitem> 3085<!-- 3086Author: Andrew Dunstan <andrew@dunslane.net> 3087Branch: master [a0fc81326] 2021-07-01 09:02:46 -0400 3088Branch: REL_14_STABLE [c4774ce33] 2021-07-01 08:46:21 -0400 3089Branch: REL_13_STABLE [a8b564b0c] 2021-07-01 08:46:38 -0400 3090Branch: REL_12_STABLE [a40f8ea0f] 2021-07-01 08:47:04 -0400 3091Branch: REL_11_STABLE [58ac8300b] 2021-07-01 08:47:21 -0400 3092Branch: REL_10_STABLE [16ed3ddbb] 2021-07-01 08:48:24 -0400 3093Branch: REL9_6_STABLE [d173a4699] 2021-07-01 09:01:36 -0400 3094--> 3095 <para> 3096 Fix make rule for TAP tests (<literal>prove_installcheck</literal>) 3097 to work in PGXS usage (Andrew Dunstan) 3098 </para> 3099 </listitem> 3100 3101 <listitem> 3102<!-- 3103Author: Thomas Munro <tmunro@postgresql.org> 3104Branch: master Release: REL_14_BR [9b4e4cfe6] 2021-06-25 11:28:20 +1200 3105Branch: REL_13_STABLE [d9c05a9ec] 2021-06-25 11:29:00 +1200 3106Branch: REL_12_STABLE [47d22649e] 2021-06-25 11:29:20 +1200 3107Branch: REL_11_STABLE [6ada4fd06] 2021-06-25 11:29:47 +1200 3108--> 3109 <para> 3110 Adjust JIT code to prepare for forthcoming LLVM API change 3111 (Thomas Munro, Andres Freund) 3112 </para> 3113 3114 <para> 3115 LLVM 13 has made an incompatible API change that will cause crashing 3116 of our previous JIT compiler. 3117 </para> 3118 </listitem> 3119 3120 <listitem> 3121<!-- 3122Author: Tom Lane <tgl@sss.pgh.pa.us> 3123Branch: master Release: REL_14_BR [126cdaf47] 2021-06-23 14:01:32 -0400 3124Branch: REL_13_STABLE [13f365568] 2021-06-23 14:01:32 -0400 3125Branch: REL_12_STABLE [7eaf65451] 2021-06-23 14:01:32 -0400 3126Branch: REL_11_STABLE [361acef7e] 2021-06-23 14:01:32 -0400 3127Branch: REL_10_STABLE [d3a845d1f] 2021-06-23 14:01:32 -0400 3128Branch: REL9_6_STABLE [006a829b2] 2021-06-23 14:01:33 -0400 3129--> 3130 <para> 3131 Avoid assuming that strings returned by GSSAPI libraries are 3132 null-terminated (Tom Lane) 3133 </para> 3134 3135 <para> 3136 The GSSAPI spec provides for a string pointer and length. It seems 3137 that in practice the next byte after the string is usually zero, 3138 so that our previous coding didn't actually fail; but we do have 3139 a report of AddressSanitizer complaints. 3140 </para> 3141 </listitem> 3142 3143 <listitem> 3144<!-- 3145Author: Michael Paquier <michael@paquier.xyz> 3146Branch: master Release: REL_14_BR [025110663] 2021-05-27 20:11:00 +0900 3147Branch: REL_13_STABLE [ab81d004e] 2021-05-27 20:11:21 +0900 3148Branch: REL_12_STABLE [a75268f1c] 2021-05-27 20:11:24 +0900 3149Branch: REL_11_STABLE [cf2e09544] 2021-05-27 20:11:29 +0900 3150Branch: REL_10_STABLE [8f507dbc6] 2021-05-27 20:11:33 +0900 3151Branch: REL9_6_STABLE [7a4f2e158] 2021-05-27 20:11:38 +0900 3152Branch: master Release: REL_14_BR [7ca37fb04] 2020-12-30 12:56:06 -0500 3153Branch: REL_13_STABLE [e2f21ff60] 2021-06-01 09:27:25 +0900 3154Branch: REL_12_STABLE [02037af3f] 2021-06-01 09:27:31 +0900 3155Branch: REL_13_STABLE [949e32ee5] 2021-06-08 13:40:03 +0900 3156Branch: REL_12_STABLE [b7684bd10] 2021-06-08 13:40:10 +0900 3157--> 3158 <para> 3159 Enable building with GSSAPI on MSVC (Michael Paquier) 3160 </para> 3161 3162 <para> 3163 Fix various incompatibilities with modern Kerberos builds. 3164 </para> 3165 </listitem> 3166 3167 <listitem> 3168<!-- 3169Author: Andrew Dunstan <andrew@dunslane.net> 3170Branch: master Release: REL_14_BR [fb424ae85] 2021-05-28 09:30:16 -0400 3171Branch: REL_13_STABLE [c828a7246] 2021-05-28 09:31:50 -0400 3172Branch: REL_12_STABLE [ae3ef8569] 2021-05-28 09:32:09 -0400 3173Branch: REL_11_STABLE [3f70d7e44] 2021-05-28 09:32:24 -0400 3174Branch: REL_10_STABLE [a8c1062a1] 2021-05-28 09:32:31 -0400 3175Branch: REL9_6_STABLE [abbd70022] 2021-05-28 09:32:46 -0400 3176Branch: master Release: REL_14_BR [d69fcb9ca] 2021-05-28 09:35:11 -0400 3177Branch: REL_13_STABLE [bb18bc224] 2021-05-28 09:36:42 -0400 3178Branch: REL_12_STABLE [40a05cf24] 2021-05-28 09:35:42 -0400 3179Branch: REL_11_STABLE [a44a2b9ac] 2021-05-28 09:35:49 -0400 3180Branch: REL_10_STABLE [d5d89629c] 2021-05-28 09:35:55 -0400 3181Branch: REL9_6_STABLE [34a65fc63] 2021-05-28 09:36:10 -0400 3182--> 3183 <para> 3184 In MSVC builds, include <option>--with-pgport</option> in the set of 3185 configure options reported by <application>pg_config</application>, 3186 if it had been specified (Andrew Dunstan) 3187 </para> 3188 </listitem> 3189 3190 </itemizedlist> 3191 3192 </sect2> 3193 </sect1> 3194 3195 <sect1 id="release-12-7"> 3196 <title>Release 12.7</title> 3197 3198 <formalpara> 3199 <title>Release date:</title> 3200 <para>2021-05-13</para> 3201 </formalpara> 3202 3203 <para> 3204 This release contains a variety of fixes from 12.6. 3205 For information about new features in major release 12, see 3206 <xref linkend="release-12"/>. 3207 </para> 3208 3209 <sect2> 3210 <title>Migration to Version 12.7</title> 3211 3212 <para> 3213 A dump/restore is not required for those running 12.X. 3214 </para> 3215 3216 <para> 3217 However, if you are upgrading from a version earlier than 12.6, 3218 see <xref linkend="release-12-6"/>. 3219 </para> 3220 </sect2> 3221 3222 <sect2> 3223 <title>Changes</title> 3224 3225 <itemizedlist> 3226 3227 <listitem> 3228<!-- 3229Author: Tom Lane <tgl@sss.pgh.pa.us> 3230Branch: master [f02b9085a] 2021-05-10 10:44:38 -0400 3231Branch: REL_13_STABLE [467395bfd] 2021-05-10 10:44:38 -0400 3232Branch: REL_12_STABLE [3b0f6a7ae] 2021-05-10 10:44:38 -0400 3233Branch: REL_11_STABLE [06bfbe854] 2021-05-10 10:44:38 -0400 3234Branch: REL_10_STABLE [2fb809d3e] 2021-05-10 10:44:38 -0400 3235Branch: REL9_6_STABLE [0c1caa48d] 2021-05-10 10:44:38 -0400 3236--> 3237 <para> 3238 Prevent integer overflows in array subscripting calculations 3239 (Tom Lane) 3240 </para> 3241 3242 <para> 3243 The array code previously did not complain about cases where an 3244 array's lower bound plus length overflows an integer. This resulted 3245 in later entries in the array becoming inaccessible (since their 3246 subscripts could not be written as integers), but more importantly 3247 it confused subsequent assignment operations. This could lead to 3248 memory overwrites, with ensuing crashes or unwanted data 3249 modifications. 3250 (CVE-2021-32027) 3251 </para> 3252 </listitem> 3253 3254 <listitem> 3255<!-- 3256Author: Tom Lane <tgl@sss.pgh.pa.us> 3257Branch: master [049e1e2ed] 2021-05-10 11:02:29 -0400 3258Branch: REL_13_STABLE [4a8656a7e] 2021-05-10 11:02:29 -0400 3259Branch: REL_12_STABLE [a5fa3e067] 2021-05-10 11:02:29 -0400 3260Branch: REL_11_STABLE [b7d1f32ff] 2021-05-10 11:02:29 -0400 3261Branch: REL_10_STABLE [52a441362] 2021-05-10 11:02:30 -0400 3262Branch: REL9_6_STABLE [0fcb8e2e0] 2021-05-10 11:02:30 -0400 3263--> 3264 <para> 3265 Fix mishandling of <quote>junk</quote> columns in <literal>INSERT 3266 ... ON CONFLICT ... UPDATE</literal> target lists (Tom Lane) 3267 </para> 3268 3269 <para> 3270 If the <literal>UPDATE</literal> list contains any multi-column 3271 sub-selects (which give rise to junk columns in addition to the 3272 results proper), the <literal>UPDATE</literal> path would end up 3273 storing tuples that include the values of the extra junk columns. 3274 That's fairly harmless in the short run, but if new columns are 3275 added to the table then the values would become accessible, possibly 3276 leading to malfunctions if they don't match the datatypes of the 3277 added columns. 3278 </para> 3279 3280 <para> 3281 In addition, in versions supporting cross-partition updates, 3282 a cross-partition update triggered by such a case had the reverse 3283 problem: the junk columns were removed from the target list, 3284 typically causing an immediate crash due to malfunction of the 3285 multi-column sub-select mechanism. 3286 (CVE-2021-32028) 3287 </para> 3288 </listitem> 3289 3290 <listitem> 3291<!-- 3292Author: Tom Lane <tgl@sss.pgh.pa.us> 3293Branch: REL_13_STABLE [a71cfc56b] 2021-04-22 11:46:41 -0400 3294Branch: REL_12_STABLE [3fb93103a] 2021-04-22 11:46:41 -0400 3295Branch: REL_11_STABLE [27835b547] 2021-04-22 11:46:41 -0400 3296Author: Tom Lane <tgl@sss.pgh.pa.us> 3297Branch: master [d479d0028] 2021-04-22 17:30:55 -0400 3298Branch: REL_13_STABLE [2602ee468] 2021-04-22 17:30:42 -0400 3299Branch: REL_12_STABLE [05ce4bf8b] 2021-04-22 17:30:42 -0400 3300--> 3301 <para> 3302 Fix possibly-incorrect computation of <command>UPDATE 3303 ... RETURNING</command> outputs for joined cross-partition updates 3304 (Amit Langote, Etsuro Fujita) 3305 </para> 3306 3307 <para> 3308 If an <command>UPDATE</command> for a partitioned table caused a row 3309 to be moved to another partition with a physically different row 3310 type (for example, one with a different set of dropped columns), 3311 computation of <literal>RETURNING</literal> results for that row 3312 could produce errors or wrong answers. No error is observed unless 3313 the <command>UPDATE</command> involves other tables being joined to 3314 the target table. 3315 (CVE-2021-32029) 3316 </para> 3317 </listitem> 3318 3319 <listitem> 3320<!-- 3321Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 3322Branch: master [6f70d7ca1] 2021-05-05 12:21:50 -0400 3323Branch: REL_13_STABLE [923c13520] 2021-05-05 12:14:21 -0400 3324Branch: REL_12_STABLE [abce26c9e] 2021-05-05 12:14:21 -0400 3325Branch: REL_11_STABLE [a25b98d2c] 2021-05-05 12:14:21 -0400 3326--> 3327 <para> 3328 Fix adjustment of constraint deferrability properties in 3329 partitioned tables (Álvaro Herrera) 3330 </para> 3331 3332 <para> 3333 When applied to a foreign-key constraint of a partitioned table, 3334 <command>ALTER TABLE ... ALTER CONSTRAINT</command> failed to 3335 adjust the <literal>DEFERRABLE</literal> and/or 3336 <literal>INITIALLY DEFERRED</literal> markings of the constraints 3337 and triggers of leaf partitions. This led to unexpected behavior of 3338 such constraints. After updating to this version, any misbehaving 3339 partitioned tables can be fixed by executing a 3340 new <command>ALTER</command> command to set the desired properties. 3341 </para> 3342 3343 <para> 3344 This change also disallows applying such an <command>ALTER</command> 3345 directly to the constraints of leaf partitions. The only supported 3346 case is for the whole partitioning hierarchy to have identical 3347 constraint properties, so such <command>ALTER</command>s must be 3348 applied at the partition root. 3349 </para> 3350 </listitem> 3351 3352 <listitem> 3353<!-- 3354Author: Peter Eisentraut <peter@eisentraut.org> 3355Branch: master [a970edbed] 2021-05-04 12:09:08 +0200 3356Branch: REL_13_STABLE [64190d65f] 2021-05-04 12:10:22 +0200 3357Branch: REL_12_STABLE [13ff139a2] 2021-05-04 12:10:51 +0200 3358--> 3359 <para> 3360 When attaching a child table with <command>ALTER TABLE 3361 ... INHERIT</command>, insist that any generated columns in the 3362 parent be generated the same way in the child (Peter Eisentraut) 3363 </para> 3364 </listitem> 3365 3366 <listitem> 3367<!-- 3368Author: Tom Lane <tgl@sss.pgh.pa.us> 3369Branch: master [f52c5d674] 2021-03-12 11:08:42 -0500 3370Branch: REL_13_STABLE [8a2297776] 2021-03-12 11:08:42 -0500 3371Branch: REL_12_STABLE [e7f7950f6] 2021-03-12 11:08:42 -0500 3372Branch: REL_11_STABLE [6c34f186c] 2021-03-12 11:08:42 -0500 3373Branch: REL_10_STABLE [e5794cd59] 2021-03-12 11:08:42 -0500 3374--> 3375 <para> 3376 Forbid marking an identity column as nullable (Vik Fearing) 3377 </para> 3378 3379 <para> 3380 <literal>GENERATED ... AS IDENTITY</literal> implies <literal>NOT 3381 NULL</literal>, so don't allow it to be combined with an 3382 explicit <literal>NULL</literal> specification. 3383 </para> 3384 </listitem> 3385 3386 <listitem> 3387<!-- 3388Author: Tom Lane <tgl@sss.pgh.pa.us> 3389Branch: master [69d5ca484] 2021-04-13 15:10:18 -0400 3390Branch: REL_13_STABLE [c39aa1e87] 2021-04-13 15:10:18 -0400 3391Branch: REL_12_STABLE [a7fcb6285] 2021-04-13 15:10:18 -0400 3392Branch: REL_11_STABLE [c7f0275fb] 2021-04-13 15:10:18 -0400 3393Branch: REL_10_STABLE [46b6635b7] 2021-04-13 15:10:18 -0400 3394Branch: REL9_6_STABLE [041f4efd2] 2021-04-13 15:10:18 -0400 3395--> 3396 <para> 3397 Allow <literal>ALTER ROLE/DATABASE ... SET</literal> to set 3398 the <varname>role</varname>, <varname>session_authorization</varname>, 3399 and <varname>temp_buffers</varname> parameters (Tom Lane) 3400 </para> 3401 3402 <para> 3403 Previously, over-eager validity checks might reject these commands, 3404 even if the values would have worked when used later. This created 3405 a command ordering hazard for dump/reload and upgrade scenarios. 3406 </para> 3407 </listitem> 3408 3409 <listitem> 3410<!-- 3411Author: Michael Paquier <michael@paquier.xyz> 3412Branch: master [bd1208098] 2021-02-10 13:06:48 +0900 3413Branch: REL_13_STABLE [849383138] 2021-02-10 13:09:09 +0900 3414Branch: REL_12_STABLE [85edb1f26] 2021-02-10 13:09:12 +0900 3415Author: Michael Paquier <michael@paquier.xyz> 3416Branch: master [4f4726005] 2021-02-10 16:59:04 +0900 3417Branch: REL_13_STABLE [c6cd20d91] 2021-02-10 16:59:33 +0900 3418Branch: REL_12_STABLE [5b2945ec0] 2021-02-10 16:59:43 +0900 3419--> 3420 <para> 3421 Ensure that <command>REINDEX CONCURRENTLY</command> preserves any 3422 statistics target that's been set for the index (Michael Paquier) 3423 </para> 3424 </listitem> 3425 3426 <listitem> 3427<!-- 3428Author: Fujii Masao <fujii@postgresql.org> 3429Branch: master [8a55cb5ba] 2021-02-19 21:57:52 +0900 3430Branch: REL_13_STABLE [422012c98] 2021-02-19 21:58:43 +0900 3431Branch: REL_12_STABLE [fadcc4e81] 2021-02-19 21:59:26 +0900 3432--> 3433 <para> 3434 Fix <command>COMMIT AND CHAIN</command> to work correctly when the 3435 current transaction has live savepoints (Fujii Masao) 3436 </para> 3437 </listitem> 3438 3439 <listitem> 3440<!-- 3441Author: Tom Lane <tgl@sss.pgh.pa.us> 3442Branch: master [c402b02b9] 2021-04-12 14:37:49 -0400 3443Branch: REL_13_STABLE [8a7bd1e6c] 2021-04-12 14:37:22 -0400 3444Branch: REL_12_STABLE [27011bcff] 2021-04-12 14:37:22 -0400 3445Branch: REL_11_STABLE [fb2cca828] 2021-04-12 14:37:22 -0400 3446Branch: REL_10_STABLE [4b0aecee8] 2021-04-12 14:37:22 -0400 3447Branch: REL9_6_STABLE [a6158a4d9] 2021-04-12 14:37:22 -0400 3448--> 3449 <para> 3450 Fix bug with coercing the result of a <literal>COLLATE</literal> 3451 expression to a non-collatable type (Tom Lane) 3452 </para> 3453 3454 <para> 3455 This led to a parse tree in which the <literal>COLLATE</literal> 3456 appears to be applied to a non-collatable value. While that 3457 normally has no real impact (since <literal>COLLATE</literal> has no 3458 effect at runtime), it was possible to construct views that would be 3459 rejected during dump/reload. 3460 </para> 3461 </listitem> 3462 3463 <listitem> 3464<!-- 3465Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 3466Branch: master [25936fd46] 2021-02-27 18:09:15 -0300 3467Branch: REL_13_STABLE [2688852a4] 2021-02-27 18:09:15 -0300 3468Branch: REL_12_STABLE [262eb990c] 2021-02-27 18:09:15 -0300 3469--> 3470 <para> 3471 Fix use-after-free bug in saving tuples for <literal>AFTER</literal> 3472 triggers (Amit Langote) 3473 </para> 3474 3475 <para> 3476 This could cause crashes in some situations. 3477 </para> 3478 </listitem> 3479 3480 <listitem> 3481<!-- 3482Author: Tom Lane <tgl@sss.pgh.pa.us> 3483Branch: master [2efcd502e] 2021-04-30 14:10:26 -0400 3484Branch: REL_13_STABLE [4d225ba0e] 2021-04-30 14:10:26 -0400 3485Branch: REL_12_STABLE [89768ee69] 2021-04-30 14:10:26 -0400 3486Branch: REL_11_STABLE [ebc2ff076] 2021-04-30 14:10:26 -0400 3487Branch: REL_10_STABLE [0627f3630] 2021-04-30 14:10:26 -0400 3488Branch: REL9_6_STABLE [73bad52a9] 2021-04-30 14:10:26 -0400 3489--> 3490 <para> 3491 Disallow calling window functions and procedures via 3492 the <quote>fast path</quote> wire protocol message (Tom Lane) 3493 </para> 3494 3495 <para> 3496 Only plain functions are supported here. While trying to call 3497 an aggregate function failed already, calling a window function 3498 would crash, and calling a procedure would work only if the 3499 procedure did no transaction control. 3500 </para> 3501 </listitem> 3502 3503 <listitem> 3504<!-- 3505Author: Michael Paquier <michael@paquier.xyz> 3506Branch: master [f7aab36d6] 2021-04-28 11:17:58 +0900 3507Branch: REL_13_STABLE [f3c453787] 2021-04-28 11:18:17 +0900 3508Branch: REL_12_STABLE [7e76cb1d8] 2021-04-28 11:18:20 +0900 3509Branch: REL_11_STABLE [5b717e13c] 2021-04-28 11:18:24 +0900 3510Branch: REL_10_STABLE [90c9bad30] 2021-04-28 11:18:28 +0900 3511Branch: REL9_6_STABLE [6e41ff056] 2021-04-28 11:18:33 +0900 3512Author: Michael Paquier <michael@paquier.xyz> 3513Branch: master [f93f0b5b2] 2021-04-28 11:58:08 +0900 3514Branch: REL_13_STABLE [a928297bc] 2021-04-28 11:58:43 +0900 3515Branch: REL_12_STABLE [85a3e0be1] 2021-04-28 11:58:46 +0900 3516Branch: REL_11_STABLE [669f73666] 2021-04-28 11:58:50 +0900 3517Branch: REL_10_STABLE [b797918d2] 2021-04-28 11:58:55 +0900 3518Branch: REL9_6_STABLE [0d05a3a1d] 2021-04-28 11:59:00 +0900 3519--> 3520 <para> 3521 Extend <function>pg_identify_object_as_address()</function> 3522 to support event triggers (Joel Jacobson) 3523 </para> 3524 </listitem> 3525 3526 <listitem> 3527<!-- 3528Author: Michael Paquier <michael@paquier.xyz> 3529Branch: master [7a3972597] 2021-04-12 11:30:50 +0900 3530Branch: REL_13_STABLE [be79debd9] 2021-04-12 11:31:26 +0900 3531Branch: REL_12_STABLE [82dd5706e] 2021-04-12 11:31:30 +0900 3532Branch: REL_11_STABLE [5656f2c3d] 2021-04-12 11:31:35 +0900 3533Branch: REL_10_STABLE [1cc110f68] 2021-04-12 11:31:40 +0900 3534Branch: REL9_6_STABLE [6540322fa] 2021-04-12 11:31:46 +0900 3535--> 3536 <para> 3537 Fix <function>to_char()</function>'s handling of Roman-numeral month 3538 format codes with negative intervals (Julien Rouhaud) 3539 </para> 3540 3541 <para> 3542 Previously, such cases would usually cause a crash. 3543 </para> 3544 </listitem> 3545 3546 <listitem> 3547<!-- 3548Author: Tom Lane <tgl@sss.pgh.pa.us> 3549Branch: master [5c06abb9b] 2021-03-08 18:21:51 -0500 3550Branch: REL_13_STABLE [fe2b5386b] 2021-03-08 18:21:51 -0500 3551Branch: REL_12_STABLE [8fff8a874] 2021-03-08 18:21:51 -0500 3552Branch: REL_11_STABLE [ea42ccbce] 2021-03-08 18:21:51 -0500 3553Branch: REL_10_STABLE [37228ecde] 2021-03-08 18:21:51 -0500 3554--> 3555 <para> 3556 Check that the argument 3557 of <function>pg_import_system_collations()</function> is a valid 3558 schema OID (Tom Lane) 3559 </para> 3560 </listitem> 3561 3562 <listitem> 3563<!-- 3564Author: Tom Lane <tgl@sss.pgh.pa.us> 3565Branch: master [b5a66e735] 2021-02-18 22:38:55 -0500 3566Branch: REL_13_STABLE [bf9d3a5f8] 2021-02-18 22:38:55 -0500 3567Branch: REL_12_STABLE [e7cddb5f2] 2021-02-18 22:38:55 -0500 3568Branch: REL_11_STABLE [6e6fecf49] 2021-02-18 22:38:55 -0500 3569Branch: REL_10_STABLE [b06450979] 2021-02-18 22:38:55 -0500 3570Branch: REL9_6_STABLE [ab208421e] 2021-02-18 22:38:55 -0500 3571--> 3572 <para> 3573 Fix use of uninitialized value while parsing an 3574 <literal>\{<replaceable>m</replaceable>,<replaceable>n</replaceable>\}</literal> 3575 quantifier in a BRE-mode regular expression (Tom Lane) 3576 </para> 3577 3578 <para> 3579 This error could cause the quantifier to act non-greedy, that is 3580 behave like an 3581 <literal>{<replaceable>m</replaceable>,<replaceable>n</replaceable>}?</literal> 3582 quantifier would do in full regular expressions. 3583 </para> 3584 </listitem> 3585 3586 <listitem> 3587<!-- 3588Author: Tomas Vondra <tomas.vondra@postgresql.org> 3589Branch: master [33e52ad9a] 2021-03-26 22:34:58 +0100 3590Branch: REL_13_STABLE [67251c82a] 2021-03-26 22:37:45 +0100 3591Branch: REL_12_STABLE [88acb0135] 2021-03-26 22:40:00 +0100 3592Branch: REL_11_STABLE [2a307df1b] 2021-03-26 22:44:01 +0100 3593Branch: REL_10_STABLE [e5eb40eed] 2021-03-26 22:46:15 +0100 3594--> 3595 <para> 3596 Don't ignore system columns when estimating the number of groups 3597 using extended statistics (Tomas Vondra) 3598 </para> 3599 3600 <para> 3601 This led to strange estimates for queries such as <literal>SELECT 3602 ... GROUP BY a, b, ctid</literal>. 3603 </para> 3604 </listitem> 3605 3606 <listitem> 3607<!-- 3608Author: Tom Lane <tgl@sss.pgh.pa.us> 3609Branch: master [ae4867ec7] 2021-02-12 16:26:47 -0500 3610Branch: REL_13_STABLE [3a02d68a9] 2021-02-12 16:26:47 -0500 3611Branch: REL_12_STABLE [0347470b3] 2021-02-12 16:26:47 -0500 3612Branch: REL_11_STABLE [a28df6fa3] 2021-02-12 16:26:47 -0500 3613Branch: REL_10_STABLE [374f1cefe] 2021-02-12 16:26:47 -0500 3614Branch: REL9_6_STABLE [f4d781dae] 2021-02-12 16:26:47 -0500 3615--> 3616 <para> 3617 Avoid divide-by-zero when estimating selectivity of a regular 3618 expression with a very long fixed prefix (Tom Lane) 3619 </para> 3620 3621 <para> 3622 This typically led to a <literal>NaN</literal> selectivity value, 3623 causing assertion failures or strange planner behavior. 3624 </para> 3625 </listitem> 3626 3627 <listitem> 3628<!-- 3629Author: Tomas Vondra <tomas.vondra@postgresql.org> 3630Branch: master [23607a815] 2021-04-07 15:58:36 +0200 3631Branch: REL_13_STABLE [1aad1d181] 2021-04-07 15:59:30 +0200 3632Branch: REL_12_STABLE [847612fda] 2021-04-07 16:01:27 +0200 3633Branch: REL_11_STABLE [7d3a53461] 2021-04-07 16:02:51 +0200 3634Branch: REL_10_STABLE [e4f251be7] 2021-04-07 16:04:05 +0200 3635Branch: REL9_6_STABLE [df97ee6ea] 2021-04-07 16:05:21 +0200 3636--> 3637 <para> 3638 Fix access-off-the-end-of-the-table error in BRIN index bitmap scans 3639 (Tomas Vondra) 3640 </para> 3641 3642 <para> 3643 If the page range size used by a BRIN index isn't a power of two, 3644 there were corner cases in which a bitmap scan could try to fetch 3645 pages past the actual end of the table, leading to <quote>could not 3646 open file</quote> errors. 3647 </para> 3648 </listitem> 3649 3650 <listitem> 3651<!-- 3652Author: Michael Paquier <michael@paquier.xyz> 3653Branch: master [595b9cba2] 2021-03-22 08:30:53 +0900 3654Branch: REL_13_STABLE [6e5ce888a] 2021-03-22 08:31:01 +0900 3655Branch: REL_12_STABLE [4b1dd9b1e] 2021-03-22 08:31:05 +0900 3656Branch: REL_11_STABLE [f1d550f18] 2021-03-22 08:31:09 +0900 3657Branch: REL_10_STABLE [1ec7162a8] 2021-03-22 08:31:14 +0900 3658--> 3659 <para> 3660 Avoid incorrect timeline change while recovering uncommitted 3661 two-phase transactions from WAL (Soumyadeep Chakraborty, Jimmy Yih, 3662 Kevin Yeap) 3663 </para> 3664 3665 <para> 3666 This error could lead to subsequent WAL records being written under 3667 the wrong timeline ID, leading to consistency problems, or even 3668 complete failure to be able to restart the server, later on. 3669 </para> 3670 </listitem> 3671 3672 <listitem> 3673<!-- 3674Author: Fujii Masao <fujii@postgresql.org> 3675Branch: master [ad8b67492] 2021-04-06 02:25:37 +0900 3676Branch: REL_13_STABLE [e7bcfd717] 2021-04-06 02:27:11 +0900 3677Branch: REL_12_STABLE [dd5b7e486] 2021-04-06 02:27:22 +0900 3678Branch: REL_11_STABLE [b59d3abaf] 2021-04-06 02:27:30 +0900 3679Branch: REL_10_STABLE [b9cf9d7d3] 2021-04-06 02:27:39 +0900 3680Branch: REL9_6_STABLE [e3bf96216] 2021-04-06 02:27:48 +0900 3681--> 3682 <para> 3683 Ensure that locks are released while shutting down a standby 3684 server's startup process (Fujii Masao) 3685 </para> 3686 3687 <para> 3688 When a standby server is shut down while still in recovery, some 3689 locks might be left held. This causes assertion failures in debug 3690 builds; it's unclear whether any serious consequence could occur 3691 in production builds. 3692 </para> 3693 </listitem> 3694 3695 <listitem> 3696<!-- 3697Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 3698Branch: master [4e8c0f1a0] 2021-05-07 11:46:37 -0400 3699Branch: REL_13_STABLE [ef70b6f8e] 2021-05-07 11:46:37 -0400 3700Branch: REL_12_STABLE [cfebc7080] 2021-05-07 11:46:37 -0400 3701Branch: REL_11_STABLE [b40865ebd] 2021-05-07 11:46:37 -0400 3702Branch: REL_10_STABLE [1803c7626] 2021-05-07 11:46:37 -0400 3703--> 3704 <para> 3705 Fix crash when a logical replication worker does <command>ALTER 3706 SUBSCRIPTION REFRESH</command> (Peter Smith) 3707 </para> 3708 3709 <para> 3710 The core code won't do this, but a replica trigger could. 3711 </para> 3712 </listitem> 3713 3714 <listitem> 3715<!-- 3716Author: Thomas Munro <tmunro@postgresql.org> 3717Branch: master [f900a79ec] 2021-02-15 16:04:59 +1300 3718Branch: REL_13_STABLE [6c23e5ae9] 2021-02-15 16:05:42 +1300 3719Branch: REL_12_STABLE [a27f3a7f4] 2021-02-15 16:06:18 +1300 3720Branch: REL_11_STABLE [1fefe8879] 2021-02-15 16:06:25 +1300 3721Branch: REL_10_STABLE [800131df7] 2021-02-15 16:08:24 +1300 3722Branch: REL9_6_STABLE [09a3b19e3] 2021-02-15 16:09:14 +1300 3723--> 3724 <para> 3725 Ensure we default to <varname>wal_sync_method</varname> 3726 = <literal>fdatasync</literal> on recent FreeBSD (Thomas Munro) 3727 </para> 3728 3729 <para> 3730 FreeBSD 13 supports <literal>open_datasync</literal>, which would 3731 normally become the default choice. However, it's unclear whether 3732 that is actually an improvement for Postgres, so preserve the 3733 existing default for now. 3734 </para> 3735 </listitem> 3736 3737 <listitem> 3738<!-- 3739Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 3740Branch: master [e798d095d] 2021-05-04 10:09:12 -0400 3741Branch: REL_13_STABLE [91a6b3862] 2021-05-04 10:09:11 -0400 3742Branch: REL_12_STABLE [72fabd4bf] 2021-05-04 10:09:11 -0400 3743--> 3744 <para> 3745 Pass the correct trigger OID to object post-alter hooks 3746 during <command>ALTER CONSTRAINT</command> (Álvaro Herrera) 3747 </para> 3748 3749 <para> 3750 When updating trigger properties during <command>ALTER 3751 CONSTRAINT</command>, the post-alter hook was told that we are 3752 updating a trigger, but the constraint's OID was passed instead of 3753 the trigger's. 3754 </para> 3755 </listitem> 3756 3757 <listitem> 3758<!-- 3759Author: Thomas Munro <tmunro@postgresql.org> 3760Branch: master [637668fb1] 2021-02-15 14:27:33 +1300 3761Branch: REL_13_STABLE [9fe40913c] 2021-02-15 14:20:42 +1300 3762Branch: REL_12_STABLE [840eda04e] 2021-02-15 14:20:52 +1300 3763Branch: REL_11_STABLE [acafdd9ed] 2021-02-15 14:21:01 +1300 3764Branch: REL_10_STABLE [4b426f77c] 2021-02-15 14:22:08 +1300 3765Branch: REL9_6_STABLE [8a07e5bd8] 2021-02-15 14:22:19 +1300 3766--> 3767 <para> 3768 Ensure we finish cleaning up when interrupted while detaching a DSM 3769 segment (Thomas Munro) 3770 </para> 3771 3772 <para> 3773 This error could result in temporary files not being cleaned up 3774 promptly after a parallel query. 3775 </para> 3776 </listitem> 3777 3778 <listitem> 3779<!-- 3780Author: Tom Lane <tgl@sss.pgh.pa.us> 3781Branch: REL_12_STABLE [992cba94d] 2021-03-20 12:38:22 -0400 3782Branch: REL_11_STABLE [c49e287a8] 2021-03-20 12:38:22 -0400 3783Branch: REL_10_STABLE [7d9629ed2] 2021-03-20 12:38:22 -0400 3784--> 3785 <para> 3786 Fix memory leak while initializing server's SSL parameters (Michael 3787 Paquier) 3788 </para> 3789 3790 <para> 3791 This is ordinarily insignificant, but if the postmaster is 3792 repeatedly sent <systemitem>SIGHUP</systemitem> signals, the leak 3793 can build up over time. 3794 </para> 3795 </listitem> 3796 3797 <listitem> 3798<!-- 3799Author: Tom Lane <tgl@sss.pgh.pa.us> 3800Branch: master [e835e89a0] 2021-03-20 12:47:21 -0400 3801Branch: REL_13_STABLE [4b41f6923] 2021-03-20 12:47:35 -0400 3802Branch: REL_12_STABLE [2f31414f4] 2021-03-20 12:47:42 -0400 3803Branch: REL_11_STABLE [8c830148d] 2021-03-20 12:47:48 -0400 3804Branch: REL_10_STABLE [ad6c19066] 2021-03-20 12:47:53 -0400 3805Author: Tom Lane <tgl@sss.pgh.pa.us> 3806Branch: master [9bacdf9f5] 2021-03-18 22:22:47 -0400 3807Branch: REL_13_STABLE [12354839e] 2021-03-18 22:21:58 -0400 3808Branch: REL_12_STABLE [4eca51d44] 2021-03-18 22:21:58 -0400 3809Branch: REL_11_STABLE [20f11ca0d] 2021-03-18 22:21:58 -0400 3810Branch: REL_10_STABLE [ba986b7bc] 2021-03-18 22:21:58 -0400 3811Author: Tom Lane <tgl@sss.pgh.pa.us> 3812Branch: master [377b7a830] 2021-03-18 22:22:47 -0400 3813Branch: REL_13_STABLE [642b0b69b] 2021-03-18 22:09:41 -0400 3814Branch: REL_12_STABLE [fc552f868] 2021-03-18 22:09:41 -0400 3815Branch: REL_11_STABLE [26a3ae06d] 2021-03-18 22:09:41 -0400 3816Branch: REL_10_STABLE [5058e95a6] 2021-03-18 22:09:41 -0400 3817Branch: REL9_6_STABLE [7e2521770] 2021-03-18 22:09:41 -0400 3818Author: Tom Lane <tgl@sss.pgh.pa.us> 3819Branch: master [d303849b0] 2021-03-18 22:22:47 -0400 3820Branch: REL_13_STABLE [eba939551] 2021-03-18 21:44:43 -0400 3821Branch: REL_12_STABLE [92bc14a10] 2021-03-18 21:44:43 -0400 3822Branch: REL_11_STABLE [099d2914f] 2021-03-18 21:44:43 -0400 3823Branch: REL_10_STABLE [0b618ddf8] 2021-03-18 21:44:43 -0400 3824Branch: REL9_6_STABLE [09e961929] 2021-03-18 21:44:43 -0400 3825Author: Tom Lane <tgl@sss.pgh.pa.us> 3826Branch: master [415ffdc22] 2021-03-18 22:22:47 -0400 3827Branch: REL_13_STABLE [ea3989f34] 2021-03-18 20:50:56 -0400 3828Branch: REL_12_STABLE [1452a0bb8] 2021-03-18 20:50:56 -0400 3829Author: Tom Lane <tgl@sss.pgh.pa.us> 3830Branch: master [28644fac1] 2021-03-18 22:22:47 -0400 3831Branch: REL_13_STABLE [536836970] 2021-03-18 20:37:09 -0400 3832Branch: REL_12_STABLE [fbcc9fe33] 2021-03-18 20:37:09 -0400 3833Branch: REL_11_STABLE [967b693ea] 2021-03-18 20:37:09 -0400 3834Branch: REL_10_STABLE [2bed650c4] 2021-03-18 20:37:09 -0400 3835Author: Tom Lane <tgl@sss.pgh.pa.us> 3836Branch: master [4b12ab18c] 2021-03-16 16:03:06 -0400 3837Branch: REL_13_STABLE [4d072bf2a] 2021-03-16 16:02:49 -0400 3838Branch: REL_12_STABLE [6e3475556] 2021-03-16 16:02:49 -0400 3839Branch: REL_11_STABLE [a2764d87d] 2021-03-16 16:02:50 -0400 3840Branch: REL_10_STABLE [7ce7f2b79] 2021-03-16 16:02:50 -0400 3841--> 3842 <para> 3843 Fix assorted minor memory leaks in the server (Tom Lane, Andres Freund) 3844 </para> 3845 </listitem> 3846 3847 <listitem> 3848<!-- 3849Author: Tom Lane <tgl@sss.pgh.pa.us> 3850Branch: master [c2db458c1] 2021-04-13 13:37:07 -0400 3851Branch: REL_13_STABLE [97b7ad468] 2021-04-13 13:37:07 -0400 3852Branch: REL_12_STABLE [6530df6c2] 2021-04-13 13:37:07 -0400 3853Branch: REL_11_STABLE [22f2a98cf] 2021-04-13 13:37:07 -0400 3854--> 3855 <para> 3856 Fix failure when a PL/pgSQL <command>DO</command> block makes use of 3857 both composite-type variables and transaction control (Tom Lane) 3858 </para> 3859 3860 <para> 3861 Previously, such cases led to errors about leaked tuple descriptors. 3862 </para> 3863 </listitem> 3864 3865 <listitem> 3866<!-- 3867Author: Tom Lane <tgl@sss.pgh.pa.us> 3868Branch: master [51c54bb60] 2021-03-11 14:43:45 -0500 3869Branch: REL_13_STABLE [3580b4a0c] 2021-03-11 14:43:45 -0500 3870Branch: REL_12_STABLE [56defbdd0] 2021-03-11 14:43:45 -0500 3871Branch: REL_11_STABLE [d3a557894] 2021-03-11 14:43:45 -0500 3872Branch: REL_10_STABLE [d2be6cdc5] 2021-03-11 14:43:45 -0500 3873Branch: REL9_6_STABLE [a98e53e10] 2021-03-11 14:43:45 -0500 3874--> 3875 <para> 3876 Prevent infinite loop in <application>libpq</application> 3877 if a ParameterDescription message with a corrupt length is received 3878 (Tom Lane) 3879 </para> 3880 </listitem> 3881 3882 <listitem> 3883<!-- 3884Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 3885Branch: master [75dbfe4ca] 2021-03-02 15:39:34 -0300 3886Branch: REL_13_STABLE [b52fd1e7c] 2021-03-02 15:39:34 -0300 3887Branch: REL_12_STABLE [f92776791] 2021-03-02 15:39:34 -0300 3888Branch: REL_11_STABLE [ae1c1d84e] 2021-03-02 15:39:34 -0300 3889Branch: REL_10_STABLE [926139dd0] 2021-03-02 15:39:34 -0300 3890--> 3891 <para> 3892 When <application>initdb</application> prints instructions about how 3893 to start the server, make the path shown 3894 for <application>pg_ctl</application> use backslash separators on 3895 Windows (Nitin Jadhav) 3896 </para> 3897 </listitem> 3898 3899 <listitem> 3900<!-- 3901Author: Tom Lane <tgl@sss.pgh.pa.us> 3902Branch: master [ea8013854] 2021-03-23 14:27:50 -0400 3903Branch: REL_13_STABLE [c6eac71a8] 2021-03-23 14:27:50 -0400 3904Branch: REL_12_STABLE [beac4bd65] 2021-03-23 14:27:50 -0400 3905Branch: REL_11_STABLE [d75edab42] 2021-03-23 14:27:50 -0400 3906Branch: REL_10_STABLE [d5a905ed5] 2021-03-23 14:27:50 -0400 3907Branch: REL9_6_STABLE [4f670c64e] 2021-03-23 14:27:50 -0400 3908--> 3909 <para> 3910 Fix <application>psql</application> to restore the previous behavior 3911 of <literal>\connect 3912 service=<replaceable>something</replaceable></literal> (Tom Lane) 3913 </para> 3914 3915 <para> 3916 A previous bug fix caused environment variables (such 3917 as <varname>PGPORT</varname>) to override entries in the service 3918 file in this context. Restore the previous behavior, in which the 3919 priority is the other way around. 3920 </para> 3921 </listitem> 3922 3923 <listitem> 3924<!-- 3925Author: Fujii Masao <fujii@postgresql.org> 3926Branch: master [fe06819f1] 2021-02-19 22:01:25 +0900 3927Branch: REL_13_STABLE [be7485a1e] 2021-02-19 22:02:19 +0900 3928Branch: REL_12_STABLE [67b3ee292] 2021-02-19 22:02:44 +0900 3929--> 3930 <para> 3931 Fix <application>psql</application>'s <literal>ON_ERROR_ROLLBACK</literal> 3932 feature to handle <literal>COMMIT AND CHAIN</literal> commands 3933 correctly (Arthur Nascimento) 3934 </para> 3935 3936 <para> 3937 Previously, this case failed with <quote>savepoint 3938 "pg_psql_temporary_savepoint" does not exist</quote>. 3939 </para> 3940 </listitem> 3941 3942 <listitem> 3943<!-- 3944Author: Tom Lane <tgl@sss.pgh.pa.us> 3945Branch: master [48d67fd89] 2021-03-12 12:20:15 -0500 3946Branch: REL_13_STABLE [6ed059933] 2021-03-12 12:20:15 -0500 3947Branch: REL_12_STABLE [60e5c2b14] 2021-03-12 12:20:15 -0500 3948Branch: REL_11_STABLE [33aa7d13d] 2021-03-12 12:20:15 -0500 3949Branch: REL_10_STABLE [8915e7906] 2021-03-12 12:20:15 -0500 3950Branch: REL9_6_STABLE [a42c4438b] 2021-03-12 12:20:15 -0500 3951--> 3952 <para> 3953 Fix race condition in detection of file modification by 3954 <application>psql</application>'s <literal>\e</literal> and related 3955 commands (Laurenz Albe) 3956 </para> 3957 3958 <para> 3959 A very fast typist could fool the code's file-timestamp-based 3960 detection of whether the temporary edit file was changed. 3961 </para> 3962 </listitem> 3963 3964 <listitem> 3965<!-- 3966Author: Peter Eisentraut <peter@eisentraut.org> 3967Branch: master [feb270d10] 2021-05-04 14:18:16 +0200 3968Branch: REL_13_STABLE [a6a3a274a] 2021-05-04 14:18:23 +0200 3969Branch: REL_12_STABLE [bdaa0d2d7] 2021-05-04 14:18:33 +0200 3970--> 3971 <para> 3972 Fix <application>pg_dump</application>'s dumping of 3973 generated columns in partitioned tables (Peter Eisentraut) 3974 </para> 3975 3976 <para> 3977 A fix introduced in the previous minor release should not be applied 3978 to partitioned tables, only traditionally-inherited tables. 3979 </para> 3980 </listitem> 3981 3982 <listitem> 3983<!-- 3984Author: Tom Lane <tgl@sss.pgh.pa.us> 3985Branch: master [ec03f2df1] 2021-04-01 13:34:16 -0400 3986Branch: REL_13_STABLE [35421a470] 2021-04-01 13:34:16 -0400 3987Branch: REL_12_STABLE [84c5e0dd2] 2021-04-01 13:34:16 -0400 3988Branch: REL_11_STABLE [25fe401d5] 2021-04-01 13:34:16 -0400 3989Branch: REL_10_STABLE [1b6961c8f] 2021-04-01 13:34:16 -0400 3990Branch: REL9_6_STABLE [2c9b857af] 2021-04-01 13:34:16 -0400 3991--> 3992 <para> 3993 Fix missed file version check 3994 in <application>pg_restore</application> (Tom Lane) 3995 </para> 3996 3997 <para> 3998 When reading a custom-format archive from a non-seekable source, 3999 <application>pg_restore</application> neglected to check the 4000 archive version. If it was fed a newer archive version than it 4001 can support, it would fail messily later on. 4002 </para> 4003 </listitem> 4004 4005 <listitem> 4006<!-- 4007Author: Tom Lane <tgl@sss.pgh.pa.us> 4008Branch: master [57c081de0] 2021-04-29 15:24:37 -0400 4009Branch: REL_13_STABLE [bbcfee0e5] 2021-04-29 15:24:37 -0400 4010Branch: REL_12_STABLE [ba86371b9] 2021-04-29 15:24:37 -0400 4011Branch: REL_11_STABLE [404946d40] 2021-04-29 15:24:37 -0400 4012Branch: REL_10_STABLE [d5722c927] 2021-04-29 15:24:37 -0400 4013Branch: REL9_6_STABLE [54a233071] 2021-04-29 15:24:38 -0400 4014--> 4015 <para> 4016 Add some more checks to <application>pg_upgrade</application> for 4017 user tables containing non-upgradable data types (Tom Lane) 4018 </para> 4019 4020 <para> 4021 Fix detection of some cases where a non-upgradable data type is 4022 embedded within a container type (such as an array or range). 4023 Also disallow upgrading when user tables contain columns of 4024 system-defined composite types, since those types' OIDs are not 4025 stable across versions. 4026 </para> 4027 </listitem> 4028 4029 <listitem> 4030<!-- 4031Author: Fujii Masao <fujii@postgresql.org> 4032Branch: master [2eb1fc8b1] 2021-04-03 00:07:00 +0900 4033Branch: REL_13_STABLE [104164361] 2021-04-03 00:07:49 +0900 4034Branch: REL_12_STABLE [24bcce3bd] 2021-04-03 00:08:05 +0900 4035--> 4036 <para> 4037 Fix incorrect progress-reporting calculation 4038 in <application>pg_checksums</application> (Shinya Kato) 4039 </para> 4040 </listitem> 4041 4042 <listitem> 4043<!-- 4044Author: Fujii Masao <fujii@postgresql.org> 4045Branch: master [51893c846] 2021-03-23 09:53:08 +0900 4046Branch: REL_13_STABLE [34279fd4f] 2021-03-23 09:54:38 +0900 4047Branch: REL_12_STABLE [4220e06f4] 2021-03-23 09:54:59 +0900 4048Branch: REL_11_STABLE [4a2627c41] 2021-03-23 09:55:21 +0900 4049Branch: REL_10_STABLE [5386a8506] 2021-03-23 09:55:33 +0900 4050Branch: REL9_6_STABLE [e73068b07] 2021-03-23 09:55:49 +0900 4051--> 4052 <para> 4053 Fix <application>pg_waldump</application> to 4054 count <literal>XACT</literal> records correctly when generating 4055 per-record statistics (Kyotaro Horiguchi) 4056 </para> 4057 </listitem> 4058 4059 <listitem> 4060<!-- 4061Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 4062Branch: master [8deb6b38d] 2021-02-23 17:30:21 -0300 4063Branch: REL_13_STABLE [28f4b6108] 2021-02-23 17:30:21 -0300 4064Branch: REL_12_STABLE [2796ae2ad] 2021-02-23 17:30:21 -0300 4065Branch: REL_11_STABLE [258391707] 2021-02-23 17:30:21 -0300 4066Branch: REL_10_STABLE [bf518fefa] 2021-02-23 17:30:21 -0300 4067Branch: REL9_6_STABLE [0ccebe779] 2021-02-23 17:30:21 -0300 4068--> 4069 <para> 4070 Fix <filename>contrib/amcheck</filename> to not complain about the 4071 tuple flags <literal>HEAP_XMAX_LOCK_ONLY</literal> 4072 and <literal>HEAP_KEYS_UPDATED</literal> both being set 4073 (Julien Rouhaud) 4074 </para> 4075 4076 <para> 4077 This is a valid state after <literal>SELECT FOR UPDATE</literal>. 4078 </para> 4079 </listitem> 4080 4081 <listitem> 4082<!-- 4083Author: Noah Misch <noah@leadboat.com> 4084Branch: master [455dbc010] 2021-04-12 19:24:41 -0700 4085Branch: REL_13_STABLE [13881199e] 2021-04-12 19:24:58 -0700 4086Branch: REL_12_STABLE [4749c7ff4] 2021-04-12 19:27:09 -0700 4087Branch: REL_11_STABLE [c8da16ba1] 2021-04-12 19:27:31 -0700 4088Branch: REL_10_STABLE [fb9812b6c] 2021-04-12 19:27:36 -0700 4089Branch: REL9_6_STABLE [f488d19f3] 2021-04-12 19:27:38 -0700 4090--> 4091 <para> 4092 Adjust VPATH build rules to support recent Oracle Developer Studio 4093 compiler versions (Noah Misch) 4094 </para> 4095 </listitem> 4096 4097 <listitem> 4098<!-- 4099Author: Noah Misch <noah@leadboat.com> 4100Branch: master [c3556f6fa] 2021-04-12 19:24:21 -0700 4101Branch: REL_13_STABLE [766c8fce5] 2021-04-12 19:24:24 -0700 4102Branch: REL_12_STABLE [e3ac7d176] 2021-04-12 19:24:25 -0700 4103Branch: REL_11_STABLE [4a3de4092] 2021-04-12 19:24:25 -0700 4104Branch: REL_10_STABLE [72a9bd047] 2021-04-12 19:24:25 -0700 4105Branch: REL9_6_STABLE [14652a19f] 2021-04-12 19:24:26 -0700 4106--> 4107 <para> 4108 Fix testing of PL/Python for Python 3 on Solaris (Noah Misch) 4109 </para> 4110 </listitem> 4111 4112 </itemizedlist> 4113 4114 </sect2> 4115 </sect1> 4116 4117 <sect1 id="release-12-6"> 4118 <title>Release 12.6</title> 4119 4120 <formalpara> 4121 <title>Release date:</title> 4122 <para>2021-02-11</para> 4123 </formalpara> 4124 4125 <para> 4126 This release contains a variety of fixes from 12.5. 4127 For information about new features in major release 12, see 4128 <xref linkend="release-12"/>. 4129 </para> 4130 4131 <sect2> 4132 <title>Migration to Version 12.6</title> 4133 4134 <para> 4135 A dump/restore is not required for those running 12.X. 4136 </para> 4137 4138 <para> 4139 However, see the second and third changelog items below, 4140 which describe cases in which reindexing indexes after the upgrade 4141 may be advisable. 4142 </para> 4143 4144 <para> 4145 Also, if you are upgrading from a version earlier than 12.2, 4146 see <xref linkend="release-12-2"/>. 4147 </para> 4148 </sect2> 4149 4150 <sect2> 4151 <title>Changes</title> 4152 4153 <itemizedlist> 4154 4155 <listitem> 4156<!-- 4157Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 4158Branch: master [6214e2b22] 2021-02-08 11:01:51 +0200 4159Branch: REL_13_STABLE [8e56684d5] 2021-02-08 11:01:55 +0200 4160Branch: REL_12_STABLE [f50e88899] 2021-02-08 11:01:55 +0200 4161Branch: REL_11_STABLE [cb5868cc1] 2021-02-08 11:01:55 +0200 4162--> 4163 <para> 4164 Fix information leakage in constraint-violation error messages 4165 (Heikki Linnakangas) 4166 </para> 4167 4168 <para> 4169 If an <command>UPDATE</command> command attempts to move a row to a 4170 different partition but finds that it violates some constraint on 4171 the new partition, and the columns in that partition are in 4172 different physical positions than in the parent table, the error 4173 message could reveal the contents of columns that the user does not 4174 have <literal>SELECT</literal> privilege on. 4175 (CVE-2021-3393) 4176 </para> 4177 </listitem> 4178 4179 <listitem> 4180<!-- 4181Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 4182Branch: master [6b4d3046f] 2021-01-20 11:58:03 +0200 4183Branch: REL_13_STABLE [b8403d140] 2021-01-20 11:58:25 +0200 4184Branch: REL_12_STABLE [0326635dd] 2021-01-20 11:58:27 +0200 4185--> 4186 <para> 4187 Fix incorrect detection of concurrent page splits while inserting 4188 into a GiST index (Heikki Linnakangas) 4189 </para> 4190 4191 <para> 4192 Concurrent insertions could lead to a corrupt index with entries 4193 placed in the wrong pages. It's recommended to reindex any GiST 4194 index that's been subject to concurrent insertions. 4195 </para> 4196 </listitem> 4197 4198 <listitem> 4199<!-- 4200Author: Noah Misch <noah@leadboat.com> 4201Branch: master [8a54e12a3] 2021-01-30 00:00:27 -0800 4202Branch: REL_13_STABLE [86a5b309c] 2021-01-30 00:00:42 -0800 4203Branch: REL_12_STABLE [be843ce29] 2021-01-30 00:01:56 -0800 4204Branch: REL_11_STABLE [d1ab4bf6e] 2021-01-30 00:02:08 -0800 4205Branch: REL_10_STABLE [179775135] 2021-01-30 00:02:11 -0800 4206Branch: REL9_6_STABLE [d683d6528] 2021-01-30 00:04:05 -0800 4207Branch: REL9_5_STABLE [77a0e14f0] 2021-01-30 00:05:34 -0800 4208--> 4209 <para> 4210 Fix <command>CREATE INDEX CONCURRENTLY</command> to wait for 4211 concurrent prepared transactions (Andrey Borodin) 4212 </para> 4213 4214 <para> 4215 At the point where <command>CREATE INDEX CONCURRENTLY</command> 4216 waits for all concurrent transactions to complete so that it can see 4217 rows they inserted, it must also wait for all prepared transactions 4218 to complete, for the same reason. Its failure to do so meant that 4219 rows inserted by prepared transactions might be omitted from the new 4220 index, causing queries relying on the index to miss such rows. 4221 In installations that have enabled prepared transactions 4222 (<varname>max_prepared_transactions</varname> > 0), 4223 it's recommended to reindex any concurrently-built indexes in 4224 case this problem occurred when they were built. 4225 </para> 4226 </listitem> 4227 4228 <listitem> 4229<!-- 4230Author: Tom Lane <tgl@sss.pgh.pa.us> 4231Branch: master [9624321ec] 2021-02-03 19:38:43 -0500 4232Branch: REL_13_STABLE [57868d957] 2021-02-03 19:38:29 -0500 4233Branch: REL_12_STABLE [77e760d5c] 2021-02-03 19:38:29 -0500 4234Branch: REL_11_STABLE [1c3a87746] 2021-02-03 19:38:29 -0500 4235--> 4236 <para> 4237 Avoid crash when a <literal>CALL</literal> or <literal>DO</literal> 4238 statement that performs a transaction rollback is executed via 4239 extended query protocol (Thomas Munro, Tom Lane) 4240 </para> 4241 4242 <para> 4243 In <productname>PostgreSQL</productname> 13, this case reliably 4244 caused a null-pointer dereference. In earlier versions the bug 4245 seems to have no visible symptoms, but it's not quite clear that 4246 it could never cause a problem. 4247 </para> 4248 </listitem> 4249 4250 <listitem> 4251<!-- 4252Author: Tom Lane <tgl@sss.pgh.pa.us> 4253Branch: master [1d9351a87] 2021-01-28 13:41:55 -0500 4254Branch: REL_13_STABLE [7f1921cb9] 2021-01-28 13:41:55 -0500 4255Branch: REL_12_STABLE [7c53a8067] 2021-01-28 13:41:55 -0500 4256Branch: REL_11_STABLE [6f94531b0] 2021-01-28 13:41:55 -0500 4257--> 4258 <para> 4259 Fix partition pruning logic to handle asymmetric hash partition sets 4260 (Tom Lane) 4261 </para> 4262 4263 <para> 4264 If a hash-partitioned table has unequally-sized partitions (that is, 4265 varying modulus values), or it lacks partitions for some remainder 4266 values, then the planner's pruning logic could mistakenly conclude 4267 that some partitions don't need to be scanned, leading to failure to 4268 find rows that the query should find. 4269 </para> 4270 </listitem> 4271 4272 <listitem> 4273<!-- 4274Author: Tom Lane <tgl@sss.pgh.pa.us> 4275Branch: master [a0efda88a] 2021-01-19 13:25:33 -0500 4276Branch: REL_13_STABLE [188cd4f44] 2021-01-19 13:25:40 -0500 4277Branch: REL_12_STABLE [625315996] 2021-01-19 13:25:45 -0500 4278Branch: REL_11_STABLE [794562d07] 2021-01-19 13:25:49 -0500 4279Branch: REL_10_STABLE [fac54bd5e] 2021-01-19 13:25:54 -0500 4280Branch: REL9_6_STABLE [fe8edbb82] 2021-01-19 13:26:01 -0500 4281Branch: REL9_5_STABLE [0ab177bec] 2021-01-19 13:26:05 -0500 4282--> 4283 <para> 4284 Avoid incorrect results when <literal>WHERE CURRENT OF</literal> is 4285 applied to a cursor whose plan contains a MergeAppend node (Tom 4286 Lane) 4287 </para> 4288 4289 <para> 4290 This case is unsupported (in general, a cursor using <literal>ORDER 4291 BY</literal> is not guaranteed to be simply updatable); but the code 4292 previously did not reject it, and could silently give false matches. 4293 </para> 4294 </listitem> 4295 4296 <listitem> 4297<!-- 4298Author: Tom Lane <tgl@sss.pgh.pa.us> 4299Branch: master [60661bbf2] 2021-01-18 18:32:30 -0500 4300Branch: REL_13_STABLE [f0f53195b] 2021-01-18 18:32:40 -0500 4301Branch: REL_12_STABLE [ba80489c6] 2021-01-18 18:32:45 -0500 4302Branch: REL_11_STABLE [de622e677] 2021-01-18 18:32:49 -0500 4303Branch: REL_10_STABLE [5cd94de77] 2021-01-18 18:32:55 -0500 4304Branch: REL9_6_STABLE [ffbf17463] 2021-01-18 18:33:02 -0500 4305Branch: REL9_5_STABLE [33a46993f] 2021-01-18 18:33:07 -0500 4306--> 4307 <para> 4308 Fix crash when <literal>WHERE CURRENT OF</literal> is applied to a 4309 cursor whose plan contains a custom scan node (David Geier) 4310 </para> 4311 </listitem> 4312 4313 <listitem> 4314<!-- 4315Author: Tom Lane <tgl@sss.pgh.pa.us> 4316Branch: master [55dc86eca] 2021-01-21 15:37:23 -0500 4317Branch: REL_13_STABLE [73fc2e5ba] 2021-01-21 15:37:23 -0500 4318Branch: REL_12_STABLE [1cce024fd] 2021-01-21 15:37:23 -0500 4319--> 4320 <para> 4321 Fix planner's mishandling of placeholders whose evaluation should be 4322 delayed by an outer join (Tom Lane) 4323 </para> 4324 4325 <para> 4326 This occurs in particular with trivial subqueries containing lateral 4327 references to outer-join outputs. The mistake could result in a 4328 malformed plan. The known cases trigger a <quote>failed to assign 4329 all NestLoopParams to plan nodes</quote> error, but other symptoms 4330 may be possible. 4331 </para> 4332 </listitem> 4333 4334 <listitem> 4335<!-- 4336Author: Tom Lane <tgl@sss.pgh.pa.us> 4337Branch: master [e98c90099] 2020-12-05 16:16:13 -0500 4338Branch: REL_13_STABLE [7d43b76f6] 2020-12-05 16:16:13 -0500 4339Branch: REL_12_STABLE [77a94c30d] 2020-12-05 16:16:13 -0500 4340--> 4341 <para> 4342 Fix planner's handling of placeholders during removal of useless 4343 RESULT RTEs (Tom Lane) 4344 </para> 4345 4346 <para> 4347 This oversight could lead to <quote>no relation entry for 4348 relid <replaceable>N</replaceable></quote> planner errors. 4349 </para> 4350 </listitem> 4351 4352 <listitem> 4353<!-- 4354Author: Tom Lane <tgl@sss.pgh.pa.us> 4355Branch: master [b1738ff6a] 2020-11-30 12:22:43 -0500 4356Branch: REL_13_STABLE [666a4de93] 2020-11-30 12:22:43 -0500 4357Branch: REL_12_STABLE [4f728a1f5] 2020-11-30 12:22:43 -0500 4358Branch: REL_11_STABLE [caecab229] 2020-11-30 12:22:43 -0500 4359Branch: REL_10_STABLE [785f4462d] 2020-11-30 12:22:43 -0500 4360Branch: REL9_6_STABLE [ab4cbb4bc] 2020-11-30 12:22:43 -0500 4361Branch: REL9_5_STABLE [8c5da2d51] 2020-11-30 12:22:43 -0500 4362--> 4363 <para> 4364 Fix planner's handling of a placeholder that is computed at some 4365 join level and used only at that same level (Tom Lane) 4366 </para> 4367 4368 <para> 4369 This oversight could lead to <quote>failed to build 4370 any <replaceable>N</replaceable>-way joins</quote> planner errors. 4371 </para> 4372 </listitem> 4373 4374 <listitem> 4375<!-- 4376Author: Andrew Gierth <rhodiumtoad@postgresql.org> 4377Branch: master [660b89928] 2020-11-24 21:58:32 +0000 4378Branch: REL_13_STABLE [6dda05704] 2020-11-24 21:16:58 +0000 4379Branch: REL_12_STABLE [ae5aa26dc] 2020-11-24 21:17:02 +0000 4380Branch: REL_11_STABLE [018e7d98d] 2020-11-24 21:18:37 +0000 4381Branch: REL_10_STABLE [321c87e5c] 2020-11-24 21:18:59 +0000 4382Branch: REL9_6_STABLE [6402afd98] 2020-11-24 21:19:50 +0000 4383Branch: REL9_5_STABLE [59ed45e27] 2020-11-24 21:36:09 +0000 4384--> 4385 <para> 4386 Be more careful about whether index AMs support mark/restore 4387 (Andrew Gierth) 4388 </para> 4389 4390 <para> 4391 This prevents errors about missing support functions in rare edge 4392 cases. 4393 </para> 4394 </listitem> 4395 4396 <listitem> 4397<!-- 4398Author: Thomas Munro <tmunro@postgresql.org> 4399Branch: master Release: REL_13_BR [d061ea21f] 2020-01-31 17:29:38 +1300 4400Branch: REL_12_STABLE [2ded1f1fb] 2020-11-20 10:51:30 +1300 4401Branch: REL_11_STABLE [0455f78dd] 2020-11-20 10:52:38 +1300 4402Branch: REL_10_STABLE [f5332503e] 2020-11-20 10:53:08 +1300 4403--> 4404 <para> 4405 Adjust settings to make it more difficult to run out of DSM slots 4406 during heavy usage of parallel queries (Thomas Munro) 4407 </para> 4408 </listitem> 4409 4410 <listitem> 4411<!-- 4412Author: Fujii Masao <fujii@postgresql.org> 4413Branch: master [2ad78a87f] 2021-01-15 12:44:17 +0900 4414Branch: REL_13_STABLE [60369db86] 2021-01-15 12:45:25 +0900 4415Branch: REL_12_STABLE [19a1d7685] 2021-01-15 12:45:51 +0900 4416Branch: REL_11_STABLE [97b025ebe] 2021-01-15 12:46:26 +0900 4417--> 4418 <para> 4419 Fix overestimate of the amount of shared memory needed for parallel 4420 queries (Takayuki Tsunakawa) 4421 </para> 4422 </listitem> 4423 4424 <listitem> 4425<!-- 4426Author: Michael Paquier <michael@paquier.xyz> 4427Branch: master [21378e1fe] 2021-01-20 11:38:17 +0900 4428Branch: REL_13_STABLE [31e0f9d76] 2021-01-20 11:39:14 +0900 4429Branch: REL_12_STABLE [5ad672fc2] 2021-01-20 11:39:17 +0900 4430Branch: REL_11_STABLE [1c3a4d44d] 2021-01-20 11:39:21 +0900 4431Branch: REL_10_STABLE [74ee3abcf] 2021-01-20 11:39:24 +0900 4432Branch: REL9_6_STABLE [7dc3be9df] 2021-01-20 11:39:31 +0900 4433Branch: REL9_5_STABLE [0ddb529cf] 2021-01-20 11:39:35 +0900 4434--> 4435 <para> 4436 Fix <command>ALTER DEFAULT PRIVILEGES</command> to handle duplicated 4437 arguments safely (Michael Paquier) 4438 </para> 4439 4440 <para> 4441 Duplicate role or schema names within the same command could lead 4442 to <quote>tuple already updated by self</quote> errors or 4443 unique-constraint violations. 4444 </para> 4445 </listitem> 4446 4447 <listitem> 4448<!-- 4449Author: Noah Misch <noah@leadboat.com> 4450Branch: master [08db7c63f] 2020-12-25 10:41:59 -0800 4451Branch: REL_13_STABLE [9f8a48bb2] 2020-12-25 10:42:02 -0800 4452Branch: REL_12_STABLE [c96698806] 2020-12-25 10:42:03 -0800 4453Branch: REL_11_STABLE [e83e8509b] 2020-12-25 10:42:03 -0800 4454Branch: REL_10_STABLE [d7c197f46] 2020-12-25 10:42:03 -0800 4455Branch: REL9_6_STABLE [b81d3791e] 2020-12-25 10:42:04 -0800 4456Branch: REL9_5_STABLE [90383a613] 2020-12-25 10:42:04 -0800 4457Branch: REL_10_STABLE [d176b9d5e] 2020-12-25 11:02:56 -0800 4458Branch: REL9_6_STABLE [3f920e876] 2020-12-25 11:03:05 -0800 4459Branch: REL9_5_STABLE [14649bf50] 2020-12-25 11:06:23 -0800 4460--> 4461 <para> 4462 Flush ACL-related caches when <structname>pg_authid</structname> 4463 changes (Noah Misch) 4464 </para> 4465 4466 <para> 4467 This change ensures that permissions-related decisions will promptly 4468 reflect the results of <command>ALTER ROLE ... [NO] INHERIT</command>. 4469 </para> 4470 </listitem> 4471 4472 <listitem> 4473<!-- 4474Author: Tom Lane <tgl@sss.pgh.pa.us> 4475Branch: master [f7f83a55b] 2020-12-01 14:02:27 -0500 4476Branch: REL_13_STABLE [dffc82a5b] 2020-12-01 14:02:27 -0500 4477Branch: REL_12_STABLE [5f9b05ada] 2020-12-01 14:02:28 -0500 4478Branch: REL_11_STABLE [28bb8c496] 2020-12-01 14:02:28 -0500 4479Branch: REL_10_STABLE [d98e27dc6] 2020-12-01 14:02:28 -0500 4480Branch: REL9_6_STABLE [f00c44002] 2020-12-01 14:02:28 -0500 4481Branch: REL9_5_STABLE [fb500296d] 2020-12-01 14:02:28 -0500 4482--> 4483 <para> 4484 Prevent misprocessing of ambiguous <command>CREATE TABLE 4485 LIKE</command> clauses (Tom Lane) 4486 </para> 4487 4488 <para> 4489 A <literal>LIKE</literal> clause is re-examined after initial 4490 creation of the new table, to handle importation of indexes and 4491 such. It was possible for this re-examination to find a different 4492 table of the same name, causing unexpected behavior; one example is 4493 where the new table is a temporary table of the same name as 4494 the <literal>LIKE</literal> target. 4495 </para> 4496 </listitem> 4497 4498 <listitem> 4499<!-- 4500Author: Tom Lane <tgl@sss.pgh.pa.us> 4501Branch: master [97390fe8a] 2020-11-19 15:03:17 -0500 4502Branch: REL_13_STABLE [98f3f1d5c] 2020-11-19 15:03:17 -0500 4503Branch: REL_12_STABLE [87ab46421] 2020-11-19 15:03:17 -0500 4504Branch: REL_11_STABLE [c690ebbef] 2020-11-19 15:03:17 -0500 4505Branch: REL_10_STABLE [513db7b70] 2020-11-19 15:03:17 -0500 4506Branch: REL9_6_STABLE [159b6775f] 2020-11-19 15:03:17 -0500 4507Branch: REL9_5_STABLE [6631d5f26] 2020-11-19 15:03:17 -0500 4508--> 4509 <para> 4510 Rearrange order of operations in <command>CREATE TABLE 4511 LIKE</command> so that indexes are cloned before building foreign 4512 key constraints (Tom Lane) 4513 </para> 4514 4515 <para> 4516 This fixes the case where a self-referential foreign key constraint 4517 declared in the outer <command>CREATE TABLE</command> depends on an 4518 index that's coming from the <literal>LIKE </literal> clause. 4519 </para> 4520 </listitem> 4521 4522 <listitem> 4523<!-- 4524Author: Tomas Vondra <tomas.vondra@postgresql.org> 4525Branch: master [c9a0dc348] 2021-01-15 23:31:22 +0100 4526Branch: REL_13_STABLE [d26d4c717] 2021-01-15 23:32:54 +0100 4527Branch: REL_12_STABLE [943a113bc] 2021-01-15 23:33:16 +0100 4528Branch: REL_11_STABLE [f52db9694] 2021-01-15 23:33:44 +0100 4529Branch: REL_10_STABLE [c22539756] 2021-01-15 23:34:02 +0100 4530--> 4531 <para> 4532 Disallow <command>CREATE STATISTICS</command> on system catalogs 4533 (Tomas Vondra) 4534 </para> 4535 </listitem> 4536 4537 <listitem> 4538<!-- 4539Author: Tom Lane <tgl@sss.pgh.pa.us> 4540Branch: master [dd705a039] 2021-02-06 15:17:01 -0500 4541Branch: REL_13_STABLE [4353bc878] 2021-02-06 15:17:01 -0500 4542Branch: REL_12_STABLE [f73321957] 2021-02-06 15:17:01 -0500 4543Branch: REL_11_STABLE [580069037] 2021-02-06 15:17:02 -0500 4544Branch: REL_10_STABLE [ad85e5efa] 2021-02-06 15:17:02 -0500 4545Branch: REL9_6_STABLE [7736ab05f] 2021-02-06 15:17:02 -0500 4546Branch: REL9_5_STABLE [5ad03374b] 2021-02-06 15:17:02 -0500 4547--> 4548 <para> 4549 Disallow converting an inheritance child table to a view 4550 (Tom Lane) 4551 </para> 4552 </listitem> 4553 4554 <listitem> 4555<!-- 4556Author: Thomas Munro <tmunro@postgresql.org> 4557Branch: master [9f35f9437] 2020-12-01 13:21:03 +1300 4558Branch: REL_13_STABLE [fd3a75d82] 2020-12-01 13:22:01 +1300 4559Branch: REL_12_STABLE [50f338574] 2020-12-01 13:37:00 +1300 4560Branch: REL_11_STABLE [d5706ad7b] 2020-12-01 13:46:27 +1300 4561Branch: REL_10_STABLE [22701755d] 2020-12-01 14:43:04 +1300 4562Branch: REL9_6_STABLE [d0bbe2122] 2020-12-01 14:50:41 +1300 4563Branch: REL9_5_STABLE [e00928de8] 2020-12-01 14:54:49 +1300 4564--> 4565 <para> 4566 Ensure that disk space allocated for a dropped relation is released 4567 promptly at commit (Thomas Munro) 4568 </para> 4569 4570 <para> 4571 Previously, if the dropped relation spanned multiple 1GB segments, 4572 only the first segment was truncated immediately. Other segments 4573 were simply unlinked, which doesn't authorize the kernel to release 4574 the storage so long as any other backends still have the files open. 4575 </para> 4576 </listitem> 4577 4578 <listitem> 4579<!-- 4580Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 4581Branch: master [ebfe2dbd6] 2021-01-14 15:32:14 -0300 4582Branch: REL_13_STABLE [5b01a6f13] 2021-01-14 15:32:14 -0300 4583Branch: REL_12_STABLE [c9b702552] 2021-01-14 15:32:14 -0300 4584Branch: REL_11_STABLE [c442b32c2] 2021-01-14 15:32:14 -0300 4585--> 4586 <para> 4587 Prevent dropping a tablespace that is referenced by a partitioned 4588 relation, but is not used for any actual storage (Álvaro 4589 Herrera) 4590 </para> 4591 4592 <para> 4593 Previously this was allowed, but subsequent operations on the 4594 partitioned relation would fail. 4595 </para> 4596 </listitem> 4597 4598 <listitem> 4599<!-- 4600Author: Fujii Masao <fujii@postgresql.org> 4601Branch: master [3df51ca8b] 2020-11-27 20:16:44 +0900 4602Branch: REL_13_STABLE [dcc20946a] 2020-11-27 20:17:33 +0900 4603Branch: REL_12_STABLE [fce17e486] 2020-11-27 20:18:02 +0900 4604--> 4605 <para> 4606 Fix progress reporting for <command>CLUSTER</command> (Matthias van 4607 de Meent) 4608 </para> 4609 </listitem> 4610 4611 <listitem> 4612<!-- 4613Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 4614Branch: master [c444472af] 2021-02-05 11:14:56 +0200 4615Branch: REL_13_STABLE [c87cbd51e] 2021-02-05 11:19:48 +0200 4616Branch: REL_12_STABLE [9b0ce8957] 2021-02-05 11:16:33 +0200 4617Branch: REL_11_STABLE [d9b4163c5] 2021-02-05 11:16:53 +0200 4618Branch: REL_10_STABLE [c06632e48] 2021-02-05 11:17:07 +0200 4619Branch: REL9_6_STABLE [e152ccc7f] 2021-02-05 11:17:13 +0200 4620Branch: REL9_5_STABLE [aaf266157] 2021-02-05 11:17:27 +0200 4621--> 4622 <para> 4623 Fix handling of backslash-escaped multibyte characters 4624 in <command>COPY FROM</command> (Heikki Linnakangas) 4625 </para> 4626 4627 <para> 4628 A backslash followed by a multibyte character was not handled 4629 correctly. In some client character encodings, this could lead to 4630 misinterpreting part of a multibyte character as a field separator 4631 or end-of-copy-data marker. 4632 </para> 4633 </listitem> 4634 4635 <listitem> 4636<!-- 4637Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 4638Branch: master [2cccb627f] 2020-11-18 12:39:15 +0200 4639Branch: REL_13_STABLE [340ae3cfb] 2020-11-20 14:41:14 +0200 4640Branch: REL_12_STABLE [888fa2bae] 2020-11-20 14:46:47 +0200 4641Branch: REL_11_STABLE [57b5d8484] 2020-11-20 14:49:25 +0200 4642Branch: REL_10_STABLE [1dbe627fd] 2020-11-20 14:49:42 +0200 4643Branch: REL9_6_STABLE [02a2dbe91] 2020-11-20 14:57:15 +0200 4644Branch: REL9_5_STABLE [ded7db4c1] 2020-11-20 14:57:51 +0200 4645--> 4646 <para> 4647 Avoid preallocating executor hash tables 4648 in <command>EXPLAIN</command> without <literal>ANALYZE</literal> 4649 (Alexey Bashtanov) 4650 </para> 4651 </listitem> 4652 4653 <listitem> 4654<!-- 4655Author: Tom Lane <tgl@sss.pgh.pa.us> 4656Branch: master [9c83b54a9] 2020-11-28 14:03:40 -0500 4657Branch: REL_13_STABLE [f5de090cc] 2020-11-28 14:03:40 -0500 4658Branch: REL_12_STABLE [cbc7a7a10] 2020-11-28 14:03:40 -0500 4659Branch: REL_11_STABLE [40f2fbe71] 2020-11-28 14:03:40 -0500 4660Branch: REL_10_STABLE [f6324bbbe] 2020-11-28 14:03:40 -0500 4661Branch: REL9_6_STABLE [8a4069766] 2020-11-28 14:03:40 -0500 4662Branch: REL9_5_STABLE [60d6c7143] 2020-11-28 14:03:40 -0500 4663--> 4664 <para> 4665 Fix recently-introduced race conditions 4666 in <command>LISTEN</command>/<command>NOTIFY</command> queue 4667 handling (Tom Lane) 4668 </para> 4669 4670 <para> 4671 A newly-listening backend could attempt to read SLRU pages that 4672 were in process of being truncated, possibly causing an error. 4673 </para> 4674 4675 <para> 4676 The queue tail pointer could become 4677 set to a value that's not equal to the queue position of any 4678 backend, resulting in effective disabling of the queue truncation 4679 logic. Continued use of <command>NOTIFY</command> then led to 4680 queue-fill warnings, and eventually to inability to send any more 4681 notifies until the server is restarted. 4682 </para> 4683 </listitem> 4684 4685 <listitem> 4686<!-- 4687Author: Tom Lane <tgl@sss.pgh.pa.us> 4688Branch: master [ff5d5611c] 2020-12-21 13:11:50 -0500 4689Branch: REL_13_STABLE [38d30a14b] 2020-12-21 13:11:51 -0500 4690Branch: REL_12_STABLE [38bef9e43] 2020-12-21 13:11:29 -0500 4691Branch: REL_11_STABLE [75c8ef5ae] 2020-12-21 13:11:29 -0500 4692Branch: REL_10_STABLE [542248f9d] 2020-12-21 13:11:30 -0500 4693Branch: REL9_6_STABLE [1d5f3f976] 2020-12-21 13:11:30 -0500 4694Branch: REL9_5_STABLE [edcdbc44e] 2020-12-21 13:11:30 -0500 4695--> 4696 <para> 4697 Allow the <type>jsonb</type> concatenation operator to handle all 4698 combinations of JSON data types (Tom Lane) 4699 </para> 4700 4701 <para> 4702 We can concatenate two JSON objects or two JSON arrays. Handle 4703 other cases by wrapping non-array inputs in one-element arrays, 4704 then performing an array concatenation. Previously, some 4705 combinations of inputs followed this rule but others arbitrarily 4706 threw an error. 4707 </para> 4708 </listitem> 4709 4710 <listitem> 4711<!-- 4712Author: Tom Lane <tgl@sss.pgh.pa.us> 4713Branch: master [afcc8772e] 2021-01-08 12:16:00 -0500 4714Branch: REL_13_STABLE [49c928c0c] 2021-01-08 12:16:00 -0500 4715Branch: REL_12_STABLE [8354371d0] 2021-01-08 12:16:00 -0500 4716Branch: REL_11_STABLE [769908811] 2021-01-08 12:16:00 -0500 4717Branch: REL_10_STABLE [2d540ac5f] 2021-01-08 12:16:00 -0500 4718Branch: REL9_6_STABLE [085a1cfb3] 2021-01-08 12:16:00 -0500 4719Branch: REL9_5_STABLE [0c23f30fa] 2021-01-08 12:16:00 -0500 4720--> 4721 <para> 4722 Fix use of uninitialized value while parsing a <literal>*</literal> 4723 quantifier in a BRE-mode regular expression (Tom Lane) 4724 </para> 4725 4726 <para> 4727 This error could cause the quantifier to act non-greedy, that is 4728 behave like a <literal>*?</literal> quantifier would do in full 4729 regular expressions. 4730 </para> 4731 </listitem> 4732 4733 <listitem> 4734<!-- 4735Author: Dean Rasheed <dean.a.rasheed@gmail.com> 4736Branch: master [bc43b7c2c] 2021-01-05 11:15:28 +0000 4737Branch: REL_13_STABLE [e15c384d7] 2021-01-05 11:08:59 +0000 4738Branch: REL_12_STABLE [258b77005] 2021-01-05 11:07:12 +0000 4739Branch: REL_11_STABLE [160a9e425] 2021-01-05 11:05:58 +0000 4740Branch: REL_10_STABLE [275b190b3] 2021-01-05 11:04:41 +0000 4741Branch: REL9_6_STABLE [9a299dff2] 2021-01-05 11:02:46 +0000 4742Branch: master [fead67c24] 2021-01-05 11:52:42 +0000 4743Branch: REL_13_STABLE [5777b6ea2] 2021-01-05 11:51:21 +0000 4744Branch: REL_12_STABLE [740780a61] 2021-01-05 11:50:11 +0000 4745Branch: REL_11_STABLE [ab042d010] 2021-01-05 11:48:45 +0000 4746Branch: REL_10_STABLE [0097193b1] 2021-01-05 11:46:44 +0000 4747Branch: REL9_6_STABLE [f0b9bada5] 2021-01-05 11:45:17 +0000 4748--> 4749 <para> 4750 Fix numeric <function>power()</function> for the case where the 4751 exponent is exactly <literal>INT_MIN</literal> (-2147483648) 4752 (Dean Rasheed) 4753 </para> 4754 4755 <para> 4756 Previously, a result with no significant digits was produced. 4757 </para> 4758 </listitem> 4759 4760 <listitem> 4761<!-- 4762Author: Tom Lane <tgl@sss.pgh.pa.us> 4763Branch: master [4bd3fad80] 2021-01-04 18:32:44 -0500 4764Branch: REL_13_STABLE [9e7d87ca8] 2021-01-04 18:32:40 -0500 4765Branch: REL_12_STABLE [7c98759e0] 2021-01-04 18:32:40 -0500 4766Branch: REL_11_STABLE [50a420bee] 2021-01-04 18:32:40 -0500 4767--> 4768 <para> 4769 Fix integer-overflow cases in <function>substring()</function> 4770 functions (Tom Lane, Pavel Stehule) 4771 </para> 4772 4773 <para> 4774 If the specified starting index and length overflow an integer when 4775 added together, <function>substring()</function> misbehaved, either 4776 throwing a bogus <quote>negative substring length</quote> error for 4777 a case that should succeed, or failing to complain that a negative 4778 length is negative (and instead returning the whole string, in most 4779 cases). 4780 </para> 4781 </listitem> 4782 4783 <listitem> 4784<!-- 4785Author: Noah Misch <noah@leadboat.com> 4786Branch: master [6db992833] 2021-01-16 12:21:35 -0800 4787Branch: REL_13_STABLE [6eb3fc7fc] 2021-01-16 12:21:38 -0800 4788Branch: REL_12_STABLE [66087f7e9] 2021-01-16 12:21:39 -0800 4789Branch: REL_11_STABLE [677f6cb1d] 2021-01-16 12:21:39 -0800 4790Branch: REL_10_STABLE [9afba9b0e] 2021-01-16 12:21:39 -0800 4791Branch: REL9_6_STABLE [1a31d8c52] 2021-01-16 12:21:39 -0800 4792Branch: REL9_5_STABLE [c424c75f5] 2021-01-16 12:21:39 -0800 4793--> 4794 <para> 4795 Prevent possible data loss from incorrect detection of the 4796 wraparound point of an SLRU log 4797 (Noah Misch) 4798 </para> 4799 4800 <para> 4801 The wraparound point typically falls in the middle of a page, which 4802 must be rounded off to a page boundary, and that was not done 4803 correctly. No issue could arise unless an installation had gotten 4804 to within one page of SLRU overflow, which is unlikely in a 4805 properly-functioning system. If this did happen, it would manifest 4806 in later <quote>apparent wraparound</quote> or <quote>could not 4807 access status of transaction</quote> errors. 4808 </para> 4809 </listitem> 4810 4811 <listitem> 4812<!-- 4813Author: Amit Kapila <akapila@postgresql.org> 4814Branch: master [ee1b38f65] 2021-01-13 08:19:50 +0530 4815Branch: REL_13_STABLE [0685c5c1b] 2021-01-13 08:31:45 +0530 4816Branch: REL_12_STABLE [0b2ae3c92] 2021-01-13 08:40:06 +0530 4817Branch: REL_11_STABLE [7adc408f4] 2021-01-13 08:50:13 +0530 4818Branch: REL_10_STABLE [636b6f99c] 2021-01-13 09:01:57 +0530 4819Branch: REL9_6_STABLE [f2b268ee0] 2021-01-13 09:12:59 +0530 4820Branch: REL9_5_STABLE [4bccceaa9] 2021-01-13 09:22:03 +0530 4821--> 4822 <para> 4823 Fix memory leak in walsender processes while sending new snapshots 4824 for logical decoding (Amit Kapila) 4825 </para> 4826 </listitem> 4827 4828 <listitem> 4829<!-- 4830Author: Jeff Davis <jdavis@postgresql.org> 4831Branch: master [a58db3aa1] 2020-12-14 23:47:30 -0800 4832Branch: REL_13_STABLE [fde5f130c] 2020-12-14 23:48:44 -0800 4833Branch: REL_12_STABLE [706d84fe7] 2020-12-14 23:48:04 -0800 4834Branch: REL_11_STABLE [4ee058a3b] 2020-12-14 23:49:06 -0800 4835Branch: REL_10_STABLE [ac7df6e8f] 2020-12-14 23:49:29 -0800 4836Branch: REL9_6_STABLE [f10da1e9c] 2020-12-14 23:49:57 -0800 4837Branch: REL9_5_STABLE [133a0906d] 2020-12-14 23:50:20 -0800 4838--> 4839 <para> 4840 Fix walsender to accept additional commands after 4841 terminating replication (Jeff Davis) 4842 </para> 4843 </listitem> 4844 4845 <listitem> 4846<!-- 4847Author: Fujii Masao <fujii@postgresql.org> 4848Branch: master [8900b5a9d] 2021-01-06 12:39:18 +0900 4849Branch: REL_13_STABLE [0f8977b3f] 2021-01-06 12:30:37 +0900 4850Branch: REL_12_STABLE [9f540f840] 2021-01-06 12:31:23 +0900 4851Branch: REL_11_STABLE [e83771880] 2021-01-06 12:31:55 +0900 4852Branch: REL_10_STABLE [4c20e78f1] 2021-01-06 12:32:32 +0900 4853Branch: REL9_6_STABLE [0307b98d8] 2021-01-06 12:33:28 +0900 4854--> 4855 <para> 4856 Ensure detection of deadlocks between hot standby backends and the 4857 startup (WAL-application) process (Fujii Masao) 4858 </para> 4859 4860 <para> 4861 The startup process did not run the deadlock detection code, so that 4862 in situations where the startup process is last to join a circular 4863 wait situation, the deadlock might never be recognized. 4864 </para> 4865 </listitem> 4866 4867 <listitem> 4868<!-- 4869Author: Peter Geoghegan <pg@bowt.ie> 4870Branch: master [422881744] 2020-12-30 16:29:05 -0800 4871Branch: REL_13_STABLE [7a57960ba] 2020-12-30 16:29:03 -0800 4872Branch: REL_12_STABLE [4f70e0910] 2020-12-30 16:29:01 -0800 4873Branch: master [32d6287d2] 2020-12-30 17:21:42 -0800 4874Branch: REL_13_STABLE [55e535226] 2020-12-30 17:21:41 -0800 4875Branch: REL_12_STABLE [5f95664e1] 2020-12-30 17:21:39 -0800 4876--> 4877 <para> 4878 Fix possible failure to detect recovery conflicts while deleting an 4879 index entry that references a HOT chain (Peter Geoghegan) 4880 </para> 4881 4882 <para> 4883 The code failed to traverse the HOT chain and might thus compute a 4884 too-old XID horizon, which could lead to incorrect conflict 4885 processing in hot standby. The practical impact of this bug is 4886 limited; in most cases the correct XID horizon would be found anyway 4887 from nearby operations. 4888 </para> 4889 </listitem> 4890 4891 <listitem> 4892<!-- 4893Author: Tom Lane <tgl@sss.pgh.pa.us> 4894Branch: master [860fe27ee] 2020-12-30 11:38:42 -0500 4895Branch: REL_13_STABLE [861e96717] 2020-12-30 11:38:42 -0500 4896Branch: REL_12_STABLE [3ca19490b] 2020-12-30 11:38:42 -0500 4897--> 4898 <para> 4899 Ensure that a nonempty value 4900 of <varname>krb_server_keyfile</varname> always overrides any 4901 setting of <varname>KRB5_KTNAME</varname> in the server's 4902 environment (Tom Lane) 4903 </para> 4904 4905 <para> 4906 Previously, which setting took precedence depended on whether the 4907 client requests GSS encryption. 4908 </para> 4909 </listitem> 4910 4911 <listitem> 4912<!-- 4913Author: Tom Lane <tgl@sss.pgh.pa.us> 4914Branch: master [3995c4249] 2020-12-28 17:58:58 -0500 4915Branch: REL_13_STABLE [d05e14d78] 2020-12-28 17:58:58 -0500 4916Branch: REL_12_STABLE [7ed616f81] 2020-12-28 17:58:58 -0500 4917--> 4918 <para> 4919 In server log messages about failing to match connections 4920 to <filename>pg_hba.conf</filename> entries, include details about 4921 whether GSS encryption has been activated (Kyotaro Horiguchi, Tom 4922 Lane) 4923 </para> 4924 4925 <para> 4926 This is relevant data if <literal>hostgssenc</literal> 4927 or <literal>hostnogssenc</literal> entries exist. 4928 </para> 4929 </listitem> 4930 4931 <listitem> 4932<!-- 4933Author: Tom Lane <tgl@sss.pgh.pa.us> 4934Branch: master [622ae4621] 2020-12-28 17:44:17 -0500 4935Branch: REL_13_STABLE [c1c88bf03] 2020-12-28 17:44:17 -0500 4936Branch: REL_12_STABLE [4cfdd8a47] 2020-12-28 17:44:17 -0500 4937--> 4938 <para> 4939 Fix assorted issues in server's support for GSS encryption (Tom Lane) 4940 </para> 4941 4942 <para> 4943 Remove pointless restriction that only GSS authentication 4944 can be used on a GSS-encrypted connection. 4945 Add GSS encryption information to connection-authorized log messages. 4946 Include GSS-related space when computing the required size of 4947 shared memory (this omission could have caused problems with very 4948 high <varname>max_connections</varname> settings). 4949 Avoid possible infinite recursion when reporting an unrecoverable 4950 GSS encryption error. 4951 </para> 4952 </listitem> 4953 4954 <listitem> 4955<!-- 4956Author: Tom Lane <tgl@sss.pgh.pa.us> 4957Branch: master [7519bd16d] 2020-12-24 17:00:43 -0500 4958Branch: REL_13_STABLE [0217ad806] 2020-12-24 17:00:43 -0500 4959Branch: REL_12_STABLE [3d8068edc] 2020-12-24 17:00:43 -0500 4960Branch: REL_11_STABLE [b99b6b9d6] 2020-12-24 17:00:43 -0500 4961Branch: REL_10_STABLE [1a6b1c460] 2020-12-24 17:00:43 -0500 4962--> 4963 <para> 4964 Ensure that unserviced requests for background workers are cleaned 4965 up when the postmaster begins a <quote>smart</quote> 4966 or <quote>fast</quote> shutdown sequence (Tom Lane) 4967 </para> 4968 4969 <para> 4970 Previously, there was a race condition whereby a child process that 4971 had requested a background worker just before shutdown could wait 4972 indefinitely, preventing shutdown from completing. 4973 </para> 4974 </listitem> 4975 4976 <listitem> 4977<!-- 4978Author: Michael Paquier <michael@paquier.xyz> 4979Branch: master [6db27037b] 2020-12-23 12:51:22 +0900 4980Branch: REL_13_STABLE [1e54664ee] 2020-12-23 12:51:35 +0900 4981Branch: REL_12_STABLE [67a9411d2] 2020-12-23 12:51:39 +0900 4982Branch: REL_11_STABLE [35ad5c7c7] 2020-12-23 12:51:42 +0900 4983Branch: REL_10_STABLE [f3ee99df7] 2020-12-23 12:51:46 +0900 4984Branch: REL9_6_STABLE [0b54a80a3] 2020-12-23 12:51:51 +0900 4985--> 4986 <para> 4987 Fix portability problem in parsing 4988 of <varname>recovery_target_xid</varname> values (Michael Paquier) 4989 </para> 4990 4991 <para> 4992 The target XID is potentially 64 bits wide, but it was parsed 4993 with <function>strtoul()</function>, causing misbehavior on 4994 platforms where <type>long</type> is 32 bits (such as Windows). 4995 </para> 4996 </listitem> 4997 4998 <listitem> 4999<!-- 5000Author: Tom Lane <tgl@sss.pgh.pa.us> 5001Branch: master [275b3411d] 2020-11-30 14:38:00 -0500 5002Branch: REL_13_STABLE [fac31b2cd] 2020-11-30 14:38:00 -0500 5003Branch: REL_12_STABLE [16a1e1ea4] 2020-11-30 14:38:00 -0500 5004Branch: REL_11_STABLE [942e441ee] 2020-11-30 14:38:00 -0500 5005--> 5006 <para> 5007 Avoid trying to use parallel index build in a standalone backend 5008 (Yulin Pei) 5009 </para> 5010 </listitem> 5011 5012 <listitem> 5013<!-- 5014Author: Tom Lane <tgl@sss.pgh.pa.us> 5015Branch: master [29d29d652] 2020-11-15 16:10:58 -0500 5016Branch: REL_13_STABLE [7c89246d0] 2020-11-15 16:10:48 -0500 5017Branch: REL_12_STABLE [4ac8ee9d4] 2020-11-15 16:10:48 -0500 5018Branch: REL_11_STABLE [9cebe4952] 2020-11-15 16:10:48 -0500 5019--> 5020 <para> 5021 Allow index AMs to support included columns without necessarily 5022 supporting multiple key columns (Tom Lane) 5023 </para> 5024 </listitem> 5025 5026 <listitem> 5027<!-- 5028Author: Andrew Gierth <rhodiumtoad@postgresql.org> 5029Branch: master [a3367aa3c] 2021-01-28 10:53:10 +0000 5030Branch: REL_13_STABLE [75e3cca42] 2021-01-28 11:09:40 +0000 5031Branch: REL_12_STABLE [30f912a41] 2021-01-28 11:09:49 +0000 5032Branch: REL_11_STABLE [f7f2a28d4] 2021-01-28 11:09:57 +0000 5033--> 5034 <para> 5035 Avoid assertion failure during parallel aggregation of an 5036 aggregate with a non-strict deserialization function (Andrew Gierth) 5037 </para> 5038 5039 <para> 5040 No such aggregate functions exist in 5041 core <productname>PostgreSQL</productname>, but some extensions 5042 such as PostGIS provide some. The mistake is harmless anyway in a 5043 non-assert build. 5044 </para> 5045 </listitem> 5046 5047 <listitem> 5048<!-- 5049Author: Tom Lane <tgl@sss.pgh.pa.us> 5050Branch: master [07d46fceb] 2021-01-25 13:03:43 -0500 5051Branch: REL_13_STABLE [a26194f22] 2021-01-25 13:03:11 -0500 5052Branch: REL_12_STABLE [4641b2a30] 2021-01-25 13:03:11 -0500 5053Branch: REL_11_STABLE [a7cdd3f71] 2021-01-25 13:03:11 -0500 5054Branch: REL_10_STABLE [d09e8789f] 2021-01-25 13:03:11 -0500 5055Branch: REL9_6_STABLE [57a7d6f49] 2021-01-25 13:03:12 -0500 5056Branch: REL9_5_STABLE [41309f716] 2021-01-25 13:03:12 -0500 5057--> 5058 <para> 5059 Avoid assertion failure in <function>pg_get_functiondef()</function> 5060 when examining a function with a <literal>TRANSFORM</literal> option 5061 (Tom Lane) 5062 </para> 5063 </listitem> 5064 5065 <listitem> 5066<!-- 5067Author: Tom Lane <tgl@sss.pgh.pa.us> 5068Branch: master [ea80d8d94] 2020-12-28 11:41:25 -0500 5069Branch: REL_13_STABLE [0ea25ed10] 2020-12-28 11:41:25 -0500 5070Branch: REL_12_STABLE [fd1347f9d] 2020-12-28 11:41:25 -0500 5071Branch: REL_11_STABLE [2e15f48d9] 2020-12-28 11:41:25 -0500 5072Branch: master [5f2e09bcc] 2020-12-28 11:55:23 -0500 5073Branch: REL_13_STABLE [63d78d106] 2020-12-28 11:55:32 -0500 5074Branch: REL_12_STABLE [d37965965] 2020-12-28 11:55:37 -0500 5075Branch: REL_11_STABLE [7966b41de] 2020-12-28 11:55:41 -0500 5076--> 5077 <para> 5078 Fix data structure misallocation in 5079 PL/pgSQL's <command>CALL</command> statement (Tom Lane) 5080 </para> 5081 5082 <para> 5083 A <command>CALL</command> in a PL/pgSQL procedure, to another 5084 procedure that has OUT parameters, would fail if the called 5085 procedure did a <command>COMMIT</command> 5086 or <command>ROLLBACK</command>. 5087 </para> 5088 </listitem> 5089 5090 <listitem> 5091<!-- 5092Author: Tom Lane <tgl@sss.pgh.pa.us> 5093Branch: master [ff6ce9a3a] 2020-12-28 15:43:44 -0500 5094Branch: REL_13_STABLE [06b844c2b] 2020-12-28 15:43:44 -0500 5095Branch: REL_12_STABLE [b3a5bf719] 2020-12-28 15:43:44 -0500 5096--> 5097 <para> 5098 In <application>libpq</application>, do not skip trying SSL after 5099 GSS encryption (Tom Lane) 5100 </para> 5101 5102 <para> 5103 If we successfully made a GSS-encrypted connection, but then failed 5104 during authentication, we would fall back to an unencrypted 5105 connection rather than next trying an SSL-encrypted connection. 5106 This could lead to unexpected connection failure, or to silently 5107 getting an unencrypted connection where an encrypted one is 5108 expected. Fortunately, GSS encryption could only succeed if both 5109 client and server hold valid tickets in the same Kerberos 5110 infrastructure. It seems unlikely for that to be true in an 5111 environment that requires SSL encryption instead. 5112 </para> 5113 </listitem> 5114 5115 <listitem> 5116<!-- 5117Author: Tom Lane <tgl@sss.pgh.pa.us> 5118Branch: master [7e5e1bba0] 2020-11-29 15:22:04 -0500 5119Branch: REL_13_STABLE [72b930f50] 2020-11-29 15:22:04 -0500 5120Branch: REL_12_STABLE [3958abdad] 2020-11-29 15:22:04 -0500 5121Branch: REL_11_STABLE [777ac03a6] 2020-11-29 15:22:04 -0500 5122Branch: REL_10_STABLE [946277fd4] 2020-11-29 15:22:04 -0500 5123Branch: REL9_6_STABLE [3f59a05f0] 2020-11-29 15:22:04 -0500 5124Branch: REL9_5_STABLE [e2d5de150] 2020-11-29 15:22:04 -0500 5125--> 5126 <para> 5127 In <application>psql</application>, re-allow including a password 5128 in a <replaceable>connection_string</replaceable> argument of a 5129 <command>\connect</command> command (Tom Lane) 5130 </para> 5131 5132 <para> 5133 This used to work, but a recent bug fix caused the password to be 5134 ignored (resulting in prompting for a password). 5135 </para> 5136 </listitem> 5137 5138 <listitem> 5139<!-- 5140Author: Tom Lane <tgl@sss.pgh.pa.us> 5141Branch: master [314fb9bae] 2020-11-25 16:19:25 -0500 5142Branch: REL_13_STABLE [a0ef08172] 2020-11-25 16:19:25 -0500 5143Branch: REL_12_STABLE [ea7a167da] 2020-11-25 16:19:25 -0500 5144--> 5145 <para> 5146 In <application>psql</application>'s <command>\d</command> commands, 5147 don't truncate the display of column default values (Tom Lane) 5148 </para> 5149 5150 <para> 5151 Formerly, they were arbitrarily truncated at 128 characters. 5152 </para> 5153 </listitem> 5154 5155 <listitem> 5156<!-- 5157Author: Tom Lane <tgl@sss.pgh.pa.us> 5158Branch: master [f76a85000] 2021-01-26 13:04:52 -0500 5159Branch: REL_13_STABLE [64bdb6e5f] 2021-01-26 13:04:52 -0500 5160Branch: REL_12_STABLE [82f97d33f] 2021-01-26 13:04:52 -0500 5161Branch: REL_11_STABLE [3fa7b9078] 2021-01-26 13:04:52 -0500 5162Branch: REL_10_STABLE [564cb2579] 2021-01-26 13:04:52 -0500 5163Branch: REL9_6_STABLE [2c2e134b7] 2021-01-26 13:04:52 -0500 5164Branch: REL9_5_STABLE [131825cd5] 2021-01-26 13:04:52 -0500 5165--> 5166 <para> 5167 Fix assorted bugs 5168 in <application>psql</application>'s <command>\help</command> 5169 command (Kyotaro Horiguchi, Tom Lane) 5170 </para> 5171 5172 <para> 5173 <command>\help</command> with two argument words failed to find a 5174 command description using only the first word, for 5175 example <literal>\help reset all</literal> should show the help 5176 for <command>RESET</command> but did not. 5177 Also, <command>\help</command> often failed to invoke the pager when 5178 it should. It also leaked memory. 5179 </para> 5180 </listitem> 5181 5182 <listitem> 5183<!-- 5184Author: Peter Eisentraut <peter@eisentraut.org> 5185Branch: master [0bf83648a] 2021-02-03 11:27:13 +0100 5186Branch: REL_13_STABLE [1d3ce0223] 2021-02-03 11:43:01 +0100 5187Branch: REL_12_STABLE [1dd6baf78] 2021-02-03 11:58:15 +0100 5188--> 5189 <para> 5190 Fix <application>pg_dump</application>'s dumping of inherited 5191 generated columns (Peter Eisentraut) 5192 </para> 5193 5194 <para> 5195 The previous behavior resulted in (harmless) errors during restore. 5196 </para> 5197 </listitem> 5198 5199 <listitem> 5200<!-- 5201Author: Tom Lane <tgl@sss.pgh.pa.us> 5202Branch: master [9eabfe300] 2021-01-12 13:37:38 -0500 5203Branch: REL_13_STABLE [0011c5a0f] 2021-01-12 13:37:38 -0500 5204Branch: REL_12_STABLE [436d9c5ca] 2021-01-12 13:37:38 -0500 5205Branch: REL_11_STABLE [9f15188a1] 2021-01-12 13:37:38 -0500 5206Branch: master [8e396a773] 2021-01-14 16:19:38 -0500 5207Branch: REL_13_STABLE [79d3ac72f] 2021-01-14 16:19:38 -0500 5208Branch: REL_12_STABLE [0d221ecec] 2021-01-14 16:19:38 -0500 5209Branch: REL_11_STABLE [bb12a7f42] 2021-01-14 16:19:38 -0500 5210Branch: REL_10_STABLE [1c9791f66] 2021-01-14 16:19:38 -0500 5211--> 5212 <para> 5213 In <application>pg_dump</application>, ensure that the restore 5214 script runs <command>ALTER PUBLICATION ADD TABLE</command> commands 5215 as the owner of the publication, and similarly runs <command>ALTER 5216 INDEX ATTACH PARTITION</command> commands as the owner of the 5217 partitioned index (Tom Lane) 5218 </para> 5219 5220 <para> 5221 Previously, these commands would be run by the role that started the 5222 restore script; which will usually work, but in corner cases that 5223 role might not have adequate permissions. 5224 </para> 5225 </listitem> 5226 5227 <listitem> 5228<!-- 5229Author: Noah Misch <noah@leadboat.com> 5230Branch: master [f713ff7c6] 2021-01-16 12:21:35 -0800 5231Branch: REL_13_STABLE [b8daf894f] 2021-01-16 12:21:38 -0800 5232Branch: REL_12_STABLE [a0d31b1c9] 2021-01-16 12:21:39 -0800 5233Branch: REL_11_STABLE [c6ff165f9] 2021-01-16 12:21:39 -0800 5234Branch: REL_10_STABLE [b933c9c0b] 2021-01-16 12:21:39 -0800 5235Branch: REL9_6_STABLE [ad2b7c9bb] 2021-01-16 12:21:39 -0800 5236--> 5237 <para> 5238 Fix <application>pg_dump</application> to handle <literal>WITH 5239 GRANT OPTION</literal> in an extension's initial privileges 5240 (Noah Misch) 5241 </para> 5242 5243 <para> 5244 If an extension's script creates an object and grants privileges 5245 on it with grant option, then later the user revokes such 5246 privileges, <application>pg_dump</application> would generate 5247 incorrect SQL for reproducing the situation. (Few if any extensions 5248 do this today.) 5249 </para> 5250 </listitem> 5251 5252 <listitem> 5253<!-- 5254Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 5255Branch: master [2b4f31303] 2020-12-03 15:57:48 +0200 5256Branch: REL_13_STABLE [abd0abfb7] 2020-12-03 15:57:52 +0200 5257Branch: REL_12_STABLE [020f153db] 2020-12-03 15:57:54 +0200 5258Branch: REL_11_STABLE [63e316f0b] 2020-12-03 15:57:57 +0200 5259Branch: REL_10_STABLE [8b5c353ec] 2020-12-03 15:58:00 +0200 5260Branch: REL9_6_STABLE [0740857de] 2020-12-03 15:58:02 +0200 5261Branch: REL9_5_STABLE [81e3c868f] 2020-12-03 15:58:06 +0200 5262Branch: master [36a4ac20f] 2020-12-04 18:26:46 +0200 5263Branch: REL_13_STABLE [e41a2efbc] 2020-12-04 18:24:34 +0200 5264Branch: REL_12_STABLE [ad3fb04b9] 2020-12-04 18:24:57 +0200 5265Branch: REL_11_STABLE [cda50f211] 2020-12-04 18:25:12 +0200 5266Branch: REL_10_STABLE [45d363145] 2020-12-04 18:25:23 +0200 5267Branch: REL9_6_STABLE [a075c84f2] 2020-12-04 18:25:45 +0200 5268Branch: REL9_5_STABLE [1dd608bba] 2020-12-04 18:25:54 +0200 5269Branch: master [6ba581cf1] 2020-12-07 14:50:20 +0200 5270Branch: REL_13_STABLE [e6dc04d43] 2020-12-07 14:50:37 +0200 5271Branch: REL_12_STABLE [98f8cdd48] 2020-12-07 14:55:22 +0200 5272Branch: REL_11_STABLE [10d9c9d03] 2020-12-07 14:55:23 +0200 5273Branch: REL_10_STABLE [d137b14c3] 2020-12-07 14:55:25 +0200 5274Branch: REL9_6_STABLE [3ea8e660c] 2020-12-07 14:55:27 +0200 5275Branch: REL9_5_STABLE [beb6b45ab] 2020-12-07 14:55:28 +0200 5276--> 5277 <para> 5278 In <application>pg_rewind</application>, ensure that all WAL is 5279 accounted for when rewinding a standby server 5280 (Ian Barwick, Heikki Linnakangas) 5281 </para> 5282 </listitem> 5283 5284 <listitem> 5285<!-- 5286Author: Tom Lane <tgl@sss.pgh.pa.us> 5287Branch: master [c21ea4d53] 2021-01-13 14:52:59 -0500 5288Branch: REL_13_STABLE [6b045ca6c] 2021-01-13 14:52:49 -0500 5289Branch: REL_12_STABLE [3e214fafc] 2021-01-13 14:52:49 -0500 5290Branch: REL_11_STABLE [d8bb22ab3] 2021-01-13 14:52:49 -0500 5291--> 5292 <para> 5293 In <application>pgbench</application>, disallow a digit as the first 5294 character of a variable name (Fabien Coelho) 5295 </para> 5296 5297 <para> 5298 This prevents trying to substitute variables into timestamp literal 5299 values, which may contain strings like <literal>12:34</literal>. 5300 </para> 5301 </listitem> 5302 5303 <listitem> 5304<!-- 5305Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 5306Branch: REL_13_STABLE [f17e8f33f] 2021-01-26 16:42:13 -0300 5307Branch: REL_12_STABLE [fdf9d0054] 2021-01-26 16:42:13 -0300 5308Branch: REL_11_STABLE [fdd405c63] 2021-01-26 16:42:13 -0300 5309Branch: REL_10_STABLE [11a708f81] 2021-01-26 16:42:13 -0300 5310Branch: REL9_6_STABLE [bcae842b9] 2021-01-26 16:42:13 -0300 5311Branch: REL9_5_STABLE [f2dc96236] 2021-01-26 16:42:13 -0300 5312--> 5313 <para> 5314 Report the correct database name in connection failure error 5315 messages from some client programs (Álvaro Herrera) 5316 </para> 5317 5318 <para> 5319 If the database name was defaulted rather than given on the command 5320 line, <application>pg_dumpall</application>, 5321 <application>pgbench</application>, <application>oid2name</application>, 5322 and <application>vacuumlo</application> would produce misleading 5323 error messages after a connection failure. 5324 </para> 5325 </listitem> 5326 5327 <listitem> 5328<!-- 5329Author: Tom Lane <tgl@sss.pgh.pa.us> 5330Branch: master [5c0f7cc54] 2021-02-02 13:49:08 -0500 5331Branch: REL_13_STABLE [586891394] 2021-02-02 13:49:08 -0500 5332Branch: REL_12_STABLE [742846958] 2021-02-02 13:49:08 -0500 5333Branch: REL_11_STABLE [5fc5ff61c] 2021-02-02 13:49:08 -0500 5334Branch: REL_10_STABLE [2671125c7] 2021-02-02 13:49:08 -0500 5335Branch: REL9_6_STABLE [608cf2bfd] 2021-02-02 13:49:08 -0500 5336Branch: REL9_5_STABLE [f0f9ed68d] 2021-02-02 13:49:08 -0500 5337--> 5338 <para> 5339 Fix memory leak in <filename>contrib/auto_explain</filename> 5340 (Japin Li) 5341 </para> 5342 5343 <para> 5344 Memory consumed while producing the <literal>EXPLAIN</literal> 5345 output was not freed until the end of the current transaction (for a 5346 top-level statement) or the end of the surrounding statement (for a 5347 nested statement). This was particularly a problem 5348 with <varname>log_nested_statements</varname> enabled. 5349 </para> 5350 </listitem> 5351 5352 <listitem> 5353<!-- 5354Author: Fujii Masao <fujii@postgresql.org> 5355Branch: master [e3ebcca84] 2020-12-28 19:56:13 +0900 5356Branch: REL_13_STABLE [546f14374] 2020-12-28 19:57:51 +0900 5357Branch: REL_12_STABLE [e792ca4ac] 2020-12-28 19:59:00 +0900 5358Branch: REL_11_STABLE [294cdd7d0] 2020-12-28 19:59:40 +0900 5359Branch: REL_10_STABLE [744357d84] 2020-12-28 20:00:15 +0900 5360Branch: REL9_6_STABLE [03b7a1ee7] 2020-12-28 20:00:54 +0900 5361Branch: REL9_5_STABLE [b5c73eef8] 2020-12-28 20:01:31 +0900 5362--> 5363 <para> 5364 In <filename>contrib/postgres_fdw</filename>, avoid leaking open 5365 connections to remote servers when a user mapping or foreign server 5366 object is dropped (Bharath Rupireddy) 5367 </para> 5368 5369 <para> 5370 Open connections that depend on a dropped user mapping or foreign 5371 server can no longer be referenced, but formerly they were kept 5372 around anyway for the duration of the local session. 5373 </para> 5374 </listitem> 5375 5376 <listitem> 5377<!-- 5378Author: Michael Paquier <michael@paquier.xyz> 5379Branch: master [28d1601ad] 2020-12-08 15:22:12 +0900 5380Branch: REL_13_STABLE [dfd8bf2b9] 2020-12-08 15:22:38 +0900 5381Branch: REL_12_STABLE [d7ecba937] 2020-12-08 15:22:43 +0900 5382Branch: REL_11_STABLE [b88afd8b6] 2020-12-08 15:22:48 +0900 5383Branch: REL_10_STABLE [5ba1df0f1] 2020-12-08 15:22:53 +0900 5384Branch: REL9_6_STABLE [95992e5ed] 2020-12-08 15:22:59 +0900 5385Branch: REL9_5_STABLE [f95d9fd81] 2020-12-08 15:23:02 +0900 5386--> 5387 <para> 5388 In <filename>contrib/pgcrypto</filename>, check for error returns 5389 from OpenSSL's EVP functions (Michael Paquier) 5390 </para> 5391 5392 <para> 5393 We do not really expect errors here, but this change silences 5394 warnings from static analysis tools. 5395 </para> 5396 </listitem> 5397 5398 <listitem> 5399<!-- 5400Author: Tom Lane <tgl@sss.pgh.pa.us> 5401Branch: master [ff769831e] 2020-12-22 13:23:49 -0500 5402Branch: REL_13_STABLE [4b0292253] 2020-12-22 13:23:49 -0500 5403Branch: REL_12_STABLE [f581e5383] 2020-12-22 13:23:49 -0500 5404Branch: REL_11_STABLE [a1bd14d54] 2020-12-22 13:23:49 -0500 5405--> 5406 <para> 5407 Make <filename>contrib/pg_prewarm</filename> more robust when the 5408 cluster is shut down before prewarming is complete (Tom Lane) 5409 </para> 5410 5411 <para> 5412 Previously, autoprewarm would rewrite its status file with only the 5413 block numbers that it had managed to load so far, thus perhaps 5414 largely disabling the prewarm functionality in the next startup. 5415 Instead, suppress status file updates until the initial loading pass 5416 is complete. 5417 </para> 5418 </listitem> 5419 5420 <listitem> 5421<!-- 5422Author: Andrew Gierth <rhodiumtoad@postgresql.org> 5423Branch: master [3836d4b64] 2020-11-12 14:34:37 +0000 5424Branch: REL_13_STABLE [48ab1fa30] 2020-11-12 14:59:06 +0000 5425Branch: REL_12_STABLE [7f69ed4ae] 2020-11-12 14:56:58 +0000 5426Branch: REL_11_STABLE [7e3dc147d] 2020-11-12 14:57:04 +0000 5427Branch: REL_10_STABLE [068de9dd4] 2020-11-12 14:57:08 +0000 5428Branch: REL9_6_STABLE [245a35f96] 2020-11-12 14:57:13 +0000 5429Branch: REL9_5_STABLE [4b212b7c8] 2020-11-12 14:55:51 +0000 5430--> 5431 <para> 5432 In <filename>contrib/pg_trgm</filename>'s GiST index support, avoid 5433 crash in the rare case that picksplit is called on exactly two index 5434 items (Andrew Gierth, Alexander Korotkov) 5435 </para> 5436 </listitem> 5437 5438 <listitem> 5439<!-- 5440Author: Tom Lane <tgl@sss.pgh.pa.us> 5441Branch: master [ec29427ce] 2020-11-10 22:51:54 -0500 5442Branch: REL_13_STABLE [afce7908d] 2020-11-10 22:51:55 -0500 5443Branch: REL_12_STABLE [171c457cd] 2020-11-10 22:51:55 -0500 5444Branch: REL_11_STABLE [3a89ea0eb] 2020-11-10 22:51:56 -0500 5445Branch: REL_10_STABLE [e87139b43] 2020-11-10 22:51:57 -0500 5446Branch: REL9_6_STABLE [cd39c23a2] 2020-11-10 22:51:57 -0500 5447Branch: REL9_5_STABLE [210564a74] 2020-11-10 22:51:58 -0500 5448--> 5449 <para> 5450 Fix miscalculation of timeouts 5451 in <filename>contrib/pg_prewarm</filename> 5452 and <filename>contrib/postgres_fdw</filename> 5453 (Alexey Kondratov, Tom Lane) 5454 </para> 5455 5456 <para> 5457 The main loop in <filename>contrib/pg_prewarm</filename>'s 5458 autoprewarm parent process underestimated its desired sleep time by 5459 a factor of 1000, causing it to consume much more CPU than intended. 5460 When waiting for a result from a remote 5461 server, <filename>contrib/postgres_fdw</filename> overestimated the 5462 desired timeout by a factor of 1000 (though this error had been 5463 mitigated by imposing a clamp to 60 seconds). 5464 </para> 5465 5466 <para> 5467 Both of these errors stemmed from incorrectly converting 5468 seconds-and-microseconds to milliseconds. Introduce a new 5469 API <function>TimestampDifferenceMilliseconds()</function> 5470 to make it easier to get this right in the future. 5471 </para> 5472 </listitem> 5473 5474 <listitem> 5475<!-- 5476Author: Tom Lane <tgl@sss.pgh.pa.us> 5477Branch: master [4823621db] 2021-01-15 11:28:51 -0500 5478Branch: REL_13_STABLE [f44ae4db5] 2021-01-15 11:29:05 -0500 5479Branch: REL_12_STABLE [f5d044eae] 2021-01-15 11:29:13 -0500 5480Branch: REL_11_STABLE [046c8face] 2021-01-15 11:29:18 -0500 5481Branch: REL_10_STABLE [5fa060c8f] 2021-01-15 11:29:26 -0500 5482Branch: REL9_6_STABLE [fc6d08b27] 2021-01-15 11:29:34 -0500 5483Branch: REL9_5_STABLE [3934543c2] 2021-01-15 11:29:43 -0500 5484Branch: master [9d23c15a0] 2021-01-20 12:07:23 -0500 5485Branch: REL_13_STABLE [6671e8194] 2021-01-20 12:07:31 -0500 5486Branch: REL_12_STABLE [561dd8d8a] 2021-01-20 12:07:35 -0500 5487Branch: REL_11_STABLE [cbcff1729] 2021-01-20 12:07:41 -0500 5488Branch: REL_10_STABLE [a3345383d] 2021-01-20 12:07:46 -0500 5489Branch: REL9_6_STABLE [cbcf7b130] 2021-01-20 12:07:52 -0500 5490Branch: REL9_5_STABLE [175f716a8] 2021-01-20 12:07:57 -0500 5491--> 5492 <para> 5493 Improve <application>configure</application>'s heuristics for 5494 selecting <varname>PG_SYSROOT</varname> on macOS (Tom Lane) 5495 </para> 5496 5497 <para> 5498 The new method is more likely to produce desirable results when 5499 Xcode is newer than the underlying operating system. Choosing 5500 a sysroot that does not match the OS version may result in 5501 nonfunctional executables. 5502 </para> 5503 </listitem> 5504 5505 <listitem> 5506<!-- 5507Author: Tom Lane <tgl@sss.pgh.pa.us> 5508Branch: master [49407dc32] 2020-11-20 00:07:09 -0500 5509Branch: REL_13_STABLE [9e9a31bd0] 2020-11-20 00:58:26 -0500 5510Branch: REL_12_STABLE [5b8360427] 2020-11-20 00:58:26 -0500 5511Branch: REL_11_STABLE [d01e37845] 2020-11-20 00:58:26 -0500 5512Branch: REL_10_STABLE [153bf8d20] 2020-11-20 00:58:26 -0500 5513Branch: REL9_6_STABLE [e7abc1111] 2020-11-20 00:58:26 -0500 5514Branch: REL9_5_STABLE [2bb8c0f1d] 2020-11-20 00:58:26 -0500 5515--> 5516 <para> 5517 While building on macOS, specify <option>-isysroot</option> in 5518 link steps as well as compile steps (James Hilliard) 5519 </para> 5520 5521 <para> 5522 This likewise improves the results when Xcode is out of sync with 5523 the operating system. 5524 </para> 5525 </listitem> 5526 5527 <listitem> 5528<!-- 5529Author: Andres Freund <andres@anarazel.de> 5530Branch: master [9543f0861] 2020-12-07 19:34:13 -0800 5531Branch: REL_13_STABLE [4f64daf73] 2020-12-07 18:32:56 -0800 5532Branch: REL_12_STABLE [b07490b91] 2020-12-07 18:39:32 -0800 5533Branch: REL_11_STABLE [f4f924b3e] 2020-12-07 18:40:27 -0800 5534Branch: master [6c57f2ed1] 2020-11-09 20:01:33 -0800 5535Branch: REL_13_STABLE [6a192c77d] 2020-12-07 18:32:32 -0800 5536Branch: REL_12_STABLE [fa7a52fb9] 2020-12-07 18:39:32 -0800 5537Branch: REL_11_STABLE [90eb343ef] 2020-12-07 18:40:27 -0800 5538--> 5539 <para> 5540 Fix JIT compilation to be compatible with LLVM 11 and LLVM 12 5541 (Andres Freund) 5542 </para> 5543 </listitem> 5544 5545 <listitem> 5546<!-- 5547Author: Andres Freund <andres@anarazel.de> 5548Branch: master [5da871bfa] 2020-12-07 19:34:13 -0800 5549Branch: REL_13_STABLE [01c6370a3] 2020-12-07 18:33:03 -0800 5550Branch: REL_12_STABLE [27b57f806] 2020-12-07 18:39:32 -0800 5551Branch: REL_11_STABLE [1e16ad101] 2020-12-07 18:40:27 -0800 5552--> 5553 <para> 5554 Fix potential mishandling of references to boolean variables in 5555 JIT expression compilation (Andres Freund) 5556 </para> 5557 5558 <para> 5559 No field reports attributable to this have been seen, but it seems 5560 likely that it could cause problems on some architectures. 5561 </para> 5562 </listitem> 5563 5564 <listitem> 5565<!-- 5566Author: Tom Lane <tgl@sss.pgh.pa.us> 5567Branch: master [ad84ecc98] 2020-11-16 15:16:39 -0500 5568Branch: REL_13_STABLE [53c7b4f62] 2020-11-16 15:16:39 -0500 5569Branch: REL_12_STABLE [029fa664e] 2020-11-16 15:16:39 -0500 5570Branch: REL_11_STABLE [89aa30a17] 2020-11-16 15:16:39 -0500 5571--> 5572 <para> 5573 Fix compile failure with ICU 68 and later (Tom Lane) 5574 </para> 5575 </listitem> 5576 5577 <listitem> 5578<!-- 5579Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 5580Branch: master [677f74e5b] 2020-12-01 11:46:56 -0300 5581Branch: REL_13_STABLE [5a1d1b954] 2020-12-01 11:46:56 -0300 5582Branch: REL_12_STABLE [f0ff52f25] 2020-12-01 11:46:56 -0300 5583Branch: REL_11_STABLE [49aaabdf8] 2020-12-01 11:46:56 -0300 5584--> 5585 <para> 5586 Avoid <function>memcpy()</function> with a NULL source pointer and 5587 zero count during partitioned index creation (Álvaro Herrera) 5588 </para> 5589 5590 <para> 5591 While such a call is not known to cause problems in itself, some 5592 compilers assume that the arguments of <function>memcpy()</function> 5593 are never NULL, which could result in incorrect optimization of 5594 nearby code. 5595 </para> 5596 </listitem> 5597 5598 <listitem> 5599<!-- 5600Author: Tom Lane <tgl@sss.pgh.pa.us> 5601Branch: master [c7edf4ac2] 2021-01-24 16:29:47 -0500 5602Branch: REL_13_STABLE [58a545344] 2021-01-24 16:29:47 -0500 5603Branch: REL_12_STABLE [5db6ba303] 2021-01-24 16:29:47 -0500 5604Branch: REL_11_STABLE [c82c015b5] 2021-01-24 16:29:47 -0500 5605Branch: REL_10_STABLE [728971d5f] 2021-01-24 16:29:48 -0500 5606Branch: REL9_6_STABLE [7e0786751] 2021-01-24 16:29:48 -0500 5607Branch: REL9_5_STABLE [c26a0865d] 2021-01-24 16:29:48 -0500 5608--> 5609 <para> 5610 Update time zone data files to <application>tzdata</application> 5611 release 2021a for DST law changes in Russia (Volgograd zone) and 5612 South Sudan, plus historical corrections for Australia, Bahamas, 5613 Belize, Bermuda, Ghana, Israel, Kenya, Nigeria, Palestine, 5614 Seychelles, and Vanuatu. 5615 </para> 5616 5617 <para> 5618 Notably, the Australia/Currie zone has been corrected to the point 5619 where it is identical to Australia/Hobart. 5620 </para> 5621 </listitem> 5622 5623 </itemizedlist> 5624 5625 </sect2> 5626 </sect1> 5627 5628 <sect1 id="release-12-5"> 5629 <title>Release 12.5</title> 5630 5631 <formalpara> 5632 <title>Release date:</title> 5633 <para>2020-11-12</para> 5634 </formalpara> 5635 5636 <para> 5637 This release contains a variety of fixes from 12.4. 5638 For information about new features in major release 12, see 5639 <xref linkend="release-12"/>. 5640 </para> 5641 5642 <sect2> 5643 <title>Migration to Version 12.5</title> 5644 5645 <para> 5646 A dump/restore is not required for those running 12.X. 5647 </para> 5648 5649 <para> 5650 However, if you are upgrading from a version earlier than 12.2, 5651 see <xref linkend="release-12-2"/>. 5652 </para> 5653 </sect2> 5654 5655 <sect2> 5656 <title>Changes</title> 5657 5658 <itemizedlist> 5659 5660 <listitem> 5661<!-- 5662Author: Noah Misch <noah@leadboat.com> 5663Branch: master [0c3185e96] 2020-11-09 07:32:09 -0800 5664Branch: REL_13_STABLE [c90c84b3f] 2020-11-09 07:32:12 -0800 5665Branch: REL_12_STABLE [ac8f6243c] 2020-11-09 07:32:12 -0800 5666Branch: REL_11_STABLE [43ebfea5a] 2020-11-09 07:32:13 -0800 5667Branch: REL_10_STABLE [f97ecea1e] 2020-11-09 07:32:13 -0800 5668Branch: REL9_6_STABLE [ff3de4c21] 2020-11-09 07:32:13 -0800 5669Branch: REL9_5_STABLE [aefc625de] 2020-11-09 07:32:14 -0800 5670--> 5671 <para> 5672 Block <command>DECLARE CURSOR ... WITH HOLD</command> and firing of 5673 deferred triggers within index expressions and materialized view 5674 queries (Noah Misch) 5675 </para> 5676 5677 <para> 5678 This is essentially a leak in the <quote>security restricted 5679 operation</quote> sandbox mechanism. An attacker having permission 5680 to create non-temporary SQL objects could parlay this leak to 5681 execute arbitrary SQL code as a superuser. 5682 </para> 5683 5684 <para> 5685 The <productname>PostgreSQL</productname> Project thanks 5686 Etienne Stalmans for reporting this problem. 5687 (CVE-2020-25695) 5688 </para> 5689 </listitem> 5690 5691 <listitem> 5692<!-- 5693Author: Tom Lane <tgl@sss.pgh.pa.us> 5694Branch: master [a45bc8a4f] 2020-09-24 18:19:38 -0400 5695Branch: REL_13_STABLE [cb8885ac4] 2020-09-24 18:19:38 -0400 5696Branch: REL_12_STABLE [fb93f784f] 2020-09-24 18:19:38 -0400 5697Branch: REL_11_STABLE [1738a61c8] 2020-09-24 18:19:39 -0400 5698Branch: REL_10_STABLE [1888ff8d0] 2020-09-24 18:19:39 -0400 5699Branch: REL9_6_STABLE [7c154f2fd] 2020-09-24 18:19:39 -0400 5700Branch: REL9_5_STABLE [56b46d3a1] 2020-09-24 18:19:39 -0400 5701Branch: master [8e5793ab6] 2020-10-19 19:03:46 -0400 5702Branch: REL_13_STABLE [1814f915b] 2020-10-19 19:03:46 -0400 5703Branch: REL_12_STABLE [c6d0b9b16] 2020-10-19 19:03:46 -0400 5704Branch: REL_11_STABLE [5a9f99bed] 2020-10-19 19:03:47 -0400 5705Branch: REL_10_STABLE [68f236993] 2020-10-19 19:03:47 -0400 5706Branch: REL9_6_STABLE [5c78f7977] 2020-10-19 19:03:47 -0400 5707Branch: REL9_5_STABLE [da129a04a] 2020-10-19 19:03:47 -0400 5708--> 5709 <para> 5710 Fix usage of complex connection-string parameters 5711 in <application>pg_dump</application>, 5712 <application>pg_restore</application>, 5713 <application>clusterdb</application>, 5714 <application>reindexdb</application>, 5715 and <application>vacuumdb</application> (Tom Lane) 5716 </para> 5717 5718 <para> 5719 The <option>-d</option> parameter 5720 of <application>pg_dump</application> 5721 and <application>pg_restore</application>, or 5722 the <option>--maintenance-db</option> parameter of the other 5723 programs mentioned, can be a <quote>connection string</quote> 5724 containing multiple connection parameters rather than just a 5725 database name. In cases where these programs need to initiate 5726 additional connections, such as parallel processing or processing of 5727 multiple databases, the connection string was forgotten and just the 5728 basic connection parameters (database name, host, port, and 5729 username) were used for the additional connections. This could lead 5730 to connection failures if the connection string included any other 5731 essential information, such as non-default SSL or GSS parameters. 5732 Worse, the connection might succeed but not be encrypted as 5733 intended, or be vulnerable to man-in-the-middle attacks that the 5734 intended connection parameters would have prevented. 5735 (CVE-2020-25694) 5736 </para> 5737 </listitem> 5738 5739 <listitem> 5740<!-- 5741Author: Tom Lane <tgl@sss.pgh.pa.us> 5742Branch: master [85c54287a] 2020-10-21 16:19:00 -0400 5743Branch: REL_13_STABLE [2e4af4110] 2020-10-21 16:19:00 -0400 5744Branch: REL_12_STABLE [f656517ec] 2020-10-21 16:19:01 -0400 5745Branch: REL_11_STABLE [20be76d5c] 2020-10-21 16:19:01 -0400 5746Branch: REL_10_STABLE [8175da6e7] 2020-10-21 16:19:02 -0400 5747Branch: REL9_6_STABLE [870a23230] 2020-10-21 16:18:41 -0400 5748Branch: REL9_5_STABLE [6997da09a] 2020-10-21 16:18:41 -0400 5749--> 5750 <para> 5751 When <application>psql</application>'s <command>\connect</command> 5752 command re-uses connection parameters, ensure that all 5753 non-overridden parameters from a previous connection string are 5754 re-used (Tom Lane) 5755 </para> 5756 5757 <para> 5758 This avoids cases where reconnection might fail due to omission of 5759 relevant parameters, such as non-default SSL or GSS options. 5760 Worse, the reconnection might succeed but not be encrypted as 5761 intended, or be vulnerable to man-in-the-middle attacks that the 5762 intended connection parameters would have prevented. 5763 This is largely the same problem as just cited 5764 for <application>pg_dump</application> et al, 5765 although <application>psql</application>'s behavior is more complex 5766 since the user may intentionally override some connection 5767 parameters. 5768 (CVE-2020-25694) 5769 </para> 5770 </listitem> 5771 5772 <listitem> 5773<!-- 5774Author: Noah Misch <noah@leadboat.com> 5775Branch: master [098fb0079] 2020-11-09 07:32:09 -0800 5776Branch: REL_13_STABLE [67029845b] 2020-11-09 07:32:12 -0800 5777Branch: REL_12_STABLE [3855e5b47] 2020-11-09 07:32:13 -0800 5778Branch: REL_11_STABLE [7b356c78f] 2020-11-09 07:32:13 -0800 5779Branch: REL_10_STABLE [a498db87b] 2020-11-09 07:32:13 -0800 5780Branch: REL9_6_STABLE [12fd81cb7] 2020-11-09 07:32:14 -0800 5781Branch: REL9_5_STABLE [a54dfbee1] 2020-11-09 07:32:14 -0800 5782--> 5783 <para> 5784 Prevent <application>psql</application>'s <command>\gset</command> 5785 command from modifying specially-treated variables (Noah Misch) 5786 </para> 5787 5788 <para> 5789 <command>\gset</command> without a prefix would overwrite whatever 5790 variables the server told it to. Thus, a compromised server could 5791 set specially-treated variables such as <varname>PROMPT1</varname>, 5792 giving the ability to execute arbitrary shell code in the user's 5793 session. 5794 </para> 5795 5796 <para> 5797 The <productname>PostgreSQL</productname> Project thanks 5798 Nick Cleaton for reporting this problem. 5799 (CVE-2020-25696) 5800 </para> 5801 </listitem> 5802 5803 <listitem> 5804<!-- 5805Author: Noah Misch <noah@leadboat.com> 5806Branch: master [566372b3d] 2020-08-15 10:15:53 -0700 5807Branch: REL_13_STABLE Release: REL_13_0 [592a589a0] 2020-08-15 10:15:56 -0700 5808Branch: REL_12_STABLE [30e68a2ab] 2020-08-15 10:15:56 -0700 5809Branch: REL_11_STABLE [d4031d784] 2020-08-15 10:15:57 -0700 5810Branch: REL_10_STABLE [e525770dd] 2020-08-15 10:15:57 -0700 5811Branch: REL9_6_STABLE [5ae01df6f] 2020-08-15 10:15:57 -0700 5812Branch: REL9_5_STABLE [3fbbf64ce] 2020-08-15 10:15:57 -0700 5813Branch: REL_12_STABLE [06e50d8f7] 2020-08-15 16:15:59 -0700 5814Branch: REL_11_STABLE [6af0b12a5] 2020-08-15 16:16:15 -0700 5815Branch: REL_10_STABLE [e8e44e890] 2020-08-15 16:16:29 -0700 5816Branch: REL9_6_STABLE [85aa22cb1] 2020-08-15 16:16:34 -0700 5817Branch: REL9_5_STABLE [d8a22a387] 2020-08-15 16:16:42 -0700 5818--> 5819 <para> 5820 Prevent possible data loss from concurrent truncations of SLRU logs 5821 (Noah Misch) 5822 </para> 5823 5824 <para> 5825 This rare problem would manifest in later <quote>apparent 5826 wraparound</quote> or <quote>could not access status of 5827 transaction</quote> errors. 5828 </para> 5829 </listitem> 5830 5831 <listitem> 5832<!-- 5833Author: Thomas Munro <tmunro@postgresql.org> 5834Branch: master [aca74843e] 2020-09-24 10:39:52 +1200 5835Branch: REL_13_STABLE [052014a20] 2020-09-24 10:27:22 +1200 5836Branch: REL_12_STABLE [7664cc869] 2020-09-24 10:30:47 +1200 5837Branch: REL_11_STABLE [c5a5bd0bb] 2020-09-24 10:31:57 +1200 5838Branch: REL_10_STABLE [dd36d6b00] 2020-09-24 10:33:00 +1200 5839Branch: REL9_6_STABLE [d38e15979] 2020-09-24 10:35:10 +1200 5840Branch: REL9_5_STABLE [23d8b3577] 2020-09-24 10:36:27 +1200 5841--> 5842 <para> 5843 Ensure that SLRU directories are properly fsync'd during checkpoints 5844 (Thomas Munro) 5845 </para> 5846 5847 <para> 5848 This prevents possible data loss in a subsequent operating system 5849 crash. 5850 </para> 5851 </listitem> 5852 5853 <listitem> 5854<!-- 5855Author: Tom Lane <tgl@sss.pgh.pa.us> 5856Branch: master [d907bd054] 2020-11-03 15:41:32 -0500 5857Branch: REL_13_STABLE [768dbef0d] 2020-11-03 15:41:32 -0500 5858Branch: REL_12_STABLE [136f87ea5] 2020-11-03 15:41:32 -0500 5859Branch: REL_11_STABLE [501035a0a] 2020-11-03 15:41:32 -0500 5860Branch: REL_10_STABLE [df4405b78] 2020-11-03 15:41:32 -0500 5861Branch: REL9_6_STABLE [04c4b495b] 2020-11-03 15:41:32 -0500 5862Branch: REL9_5_STABLE [77df80cf6] 2020-11-03 15:41:32 -0500 5863--> 5864 <para> 5865 Fix <command>ALTER ROLE</command> for users with 5866 the <literal>BYPASSRLS</literal> attribute (Tom Lane, Stephen Frost) 5867 </para> 5868 5869 <para> 5870 The <literal>BYPASSRLS</literal> attribute is only allowed to be 5871 changed by superusers, but other <command>ALTER ROLE</command> 5872 operations, such as password changes, should be allowed with only 5873 ordinary permission checks. The previous coding erroneously 5874 restricted all changes on such a role to superusers. 5875 </para> 5876 </listitem> 5877 5878 <listitem> 5879<!-- 5880Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 5881Branch: master [bbb927b4d] 2020-10-20 19:22:09 -0300 5882Branch: REL_13_STABLE [5f6463a20] 2020-10-20 19:22:09 -0300 5883Branch: REL_12_STABLE [0e6b6f8c7] 2020-10-20 19:22:09 -0300 5884Branch: REL_11_STABLE [a795f6782] 2020-10-20 19:22:09 -0300 5885--> 5886 <para> 5887 Ensure that <command>ALTER TABLE ONLY ... ENABLE/DISABLE 5888 TRIGGER</command> does not recurse to child tables 5889 (Álvaro Herrera) 5890 </para> 5891 5892 <para> 5893 Previously the <literal>ONLY</literal> flag was ignored. 5894 </para> 5895 </listitem> 5896 5897 <listitem> 5898<!-- 5899Author: Tom Lane <tgl@sss.pgh.pa.us> 5900Branch: master [e5fac1cb1] 2020-09-16 13:38:26 -0400 5901Branch: REL_13_STABLE Release: REL_13_0 [17280b31c] 2020-09-16 13:38:26 -0400 5902Branch: REL_12_STABLE [511690ec5] 2020-09-16 13:38:26 -0400 5903--> 5904 <para> 5905 Avoid unnecessary recursion to partitions in <command>ALTER TABLE 5906 SET NOT NULL</command>, when the target column is already 5907 marked <literal>NOT NULL</literal> (Tom Lane) 5908 </para> 5909 5910 <para> 5911 This avoids a potential deadlock in 5912 parallel <application>pg_restore</application>. 5913 </para> 5914 </listitem> 5915 5916 <listitem> 5917<!-- 5918Author: Tom Lane <tgl@sss.pgh.pa.us> 5919Branch: master [502898192] 2020-08-21 15:00:47 -0400 5920Branch: REL_13_STABLE Release: REL_13_0 [894f5dea7] 2020-08-21 15:00:48 -0400 5921Branch: REL_12_STABLE [d9253df12] 2020-08-21 15:00:43 -0400 5922Branch: REL_11_STABLE [373796524] 2020-08-21 15:00:43 -0400 5923Branch: REL_10_STABLE [e22e29c25] 2020-08-21 15:00:43 -0400 5924Branch: REL9_6_STABLE [37681d7e9] 2020-08-21 15:00:43 -0400 5925Branch: REL9_5_STABLE [21f8b1811] 2020-08-21 15:00:43 -0400 5926Branch: master [19f5a37b9] 2020-09-13 12:51:21 -0400 5927Branch: REL_13_STABLE Release: REL_13_0 [b380484a8] 2020-09-13 12:51:21 -0400 5928Branch: REL_12_STABLE [1371a1e41] 2020-09-13 12:51:21 -0400 5929Branch: REL_11_STABLE [f11210013] 2020-09-13 12:51:21 -0400 5930Branch: REL_10_STABLE [783a21eff] 2020-09-13 12:51:21 -0400 5931Branch: REL9_6_STABLE [1a9c93ec3] 2020-09-13 12:51:21 -0400 5932Branch: REL9_5_STABLE [86b8ef139] 2020-09-13 12:51:21 -0400 5933--> 5934 <para> 5935 Fix handling of expressions in <command>CREATE TABLE LIKE</command> 5936 with inheritance (Tom Lane) 5937 </para> 5938 5939 <para> 5940 If a <command>CREATE TABLE</command> command uses 5941 both <literal>LIKE</literal> and traditional inheritance, column 5942 references in <literal>CHECK</literal> constraints and expression 5943 indexes that came from a <literal>LIKE</literal> parent table tended 5944 to get mis-numbered, resulting in wrong answers and/or bizarre error 5945 messages. The same could happen in <literal>GENERATED</literal> 5946 expressions, in branches that have that feature. 5947 </para> 5948 </listitem> 5949 5950 <listitem> 5951<!-- 5952Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 5953Branch: master [afc7e0ad5] 2020-09-01 13:40:43 -0400 5954Branch: REL_13_STABLE Release: REL_13_0 [15dad5776] 2020-09-01 13:40:43 -0400 5955Branch: REL_12_STABLE [7067ba1b4] 2020-09-01 13:40:43 -0400 5956Branch: REL_11_STABLE [f00f5e0c1] 2020-09-01 13:40:43 -0400 5957--> 5958 <para> 5959 Disallow <command>DROP INDEX CONCURRENTLY</command> on a partitioned 5960 table (Álvaro Herrera, Michael Paquier) 5961 </para> 5962 5963 <para> 5964 This case failed anyway, but with a confusing error message. 5965 </para> 5966 </listitem> 5967 5968 <listitem> 5969<!-- 5970Author: Tom Lane <tgl@sss.pgh.pa.us> 5971Branch: master [5b7bfc397] 2020-11-05 11:44:32 -0500 5972Branch: REL_13_STABLE [44b973b91] 2020-11-05 11:44:32 -0500 5973Branch: REL_12_STABLE [0bdf1ef3d] 2020-11-05 11:44:32 -0500 5974Branch: REL_11_STABLE [7dc18c619] 2020-11-05 11:44:32 -0500 5975--> 5976 <para> 5977 Allow <command>LOCK TABLE</command> to succeed on a self-referential 5978 view (Tom Lane) 5979 </para> 5980 5981 <para> 5982 It previously threw an error complaining about infinite recursion, 5983 but there seems no need to disallow the case. 5984 </para> 5985 </listitem> 5986 5987 <listitem> 5988<!-- 5989Author: Michael Paquier <michael@paquier.xyz> 5990Branch: master [b17ff07aa] 2020-11-01 21:22:07 +0900 5991Branch: REL_13_STABLE [bb62df46b] 2020-11-01 21:24:10 +0900 5992Branch: REL_12_STABLE [41a033b50] 2020-11-01 21:24:15 +0900 5993--> 5994 <para> 5995 Retain statistics about an index across <command>REINDEX 5996 CONCURRENTLY</command> (Michael Paquier, Fabrízio de Royes Mello) 5997 </para> 5998 5999 <para> 6000 Non-concurrent reindexing has always preserved such statistics. 6001 </para> 6002 </listitem> 6003 6004 <listitem> 6005<!-- 6006Author: Michael Paquier <michael@paquier.xyz> 6007Branch: master [e66bcfb4c] 2020-09-29 14:15:57 +0900 6008Branch: REL_13_STABLE [1aedaba78] 2020-09-29 14:16:12 +0900 6009Branch: REL_12_STABLE [8aa4496dd] 2020-09-29 14:16:18 +0900 6010--> 6011 <para> 6012 Fix incorrect progress reporting from <command>REINDEX 6013 CONCURRENTLY</command> (Matthias van de Meent, Michael Paquier) 6014 </para> 6015 </listitem> 6016 6017 <listitem> 6018<!-- 6019Author: Tom Lane <tgl@sss.pgh.pa.us> 6020Branch: master [ad77039fa] 2020-10-28 13:47:02 -0400 6021Branch: REL_13_STABLE [70492195b] 2020-10-28 13:47:02 -0400 6022Branch: REL_12_STABLE [43330cdd4] 2020-10-28 13:47:02 -0400 6023--> 6024 <para> 6025 Ensure that <literal>GENERATED</literal> columns are updated when 6026 the column(s) they depend on are updated via a rule or an updatable 6027 view (Tom Lane) 6028 </para> 6029 6030 <para> 6031 This fix also takes care of possible failure to fire a 6032 column-specific trigger in such cases. 6033 </para> 6034 </listitem> 6035 6036 <listitem> 6037<!-- 6038Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 6039Branch: master [f481d2823] 2020-09-08 19:35:15 -0300 6040Branch: REL_13_STABLE Release: REL_13_0 [d0230a43f] 2020-09-08 19:35:15 -0300 6041Branch: REL_12_STABLE [ef1e1250e] 2020-09-08 19:35:15 -0300 6042--> 6043 <para> 6044 Recheck default partition constraints while routing an inserted or 6045 updated tuple to the correct partition (Amit Langote, 6046 Álvaro Herrera) 6047 </para> 6048 6049 <para> 6050 This fixes race conditions when partitions are added concurrently 6051 with the insertion. 6052 </para> 6053 </listitem> 6054 6055 <listitem> 6056<!-- 6057Author: Tom Lane <tgl@sss.pgh.pa.us> 6058Branch: master [72647ac3b] 2020-09-28 14:12:38 -0400 6059Branch: REL_13_STABLE [61a78c71a] 2020-09-28 14:12:38 -0400 6060Branch: REL_12_STABLE [29f20db85] 2020-09-28 14:12:38 -0400 6061--> 6062 <para> 6063 Fix failures with collation-dependent partition bound expressions 6064 (Tom Lane) 6065 </para> 6066 </listitem> 6067 6068 <listitem> 6069<!-- 6070Author: Peter Eisentraut <peter@eisentraut.org> 6071Branch: master [560564d3a] 2020-11-04 12:46:28 +0100 6072Branch: REL_13_STABLE [82d4a2a7d] 2020-11-04 12:46:38 +0100 6073Branch: REL_12_STABLE [ea9087938] 2020-11-04 12:46:52 +0100 6074--> 6075 <para> 6076 Support hashing of text arrays (Peter Eisentraut) 6077 </para> 6078 6079 <para> 6080 Array hashing failed if the array element type is collatable. 6081 Notably, this prevented using hash partitioning with a text array 6082 column as partition key. 6083 </para> 6084 </listitem> 6085 6086 <listitem> 6087<!-- 6088Author: Tom Lane <tgl@sss.pgh.pa.us> 6089Branch: master [489c9c340] 2020-09-30 15:40:23 -0400 6090Branch: REL_13_STABLE [99fd38c02] 2020-09-30 15:40:23 -0400 6091Branch: REL_12_STABLE [c5232dca8] 2020-09-30 15:40:23 -0400 6092Branch: REL_11_STABLE [b0fe0b022] 2020-09-30 15:40:23 -0400 6093Branch: REL_10_STABLE [db96be24c] 2020-09-30 15:40:23 -0400 6094Branch: REL9_6_STABLE [19e798268] 2020-09-30 15:40:23 -0400 6095Branch: REL9_5_STABLE [4857e6fe1] 2020-09-30 15:40:23 -0400 6096--> 6097 <para> 6098 Fix off-by-one conversion of negative years to BC dates 6099 in <function>to_date()</function> 6100 and <function>to_timestamp()</function> (Dar Alathar-Yemen, Tom Lane) 6101 </para> 6102 6103 <para> 6104 Also, arrange for the combination of a negative year and an 6105 explicit <quote>BC</quote> marker to cancel out and produce AD. 6106 </para> 6107 </listitem> 6108 6109 <listitem> 6110<!-- 6111Author: Fujii Masao <fujii@postgresql.org> 6112Branch: master [fd26f7823] 2020-09-29 16:21:46 +0900 6113Branch: REL_13_STABLE [059caf36c] 2020-09-29 16:23:57 +0900 6114Branch: REL_12_STABLE [4d342b9d4] 2020-09-29 16:24:20 +0900 6115Branch: REL_11_STABLE [462ff7966] 2020-09-29 16:24:47 +0900 6116Branch: REL_10_STABLE [334417538] 2020-09-29 16:25:08 +0900 6117Branch: REL9_6_STABLE [7be02a3bf] 2020-09-29 16:25:20 +0900 6118Branch: REL9_5_STABLE [40a8fb1e0] 2020-09-29 16:25:51 +0900 6119--> 6120 <para> 6121 Ensure that standby servers will archive WAL timeline history files 6122 when <varname>archive_mode</varname> is set 6123 to <literal>always</literal> (Grigory Smolkin, Fujii Masao) 6124 </para> 6125 6126 <para> 6127 This oversight could lead to failure of subsequent PITR recovery 6128 attempts. 6129 </para> 6130 </listitem> 6131 6132 <listitem> 6133<!-- 6134Author: Tom Lane <tgl@sss.pgh.pa.us> 6135Branch: master [3d65b0593] 2020-09-16 12:07:31 -0400 6136Branch: REL_13_STABLE Release: REL_13_0 [3e3f8f202] 2020-09-16 12:07:31 -0400 6137Branch: REL_12_STABLE [8580631ff] 2020-09-16 12:07:31 -0400 6138Branch: REL_11_STABLE [2c74f7139] 2020-09-16 12:07:31 -0400 6139Branch: REL_10_STABLE [d6d70f89a] 2020-09-16 12:07:31 -0400 6140--> 6141 <para> 6142 Fix <quote>cache lookup failed for relation 0</quote> 6143 failures in logical replication workers (Tom Lane) 6144 </para> 6145 6146 <para> 6147 The real-world impact is small, since the failure is unlikely, and 6148 if it does happen the worker would just exit and be restarted. 6149 </para> 6150 </listitem> 6151 6152 <listitem> 6153<!-- 6154Author: Tom Lane <tgl@sss.pgh.pa.us> 6155Branch: master [c8746f999] 2020-09-04 20:33:36 -0400 6156Branch: REL_13_STABLE Release: REL_13_0 [9b81a30f9] 2020-09-04 20:33:37 -0400 6157Branch: REL_12_STABLE [9b47ee6e7] 2020-09-04 20:20:05 -0400 6158Branch: REL_11_STABLE [7156a0eac] 2020-09-04 20:20:05 -0400 6159Branch: REL_10_STABLE [9b8a8516e] 2020-09-04 20:20:06 -0400 6160--> 6161 <para> 6162 Prevent logical replication workers from sending redundant ping 6163 requests (Tom Lane) 6164 </para> 6165 </listitem> 6166 6167 <listitem> 6168<!-- 6169Author: Tom Lane <tgl@sss.pgh.pa.us> 6170Branch: master [0038f9438] 2020-08-14 13:26:57 -0400 6171Branch: REL_13_STABLE Release: REL_13_0 [1c6066fbd] 2020-08-14 13:26:57 -0400 6172Branch: REL_12_STABLE [42566a250] 2020-08-14 13:26:57 -0400 6173Branch: REL_11_STABLE [250aaa2de] 2020-08-14 13:26:57 -0400 6174Branch: REL_10_STABLE [326b5fe0f] 2020-08-14 13:26:57 -0400 6175Branch: REL9_6_STABLE [b4d8be9f6] 2020-08-14 13:26:57 -0400 6176--> 6177 <para> 6178 During <quote>smart</quote> shutdown, don't terminate background 6179 processes until all client (foreground) sessions are done (Tom Lane) 6180 </para> 6181 6182 <para> 6183 The previous behavior broke parallel query processing, since the 6184 postmaster would terminate parallel workers and refuse to launch any 6185 new ones. It also caused autovacuum to cease functioning, which 6186 could have dire long-term effects if the surviving client sessions 6187 make a lot of data changes. 6188 </para> 6189 </listitem> 6190 6191 <listitem> 6192<!-- 6193Author: Tom Lane <tgl@sss.pgh.pa.us> 6194Branch: master Release: REL_13_BR [9abb2bfc0] 2019-10-13 15:48:26 -0400 6195Branch: REL_12_STABLE [8b53dbada] 2020-10-15 12:50:57 -0400 6196Branch: REL_11_STABLE [85834023a] 2020-10-15 12:50:57 -0400 6197Branch: REL_10_STABLE [4e95733b0] 2020-10-15 12:50:57 -0400 6198Branch: REL9_6_STABLE [7753ca49d] 2020-10-15 12:50:57 -0400 6199--> 6200 <para> 6201 Avoid recursive consumption of stack space while processing signals 6202 in the postmaster (Tom Lane) 6203 </para> 6204 6205 <para> 6206 Heavy use of parallel processing has been observed to cause 6207 postmaster crashes due to too many concurrent signals requesting 6208 creation of a parallel worker process. 6209 </para> 6210 </listitem> 6211 6212 <listitem> 6213<!-- 6214Author: Tom Lane <tgl@sss.pgh.pa.us> 6215Branch: master [bedadc732] 2020-09-09 15:32:45 -0400 6216Branch: REL_13_STABLE Release: REL_13_0 [35e59398a] 2020-09-09 15:32:34 -0400 6217Branch: REL_12_STABLE [d038c6c63] 2020-09-09 15:32:34 -0400 6218Branch: REL_11_STABLE [67dde49a3] 2020-09-09 15:32:34 -0400 6219Branch: REL_10_STABLE [95cd8902e] 2020-09-09 15:32:34 -0400 6220Branch: REL9_6_STABLE [b2eaddd9b] 2020-09-09 15:32:34 -0400 6221Branch: REL9_5_STABLE [581855b6a] 2020-09-09 15:32:34 -0400 6222Branch: master [58c6feccf] 2020-09-10 12:06:37 -0400 6223Branch: REL_13_STABLE Release: REL_13_0 [3f29aa48b] 2020-09-10 12:06:26 -0400 6224Branch: REL_12_STABLE [4e10c0c8a] 2020-09-10 12:06:26 -0400 6225Branch: REL_11_STABLE [93871b693] 2020-09-10 12:06:26 -0400 6226Branch: REL_10_STABLE [ac695b8f2] 2020-09-10 12:06:26 -0400 6227Branch: REL9_6_STABLE [dc71c6409] 2020-09-10 12:06:26 -0400 6228Branch: REL9_5_STABLE [e2c9bedc9] 2020-09-10 12:06:26 -0400 6229--> 6230 <para> 6231 Avoid running <systemitem>atexit</systemitem> handlers when exiting 6232 due to SIGQUIT (Kyotaro Horiguchi, Tom Lane) 6233 </para> 6234 6235 <para> 6236 Most server processes followed this practice already, but the 6237 archiver process was overlooked. Backends that were still waiting 6238 for a client startup packet got it wrong, too. 6239 </para> 6240 </listitem> 6241 6242 <listitem> 6243<!-- 6244Author: Tom Lane <tgl@sss.pgh.pa.us> 6245Branch: master [4d346def1] 2020-08-22 14:46:40 -0400 6246Branch: REL_13_STABLE Release: REL_13_0 [de627adaa] 2020-08-22 14:46:40 -0400 6247Branch: REL_12_STABLE [6b701eaaa] 2020-08-22 14:46:40 -0400 6248Branch: REL_11_STABLE [b439adcab] 2020-08-22 14:46:40 -0400 6249Branch: REL_10_STABLE [6fa403e61] 2020-08-22 14:46:40 -0400 6250Branch: REL9_6_STABLE [d3701bc8a] 2020-08-22 14:46:40 -0400 6251Branch: REL9_5_STABLE [7edd36eae] 2020-08-22 14:46:40 -0400 6252--> 6253 <para> 6254 Avoid misoptimization of subquery qualifications that reference 6255 apparently-constant grouping columns (Tom Lane) 6256 </para> 6257 6258 <para> 6259 A <quote>constant</quote> subquery output column isn't really 6260 constant if it is a grouping column that appears in only some of the 6261 grouping sets. 6262 </para> 6263 </listitem> 6264 6265 <listitem> 6266<!-- 6267Author: Tom Lane <tgl@sss.pgh.pa.us> 6268Branch: master [d7885b1f8] 2020-10-06 11:43:53 -0400 6269Branch: REL_13_STABLE [b7f166efa] 2020-10-06 11:43:53 -0400 6270Branch: REL_12_STABLE [3d69efc4f] 2020-10-06 11:43:54 -0400 6271--> 6272 <para> 6273 Fix possible crash when considering partition-wise joins 6274 during GEQO planning (Tom Lane) 6275 </para> 6276 </listitem> 6277 6278 <listitem> 6279<!-- 6280Author: Tom Lane <tgl@sss.pgh.pa.us> 6281Branch: master [1e7629d2c] 2020-08-14 22:14:03 -0400 6282Branch: REL_13_STABLE Release: REL_13_0 [b538e83f1] 2020-08-14 22:14:03 -0400 6283Branch: REL_12_STABLE [912fb290c] 2020-08-14 22:14:03 -0400 6284Branch: REL_11_STABLE [9d472b51e] 2020-08-14 22:14:03 -0400 6285Branch: REL_10_STABLE [dea07098a] 2020-08-14 22:14:03 -0400 6286Branch: REL9_6_STABLE [7241edc4f] 2020-08-14 22:14:03 -0400 6287Branch: REL9_5_STABLE [5190707d7] 2020-08-14 22:14:03 -0400 6288--> 6289 <para> 6290 Avoid failure when SQL function inlining changes the shape of a 6291 potentially-hashable subplan comparison expression (Tom Lane) 6292 </para> 6293 </listitem> 6294 6295 <listitem> 6296<!-- 6297Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 6298Branch: master [a811ea5bd] 2020-08-13 17:33:49 -0400 6299Branch: REL_13_STABLE Release: REL_13_0 [2f29fd4cb] 2020-08-13 17:33:49 -0400 6300Branch: REL_12_STABLE [1122a903e] 2020-08-13 17:33:49 -0400 6301Branch: REL_11_STABLE [704de3739] 2020-08-13 17:33:49 -0400 6302Branch: REL_10_STABLE [385cbe8e4] 2020-08-13 17:33:49 -0400 6303Branch: REL9_6_STABLE [e5902117d] 2020-08-13 17:33:49 -0400 6304Branch: REL9_5_STABLE [40bceae7b] 2020-08-13 17:33:49 -0400 6305Branch: master [6e70443ed] 2020-08-17 16:20:06 -0400 6306Branch: REL_13_STABLE Release: REL_13_0 [b83f1bcca] 2020-08-17 16:20:06 -0400 6307Branch: REL_12_STABLE [4f47c8e7d] 2020-08-17 16:20:06 -0400 6308Branch: REL_11_STABLE [060e5bd70] 2020-08-17 16:20:06 -0400 6309Branch: REL_10_STABLE [3a45ac076] 2020-08-17 16:20:05 -0400 6310Branch: REL9_6_STABLE [d4d214903] 2020-08-17 16:20:05 -0400 6311Branch: REL9_5_STABLE [aa4da2674] 2020-08-17 16:20:05 -0400 6312--> 6313 <para> 6314 While building or re-building an index, tolerate the appearance of 6315 new HOT chains due to concurrent updates 6316 (Anastasia Lubennikova, Álvaro Herrera) 6317 </para> 6318 6319 <para> 6320 This oversight could lead to <quote>failed to find parent tuple for 6321 heap-only tuple</quote> errors. 6322 </para> 6323 </listitem> 6324 6325 <listitem> 6326<!-- 6327Author: Amit Kapila <akapila@postgresql.org> 6328Branch: master [b7f2dd959] 2020-09-17 16:11:48 +0530 6329Branch: REL_13_STABLE Release: REL_13_0 [0abd9cd2f] 2020-09-17 15:16:46 +0530 6330Branch: REL_12_STABLE [4bc63462d] 2020-09-17 15:38:47 +0530 6331Branch: REL_11_STABLE [956891fab] 2020-09-17 15:53:25 +0530 6332Branch: REL_10_STABLE [fcc3665a0] 2020-09-17 15:59:42 +0530 6333--> 6334 <para> 6335 Fix failure of parallel B-tree index scans when the index condition 6336 is unsatisfiable (James Hunter) 6337 </para> 6338 </listitem> 6339 6340 <listitem> 6341<!-- 6342Author: Tomas Vondra <tomas.vondra@postgresql.org> 6343Branch: master [7577dd848] 2020-11-07 00:39:19 +0100 6344Branch: REL_13_STABLE [6a7b55f37] 2020-11-07 00:40:06 +0100 6345Branch: REL_12_STABLE [8149e9f9a] 2020-11-07 00:40:40 +0100 6346Branch: REL_11_STABLE [895d0f0e8] 2020-11-07 00:41:02 +0100 6347Branch: REL_10_STABLE [0b96fc977] 2020-11-07 00:41:19 +0100 6348Branch: REL9_6_STABLE [bae31e75f] 2020-11-07 00:41:36 +0100 6349Branch: REL9_5_STABLE [d2d3a4bd3] 2020-11-07 00:41:52 +0100 6350--> 6351 <para> 6352 Ensure that data is detoasted before being inserted into a BRIN 6353 index (Tomas Vondra) 6354 </para> 6355 6356 <para> 6357 Index entries are not supposed to contain out-of-line TOAST 6358 pointers, but BRIN didn't get that memo. This could lead to errors 6359 like <quote>missing chunk number 0 for toast value NNN</quote>. 6360 (If you are faced with such an error from an existing 6361 index, <command>REINDEX</command> should be enough to fix it.) 6362 </para> 6363 </listitem> 6364 6365 <listitem> 6366<!-- 6367Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 6368Branch: master [1f42d35a1] 2020-08-12 15:33:36 -0400 6369Branch: REL_13_STABLE Release: REL_13_0 [8782ea2f3] 2020-08-12 15:33:36 -0400 6370Branch: REL_12_STABLE [0426c75e7] 2020-08-12 15:33:36 -0400 6371Branch: REL_11_STABLE [7af39993a] 2020-08-12 15:33:36 -0400 6372Branch: REL_10_STABLE [721ef4d28] 2020-08-12 15:33:36 -0400 6373Branch: REL9_6_STABLE [7a3c261fb] 2020-08-12 15:33:36 -0400 6374Branch: REL9_5_STABLE [ce3a8fde8] 2020-08-12 15:33:36 -0400 6375--> 6376 <para> 6377 Handle concurrent desummarization correctly during BRIN index scans 6378 (Alexander Lakhin, Álvaro Herrera) 6379 </para> 6380 6381 <para> 6382 Previously, if a page range was desummarized at just the wrong time, 6383 an index scan might falsely raise an error indicating index 6384 corruption. 6385 </para> 6386 </listitem> 6387 6388 <listitem> 6389<!-- 6390Author: Tom Lane <tgl@sss.pgh.pa.us> 6391Branch: master [10564ee02] 2020-08-27 17:36:13 -0400 6392Branch: REL_13_STABLE Release: REL_13_0 [1df14a566] 2020-08-27 17:36:13 -0400 6393Branch: REL_12_STABLE [ff3c16d1e] 2020-08-27 17:36:13 -0400 6394Branch: REL_11_STABLE [11ecf4bd2] 2020-08-27 17:36:13 -0400 6395Branch: REL_10_STABLE [0d3ad6540] 2020-08-27 17:36:13 -0400 6396Branch: REL9_6_STABLE [0dfec43c8] 2020-08-27 17:36:13 -0400 6397Branch: REL9_5_STABLE [fabd2f9c9] 2020-08-27 17:36:13 -0400 6398--> 6399 <para> 6400 Fix rare <quote>lost saved point in index</quote> errors in scans of 6401 multicolumn GIN indexes (Tom Lane) 6402 </para> 6403 </listitem> 6404 6405 <listitem> 6406<!-- 6407Author: Tom Lane <tgl@sss.pgh.pa.us> 6408Branch: master [371668a83] 2020-10-12 18:01:34 -0400 6409Branch: REL_13_STABLE [962ab473e] 2020-10-12 18:01:34 -0400 6410Branch: REL_12_STABLE [12945874e] 2020-10-12 18:01:34 -0400 6411--> 6412 <para> 6413 Fix buffered GiST index builds to work when the index has included 6414 columns (Pavel Borisov) 6415 </para> 6416 </listitem> 6417 6418 <listitem> 6419<!-- 6420Author: Tom Lane <tgl@sss.pgh.pa.us> 6421Branch: master [0a4b34031] 2020-11-02 21:11:50 -0500 6422Branch: REL_13_STABLE [a58a631b4] 2020-11-02 21:11:50 -0500 6423Branch: REL_12_STABLE [d3befe9b9] 2020-11-02 21:11:50 -0500 6424Branch: REL_11_STABLE [f28b089cb] 2020-11-02 21:11:50 -0500 6425Branch: REL_10_STABLE [7827497ba] 2020-11-02 21:11:50 -0500 6426--> 6427 <para> 6428 Fix unportable use of <function>getnameinfo()</function> 6429 in <structname>pg_hba_file_rules</structname> view (Tom Lane) 6430 </para> 6431 6432 <para> 6433 On FreeBSD 11, and possibly other platforms, the 6434 view's <structfield>address</structfield> 6435 and <structfield>netmask</structfield> columns were always null due 6436 to this error. 6437 </para> 6438 </listitem> 6439 6440 <listitem> 6441<!-- 6442Author: Noah Misch <noah@leadboat.com> 6443Branch: master [f90e80b91] 2020-10-31 08:43:28 -0700 6444Branch: REL_13_STABLE [ab2e2ce46] 2020-10-31 08:43:32 -0700 6445Branch: REL_12_STABLE [741b84e9f] 2020-10-31 08:44:13 -0700 6446Branch: REL_11_STABLE [045466675] 2020-10-31 08:45:19 -0700 6447--> 6448 <para> 6449 Avoid crash if <varname>debug_query_string</varname> is NULL 6450 when starting a parallel worker (Noah Misch) 6451 </para> 6452 </listitem> 6453 6454 <listitem> 6455<!-- 6456Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 6457Branch: master [ced138e8c] 2020-09-15 21:03:14 -0300 6458Branch: REL_13_STABLE Release: REL_13_0 [873cb8fca] 2020-09-15 21:03:14 -0300 6459Author: Tom Lane <tgl@sss.pgh.pa.us> 6460Branch: REL_12_STABLE [93f726c04] 2020-10-27 15:37:13 -0400 6461Branch: REL_11_STABLE [66c036b4f] 2020-10-27 15:37:13 -0400 6462Branch: REL_10_STABLE [41c742a43] 2020-10-27 15:37:13 -0400 6463Branch: REL9_6_STABLE [cc623ed2f] 2020-10-27 15:37:13 -0400 6464Branch: REL9_5_STABLE [7978ad025] 2020-10-27 15:37:13 -0400 6465--> 6466 <para> 6467 Fix use-after-free hazard when an event trigger monitors 6468 an <command>ALTER TABLE</command> operation (Jehan-Guillaume de 6469 Rorthais) 6470 </para> 6471 </listitem> 6472 6473 <listitem> 6474<!-- 6475Author: Tom Lane <tgl@sss.pgh.pa.us> 6476Branch: master [ba9f18abd] 2020-10-25 13:57:46 -0400 6477Branch: REL_13_STABLE [d88d8ad28] 2020-10-25 13:57:46 -0400 6478Branch: REL_12_STABLE [de78c1007] 2020-10-25 13:57:46 -0400 6479Branch: master [20d3fe900] 2020-10-26 11:36:53 -0400 6480Branch: master [8b39345a9] 2020-11-08 13:08:36 -0500 6481Branch: REL_13_STABLE [7aeb6404f] 2020-11-08 13:08:36 -0500 6482Branch: REL_12_STABLE [94ec005f3] 2020-11-08 13:08:36 -0500 6483--> 6484 <para> 6485 Avoid failures when a <literal>BEFORE ROW UPDATE</literal> trigger 6486 returns the <quote>old</quote> row of a table having dropped 6487 or <quote>missing</quote> columns (Amit Langote, Tom Lane) 6488 </para> 6489 6490 <para> 6491 This method of suppressing an update could result in crashes, 6492 unexpected <literal>CHECK</literal> constraint failures, or 6493 incorrect <literal>RETURNING</literal> output, 6494 because <quote>missing</quote> columns would read as NULLs for those 6495 purposes. (A column is <quote>missing</quote> for this purpose if 6496 it was added by <command>ALTER TABLE ADD COLUMN</command> with a 6497 non-NULL, but constant, default value.) Dropped columns could cause 6498 trouble as well. 6499 </para> 6500 </listitem> 6501 6502 <listitem> 6503<!-- 6504Author: Tom Lane <tgl@sss.pgh.pa.us> 6505Branch: master [19ad7e1d7] 2020-09-06 12:55:13 -0400 6506Branch: REL_13_STABLE Release: REL_13_0 [f04203ab7] 2020-09-06 12:55:28 -0400 6507Branch: REL_12_STABLE [f45dd3fed] 2020-09-06 12:55:37 -0400 6508Branch: REL_11_STABLE [baef6e5e9] 2020-09-06 12:55:44 -0400 6509Branch: REL_10_STABLE [f71b93b86] 2020-09-06 12:55:51 -0400 6510Branch: REL9_6_STABLE [2939f613f] 2020-09-06 12:55:59 -0400 6511Branch: REL9_5_STABLE [e0b4c7dd0] 2020-09-06 12:56:10 -0400 6512--> 6513 <para> 6514 Fix incorrect error message about inconsistent moving-aggregate 6515 data types (Jeff Janes) 6516 </para> 6517 </listitem> 6518 6519 <listitem> 6520<!-- 6521Author: Tom Lane <tgl@sss.pgh.pa.us> 6522Branch: master [be4b0c007] 2020-09-03 16:52:09 -0400 6523Branch: REL_13_STABLE Release: REL_13_0 [17424e79d] 2020-09-03 16:52:09 -0400 6524Branch: REL_12_STABLE [82dd373f2] 2020-09-03 16:52:09 -0400 6525Branch: REL_11_STABLE [526df0a23] 2020-09-03 16:52:09 -0400 6526Branch: REL_10_STABLE [2a938c793] 2020-09-03 16:52:09 -0400 6527Branch: REL9_6_STABLE [2500e51e7] 2020-09-03 16:52:09 -0400 6528Branch: REL9_5_STABLE [3738651f5] 2020-09-03 16:52:09 -0400 6529--> 6530 <para> 6531 Avoid lockup when a parallel worker reports a very long error 6532 message (Vignesh C) 6533 </para> 6534 </listitem> 6535 6536 <listitem> 6537<!-- 6538Author: Peter Eisentraut <peter@eisentraut.org> 6539Branch: REL_13_STABLE [1f53d0b9f] 2020-10-20 14:09:16 +0200 6540Branch: REL_12_STABLE [bd0677bb8] 2020-10-20 14:31:52 +0200 6541Branch: REL_11_STABLE [6e03a8a30] 2020-10-20 14:50:43 +0200 6542Branch: REL_10_STABLE [f78ebbe68] 2020-10-20 15:19:47 +0200 6543Branch: REL9_6_STABLE [d4e654d15] 2020-10-20 15:35:31 +0200 6544Branch: REL9_5_STABLE [d27c18d26] 2020-10-20 17:22:41 +0200 6545--> 6546 <para> 6547 Avoid unnecessary failure when transferring very large payloads 6548 through shared memory queues (Markus Wanner) 6549 </para> 6550 </listitem> 6551 6552 <listitem> 6553<!-- 6554Author: Andres Freund <andres@anarazel.de> 6555Branch: master [72559438f] 2020-10-15 14:29:53 -0700 6556Branch: REL_13_STABLE [ae3e75aba] 2020-10-15 14:30:40 -0700 6557Branch: REL_12_STABLE [c8a2bb0f1] 2020-10-15 14:31:32 -0700 6558Branch: REL_11_STABLE [f3dee5b9a] 2020-10-15 15:06:16 -0700 6559Branch: master [fe2a16d8b] 2020-10-15 18:17:00 -0700 6560Branch: REL_13_STABLE [efc9a8e98] 2020-10-15 18:17:00 -0700 6561Branch: REL_12_STABLE [c835c7ffe] 2020-10-15 18:17:01 -0700 6562Branch: REL_11_STABLE [4a4f4487d] 2020-10-15 18:17:01 -0700 6563--> 6564 <para> 6565 Fix incorrect handling of template function attributes in JIT code 6566 generation (Andres Freund) 6567 </para> 6568 6569 <para> 6570 This has been shown to cause crashes on <literal>s390x</literal>, 6571 and very possibly there are other cases on other platforms. 6572 </para> 6573 </listitem> 6574 6575 <listitem> 6576<!-- 6577Author: Tom Lane <tgl@sss.pgh.pa.us> 6578Branch: master [e55f718fc] 2020-09-26 16:04:06 -0400 6579Branch: REL_13_STABLE [f7873900f] 2020-09-26 16:04:06 -0400 6580Branch: REL_12_STABLE [bda32733c] 2020-09-26 16:04:06 -0400 6581Branch: REL_11_STABLE [dd89ba578] 2020-09-26 16:04:06 -0400 6582Branch: REL_10_STABLE [de6725deb] 2020-09-26 16:04:06 -0400 6583Branch: REL9_6_STABLE [acab757ce] 2020-09-26 16:04:06 -0400 6584Branch: REL9_5_STABLE [bf34ae930] 2020-09-26 16:04:06 -0400 6585--> 6586 <para> 6587 Fix relation cache memory leaks with RLS policies (Tom Lane) 6588 </para> 6589 </listitem> 6590 6591 <listitem> 6592<!-- 6593Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 6594Branch: master [623644f02] 2020-11-06 22:52:16 -0300 6595Branch: REL_13_STABLE [d94d37f8c] 2020-11-06 22:52:15 -0300 6596Branch: REL_12_STABLE [8ad6a0c1b] 2020-11-06 22:52:15 -0300 6597--> 6598 <para> 6599 Fix edge-case memory leak 6600 in <function>index_get_partition()</function> (Justin Pryzby) 6601 </para> 6602 </listitem> 6603 6604 <listitem> 6605<!-- 6606Author: Tom Lane <tgl@sss.pgh.pa.us> 6607Branch: master [397ea901e] 2020-10-12 13:31:24 -0400 6608Branch: REL_13_STABLE [9343bfefa] 2020-10-12 13:31:24 -0400 6609Branch: REL_12_STABLE [f35c11770] 2020-10-12 13:31:24 -0400 6610Branch: REL_11_STABLE [cfa4cff30] 2020-10-12 13:31:24 -0400 6611Branch: REL_10_STABLE [a5c77e6b8] 2020-10-12 13:31:24 -0400 6612Branch: REL9_6_STABLE [c7573ab1e] 2020-10-12 13:31:24 -0400 6613Branch: REL9_5_STABLE [43ca5e07d] 2020-10-12 13:31:24 -0400 6614--> 6615 <para> 6616 Fix small memory leak when SIGHUP processing decides that a new GUC 6617 variable value cannot be applied without a restart (Tom Lane) 6618 </para> 6619 </listitem> 6620 6621 <listitem> 6622<!-- 6623Author: Tom Lane <tgl@sss.pgh.pa.us> 6624Branch: master [a6b1f5365] 2020-09-29 11:18:30 -0400 6625Branch: REL_13_STABLE [f0e4ec74e] 2020-09-29 11:18:30 -0400 6626Branch: REL_12_STABLE [c1e044bb3] 2020-09-29 11:18:31 -0400 6627Branch: REL_11_STABLE [13a1901ba] 2020-09-29 11:18:31 -0400 6628--> 6629 <para> 6630 Fix memory leaks 6631 in <application>PL/pgsql</application>'s <command>CALL</command> 6632 processing (Pavel Stehule, Tom Lane) 6633 </para> 6634 </listitem> 6635 6636 <listitem> 6637<!-- 6638Author: Tom Lane <tgl@sss.pgh.pa.us> 6639Branch: master [b55b4dad9] 2020-09-01 13:14:44 -0400 6640Branch: REL_13_STABLE Release: REL_13_0 [4178b7499] 2020-09-01 13:14:44 -0400 6641Branch: REL_12_STABLE [55aea0c70] 2020-09-01 13:14:44 -0400 6642Branch: REL_11_STABLE [df8020b32] 2020-09-01 13:14:44 -0400 6643Branch: REL_10_STABLE [0c0a3a859] 2020-09-01 13:14:44 -0400 6644Branch: REL9_6_STABLE [ba23174dd] 2020-09-01 13:14:44 -0400 6645Branch: REL9_5_STABLE [8d486cfbf] 2020-09-01 13:14:44 -0400 6646Branch: master [4d41823c5] 2020-09-04 21:01:58 -0400 6647Branch: REL_13_STABLE Release: REL_13_0 [8df601bd4] 2020-09-04 21:01:59 -0400 6648Branch: REL_12_STABLE [fc37c6f61] 2020-09-04 21:01:59 -0400 6649Branch: REL_11_STABLE [d7ae549e3] 2020-09-04 21:01:59 -0400 6650Branch: REL_10_STABLE [546479f34] 2020-09-04 21:01:59 -0400 6651--> 6652 <para> 6653 Make <application>libpq</application> support arbitrary-length lines 6654 in <filename>.pgpass</filename> files (Tom Lane) 6655 </para> 6656 6657 <para> 6658 This is mostly useful to allow using very long security tokens as 6659 passwords. 6660 </para> 6661 </listitem> 6662 6663 <listitem> 6664<!-- 6665Author: Tom Lane <tgl@sss.pgh.pa.us> 6666Branch: master [7d00a6b2d] 2020-10-17 16:53:48 -0400 6667Branch: REL_13_STABLE [d2074daeb] 2020-10-19 11:23:51 -0400 6668Branch: REL_12_STABLE [407580aab] 2020-10-19 11:23:51 -0400 6669Branch: REL_11_STABLE [883226441] 2020-10-19 11:23:52 -0400 6670Branch: REL_10_STABLE [6670e9107] 2020-10-19 11:23:52 -0400 6671Branch: REL9_6_STABLE [cdc7ace16] 2020-10-19 11:23:52 -0400 6672Branch: REL9_5_STABLE [6acc31a20] 2020-10-19 11:23:52 -0400 6673--> 6674 <para> 6675 In <application>libpq</application> for Windows, 6676 call <function>WSAStartup()</function> once per process 6677 and <function>WSACleanup()</function> not at all (Tom Lane, 6678 Alexander Lakhin) 6679 </para> 6680 6681 <para> 6682 Previously, <application>libpq</application> 6683 invoked <function>WSAStartup()</function> at connection start 6684 and <function>WSACleanup()</function> at connection cleanup. 6685 However, it appears that calling <function>WSACleanup()</function> 6686 can interfere with other program operations; notably, we have 6687 observed rare failures to emit expected output to stdout. There 6688 appear to be no ill effects from omitting the call, so do that. 6689 (This also eliminates a performance issue from repeated DLL loads and 6690 unloads when a program performs a series of database connections.) 6691 </para> 6692 </listitem> 6693 6694 <listitem> 6695<!-- 6696Author: Tom Lane <tgl@sss.pgh.pa.us> 6697Branch: master [21d36747d] 2020-10-24 13:12:08 -0400 6698Branch: REL_13_STABLE [fd048e0cb] 2020-10-24 13:12:19 -0400 6699Branch: REL_12_STABLE [bdc79ddd1] 2020-10-24 13:12:26 -0400 6700Branch: REL_11_STABLE [12a73f29f] 2020-10-24 13:12:31 -0400 6701Branch: REL_10_STABLE [f38b66ec0] 2020-10-24 13:12:41 -0400 6702Branch: REL9_6_STABLE [379c43bda] 2020-10-24 13:12:47 -0400 6703Branch: REL9_5_STABLE [758b45e83] 2020-10-24 13:12:53 -0400 6704--> 6705 <para> 6706 Fix <application>ecpg</application> library's per-thread 6707 initialization logic for Windows (Tom Lane, Alexander Lakhin) 6708 </para> 6709 6710 <para> 6711 Multi-threaded <application>ecpg</application> applications could 6712 suffer rare misbehavior due to incorrect locking. 6713 </para> 6714 </listitem> 6715 6716 <listitem> 6717<!-- 6718Author: Tom Lane <tgl@sss.pgh.pa.us> 6719Branch: master [66f8687a8] 2020-10-28 14:35:53 -0400 6720Branch: REL_13_STABLE [ba4f5413e] 2020-10-28 14:35:53 -0400 6721Branch: REL_12_STABLE [cb0982ba9] 2020-10-28 14:35:53 -0400 6722Branch: REL_11_STABLE [9eb250339] 2020-10-28 14:35:53 -0400 6723Branch: REL_10_STABLE [504f963f7] 2020-10-28 14:35:53 -0400 6724Branch: REL9_6_STABLE [204d77969] 2020-10-28 14:35:53 -0400 6725Branch: REL9_5_STABLE [aff06436c] 2020-10-28 14:35:53 -0400 6726--> 6727 <para> 6728 On Windows, make <application>psql</application> read the output of 6729 a backtick command in text mode, not binary mode (Tom Lane) 6730 </para> 6731 6732 <para> 6733 This ensures proper handling of newlines. 6734 </para> 6735 </listitem> 6736 6737 <listitem> 6738<!-- 6739Author: Andrew Dunstan <andrew@dunslane.net> 6740Branch: master [3eb3d3e78] 2020-09-04 13:54:54 -0400 6741Branch: REL_13_STABLE Release: REL_13_0 [72857482c] 2020-09-04 13:55:11 -0400 6742Branch: REL_12_STABLE [616110eac] 2020-09-04 13:55:03 -0400 6743Author: Tom Lane <tgl@sss.pgh.pa.us> 6744Branch: master [9e5f1f21a] 2020-10-07 12:51:02 -0400 6745Branch: REL_13_STABLE [2ea624b4b] 2020-10-07 12:51:03 -0400 6746Branch: REL_12_STABLE [d8c2a2199] 2020-10-07 12:51:04 -0400 6747Branch: REL_11_STABLE [f2c6e94f0] 2020-10-07 12:51:05 -0400 6748Branch: REL_10_STABLE [0c79dcb36] 2020-10-07 12:51:05 -0400 6749Branch: REL9_6_STABLE [710c0a66d] 2020-10-07 12:51:06 -0400 6750Branch: REL9_5_STABLE [0bfe356c5] 2020-10-07 12:51:06 -0400 6751--> 6752 <para> 6753 Ensure that <application>pg_dump</application> collects per-column 6754 information about extension configuration tables (Fabrízio de 6755 Royes Mello, Tom Lane) 6756 </para> 6757 6758 <para> 6759 Failure to do this led to crashes when 6760 specifying <option>--inserts</option>, or underspecified (though 6761 usually correct) <command>COPY</command> commands when 6762 using <command>COPY</command> to reload the tables' data. 6763 </para> 6764 </listitem> 6765 6766 <listitem> 6767<!-- 6768Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 6769Branch: master [2ba5b2db7] 2020-08-14 17:33:31 -0400 6770Branch: REL_13_STABLE Release: REL_13_0 [b7cc21c57] 2020-08-14 17:33:31 -0400 6771Branch: REL_12_STABLE [3dadcb2b3] 2020-08-14 17:33:31 -0400 6772--> 6773 <para> 6774 Ensure that parallel <application>pg_restore</application> processes 6775 foreign keys referencing partitioned tables in the correct order 6776 (Álvaro Herrera) 6777 </para> 6778 6779 <para> 6780 Previously, it might try to restore a foreign key constraint before 6781 the required indexes were all in place, leading to an error. 6782 </para> 6783 </listitem> 6784 6785 <listitem> 6786<!-- 6787Author: Bruce Momjian <bruce@momjian.us> 6788Branch: master [3c0471b5f] 2020-10-15 19:33:46 -0400 6789Branch: REL_13_STABLE [59cfff65b] 2020-10-15 19:33:45 -0400 6790Branch: REL_12_STABLE [a106236d8] 2020-10-15 19:33:43 -0400 6791Branch: REL_11_STABLE [eb421c83b] 2020-10-15 19:33:42 -0400 6792Branch: REL_10_STABLE [85fedf39f] 2020-10-15 19:33:36 -0400 6793Branch: REL9_6_STABLE [39c23c199] 2020-10-15 19:33:36 -0400 6794Branch: REL9_5_STABLE [d9ae2297b] 2020-10-15 19:33:36 -0400 6795Branch: master [536de14e2] 2020-10-15 20:37:20 -0400 6796Branch: REL_13_STABLE [79fe23465] 2020-10-15 20:37:20 -0400 6797Branch: REL_12_STABLE [0ab7ca98a] 2020-10-15 20:37:20 -0400 6798Branch: REL_11_STABLE [16be4e435] 2020-10-15 20:37:19 -0400 6799Branch: REL_10_STABLE [6e34cc8ab] 2020-10-15 20:37:19 -0400 6800Branch: REL9_6_STABLE [9dcffe69a] 2020-10-15 20:37:19 -0400 6801Branch: REL9_5_STABLE [b05672c72] 2020-10-15 20:37:19 -0400 6802--> 6803 <para> 6804 Make <application>pg_upgrade</application> check for pre-existence 6805 of tablespace directories in the target cluster (Bruce Momjian) 6806 </para> 6807 </listitem> 6808 6809 <listitem> 6810<!-- 6811Author: Michael Paquier <michael@paquier.xyz> 6812Branch: master [ca2a12c93] 2020-10-19 09:36:56 +0900 6813Branch: REL_13_STABLE [1bd9b2b23] 2020-10-19 09:37:50 +0900 6814Branch: REL_12_STABLE [57bdf29dd] 2020-10-19 09:37:55 +0900 6815Branch: REL_11_STABLE [914139081] 2020-10-19 09:38:01 +0900 6816Branch: REL_10_STABLE [e8d36f9ec] 2020-10-19 09:38:06 +0900 6817Branch: REL9_6_STABLE [994a02f7f] 2020-10-19 09:38:13 +0900 6818Branch: REL9_5_STABLE [099238322] 2020-10-19 09:38:18 +0900 6819--> 6820 <para> 6821 Fix potential memory leak in <filename>contrib/pgcrypto</filename> 6822 (Michael Paquier) 6823 </para> 6824 </listitem> 6825 6826 <listitem> 6827<!-- 6828Author: Tom Lane <tgl@sss.pgh.pa.us> 6829Branch: master [02a75f836] 2020-10-16 11:59:13 -0400 6830Branch: REL_13_STABLE [3d338a46a] 2020-10-16 11:59:25 -0400 6831Branch: REL_12_STABLE [7004ce758] 2020-10-16 11:59:31 -0400 6832Branch: REL_11_STABLE [1eb2d7e3e] 2020-10-16 11:59:36 -0400 6833Branch: REL_10_STABLE [3e1a4c260] 2020-10-16 11:59:41 -0400 6834Branch: REL9_6_STABLE [e15115b4d] 2020-10-16 11:59:47 -0400 6835Branch: REL9_5_STABLE [9c3032881] 2020-10-16 11:59:52 -0400 6836--> 6837 <para> 6838 Add check for an unlikely failure case 6839 in <filename>contrib/pgcrypto</filename> (Daniel Gustafsson) 6840 </para> 6841 </listitem> 6842 6843 <listitem> 6844<!-- 6845Author: Tom Lane <tgl@sss.pgh.pa.us> 6846Branch: master [4a071afbd] 2020-10-29 15:28:14 -0400 6847Branch: REL_13_STABLE [ee03baad2] 2020-10-29 15:28:28 -0400 6848Branch: REL_12_STABLE [25b587f03] 2020-10-29 15:28:35 -0400 6849Branch: REL_11_STABLE [24d769b90] 2020-10-29 15:28:41 -0400 6850Branch: REL_10_STABLE [c39f4e81d] 2020-10-29 15:28:47 -0400 6851--> 6852 <para> 6853 Fix recently-added <type>timetz</type> test case so it works when 6854 the USA is not observing daylight savings time (Tom Lane) 6855 </para> 6856 </listitem> 6857 6858 <listitem> 6859<!-- 6860Author: Tom Lane <tgl@sss.pgh.pa.us> 6861Branch: master [c4a803ac7] 2020-10-16 21:53:33 -0400 6862Branch: REL_13_STABLE [3f26dca76] 2020-10-16 21:53:43 -0400 6863Branch: REL_12_STABLE [b39c94097] 2020-10-16 21:53:50 -0400 6864Branch: REL_11_STABLE [2b9166dbc] 2020-10-16 21:53:55 -0400 6865Branch: REL_10_STABLE [aae4097b0] 2020-10-16 21:54:03 -0400 6866Branch: REL9_6_STABLE [13dbf4ab8] 2020-10-16 21:54:09 -0400 6867Branch: REL9_5_STABLE [c8cb243cb] 2020-10-16 21:54:14 -0400 6868Branch: master [7d6d6bce4] 2020-10-22 21:23:47 -0400 6869Branch: REL_13_STABLE [96ed2ae93] 2020-10-22 21:24:01 -0400 6870Branch: REL_12_STABLE [78ccf7f42] 2020-10-22 21:24:07 -0400 6871Branch: REL_11_STABLE [02f86d523] 2020-10-22 21:24:12 -0400 6872Branch: REL_10_STABLE [a357cc05d] 2020-10-22 21:24:17 -0400 6873Branch: REL9_6_STABLE [05a36321a] 2020-10-22 21:24:23 -0400 6874Branch: REL9_5_STABLE [0abebb58f] 2020-10-22 21:24:28 -0400 6875--> 6876 <para> 6877 Update time zone data files to <application>tzdata</application> 6878 release 2020d for DST law changes in Fiji, Morocco, Palestine, the 6879 Canadian Yukon, Macquarie Island, and Casey Station (Antarctica); 6880 plus historical corrections for France, Hungary, Monaco, and 6881 Palestine. 6882 </para> 6883 </listitem> 6884 6885 <listitem> 6886<!-- 6887Author: Tom Lane <tgl@sss.pgh.pa.us> 6888Branch: master [ce0e97f80] 2020-10-16 21:40:16 -0400 6889Branch: REL_13_STABLE [e0cf5e9b2] 2020-10-16 21:40:16 -0400 6890Branch: REL_12_STABLE [3d13a8307] 2020-10-16 21:40:16 -0400 6891Branch: REL_11_STABLE [4a2528bfa] 2020-10-16 21:40:16 -0400 6892Branch: REL_10_STABLE [41eeeb348] 2020-10-16 21:40:16 -0400 6893Branch: REL9_6_STABLE [5515c73a6] 2020-10-16 21:40:16 -0400 6894Branch: REL9_5_STABLE [38fac9c1f] 2020-10-16 21:40:16 -0400 6895Branch: master [c5054da0d] 2020-10-22 21:15:22 -0400 6896Branch: REL_13_STABLE [0e551533b] 2020-10-22 21:15:37 -0400 6897Branch: REL_12_STABLE [f56c42e50] 2020-10-22 21:16:04 -0400 6898Branch: REL_11_STABLE [d2ffe0a00] 2020-10-22 21:16:16 -0400 6899Branch: REL_10_STABLE [34285083b] 2020-10-22 21:16:23 -0400 6900Branch: REL9_6_STABLE [58f9f52a3] 2020-10-22 21:16:31 -0400 6901Branch: REL9_5_STABLE [ff26f804a] 2020-10-22 21:16:38 -0400 6902--> 6903 <para> 6904 Sync our copy of the timezone library with IANA tzcode release 2020d 6905 (Tom Lane) 6906 </para> 6907 6908 <para> 6909 This absorbs upstream's change of <application>zic</application>'s 6910 default output option from <quote>fat</quote> 6911 to <quote>slim</quote>. That's just cosmetic for our purposes, as 6912 we continue to select the <quote>fat</quote> mode in pre-v13 6913 branches. This change also ensures 6914 that <function>strftime()</function> does not 6915 change <varname>errno</varname> unless it fails. 6916 </para> 6917 </listitem> 6918 6919 </itemizedlist> 6920 6921 </sect2> 6922 </sect1> 6923 6924 <sect1 id="release-12-4"> 6925 <title>Release 12.4</title> 6926 6927 <formalpara> 6928 <title>Release date:</title> 6929 <para>2020-08-13</para> 6930 </formalpara> 6931 6932 <para> 6933 This release contains a variety of fixes from 12.3. 6934 For information about new features in major release 12, see 6935 <xref linkend="release-12"/>. 6936 </para> 6937 6938 <sect2> 6939 <title>Migration to Version 12.4</title> 6940 6941 <para> 6942 A dump/restore is not required for those running 12.X. 6943 </para> 6944 6945 <para> 6946 However, if you are upgrading from a version earlier than 12.2, 6947 see <xref linkend="release-12-2"/>. 6948 </para> 6949 </sect2> 6950 6951 <sect2> 6952 <title>Changes</title> 6953 6954 <itemizedlist> 6955 6956 <listitem> 6957<!-- 6958Author: Noah Misch <noah@leadboat.com> 6959Branch: master [11da97024] 2020-08-10 09:22:54 -0700 6960Branch: REL_13_STABLE [412c5c401] 2020-08-10 09:22:58 -0700 6961Branch: REL_12_STABLE [64a71062e] 2020-08-10 09:22:58 -0700 6962Branch: REL_11_STABLE [5a936d64c] 2020-08-10 09:22:59 -0700 6963Branch: REL_10_STABLE [dd5d99516] 2020-08-10 09:22:59 -0700 6964Branch: master [cec57b1a0] 2020-08-10 09:22:54 -0700 6965Branch: REL_13_STABLE [b601f24c8] 2020-08-10 09:22:58 -0700 6966Branch: REL_12_STABLE [515ee4a7e] 2020-08-10 09:22:58 -0700 6967Branch: REL_11_STABLE [613ed8a58] 2020-08-10 09:22:59 -0700 6968Branch: REL_10_STABLE [b793d6af9] 2020-08-10 09:22:59 -0700 6969--> 6970 <para> 6971 Set a secure <varname>search_path</varname> in logical replication 6972 walsenders and apply workers (Noah Misch) 6973 </para> 6974 6975 <para> 6976 A malicious user of either the publisher or subscriber database 6977 could potentially cause execution of arbitrary SQL code by the role 6978 running replication, which is often a superuser. Some of the risks 6979 here are equivalent to those described in CVE-2018-1058, and are 6980 mitigated in this patch by ensuring that the replication sender and 6981 receiver execute with empty <varname>search_path</varname> settings. 6982 (As with CVE-2018-1058, that change might cause problems for 6983 under-qualified names used in replicated tables' DDL.) Other risks 6984 are inherent in replicating objects that belong to untrusted roles; 6985 the most we can do is document that there is a hazard to consider. 6986 (CVE-2020-14349) 6987 </para> 6988 </listitem> 6989 6990 <listitem> 6991<!-- 6992Author: Tom Lane <tgl@sss.pgh.pa.us> 6993Branch: master [7eeb1d986] 2020-08-10 10:44:42 -0400 6994Branch: REL_13_STABLE [98ca64899] 2020-08-10 10:44:42 -0400 6995Branch: REL_12_STABLE [3ba967084] 2020-08-10 10:44:42 -0400 6996Branch: REL_11_STABLE [afa358786] 2020-08-10 10:44:43 -0400 6997Branch: REL_10_STABLE [96cbfe92d] 2020-08-10 10:44:43 -0400 6998Branch: REL9_6_STABLE [2ea8a60fc] 2020-08-10 10:44:43 -0400 6999Branch: REL9_5_STABLE [6b11a4687] 2020-08-10 10:44:43 -0400 7000--> 7001 <para> 7002 Make contrib modules' installation scripts more secure (Tom Lane) 7003 </para> 7004 7005 <para> 7006 Attacks similar to those described in CVE-2018-1058 could be carried 7007 out against an extension installation script, if the attacker can 7008 create objects in either the extension's target schema or the schema 7009 of some prerequisite extension. Since extensions often require 7010 superuser privilege to install, this can open a path to obtaining 7011 superuser privilege. To mitigate this risk, be more careful about 7012 the <varname>search_path</varname> used to run an installation 7013 script; disable <varname>check_function_bodies</varname> within the 7014 script; and fix catalog-adjustment queries used in some contrib 7015 modules to ensure they are secure. Also provide documentation to 7016 help third-party extension authors make their installation scripts 7017 secure. This is not a complete solution; extensions that depend on 7018 other extensions can still be at risk if installed carelessly. 7019 (CVE-2020-14350) 7020 </para> 7021 </listitem> 7022 7023 <listitem> 7024<!-- 7025Author: Etsuro Fujita <efujita@postgresql.org> 7026Branch: master [13838740f] 2020-07-28 11:00:00 +0900 7027Branch: REL_13_STABLE [cebe10a5f] 2020-07-28 11:00:00 +0900 7028Branch: REL_12_STABLE [62c4a7729] 2020-07-28 11:00:02 +0900 7029Branch: REL_11_STABLE [bead29dec] 2020-07-28 11:00:03 +0900 7030Branch: master [199cec977] 2020-08-07 14:45:00 +0900 7031Branch: REL_13_STABLE [79a3ab1e9] 2020-08-07 14:45:01 +0900 7032Branch: REL_12_STABLE [4f2693229] 2020-08-07 14:45:02 +0900 7033Branch: REL_11_STABLE [1db9c80f8] 2020-08-07 14:45:04 +0900 7034--> 7035 <para> 7036 Fix edge cases in partition pruning (Etsuro Fujita, Dmitry Dolgov) 7037 </para> 7038 7039 <para> 7040 When there are multiple partition key columns, generation of pruning 7041 tests could misbehave if some columns had no 7042 constraining <literal>WHERE</literal> clauses or multiple 7043 constraining clauses. This could lead to server crashes, incorrect 7044 query results, or assertion failures. 7045 </para> 7046 </listitem> 7047 7048 <listitem> 7049<!-- 7050Author: Tom Lane <tgl@sss.pgh.pa.us> 7051Branch: master [689696c71] 2020-07-14 18:56:56 -0400 7052Branch: REL_13_STABLE [e38705b5c] 2020-07-14 18:56:49 -0400 7053Branch: REL_12_STABLE [de797e823] 2020-07-14 18:56:49 -0400 7054Branch: REL_11_STABLE [e9f031172] 2020-07-14 18:56:49 -0400 7055--> 7056 <para> 7057 Fix construction of parameterized BitmapAnd and BitmapOr index scans 7058 on the inside of partition-wise nestloop joins (Tom Lane) 7059 </para> 7060 7061 <para> 7062 A plan in which such a scan needed to use a value from the outside 7063 of the join would usually crash at execution. 7064 </para> 7065 </listitem> 7066 7067 <listitem> 7068<!-- 7069Author: Tom Lane <tgl@sss.pgh.pa.us> 7070Branch: master [7a980dfc6] 2020-08-05 15:38:55 -0400 7071Branch: REL_13_STABLE [c43a36fa8] 2020-08-05 15:38:55 -0400 7072Branch: REL_12_STABLE [f992da210] 2020-08-05 15:38:55 -0400 7073--> 7074 <para> 7075 Fix incorrect plan execution when a partitioned table is subject to 7076 both static and run-time partition pruning in the same query, and a 7077 new partition is added concurrently with the query (Amit Langote, 7078 Tom Lane) 7079 </para> 7080 </listitem> 7081 7082 <listitem> 7083<!-- 7084Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 7085Branch: master [470687b4a] 2020-08-08 12:31:55 -0400 7086Branch: REL_13_STABLE [900429d0c] 2020-08-08 12:31:55 -0400 7087Branch: REL_12_STABLE [85cb4ec50] 2020-08-08 12:31:55 -0400 7088Branch: REL_11_STABLE [1fa6eec97] 2020-08-08 12:31:55 -0400 7089Branch: REL_10_STABLE [d81387da9] 2020-08-08 12:31:55 -0400 7090Branch: REL9_6_STABLE [55d42c917] 2020-08-08 12:31:55 -0400 7091Branch: REL9_5_STABLE [ca8e87ea0] 2020-08-08 12:31:55 -0400 7092--> 7093 <para> 7094 In logical replication walsender, fix failure to send feedback 7095 messages after sending a keepalive message (Álvaro Herrera) 7096 </para> 7097 7098 <para> 7099 This is a relatively minor problem when using built-in logical 7100 replication, because the built-in walreceiver will send a feedback 7101 reply (which clears the incorrect state) fairly frequently anyway. 7102 But with some other replication systems, such 7103 as <application>pglogical</application>, it causes significant 7104 performance issues. 7105 </para> 7106 </listitem> 7107 7108 <listitem> 7109<!-- 7110Author: Tom Lane <tgl@sss.pgh.pa.us> 7111Branch: master [d5daae47d] 2020-07-20 13:40:16 -0400 7112Branch: REL_13_STABLE [2f1f189cf] 2020-07-20 13:40:16 -0400 7113Branch: REL_12_STABLE [71e561bd4] 2020-07-20 13:40:16 -0400 7114Branch: REL_11_STABLE [e8de627a3] 2020-07-20 13:40:16 -0400 7115Branch: REL_10_STABLE [39d6aec19] 2020-07-20 13:40:16 -0400 7116--> 7117 <para> 7118 Fix firing of column-specific <literal>UPDATE</literal> triggers in 7119 logical replication subscribers (Tom Lane) 7120 </para> 7121 7122 <para> 7123 The code neglected to account for the possibility of column numbers 7124 being different between the publisher and subscriber tables, so that 7125 if those were indeed different, wrong decisions might be made about 7126 which triggers to fire. 7127 </para> 7128 </listitem> 7129 7130 <listitem> 7131<!-- 7132Author: Michael Paquier <michael@paquier.xyz> 7133Branch: master [b48df818d] 2020-06-18 16:34:59 +0900 7134Branch: REL_13_STABLE [43e70addf] 2020-06-18 16:35:29 +0900 7135Branch: REL_12_STABLE [16f43122d] 2020-06-18 16:35:32 +0900 7136Branch: REL_11_STABLE [1657e14b5] 2020-06-18 16:35:36 +0900 7137--> 7138 <para> 7139 Update oldest xmin and LSN values 7140 during <function>pg_replication_slot_advance()</function> (Michael 7141 Paquier) 7142 </para> 7143 7144 <para> 7145 This function previously failed to do that, possibly preventing 7146 resource cleanup (such as removal of no-longer-needed WAL segments) 7147 after manual advancement of a replication slot. 7148 </para> 7149 </listitem> 7150 7151 <listitem> 7152<!-- 7153Author: Tom Lane <tgl@sss.pgh.pa.us> 7154Branch: master [78e73e875] 2020-07-31 11:43:12 -0400 7155Branch: REL_13_STABLE [11dce63d6] 2020-07-31 11:43:12 -0400 7156Branch: REL_12_STABLE [70248d8f5] 2020-07-31 11:43:12 -0400 7157Branch: REL_11_STABLE [da596fb4b] 2020-07-31 11:43:12 -0400 7158Branch: REL_10_STABLE [5e724125a] 2020-07-31 11:43:12 -0400 7159Branch: REL9_6_STABLE [8ab00b9fe] 2020-07-31 11:43:13 -0400 7160--> 7161 <para> 7162 Fix slow execution of <function>ts_headline()</function> (Tom Lane) 7163 </para> 7164 7165 <para> 7166 The phrase-search fix added in our previous set of minor releases 7167 could cause <function>ts_headline()</function> to take unreasonable 7168 amounts of time for long documents; to make matters worse, the query 7169 was not cancellable within the troublesome loop. 7170 </para> 7171 </listitem> 7172 7173 <listitem> 7174<!-- 7175Author: Joe Conway <mail@joeconway.com> 7176Branch: master Release: REL_13_BR [887cdff4d] 2020-05-28 13:19:00 -0400 7177Branch: REL_12_STABLE [3ccae5445] 2020-05-28 13:19:10 -0400 7178Branch: REL_11_STABLE [36758c472] 2020-05-28 13:19:16 -0400 7179Branch: REL_10_STABLE [2cbe3a954] 2020-05-28 13:17:11 -0400 7180Branch: REL9_6_STABLE [28e2c6eac] 2020-05-28 13:17:20 -0400 7181Branch: REL9_5_STABLE [bfb9595a7] 2020-05-28 13:17:28 -0400 7182--> 7183 <para> 7184 Ensure the <function>repeat()</function> function can be interrupted 7185 by query cancel (Joe Conway) 7186 </para> 7187 </listitem> 7188 7189 <listitem> 7190<!-- 7191Author: Tom Lane <tgl@sss.pgh.pa.us> 7192Branch: master [183926da3] 2020-07-09 16:02:23 -0400 7193Branch: REL_13_STABLE [601d419b2] 2020-07-09 16:02:23 -0400 7194Branch: REL_12_STABLE [2564e2d08] 2020-07-09 16:02:23 -0400 7195Branch: REL_11_STABLE [90b418f81] 2020-07-09 16:02:23 -0400 7196Branch: REL_10_STABLE [765ad260a] 2020-07-09 16:02:23 -0400 7197--> 7198 <para> 7199 Fix <function>pg_current_logfile()</function> to not include a 7200 carriage return (<literal>\r</literal>) in its result on Windows 7201 (Tom Lane) 7202 </para> 7203 </listitem> 7204 7205 <listitem> 7206<!-- 7207Author: Joe Conway <mail@joeconway.com> 7208Branch: master [96d1f423f] 2020-07-04 06:26:53 -0400 7209Branch: REL_13_STABLE [0025c3a2c] 2020-07-04 06:28:21 -0400 7210Branch: REL_12_STABLE [015e899a7] 2020-07-04 06:28:44 -0400 7211Branch: REL_11_STABLE [c2cdaf0cb] 2020-07-04 06:29:03 -0400 7212Branch: master [1d05627fc] 2020-07-04 13:46:31 -0400 7213Branch: REL_13_STABLE [c536da177] 2020-07-04 13:47:07 -0400 7214Branch: REL_12_STABLE [b615b2365] 2020-07-04 13:47:21 -0400 7215Branch: REL_11_STABLE [1243aa9b2] 2020-07-04 13:47:31 -0400 7216--> 7217 <para> 7218 Ensure that <function>pg_read_file()</function> and related 7219 functions read until EOF is reached (Joe Conway) 7220 </para> 7221 7222 <para> 7223 Previously, if not given a specific data length to read, these 7224 functions would stop at whatever file length was reported 7225 by <function>stat()</function>. That's unhelpful for pipes and 7226 other sorts of virtual files. 7227 </para> 7228 </listitem> 7229 7230 <listitem> 7231<!-- 7232Author: Alexander Korotkov <akorotkov@postgresql.org> 7233Branch: master [df646509f] 2020-07-11 03:21:00 +0300 7234Branch: REL_13_STABLE [89a0b1a7c] 2020-07-11 03:21:48 +0300 7235Branch: REL_12_STABLE [f4ae676e3] 2020-07-11 03:21:57 +0300 7236--> 7237 <para> 7238 Forbid numeric <literal>NaN</literal> values in <type>jsonpath</type> 7239 computations (Alexander Korotkov) 7240 </para> 7241 7242 <para> 7243 Neither SQL nor JSON have the concept of <literal>NaN</literal> 7244 (not-a-number), but the <type>jsonpath</type> code attempted to 7245 allow such values anyway. This necessarily leads to nonstandard 7246 behavior, so it seems better to reject such values at the outset. 7247 </para> 7248 </listitem> 7249 7250 <listitem> 7251<!-- 7252Author: Tom Lane <tgl@sss.pgh.pa.us> 7253Branch: master [03109a530] 2020-06-13 13:43:40 -0400 7254Branch: REL_13_STABLE [33dd9bb3b] 2020-06-13 13:43:40 -0400 7255Branch: REL_12_STABLE [874372a94] 2020-06-13 13:43:24 -0400 7256--> 7257 <para> 7258 Handle single <literal>Inf</literal> or <literal>NaN</literal> 7259 inputs correctly in floating-point aggregates (Tom Lane) 7260 </para> 7261 7262 <para> 7263 The affected aggregates are 7264 <function>corr()</function>, 7265 <function>covar_pop()</function>, 7266 <function>regr_intercept()</function>, 7267 <function>regr_r2()</function>, 7268 <function>regr_slope()</function>, 7269 <function>regr_sxx()</function>, 7270 <function>regr_sxy()</function>, 7271 <function>regr_syy()</function>, 7272 <function>stddev_pop()</function>, and 7273 <function>var_pop()</function>. 7274 The correct answer in such cases is <literal>NaN</literal>, but an 7275 algorithmic change introduced in <productname>PostgreSQL</productname> 7276 v12 had caused these aggregates to produce zero instead. 7277 </para> 7278 </listitem> 7279 7280 <listitem> 7281<!-- 7282Author: Tom Lane <tgl@sss.pgh.pa.us> 7283Branch: master [77a3be32f] 2020-06-11 17:38:42 -0400 7284Branch: REL_13_STABLE [ee788ba99] 2020-06-11 17:38:42 -0400 7285Branch: REL_12_STABLE [4284e1184] 2020-06-11 17:38:42 -0400 7286Branch: REL_11_STABLE [49e0a42dd] 2020-06-11 17:38:42 -0400 7287Branch: REL_10_STABLE [411a4626e] 2020-06-11 17:38:42 -0400 7288Branch: REL9_6_STABLE [36df06e25] 2020-06-11 17:38:42 -0400 7289--> 7290 <para> 7291 Fix mis-handling of <literal>NaN</literal> inputs during parallel 7292 aggregation on <type>numeric</type>-type columns (Tom Lane) 7293 </para> 7294 7295 <para> 7296 If some partial aggregation workers found only <literal>NaN</literal>s 7297 while others found only non-<literal>NaN</literal>s, the results 7298 were combined incorrectly, possibly leading to the wrong overall 7299 result (i.e., not <literal>NaN</literal> when it should be). 7300 </para> 7301 </listitem> 7302 7303 <listitem> 7304<!-- 7305Author: Tom Lane <tgl@sss.pgh.pa.us> 7306Branch: master Release: REL_13_BR [a9632830b] 2020-06-04 16:42:23 -0400 7307Branch: REL_12_STABLE [a958b07bc] 2020-06-04 16:42:08 -0400 7308Branch: REL_11_STABLE [6490376e5] 2020-06-04 16:42:08 -0400 7309Branch: REL_10_STABLE [b2c64f571] 2020-06-04 16:42:08 -0400 7310Branch: REL_10_STABLE [9a9ba4c4d] 2020-06-04 17:57:19 -0400 7311--> 7312 <para> 7313 Reject time-of-day values greater than 24 hours (Tom Lane) 7314 </para> 7315 7316 <para> 7317 The intention of the datetime input code is to 7318 allow <quote>24:00:00</quote> or 7319 equivalently <quote>23:59:60</quote>, but no larger value. 7320 However, the range check was miscoded so that it would 7321 accept <quote>23:59:60.<replaceable>nnn</replaceable></quote> with 7322 nonzero fractional-second <replaceable>nnn</replaceable>. In 7323 timestamp values this would result in wrapping into the first second 7324 of the next day. In <type>time</type> and <type>timetz</type> 7325 values, the stored value would actually be more than 24 hours, 7326 causing dump/reload failures and possibly other misbehavior. 7327 </para> 7328 </listitem> 7329 7330 <listitem> 7331<!-- 7332Author: Tom Lane <tgl@sss.pgh.pa.us> 7333Branch: master [63d2ac23b] 2020-06-22 11:46:41 -0400 7334Branch: REL_13_STABLE [57f8b9913] 2020-06-22 11:46:41 -0400 7335Branch: REL_12_STABLE [d3d875518] 2020-06-22 11:46:41 -0400 7336Branch: REL_11_STABLE [35a8e227e] 2020-06-22 11:46:41 -0400 7337Branch: REL_10_STABLE [6d9f7a094] 2020-06-22 11:46:41 -0400 7338Branch: REL9_6_STABLE [bd53ea2b2] 2020-06-22 11:46:41 -0400 7339Branch: REL9_5_STABLE [dda25c599] 2020-06-22 11:46:41 -0400 7340--> 7341 <para> 7342 Undo double-quoting of index names in <command>EXPLAIN</command>'s 7343 non-text output formats (Tom Lane, Euler Taveira) 7344 </para> 7345 </listitem> 7346 7347 <listitem> 7348<!-- 7349Author: Amit Kapila <akapila@postgresql.org> 7350Branch: master [2a2494229] 2020-07-25 10:20:39 +0530 7351Branch: REL_13_STABLE [b15367ae3] 2020-07-25 10:31:19 +0530 7352Branch: REL_12_STABLE [bdaa84e38] 2020-07-25 10:38:46 +0530 7353Branch: REL_11_STABLE [603c18b7e] 2020-07-25 10:48:09 +0530 7354Branch: REL_10_STABLE [f963b5bc0] 2020-07-25 10:57:20 +0530 7355--> 7356 <para> 7357 Fix <command>EXPLAIN</command>'s accounting for resource usage, 7358 particularly buffer accesses, in parallel workers in a plan 7359 using <literal>Gather Merge</literal> nodes 7360 (Jehan-Guillaume de Rorthais) 7361 </para> 7362 </listitem> 7363 7364 <listitem> 7365<!-- 7366Author: David Rowley <drowley@postgresql.org> 7367Branch: master [f1fcf2d3b] 2020-07-14 16:55:35 +1200 7368Branch: REL_13_STABLE [b82730429] 2020-07-14 16:57:41 +1200 7369Branch: REL_12_STABLE [1231a0b0e] 2020-07-14 17:03:12 +1200 7370Branch: REL_11_STABLE [d2761b680] 2020-07-14 16:59:57 +1200 7371Branch: REL_10_STABLE [4e02f88a4] 2020-07-14 17:00:28 +1200 7372Branch: REL9_6_STABLE [c732df133] 2020-07-14 17:00:57 +1200 7373Branch: REL9_5_STABLE [e20003fa0] 2020-07-14 17:01:25 +1200 7374--> 7375 <para> 7376 Fix timing of constraint revalidation in <command>ALTER 7377 TABLE</command> (David Rowley) 7378 </para> 7379 7380 <para> 7381 If <command>ALTER TABLE</command> needs to fully rewrite the table's 7382 contents (for example, due to change of a column's data type) and 7383 also needs to scan the table to re-validate foreign keys 7384 or <literal>CHECK</literal> constraints, it sometimes did things in 7385 the wrong order, leading to odd errors such as <quote>could not read 7386 block 0 in file "base/nnnnn/nnnnn": read only 0 of 8192 bytes</quote>. 7387 </para> 7388 </listitem> 7389 7390 <listitem> 7391<!-- 7392Author: Michael Paquier <michael@paquier.xyz> 7393Branch: master Release: REL_13_BR [1127f0e39] 2020-06-05 10:26:02 +0900 7394Branch: REL_12_STABLE [75f147924] 2020-06-05 10:29:27 +0900 7395--> 7396 <para> 7397 Fix <command>REINDEX CONCURRENTLY</command> to preserve the index's 7398 replication identity flag (Michael Paquier) 7399 </para> 7400 7401 <para> 7402 Previously, reindexing a table's replica identity index caused the 7403 setting to be lost, preventing old tuple values from being included 7404 in future logical-decoding output. 7405 </para> 7406 </listitem> 7407 7408 <listitem> 7409<!-- 7410Author: Tom Lane <tgl@sss.pgh.pa.us> 7411Branch: REL_12_STABLE [798b4faef] 2020-07-20 15:54:24 -0400 7412Branch: REL_11_STABLE [855195a7b] 2020-07-20 15:54:24 -0400 7413Branch: REL_12_STABLE [b7103bbe3] 2020-07-21 11:40:46 -0400 7414Branch: REL_11_STABLE [99b0c5da3] 2020-07-21 11:40:47 -0400 7415Branch: REL_10_STABLE [ae3d40b0c] 2020-07-21 11:40:47 -0400 7416--> 7417 <para> 7418 Work around incorrect not-null markings for 7419 <structname>pg_subscription</structname>.<structfield>subslotname</structfield> 7420 and <structname>pg_subscription_rel</structname>.<structfield>srsublsn</structfield> 7421 (Tom Lane) 7422 </para> 7423 7424 <para> 7425 The bootstrap catalog data incorrectly marks these two catalog 7426 columns as always non-null. There's no easy way to correct that 7427 mistake in existing installations (though v13 and later will have 7428 the correct markings). The main place that depends on that marking 7429 being correct is JIT-enabled tuple deconstruction, so teach it to 7430 explicitly ignore the marking for these two columns. Also adjust 7431 some C code that accessed <structfield>srsublsn</structfield> without 7432 checking to see if it's null; a crash from that is improbable but 7433 perhaps not impossible. 7434 </para> 7435 </listitem> 7436 7437 <listitem> 7438<!-- 7439Author: Tom Lane <tgl@sss.pgh.pa.us> 7440Branch: master [a742ecf9c] 2020-07-13 20:38:20 -0400 7441Branch: REL_13_STABLE [0734dbc45] 2020-07-13 20:38:20 -0400 7442Branch: REL_12_STABLE [d3b642ad9] 2020-07-13 20:38:21 -0400 7443Branch: REL_11_STABLE [3753df8f8] 2020-07-13 20:38:21 -0400 7444Branch: REL_10_STABLE [6443cd2e2] 2020-07-13 20:38:21 -0400 7445Branch: REL9_6_STABLE [dc6bb0994] 2020-07-13 20:38:21 -0400 7446Branch: REL9_5_STABLE [80d8f6d1d] 2020-07-13 20:38:21 -0400 7447--> 7448 <para> 7449 Cope with <literal>LATERAL</literal> references in restriction 7450 clauses attached to an un-flattened sub-<literal>SELECT</literal> in 7451 the <literal>FROM</literal> clause (Tom Lane) 7452 </para> 7453 7454 <para> 7455 This oversight could result in assertion failures or crashes at 7456 query execution. 7457 </para> 7458 </listitem> 7459 7460 <listitem> 7461<!-- 7462Author: Tom Lane <tgl@sss.pgh.pa.us> 7463Branch: master Release: REL_13_BR [044c99bc5] 2020-06-05 16:18:50 -0400 7464Branch: REL_12_STABLE [022cd0bfd] 2020-06-05 16:18:50 -0400 7465Branch: master [bd0d893aa] 2020-07-21 19:41:03 -0400 7466Branch: REL_13_STABLE [cc4dd2a7a] 2020-07-21 19:40:44 -0400 7467Branch: REL_12_STABLE [171633ff5] 2020-07-21 19:40:44 -0400 7468--> 7469 <para> 7470 Use the query-specified collation for operators invoked during 7471 selectivity estimation (Tom Lane) 7472 </para> 7473 7474 <para> 7475 Previously, the collation of the underlying database column was 7476 used. But using the query's collation is arguably more correct. 7477 More importantly, now that we have nondeterministic collations, 7478 there are cases where an operator will fail outright if given a 7479 nondeterministic collation. We don't want planning to fail in cases 7480 where the query itself would work, so this means that we must use 7481 the query's collation when invoking operators for estimation 7482 purposes. 7483 </para> 7484 </listitem> 7485 7486 <listitem> 7487<!-- 7488Author: Tom Lane <tgl@sss.pgh.pa.us> 7489Branch: master [ca5e93f76] 2020-07-03 19:01:21 -0400 7490Branch: REL_13_STABLE [9233624b1] 2020-07-03 19:01:21 -0400 7491Branch: REL_12_STABLE [153c14cdd] 2020-07-03 19:01:21 -0400 7492Branch: REL_11_STABLE [ef799bdd0] 2020-07-03 19:01:21 -0400 7493Branch: REL_10_STABLE [5144a40f3] 2020-07-03 19:01:22 -0400 7494Branch: REL9_6_STABLE [69a3fe6e6] 2020-07-03 19:01:22 -0400 7495Branch: REL9_5_STABLE [d83d59e42] 2020-07-03 19:01:22 -0400 7496--> 7497 <para> 7498 Avoid believing that a never-analyzed foreign table has zero tuples 7499 (Tom Lane) 7500 </para> 7501 7502 <para> 7503 This primarily affected the planner's estimate of the number of 7504 groups that would be obtained by <literal>GROUP BY</literal>. 7505 </para> 7506 </listitem> 7507 7508 <listitem> 7509<!-- 7510Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 7511Branch: master [986529ce4] 2020-07-09 20:13:25 -0400 7512Branch: REL_13_STABLE [c3a79e719] 2020-07-09 20:13:25 -0400 7513Branch: REL_12_STABLE [ca5001a36] 2020-07-09 20:13:25 -0400 7514Branch: REL_11_STABLE [907283576] 2020-07-09 20:13:25 -0400 7515Branch: REL_10_STABLE [40316dfed] 2020-07-09 20:13:24 -0400 7516--> 7517 <para> 7518 Remove bogus warning about <quote>leftover placeholder tuple</quote> 7519 in BRIN index de-summarization (Álvaro Herrera) 7520 </para> 7521 7522 <para> 7523 The case can occur legitimately after a cancelled vacuum, so warning 7524 about it is overly noisy. 7525 </para> 7526 </listitem> 7527 7528 <listitem> 7529<!-- 7530Author: Tom Lane <tgl@sss.pgh.pa.us> 7531Branch: master [f7b5988cc] 2020-07-03 17:01:34 -0400 7532Branch: REL_13_STABLE [cfe89f5e6] 2020-07-03 17:01:34 -0400 7533Branch: REL_12_STABLE [8b83e0160] 2020-07-03 17:01:34 -0400 7534Branch: REL_11_STABLE [79ed1d99d] 2020-07-03 17:01:34 -0400 7535Author: Magnus Hagander <magnus@hagander.net> 7536Branch: master [ecd9e9f0b] 2020-07-03 15:09:06 +0200 7537Branch: REL_13_STABLE [1d94c3965] 2020-07-03 15:10:12 +0200 7538Branch: REL_12_STABLE [28a862e9d] 2020-07-03 15:10:33 +0200 7539Branch: REL_11_STABLE [4aa02d072] 2020-07-03 15:10:41 +0200 7540--> 7541 <para> 7542 Fix selection of tablespaces for <quote>shared fileset</quote> 7543 temporary files (Magnus Hagander, Tom Lane) 7544 </para> 7545 7546 <para> 7547 If <varname>temp_tablespaces</varname> is empty or explicitly names 7548 the database's primary tablespace, such files got placed into 7549 the <literal>pg_default</literal> tablespace rather than the 7550 database's primary tablespace as expected. 7551 </para> 7552 </listitem> 7553 7554 <listitem> 7555<!-- 7556Author: Alexander Korotkov <akorotkov@postgresql.org> 7557Branch: master [a44dd932f] 2020-06-20 17:34:51 +0300 7558Branch: REL_13_STABLE [39aafc88c] 2020-06-20 18:14:51 +0300 7559Branch: REL_12_STABLE [396a44a01] 2020-06-20 17:35:55 +0300 7560Branch: REL_11_STABLE [3f88e2d78] 2020-06-20 17:35:59 +0300 7561--> 7562 <para> 7563 Fix corner-case error in masking of SP-GiST index pages during WAL 7564 consistency checking (Alexander Korotkov) 7565 </para> 7566 7567 <para> 7568 This could cause false failure reports 7569 when <varname>wal_consistency_checking</varname> is enabled. 7570 </para> 7571 </listitem> 7572 7573 <listitem> 7574<!-- 7575Author: Thomas Munro <tmunro@postgresql.org> 7576Branch: master [7897e3bb9] 2020-06-16 16:59:07 +1200 7577Branch: REL_13_STABLE [3e0b08c40] 2020-06-16 17:00:06 +1200 7578Branch: REL_12_STABLE [28ee12669] 2020-06-16 17:00:21 +1200 7579Branch: REL_11_STABLE [9c14d6024] 2020-06-16 17:00:37 +1200 7580Branch: REL_10_STABLE [95647a1c7] 2020-06-16 17:00:53 +1200 7581Branch: REL9_6_STABLE [02b71f06b] 2020-06-16 17:01:07 +1200 7582Branch: REL9_5_STABLE [89020a92f] 2020-06-16 17:01:22 +1200 7583Branch: master [42dee8b8e] 2020-07-23 21:10:49 +1200 7584Branch: REL_13_STABLE [6b366190d] 2020-07-23 21:15:01 +1200 7585Branch: REL_12_STABLE [8bf4e69a7] 2020-07-23 21:17:47 +1200 7586Branch: REL_11_STABLE [028f0c3a8] 2020-07-23 21:18:02 +1200 7587Branch: REL_10_STABLE [fac4145bf] 2020-07-23 21:18:13 +1200 7588Branch: REL9_6_STABLE [47adb2488] 2020-07-23 21:18:25 +1200 7589Branch: REL9_5_STABLE [3725c8ce4] 2020-07-23 21:18:34 +1200 7590--> 7591 <para> 7592 Improve error handling in the server's <filename>buffile</filename> 7593 module (Thomas Munro) 7594 </para> 7595 7596 <para> 7597 Fix some cases where I/O errors were indistinguishable from reaching 7598 EOF, or were not reported at all. Also add details such as block 7599 numbers and byte counts where appropriate. 7600 </para> 7601 </listitem> 7602 7603 <listitem> 7604<!-- 7605Author: Peter Geoghegan <pg@bowt.ie> 7606Branch: master [5940ffb22] 2020-06-11 10:09:47 -0700 7607Branch: REL_13_STABLE [6df7105e5] 2020-06-11 10:09:45 -0700 7608Branch: REL_12_STABLE [e620a38c2] 2020-06-11 10:09:43 -0700 7609Branch: REL_11_STABLE [dd616f2ec] 2020-06-11 10:09:40 -0700 7610Branch: REL_10_STABLE [19a6e1bc3] 2020-06-11 10:09:37 -0700 7611Branch: REL9_6_STABLE [e81dc2b7e] 2020-06-11 10:09:35 -0700 7612Branch: REL9_5_STABLE [c05f6b354] 2020-06-11 10:09:32 -0700 7613--> 7614 <para> 7615 Fix conflict-checking anomalies in <literal>SERIALIZABLE</literal> 7616 isolation mode (Peter Geoghegan) 7617 </para> 7618 7619 <para> 7620 If a concurrently-inserted tuple was updated by a different 7621 concurrent transaction, and neither tuple version was visible to the 7622 current transaction's snapshot, serialization conflict checking 7623 could draw the wrong conclusions about whether the tuple was relevant 7624 to the results of the current transaction. This could allow a 7625 serializable transaction to commit when it should have failed with a 7626 serialization error. 7627 </para> 7628 </listitem> 7629 7630 <listitem> 7631<!-- 7632Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 7633Branch: master Release: REL_13_BR [242dfcbaf] 2020-05-15 16:50:34 -0400 7634Branch: REL_12_STABLE [1d84751c6] 2020-05-15 16:50:34 -0400 7635Branch: REL_11_STABLE [37b5c5fde] 2020-05-15 16:50:34 -0400 7636Branch: REL_10_STABLE [09f2752b0] 2020-05-15 16:50:34 -0400 7637Branch: REL9_6_STABLE [4649eb919] 2020-05-15 16:50:34 -0400 7638Branch: REL9_5_STABLE [0a319699d] 2020-05-15 16:50:34 -0400 7639--> 7640 <para> 7641 Avoid repeated marking of dead btree index entries as dead (Masahiko 7642 Sawada) 7643 </para> 7644 7645 <para> 7646 While functionally harmless, this led to useless WAL traffic when 7647 checksums are enabled or <varname>wal_log_hints</varname> is on. 7648 </para> 7649 </listitem> 7650 7651 <listitem> 7652<!-- 7653Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 7654Branch: master Release: REL_13_BR [e8abf585a] 2020-05-14 08:39:26 +0300 7655Branch: REL_12_STABLE [891a2007e] 2020-05-14 08:40:19 +0300 7656--> 7657 <para> 7658 Fix checkpointer process to discard file sync requests 7659 when <varname>fsync</varname> is off (Heikki Linnakangas) 7660 </para> 7661 7662 <para> 7663 Such requests are treated as no-ops if <varname>fsync</varname> is 7664 off, but we forgot to remove them from the checkpointer's table of 7665 pending actions. This would lead to bloat of that table, as well as 7666 possible assertion failures if <varname>fsync</varname> is later 7667 re-enabled. 7668 </para> 7669 </listitem> 7670 7671 <listitem> 7672<!-- 7673Author: Robert Haas <rhaas@postgresql.org> 7674Branch: master Release: REL_13_BR [303640199] 2019-12-19 09:06:54 -0500 7675Branch: REL_12_STABLE [bcbc27251] 2020-08-06 13:58:23 -0400 7676Branch: REL_11_STABLE [f7013683d] 2020-08-06 14:06:24 -0400 7677Branch: master Release: REL_13_BR [f05798014] 2020-04-26 13:48:33 +0200 7678Branch: REL_12_STABLE [7c78040f6] 2020-08-06 14:55:00 -0400 7679Branch: REL_11_STABLE [495a9b1fb] 2020-08-06 15:01:55 -0400 7680--> 7681 <para> 7682 Avoid trouble during cleanup of a non-exclusive backup when JIT 7683 compilation has been activated during the backup (Robert Haas) 7684 </para> 7685 </listitem> 7686 7687 <listitem> 7688<!-- 7689Author: Thomas Munro <tmunro@postgresql.org> 7690Branch: master [57cb80630] 2020-06-08 13:57:24 +1200 7691Branch: REL_13_STABLE [acefa2cca] 2020-06-08 13:58:10 +1200 7692Branch: REL_12_STABLE [72766ad63] 2020-06-08 13:58:35 +1200 7693Branch: REL_11_STABLE [48eb6a3c8] 2020-06-08 13:59:57 +1200 7694Branch: REL_10_STABLE [fd11b842e] 2020-06-08 14:01:07 +1200 7695Branch: REL9_6_STABLE [644cac32a] 2020-06-08 14:01:51 +1200 7696Branch: REL9_5_STABLE [09dc17486] 2020-06-08 14:02:20 +1200 7697--> 7698 <para> 7699 Fix failure of some code paths to acquire the correct lock before 7700 modifying <filename>pg_control</filename> (Nathan Bossart, Fujii 7701 Masao) 7702 </para> 7703 7704 <para> 7705 This oversight could allow <filename>pg_control</filename> to be 7706 written out with an inconsistent checksum, possibly causing trouble 7707 later, including inability to restart the database if it crashed 7708 before the next <filename>pg_control</filename> update. 7709 </para> 7710 </listitem> 7711 7712 <listitem> 7713<!-- 7714Author: Michael Paquier <michael@paquier.xyz> 7715Branch: master Release: REL_13_BR [ce1c5b9ae] 2020-06-01 14:41:18 +0900 7716Branch: REL_12_STABLE [894041eb2] 2020-06-01 14:41:25 +0900 7717Branch: REL_11_STABLE [8bc74490d] 2020-06-01 14:41:32 +0900 7718Branch: REL_10_STABLE [a36f21620] 2020-06-01 14:41:37 +0900 7719Branch: REL9_6_STABLE [e2fa9732f] 2020-06-01 14:41:42 +0900 7720Branch: REL9_5_STABLE [a8c6eb5b4] 2020-06-01 14:41:46 +0900 7721Author: Michael Paquier <michael@paquier.xyz> 7722Branch: master Release: REL_13_BR [e786be5fc] 2020-06-01 10:32:06 +0900 7723Branch: REL_12_STABLE [95e389b3c] 2020-06-01 10:32:53 +0900 7724--> 7725 <para> 7726 Fix errors in <function>currtid()</function> 7727 and <function>currtid2()</function> (Michael Paquier) 7728 </para> 7729 7730 <para> 7731 These functions (which are undocumented and used only by ancient 7732 versions of the ODBC driver) contained coding errors that could 7733 result in crashes, or in confusing error messages such as <quote>could 7734 not open file</quote> when applied to a relation having no storage. 7735 </para> 7736 </listitem> 7737 7738 <listitem> 7739<!-- 7740Author: Michael Paquier <michael@paquier.xyz> 7741Branch: master Release: REL_13_BR [c1669fd58] 2020-06-04 10:17:49 +0900 7742Branch: REL_12_STABLE [03aa25b6e] 2020-06-04 10:18:02 +0900 7743Branch: REL_11_STABLE [b41a85f53] 2020-06-04 10:18:06 +0900 7744Branch: REL_10_STABLE [5ed8b4a98] 2020-06-04 10:18:11 +0900 7745Branch: REL9_6_STABLE [e7a134b58] 2020-06-04 10:18:17 +0900 7746Branch: REL9_5_STABLE [4a9809e34] 2020-06-04 10:18:27 +0900 7747Author: Tom Lane <tgl@sss.pgh.pa.us> 7748Branch: master Release: REL_13_BR [f88bd3139] 2020-06-03 12:36:23 -0400 7749Branch: REL_12_STABLE [3d474a079] 2020-06-03 12:36:24 -0400 7750Branch: REL_11_STABLE [7a8cb4a61] 2020-06-03 12:36:00 -0400 7751Branch: REL_10_STABLE [0c735c686] 2020-06-03 12:36:00 -0400 7752--> 7753 <para> 7754 Avoid calling <function>elog()</function> 7755 or <function>palloc()</function> while holding a spinlock (Michael 7756 Paquier, Tom Lane) 7757 </para> 7758 7759 <para> 7760 Logic associated with replication slots had several violations of 7761 this coding rule. While the odds of trouble are quite low, an error 7762 in the called function would lead to a stuck spinlock. 7763 </para> 7764 </listitem> 7765 7766 <listitem> 7767<!-- 7768Author: Michael Paquier <michael@paquier.xyz> 7769Branch: master Release: REL_13_BR [7ccb2f54d] 2020-05-16 18:15:18 +0900 7770Branch: REL_12_STABLE [b4ded2f22] 2020-05-16 18:16:31 +0900 7771Branch: REL_11_STABLE [70ae82b9b] 2020-05-16 18:16:37 +0900 7772Branch: REL_10_STABLE [3acb30b49] 2020-05-16 18:16:41 +0900 7773--> 7774 <para> 7775 Fix assertion in logical replication subscriber to allow use 7776 of <literal>REPLICA IDENTITY FULL</literal> (Euler Taveira) 7777 </para> 7778 7779 <para> 7780 This was just an incorrect assertion, so it has no impact on 7781 standard production builds. 7782 </para> 7783 </listitem> 7784 7785 <listitem> 7786<!-- 7787Author: Tom Lane <tgl@sss.pgh.pa.us> 7788Branch: master Release: REL_13_BR [7247e243a] 2020-06-07 13:44:13 -0400 7789Branch: REL_12_STABLE [2edf14f5a] 2020-06-07 13:44:13 -0400 7790--> 7791 <para> 7792 Ensure that <application>libpq</application> continues to try to 7793 read from the database connection socket after a write failure 7794 (Tom Lane) 7795 </para> 7796 7797 <para> 7798 This is important not only to ensure that we collect any final error 7799 message from a dying server process, but because we do not consider 7800 the connection lost until we see a read failure. This oversight 7801 allowed <application>libpq</application> to continue trying to 7802 send <command>COPY</command> data indefinitely after a mid-transfer 7803 loss of connection, rather than reporting failure to the application. 7804 </para> 7805 </listitem> 7806 7807 <listitem> 7808<!-- 7809Author: Tom Lane <tgl@sss.pgh.pa.us> 7810Branch: master [25fe5ac45] 2020-07-13 11:58:08 -0400 7811Branch: REL_13_STABLE [8e6f134a9] 2020-07-13 11:58:09 -0400 7812Branch: REL_12_STABLE [e8b22a8a2] 2020-07-13 11:57:55 -0400 7813--> 7814 <para> 7815 Fix bugs in <application>libpq</application>'s management of GSS 7816 encryption state (Tom Lane) 7817 </para> 7818 7819 <para> 7820 A connection using GSS encryption could freeze up when attempting to 7821 reset it after a server restart, or when moving on to the next one of 7822 a list of candidate servers. 7823 </para> 7824 </listitem> 7825 7826 <listitem> 7827<!-- 7828Author: Michael Meskes <meskes@postgresql.org> 7829Branch: master [e576f71fb] 2020-06-30 18:34:41 +0200 7830Branch: REL_13_STABLE [70dc45e8c] 2020-06-30 19:35:22 +0200 7831Branch: REL_12_STABLE [6425d6f6a] 2020-06-30 18:35:21 +0200 7832--> 7833 <para> 7834 Fix <application>ecpg</application> crash with <type>bytea</type> 7835 and cursor variables (Jehan-Guillaume de Rorthais) 7836 </para> 7837 </listitem> 7838 7839 <listitem> 7840<!-- 7841Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 7842Branch: master [ae3259c55] 2020-06-19 16:46:07 -0400 7843Branch: REL_13_STABLE [e74559c97] 2020-06-19 16:46:07 -0400 7844Branch: REL_12_STABLE [5b52008a6] 2020-06-19 16:46:07 -0400 7845Branch: REL_11_STABLE [2e155d90d] 2020-06-19 16:46:07 -0400 7846Branch: REL_10_STABLE [411febd53] 2020-06-19 16:46:07 -0400 7847Branch: REL9_6_STABLE [83762d0a9] 2020-06-19 16:46:07 -0400 7848Branch: REL9_5_STABLE [bbbce94dc] 2020-06-19 16:46:06 -0400 7849--> 7850 <para> 7851 Report out-of-disk-space errors properly 7852 in <application>pg_dump</application> 7853 and <application>pg_basebackup</application> (Justin Pryzby, Tom 7854 Lane, Álvaro Herrera) 7855 </para> 7856 7857 <para> 7858 Some code paths could produce silly reports like <quote>could not 7859 write file: Success</quote>. 7860 </para> 7861 </listitem> 7862 7863 <listitem> 7864<!-- 7865Author: Tom Lane <tgl@sss.pgh.pa.us> 7866Branch: master [f009591d6] 2020-07-17 13:04:05 -0400 7867Branch: REL_13_STABLE [71e8e66f7] 2020-07-17 13:04:06 -0400 7868Branch: REL_12_STABLE [66232220e] 2020-07-17 13:03:50 -0400 7869Branch: master [a8d0732ac] 2020-07-17 13:04:05 -0400 7870Branch: REL_13_STABLE [447cf2f8e] 2020-07-17 13:04:06 -0400 7871Branch: REL_12_STABLE [39a068ce6] 2020-07-17 12:14:28 -0400 7872--> 7873 <para> 7874 Make <application>pg_restore</application> cope with 7875 data-offset-less custom-format archive files when it needs to 7876 restore data items out of order (David Gilman, Tom Lane) 7877 </para> 7878 7879 <para> 7880 <application>pg_dump</application> will produce such files if it 7881 cannot seek its output (for example, if the output is piped to 7882 something). This fix primarily improves the ability to do a 7883 parallel restore from such a file. 7884 </para> 7885 </listitem> 7886 7887 <listitem> 7888<!-- 7889Author: Tom Lane <tgl@sss.pgh.pa.us> 7890Branch: master [ea9125304] 2020-07-11 13:36:50 -0400 7891Branch: REL_13_STABLE [bc9aaac1a] 2020-07-11 13:36:50 -0400 7892Branch: REL_12_STABLE [5fea14f4b] 2020-07-11 13:36:50 -0400 7893Branch: REL_11_STABLE [4fdc559c8] 2020-07-11 13:36:50 -0400 7894Branch: REL_10_STABLE [2d43c3057] 2020-07-11 13:36:51 -0400 7895Branch: REL9_6_STABLE [303322c5a] 2020-07-11 13:36:51 -0400 7896Branch: REL9_5_STABLE [db820b9a9] 2020-07-11 13:36:51 -0400 7897--> 7898 <para> 7899 Fix parallel restore of tables having both table-level privileges 7900 and per-column privileges (Tom Lane) 7901 </para> 7902 7903 <para> 7904 The table-level privilege grants have to be applied first, but a 7905 parallel restore did not reliably order them that way; this could 7906 lead to <quote>tuple concurrently updated</quote> errors, or to 7907 disappearance of some per-column privilege grants. The fix for this 7908 is to include dependency links between such entries in the archive 7909 file, meaning that a new dump has to be taken with a 7910 corrected <application>pg_dump</application> to ensure that the 7911 problem will not recur. 7912 </para> 7913 </listitem> 7914 7915 <listitem> 7916<!-- 7917Author: Bruce Momjian <bruce@momjian.us> 7918Branch: master [3f5863e15] 2020-06-15 20:59:40 -0400 7919Branch: REL_13_STABLE [a2c72851a] 2020-06-15 20:59:40 -0400 7920Branch: REL_12_STABLE [8e933596c] 2020-06-15 20:59:40 -0400 7921Branch: REL_11_STABLE [aeb785c0f] 2020-06-15 20:59:40 -0400 7922Branch: REL_10_STABLE [9170da96d] 2020-06-15 20:59:40 -0400 7923Branch: REL9_6_STABLE [5c1bfd627] 2020-06-15 20:59:40 -0400 7924Branch: REL9_5_STABLE [39c698cff] 2020-06-15 20:59:40 -0400 7925--> 7926 <para> 7927 Ensure that <application>pg_upgrade</application> runs 7928 with <varname>vacuum_defer_cleanup_age</varname> set to zero in the 7929 target cluster (Bruce Momjian) 7930 </para> 7931 7932 <para> 7933 If the target cluster's configuration has been modified to 7934 set <varname>vacuum_defer_cleanup_age</varname> to a nonzero value, 7935 that prevented freezing of the system catalogs from working properly, 7936 which caused the upgrade to fail in confusing ways. Ensure that any 7937 such setting is overridden for the duration of the upgrade. 7938 </para> 7939 </listitem> 7940 7941 <listitem> 7942<!-- 7943Author: Noah Misch <noah@leadboat.com> 7944Branch: master Release: REL_13_BR [cee9cadb5] 2020-05-13 20:42:09 -0700 7945Branch: REL_12_STABLE [73a5c0d81] 2020-05-13 20:42:24 -0700 7946Branch: REL_11_STABLE [a26789452] 2020-05-13 20:42:37 -0700 7947Branch: REL_10_STABLE [970ed4493] 2020-05-13 20:42:42 -0700 7948Branch: REL9_6_STABLE [1ab5b672e] 2020-05-13 20:42:46 -0700 7949Branch: REL9_5_STABLE [595b4115c] 2020-05-13 20:42:49 -0700 7950Author: Noah Misch <noah@leadboat.com> 7951Branch: master Release: REL_13_BR [8222a9d9a] 2020-05-13 20:42:09 -0700 7952Branch: REL_12_STABLE [7130be8aa] 2020-05-13 20:42:23 -0700 7953Branch: REL_11_STABLE [357012e17] 2020-05-13 20:42:34 -0700 7954Branch: REL_10_STABLE [a28db2081] 2020-05-13 20:42:42 -0700 7955--> 7956 <para> 7957 Fix <application>pg_recvlogical</application> to drain pending 7958 messages before exiting (Noah Misch) 7959 </para> 7960 7961 <para> 7962 Without this, the replication sender might detect a send failure and 7963 exit without making the expected final update to the replication 7964 slot's LSN position. That led to re-transmitting data after the 7965 next connection. It was also possible to miss error messages sent 7966 after the last data that <application>pg_recvlogical</application> 7967 wants to consume. 7968 </para> 7969 </listitem> 7970 7971 <listitem> 7972<!-- 7973Author: Michael Paquier <michael@paquier.xyz> 7974Branch: master [1d09fb1f0] 2020-07-15 15:17:23 +0900 7975Branch: REL_13_STABLE [5f89bb4cf] 2020-07-15 15:17:32 +0900 7976Branch: REL_12_STABLE [92927477f] 2020-07-15 15:17:36 +0900 7977Branch: REL_11_STABLE [c6d33d144] 2020-07-15 15:17:44 +0900 7978Branch: REL_10_STABLE [23924feca] 2020-07-15 15:17:49 +0900 7979Branch: REL9_6_STABLE [14fe80413] 2020-07-15 15:17:55 +0900 7980Branch: REL9_5_STABLE [18ec25412] 2020-07-15 15:18:01 +0900 7981--> 7982 <para> 7983 Fix <application>pg_rewind</application>'s handling of just-deleted 7984 files in the source data directory (Justin Pryzby, Michael Paquier) 7985 </para> 7986 7987 <para> 7988 When working with an on-line source database, concurrent file 7989 deletions are possible, but <application>pg_rewind</application> 7990 would get confused if deletion happened between seeing a file's 7991 directory entry and examining it with <function>stat()</function>. 7992 </para> 7993 </listitem> 7994 7995 <listitem> 7996<!-- 7997Author: Michael Paquier <michael@paquier.xyz> 7998Branch: master [932f9fb50] 2020-07-16 15:52:37 +0900 7999Branch: REL_13_STABLE [beebbb39d] 2020-07-16 15:52:54 +0900 8000Branch: REL_12_STABLE [cd113a0b4] 2020-07-16 15:52:58 +0900 8001Branch: REL_11_STABLE [de559c2b0] 2020-07-16 15:53:01 +0900 8002Branch: REL_10_STABLE [800ec48f5] 2020-07-16 15:53:04 +0900 8003Branch: REL9_6_STABLE [a452b239e] 2020-07-16 15:53:09 +0900 8004Branch: REL9_5_STABLE [ab7ce97ec] 2020-07-16 15:53:12 +0900 8005--> 8006 <para> 8007 Make <application>pg_test_fsync</application> use binary I/O mode on 8008 Windows (Michael Paquier) 8009 </para> 8010 8011 <para> 8012 Previously it wrote the test file in text mode, which is not an 8013 accurate reflection of <productname>PostgreSQL</productname>'s 8014 actual usage. 8015 </para> 8016 </listitem> 8017 8018 <listitem> 8019<!-- 8020Author: Alexander Korotkov <akorotkov@postgresql.org> 8021Branch: master Release: REL_13_BR [34dae902c] 2020-05-14 12:44:44 +0300 8022Branch: REL_12_STABLE [ae1f9b0a9] 2020-05-14 12:46:08 +0300 8023Branch: REL_11_STABLE [b9a45d8db] 2020-05-14 12:46:15 +0300 8024--> 8025 <para> 8026 Fix <filename>contrib/amcheck</filename> to not complain about 8027 deleted index pages that are empty (Alexander Korotkov) 8028 </para> 8029 8030 <para> 8031 This state of affairs is normal during WAL replay. 8032 </para> 8033 </listitem> 8034 8035 <listitem> 8036<!-- 8037Author: Joe Conway <mail@joeconway.com> 8038Branch: master Release: REL_13_BR [9003b76e1] 2020-05-28 13:44:54 -0400 8039Branch: REL_12_STABLE [e8eb48595] 2020-05-28 13:44:59 -0400 8040Branch: REL_11_STABLE [49a00e07c] 2020-05-28 13:45:02 -0400 8041Branch: REL_10_STABLE [43d3d7318] 2020-05-28 13:45:06 -0400 8042Branch: REL9_6_STABLE [43d7934a3] 2020-05-28 13:45:11 -0400 8043Branch: REL9_5_STABLE [f140d9b6e] 2020-05-28 13:45:15 -0400 8044--> 8045 <para> 8046 Fix failure to initialize local state correctly 8047 in <filename>contrib/dblink</filename> (Joe Conway) 8048 </para> 8049 8050 <para> 8051 With the right combination of circumstances, this could lead to 8052 <function>dblink_close()</function> issuing an unexpected 8053 remote <command>COMMIT</command>. 8054 </para> 8055 </listitem> 8056 8057 <listitem> 8058<!-- 8059Author: Tom Lane <tgl@sss.pgh.pa.us> 8060Branch: master [b9b610577] 2020-07-23 17:20:01 -0400 8061Branch: REL_13_STABLE [7dab4569d] 2020-07-23 17:20:01 -0400 8062Branch: REL_12_STABLE [3d4a77815] 2020-07-23 17:20:02 -0400 8063Branch: REL_11_STABLE [475c69c97] 2020-07-23 17:20:03 -0400 8064Branch: REL_10_STABLE [d8ec3b126] 2020-07-23 17:20:03 -0400 8065Branch: REL9_6_STABLE [ccf964a80] 2020-07-23 17:20:04 -0400 8066Branch: REL9_5_STABLE [d0519e9fe] 2020-07-23 17:20:04 -0400 8067--> 8068 <para> 8069 Fix <filename>contrib/pgcrypto</filename>'s misuse 8070 of <function>deflate()</function> (Tom Lane) 8071 </para> 8072 8073 <para> 8074 The <function>pgp_sym_encrypt</function> functions could produce 8075 incorrect compressed data due to mishandling 8076 of <application>zlib</application>'s API requirements. We have no 8077 reports of this error manifesting with 8078 stock <application>zlib</application>, but it can be seen when using 8079 IBM's <application>zlibNX</application> implementation. 8080 </para> 8081 </listitem> 8082 8083 <listitem> 8084<!-- 8085Author: Michael Paquier <michael@paquier.xyz> 8086Branch: master [a3ab7a707] 2020-07-27 15:58:32 +0900 8087Branch: REL_13_STABLE [0caf1fc6e] 2020-07-27 15:58:54 +0900 8088Branch: REL_12_STABLE [5bd087eb5] 2020-07-27 15:58:59 +0900 8089Branch: REL_11_STABLE [202fc4ca5] 2020-07-27 15:59:03 +0900 8090Branch: REL_10_STABLE [9729f9979] 2020-07-27 15:59:07 +0900 8091Branch: REL9_6_STABLE [8a60f541f] 2020-07-27 15:59:13 +0900 8092Branch: REL9_5_STABLE [aaa132a65] 2020-07-27 15:59:22 +0900 8093Branch: REL_11_STABLE [1785ac8ad] 2020-08-02 11:00:12 -0400 8094Branch: REL_10_STABLE [e1b4135cf] 2020-08-02 11:00:12 -0400 8095--> 8096 <para> 8097 Fix corner case in decompression logic 8098 in <filename>contrib/pgcrypto</filename>'s 8099 <function>pgp_sym_decrypt</function> functions (Kyotaro Horiguchi, 8100 Michael Paquier) 8101 </para> 8102 8103 <para> 8104 A compressed stream can validly end with an empty packet, but the 8105 decompressor failed to handle this and would complain about corrupt 8106 data. 8107 </para> 8108 </listitem> 8109 8110 <listitem> 8111<!-- 8112Author: Amit Kapila <akapila@postgresql.org> 8113Branch: master Release: REL_13_BR [a16915545] 2020-05-14 09:24:33 +0530 8114Branch: REL_12_STABLE [98171e59a] 2020-05-14 09:34:46 +0530 8115Branch: REL_11_STABLE [1fbfc3d8a] 2020-05-14 09:39:04 +0530 8116Branch: REL_10_STABLE [33b772801] 2020-05-14 09:44:21 +0530 8117Branch: REL9_6_STABLE [a1466e194] 2020-05-14 09:50:10 +0530 8118Branch: REL9_5_STABLE [650952aeb] 2020-05-14 09:55:04 +0530 8119--> 8120 <para> 8121 Support building our NLS code with Microsoft Visual Studio 2015 or 8122 later (Juan José Santamaría Flecha, Davinder Singh, 8123 Amit Kapila) 8124 </para> 8125 </listitem> 8126 8127 <listitem> 8128<!-- 8129Author: Michael Paquier <michael@paquier.xyz> 8130Branch: master Release: REL_13_BR [d2a995990] 2020-05-21 14:41:15 +0900 8131Branch: REL_12_STABLE [089baec6f] 2020-05-21 14:41:30 +0900 8132Branch: REL_11_STABLE [bb24af50d] 2020-05-21 14:41:33 +0900 8133Branch: REL_10_STABLE [8dfc7d888] 2020-05-21 14:41:36 +0900 8134Branch: REL9_6_STABLE [57dc672c2] 2020-05-21 14:41:40 +0900 8135Branch: REL9_5_STABLE [8de137017] 2020-05-21 14:41:43 +0900 8136--> 8137 <para> 8138 Avoid possible failure of our MSVC install script when there is a 8139 file named <filename>configure</filename> several levels above the 8140 source code tree (Arnold Müller) 8141 </para> 8142 8143 <para> 8144 This could confuse some logic that looked 8145 for <filename>configure</filename> to identify the top level of the 8146 source tree. 8147 </para> 8148 </listitem> 8149 8150 </itemizedlist> 8151 8152 </sect2> 8153 </sect1> 8154 8155 <sect1 id="release-12-3"> 8156 <title>Release 12.3</title> 8157 8158 <formalpara> 8159 <title>Release date:</title> 8160 <para>2020-05-14</para> 8161 </formalpara> 8162 8163 <para> 8164 This release contains a variety of fixes from 12.2. 8165 For information about new features in major release 12, see 8166 <xref linkend="release-12"/>. 8167 </para> 8168 8169 <sect2> 8170 <title>Migration to Version 12.3</title> 8171 8172 <para> 8173 A dump/restore is not required for those running 12.X. 8174 </para> 8175 8176 <para> 8177 However, if you are upgrading from a version earlier than 12.2, 8178 see <xref linkend="release-12-2"/>. 8179 </para> 8180 </sect2> 8181 8182 <sect2> 8183 <title>Changes</title> 8184 8185 <itemizedlist> 8186 8187 <listitem> 8188<!-- 8189Author: David Rowley <drowley@postgresql.org> 8190Branch: master [3cb02e307] 2020-04-18 14:10:37 +1200 8191Branch: REL_12_STABLE [a375f11c4] 2020-04-18 14:11:21 +1200 8192--> 8193 <para> 8194 Fix possible failure with <literal>GENERATED</literal> columns 8195 (David Rowley) 8196 </para> 8197 8198 <para> 8199 If a <literal>GENERATED</literal> column's value is an exact copy of 8200 another column of the table (and it is a pass-by-reference data 8201 type), it was possible to crash or insert corrupted data into the 8202 table. While it would be rather pointless for 8203 a <literal>GENERATED</literal> expression to just duplicate another 8204 column, an expression using a function that sometimes returns its 8205 input unchanged could create the situation. 8206 </para> 8207 </listitem> 8208 8209 <listitem> 8210<!-- 8211Author: Peter Eisentraut <peter@eisentraut.org> 8212Branch: master [086ffddf3] 2020-05-08 11:31:57 +0200 8213Branch: REL_12_STABLE [14751c340] 2020-05-08 11:31:46 +0200 8214--> 8215 <para> 8216 Handle inheritance of generated columns better (Peter Eisentraut) 8217 </para> 8218 8219 <para> 8220 When a table column is inherited during <command>CREATE TABLE 8221 ... INHERITS</command>, disallow changing any generation properties 8222 when the parent column is already 8223 marked <literal>GENERATED</literal>; but allow a child column to be 8224 marked <literal>GENERATED</literal> when its parent is not. 8225 </para> 8226 </listitem> 8227 8228 <listitem> 8229<!-- 8230Author: Peter Eisentraut <peter@eisentraut.org> 8231Branch: master [e92e4a2b6] 2020-04-09 16:36:45 +0200 8232Branch: REL_12_STABLE [f06d583c5] 2020-04-09 16:34:30 +0200 8233--> 8234 <para> 8235 Fix cross-column references in <command>CREATE TABLE LIKE INCLUDING 8236 GENERATED</command> (Peter Eisentraut) 8237 </para> 8238 8239 <para> 8240 <command>CREATE TABLE ... LIKE</command> failed when trying to copy 8241 a <literal>GENERATED</literal> expression that references a 8242 physically-later column. 8243 </para> 8244 </listitem> 8245 8246 <listitem> 8247<!-- 8248Author: Peter Eisentraut <peter@eisentraut.org> 8249Branch: master [501e41dd3] 2020-05-08 08:39:17 +0200 8250Branch: REL_12_STABLE [bf7233ee4] 2020-05-08 09:18:15 +0200 8251Branch: REL_11_STABLE [03a8a5f2d] 2020-05-08 09:30:57 +0200 8252--> 8253 <para> 8254 Propagate <command>ALTER TABLE ... SET STORAGE</command> to indexes 8255 (Peter Eisentraut) 8256 </para> 8257 8258 <para> 8259 Non-expression index columns have always copied 8260 the <structfield>attstorage</structfield> property of their table 8261 column at creation. Update them when <command>ALTER TABLE ... SET 8262 STORAGE</command> is done, to maintain consistency. 8263 </para> 8264 </listitem> 8265 8266 <listitem> 8267<!-- 8268Author: Michael Paquier <michael@paquier.xyz> 8269Branch: master [a40caf5f8] 2020-04-06 11:03:49 +0900 8270Branch: REL_12_STABLE [3e62dd3a9] 2020-04-06 11:05:47 +0900 8271Branch: REL_11_STABLE [41faafbd7] 2020-04-06 11:05:54 +0900 8272Branch: REL_10_STABLE [cef2b8d52] 2020-04-06 11:05:57 +0900 8273Branch: REL9_6_STABLE [61a161fe4] 2020-04-06 11:06:04 +0900 8274Branch: REL9_5_STABLE [3f77a6702] 2020-04-06 11:06:07 +0900 8275--> 8276 <para> 8277 Preserve the <structfield>indisclustered</structfield> setting of 8278 indexes rewritten by <command>ALTER TABLE</command> (Amit Langote, 8279 Justin Pryzby) 8280 </para> 8281 8282 <para> 8283 Previously, <command>ALTER TABLE</command> lost track of which index 8284 had been used for <command>CLUSTER</command>. 8285 </para> 8286 </listitem> 8287 8288 <listitem> 8289<!-- 8290Author: Peter Eisentraut <peter@eisentraut.org> 8291Branch: master [1cc9c2412] 2020-03-13 11:57:06 +0100 8292Branch: REL_12_STABLE [c9ef507e8] 2020-03-13 11:57:20 +0100 8293Branch: REL_11_STABLE [15cbbf81a] 2020-03-13 12:24:44 +0100 8294Branch: REL_10_STABLE [02530da73] 2020-03-13 13:03:28 +0100 8295Branch: REL9_6_STABLE [2f0dd9d93] 2020-03-13 13:21:05 +0100 8296Branch: REL9_5_STABLE [c15d35041] 2020-03-13 13:21:30 +0100 8297--> 8298 <para> 8299 Preserve the replica identity properties of indexes rewritten 8300 by <command>ALTER TABLE</command> (Quan Zongliang, Peter Eisentraut) 8301 </para> 8302 </listitem> 8303 8304 <listitem> 8305<!-- 8306Author: Michael Paquier <michael@paquier.xyz> 8307Branch: master [d79fb88ac] 2020-03-03 10:12:28 +0900 8308Branch: REL_12_STABLE [f087d63a4] 2020-03-03 10:12:49 +0900 8309--> 8310 <para> 8311 Preserve the <structfield>indisclustered</structfield> setting of 8312 indexes rebuilt by <command>REINDEX CONCURRENTLY</command> 8313 (Justin Pryzby) 8314 </para> 8315 </listitem> 8316 8317 <listitem> 8318<!-- 8319Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 8320Branch: master [5be594caf] 2020-05-06 12:29:41 -0400 8321Branch: REL_12_STABLE [2eea49471] 2020-05-06 12:29:41 -0400 8322Branch: REL_11_STABLE [59273a7ce] 2020-05-06 12:29:41 -0400 8323Branch: REL_10_STABLE [4d21263ff] 2020-05-06 12:29:41 -0400 8324Branch: REL9_6_STABLE [2bf56f50e] 2020-05-06 12:29:41 -0400 8325Branch: REL9_5_STABLE [91d97462c] 2020-05-06 12:29:41 -0400 8326--> 8327 <para> 8328 Lock objects sooner during <command>DROP OWNED BY</command> 8329 (Álvaro Herrera) 8330 </para> 8331 8332 <para> 8333 This avoids failures in race-condition cases where another session is 8334 deleting some of the same objects. 8335 </para> 8336 </listitem> 8337 8338 <listitem> 8339<!-- 8340Author: Andrew Gierth <rhodiumtoad@postgresql.org> 8341Branch: master [d9a4cce29] 2020-04-25 05:09:30 +0100 8342Branch: REL_12_STABLE [d0360632d] 2020-04-25 05:10:24 +0100 8343Branch: REL_11_STABLE [0f4970d1a] 2020-04-25 05:10:19 +0100 8344Branch: REL_10_STABLE [287f6d2d9] 2020-04-25 05:10:13 +0100 8345Branch: REL9_6_STABLE [86b7a4e6f] 2020-04-25 05:10:10 +0100 8346Branch: REL9_5_STABLE [b3824ca22] 2020-04-25 05:10:05 +0100 8347--> 8348 <para> 8349 Fix error-case processing for <command>CREATE ROLE ... IN 8350 ROLE</command> (Andrew Gierth) 8351 </para> 8352 8353 <para> 8354 Some error cases would be reported as <quote>unexpected node 8355 type</quote> or the like, instead of the intended message. 8356 </para> 8357 </listitem> 8358 8359 <listitem> 8360<!-- 8361Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 8362Branch: master [afccd76f1] 2020-04-21 13:57:00 -0400 8363Branch: REL_12_STABLE [e26c8a6b3] 2020-04-21 13:57:00 -0400 8364Branch: REL_11_STABLE [0b83c4721] 2020-04-21 13:57:00 -0400 8365--> 8366 <para> 8367 Ensure that when a partition is detached, any triggers cloned from 8368 its formerly-parent table are removed (Justin Pryzby) 8369 </para> 8370 </listitem> 8371 8372 <listitem> 8373<!-- 8374Author: Michael Paquier <michael@paquier.xyz> 8375Branch: master [c0187869a] 2020-04-08 15:04:51 +0900 8376Branch: REL_12_STABLE [0a9ae1800] 2020-04-08 15:04:57 +0900 8377--> 8378 <para> 8379 Fix crash when <literal>COLLATE</literal> is applied to a 8380 non-collatable type in a partition bound expression (Dmitry Dolgov) 8381 </para> 8382 </listitem> 8383 8384 <listitem> 8385<!-- 8386Author: Tom Lane <tgl@sss.pgh.pa.us> 8387Branch: master [501b01879] 2020-04-01 14:49:49 -0400 8388Branch: REL_12_STABLE [76ea60696] 2020-04-01 14:49:49 -0400 8389Branch: REL_11_STABLE [76ddc88f4] 2020-04-01 14:49:49 -0400 8390--> 8391 <para> 8392 Ensure that unique indexes over partitioned tables match the 8393 equality semantics of the partitioning key (Guancheng Luo) 8394 </para> 8395 8396 <para> 8397 This would only be an issue with index opclasses that have unusual 8398 notions of equality, but it's wrong in theory, so check. 8399 </para> 8400 </listitem> 8401 8402 <listitem> 8403<!-- 8404Author: Magnus Hagander <magnus@hagander.net> 8405Branch: master [7e4e57474] 2020-04-20 12:53:40 +0200 8406Branch: REL_12_STABLE [212e712a5] 2020-04-20 12:56:26 +0200 8407Branch: REL_11_STABLE [3d4652f67] 2020-04-20 12:57:12 +0200 8408Branch: REL_10_STABLE [d0bb66572] 2020-04-20 12:57:24 +0200 8409--> 8410 <para> 8411 Ensure that members of the <literal>pg_read_all_stats</literal> role 8412 can read all statistics views, as expected (Magnus Hagander) 8413 </para> 8414 8415 <para> 8416 The functions underlying 8417 the <structname>pg_stat_progress_*</structname> views had not gotten 8418 this memo. 8419 </para> 8420 </listitem> 8421 8422 <listitem> 8423<!-- 8424Author: Tom Lane <tgl@sss.pgh.pa.us> 8425Branch: master [baf17ad9d] 2020-04-24 12:02:36 -0400 8426Branch: REL_12_STABLE [64e49a67e] 2020-04-24 12:02:36 -0400 8427Branch: REL_11_STABLE [776f6d3d0] 2020-04-24 12:02:36 -0400 8428--> 8429 <para> 8430 Repair performance regression in 8431 <structname>information_schema</structname>.<structname>triggers</structname> 8432 view (Tom Lane) 8433 </para> 8434 8435 <para> 8436 This patch redefines that view so that an 8437 outer <literal>WHERE</literal> clause constraining the table name 8438 can be pushed down into the view, allowing its calculations to be 8439 done only for triggers belonging to the table of interest rather 8440 than all triggers in the database. In a database with many triggers 8441 this would make a significant speed difference for queries of that 8442 form. Since things worked that way before v11, this is a potential 8443 performance regression. Users who find this to be a problem can fix 8444 it by replacing the view definition (or, perhaps, just deleting and 8445 reinstalling the whole <structname>information_schema</structname> 8446 schema). 8447 </para> 8448 </listitem> 8449 8450 <listitem> 8451<!-- 8452Author: Tom Lane <tgl@sss.pgh.pa.us> 8453Branch: master [607f8ce74] 2020-02-13 13:37:43 -0500 8454Branch: REL_12_STABLE [764a554d6] 2020-02-13 13:37:43 -0500 8455--> 8456 <para> 8457 Repair performance regression in floating point overflow/underflow 8458 detection (Emre Hasegeli) 8459 </para> 8460 8461 <para> 8462 Previous refactoring had resulted in <function>isinf()</function> 8463 being called extra times in some hot code paths. 8464 </para> 8465 </listitem> 8466 8467 <listitem> 8468<!-- 8469Author: Tom Lane <tgl@sss.pgh.pa.us> 8470Branch: master [e81e5741a] 2020-04-27 12:21:04 -0400 8471Branch: REL_12_STABLE [18f7e856c] 2020-04-27 12:21:04 -0400 8472Branch: REL_11_STABLE [98a4d6950] 2020-04-27 12:21:04 -0400 8473Branch: REL_10_STABLE [072a86327] 2020-04-27 12:21:04 -0400 8474Branch: REL9_6_STABLE [22dcb6c20] 2020-04-27 12:21:04 -0400 8475--> 8476 <para> 8477 Fix full text search to handle NOT above a phrase search correctly 8478 (Tom Lane) 8479 </para> 8480 8481 <para> 8482 Queries such as <literal>!(foo<->bar)</literal> failed to find 8483 matching rows when implemented as a GiST or GIN index search. 8484 </para> 8485 </listitem> 8486 8487 <listitem> 8488<!-- 8489Author: Tom Lane <tgl@sss.pgh.pa.us> 8490Branch: master [db89f0e3a] 2020-05-07 15:59:51 -0400 8491Branch: REL_12_STABLE [e1d70ba43] 2020-05-07 15:59:51 -0400 8492Branch: REL_11_STABLE [5db48808c] 2020-05-07 15:59:52 -0400 8493Branch: REL_10_STABLE [26cf16a93] 2020-05-07 15:59:52 -0400 8494Branch: REL9_6_STABLE [7c9d9aa5c] 2020-05-07 15:59:52 -0400 8495--> 8496 <para> 8497 Fix full text search for cases where a phrase search includes an 8498 item with both prefix matching and a weight restriction (Tom Lane) 8499 </para> 8500 </listitem> 8501 8502 <listitem> 8503<!-- 8504Author: Tom Lane <tgl@sss.pgh.pa.us> 8505Branch: master [c9b0c678d] 2020-04-09 13:19:23 -0400 8506Branch: REL_12_STABLE [841378947] 2020-04-09 13:19:23 -0400 8507Branch: REL_11_STABLE [91be1d190] 2020-04-09 13:19:23 -0400 8508Branch: REL_10_STABLE [5f7247b3b] 2020-04-09 13:19:23 -0400 8509Branch: REL9_6_STABLE [c81de3a82] 2020-04-09 13:19:23 -0400 8510Branch: master [2e0e409e3] 2020-04-09 15:38:43 -0400 8511Branch: REL_12_STABLE [07453e9e3] 2020-04-09 15:38:52 -0400 8512Branch: REL_11_STABLE [d9a3fe4c5] 2020-04-09 15:38:57 -0400 8513Branch: REL_10_STABLE [9be664d71] 2020-04-09 15:39:02 -0400 8514Branch: REL9_6_STABLE [c2599b93d] 2020-04-09 15:39:09 -0400 8515Branch: master [b10f8bb9f] 2020-04-09 12:36:59 -0400 8516Branch: REL_12_STABLE [1306edeae] 2020-04-09 12:36:59 -0400 8517Branch: REL_11_STABLE [ff081d6bb] 2020-04-09 12:37:00 -0400 8518Branch: REL_10_STABLE [afab39986] 2020-04-09 12:37:00 -0400 8519Branch: REL9_6_STABLE [638519156] 2020-04-09 12:37:00 -0400 8520--> 8521 <para> 8522 Fix <function>ts_headline()</function> to make better headline 8523 selections when working with phrase queries (Tom Lane) 8524 </para> 8525 </listitem> 8526 8527 <listitem> 8528<!-- 8529Author: Tom Lane <tgl@sss.pgh.pa.us> 8530Branch: master [e41955faf] 2020-04-03 13:15:45 -0400 8531Branch: REL_12_STABLE [05f4a8818] 2020-04-03 13:15:30 -0400 8532Branch: REL_11_STABLE [0912fb39c] 2020-04-03 13:15:30 -0400 8533Branch: REL_10_STABLE [44c763fe9] 2020-04-03 13:15:30 -0400 8534Branch: REL9_6_STABLE [49b0d13d7] 2020-04-03 13:15:30 -0400 8535Branch: REL9_5_STABLE [8150f7813] 2020-04-03 13:15:30 -0400 8536Branch: REL9_5_STABLE [e82b6e00a] 2020-04-06 12:29:54 -0400 8537--> 8538 <para> 8539 Fix bugs in <varname>gin_fuzzy_search_limit</varname> processing 8540 (Adé Heyward, Tom Lane) 8541 </para> 8542 8543 <para> 8544 A small value of <varname>gin_fuzzy_search_limit</varname> could 8545 result in unexpected slowness due to unintentionally rescanning the 8546 same index page many times. Another code path failed to apply the 8547 intended filtering at all, possibly returning too many values. 8548 </para> 8549 </listitem> 8550 8551 <listitem> 8552<!-- 8553Author: Tom Lane <tgl@sss.pgh.pa.us> 8554Branch: master [41a194f49] 2020-04-07 20:50:28 -0400 8555Branch: REL_12_STABLE [35d1eefb2] 2020-04-07 20:50:02 -0400 8556Branch: REL_11_STABLE [5fae66410] 2020-04-07 20:50:02 -0400 8557Branch: REL_10_STABLE [4c7a311a2] 2020-04-07 20:50:02 -0400 8558Branch: REL9_6_STABLE [049e9f48e] 2020-04-07 20:50:02 -0400 8559Branch: REL9_5_STABLE [ebd194ac5] 2020-04-07 20:50:02 -0400 8560--> 8561 <para> 8562 Allow input of type <type>circle</type> to accept the format 8563 <quote><literal>(<replaceable>x</replaceable>,<replaceable>y</replaceable>),<replaceable>r</replaceable></literal></quote> 8564 as the documentation says it does (David Zhang) 8565 </para> 8566 </listitem> 8567 8568 <listitem> 8569<!-- 8570Author: Tom Lane <tgl@sss.pgh.pa.us> 8571Branch: master [26a944cf2] 2020-04-07 15:57:58 -0400 8572Branch: REL_12_STABLE [6e6b74a20] 2020-04-07 16:30:55 -0400 8573Branch: REL_11_STABLE [5d79fc60c] 2020-04-07 16:30:55 -0400 8574Branch: REL_10_STABLE [889786e0e] 2020-04-07 16:30:55 -0400 8575Branch: REL9_6_STABLE [e40c4d491] 2020-04-07 16:30:55 -0400 8576Branch: REL9_5_STABLE [dbb121038] 2020-04-07 16:30:55 -0400 8577--> 8578 <para> 8579 Make the <function>get_bit()</function> 8580 and <function>set_bit()</function> functions cope 8581 with <type>bytea</type> strings longer than 256MB (Movead Li) 8582 </para> 8583 8584 <para> 8585 Since the bit number argument is only <type>int4</type>, it's 8586 impossible to use these functions to access bits beyond the first 8587 256MB of a long <type>bytea</type>. We'll widen the argument 8588 to <type>int8</type> in v13, but in the meantime, allow these 8589 functions to work on the initial substring of a 8590 long <type>bytea</type>. 8591 </para> 8592 </listitem> 8593 8594 <listitem> 8595<!-- 8596Author: Tom Lane <tgl@sss.pgh.pa.us> 8597Branch: master [82e801852] 2020-03-31 12:57:55 -0400 8598Branch: REL_12_STABLE [ee40e8975] 2020-03-31 12:57:55 -0400 8599Branch: REL_11_STABLE [5b22ff764] 2020-03-31 12:57:55 -0400 8600Branch: REL_10_STABLE [83f7761d8] 2020-03-31 12:57:55 -0400 8601--> 8602 <para> 8603 Ignore file-not-found errors in <function>pg_ls_waldir()</function> 8604 and allied functions (Tom Lane) 8605 </para> 8606 8607 <para> 8608 This prevents a race condition failure if a file is removed between 8609 when we see its directory entry and when we attempt 8610 to <function>stat()</function> it. 8611 </para> 8612 </listitem> 8613 8614 <listitem> 8615<!-- 8616Author: Tom Lane <tgl@sss.pgh.pa.us> 8617Branch: master [085b6b667] 2020-03-11 15:27:59 -0400 8618Branch: REL_12_STABLE [3c8864fc1] 2020-03-11 15:27:59 -0400 8619Branch: REL_11_STABLE [63b51dfec] 2020-03-11 15:27:59 -0400 8620Branch: REL_10_STABLE [05283dd5b] 2020-03-11 15:28:00 -0400 8621Branch: master [a029a0641] 2020-03-11 18:24:11 -0400 8622Branch: REL_12_STABLE [630590d6f] 2020-03-11 18:24:13 -0400 8623Branch: REL_11_STABLE [13f353b0e] 2020-03-11 18:24:14 -0400 8624Branch: REL_10_STABLE [064e029e6] 2020-03-11 18:24:15 -0400 8625Branch: master [b4570d33a] 2020-03-16 21:05:52 -0400 8626Branch: REL_12_STABLE [2a89455aa] 2020-03-16 21:05:53 -0400 8627Branch: REL_11_STABLE [819d55257] 2020-03-16 21:05:54 -0400 8628Branch: REL_10_STABLE [5e4a0b719] 2020-03-16 21:05:55 -0400 8629Branch: REL9_6_STABLE [cd6a05187] 2020-03-16 21:05:56 -0400 8630Branch: REL9_5_STABLE [da254148f] 2020-03-16 21:05:29 -0400 8631--> 8632 <para> 8633 Avoid possibly leaking an open-file descriptor for a directory 8634 in <function>pg_ls_dir()</function>, 8635 <function>pg_timezone_names()</function>, 8636 <function>pg_tablespace_databases()</function>, and allied functions 8637 (Justin Pryzby) 8638 </para> 8639 </listitem> 8640 8641 <listitem> 8642<!-- 8643Author: Tom Lane <tgl@sss.pgh.pa.us> 8644Branch: master [4dbcb3f84] 2020-03-14 14:42:22 -0400 8645Branch: REL_12_STABLE [390984f92] 2020-03-14 14:42:22 -0400 8646Branch: REL_11_STABLE [540ef37cc] 2020-03-14 14:42:22 -0400 8647Branch: REL_10_STABLE [61d14971d] 2020-03-14 14:42:22 -0400 8648Branch: REL9_6_STABLE [30e491653] 2020-03-14 14:42:22 -0400 8649Branch: REL9_5_STABLE [a1ef0f373] 2020-03-14 14:42:22 -0400 8650--> 8651 <para> 8652 Fix polymorphic-function type resolution to correctly infer the 8653 actual type of an <type>anyarray</type> output when given only 8654 an <type>anyrange</type> input (Tom Lane) 8655 </para> 8656 </listitem> 8657 8658 <listitem> 8659<!-- 8660Author: Stephen Frost <sfrost@snowman.net> 8661Branch: master [b68a560f8] 2020-05-02 11:39:26 -0400 8662Branch: REL_12_STABLE [79e594cf0] 2020-05-02 11:39:32 -0400 8663--> 8664 <para> 8665 Fix server's connection-startup logic for case where a GSSAPI 8666 connection is rejected because support is not compiled in, and the 8667 client then tries SSL instead (Andrew Gierth) 8668 </para> 8669 8670 <para> 8671 This led to a bogus <quote>unsupported frontend protocol</quote> 8672 failure. 8673 </para> 8674 </listitem> 8675 8676 <listitem> 8677<!-- 8678Author: Tom Lane <tgl@sss.pgh.pa.us> 8679Branch: master [46da7bf67] 2020-05-05 13:10:17 -0400 8680Branch: REL_12_STABLE [987717d7c] 2020-05-05 13:10:09 -0400 8681--> 8682 <para> 8683 Fix memory leakage during GSSAPI encryption (Tom Lane) 8684 </para> 8685 8686 <para> 8687 Both the backend and libpq would leak memory equivalent to the total 8688 amount of data sent during the session, if GSSAPI encryption is in use. 8689 </para> 8690 </listitem> 8691 8692 <listitem> 8693<!-- 8694Author: Andres Freund <andres@anarazel.de> 8695Branch: master [299298bc8] 2020-04-22 19:53:06 -0700 8696Branch: REL_12_STABLE [95695c784] 2020-04-22 19:55:53 -0700 8697--> 8698 <para> 8699 Fix query-lifespan memory leak for a set-returning function used in 8700 a query's <literal>FROM</literal> clause (Andres Freund) 8701 </para> 8702 </listitem> 8703 8704 <listitem> 8705<!-- 8706Author: Tom Lane <tgl@sss.pgh.pa.us> 8707Branch: master [58c47ccff] 2020-02-29 13:48:09 -0500 8708Branch: REL_12_STABLE [96d783ae5] 2020-02-29 13:48:10 -0500 8709Branch: REL_11_STABLE [9eb6b652a] 2020-02-29 13:48:10 -0500 8710--> 8711 <para> 8712 Avoid leakage of a hashed subplan's hash tables across multiple 8713 executions (Andreas Karlsson, Tom Lane) 8714 </para> 8715 8716 <para> 8717 This mistake could result in severe memory bloat if a query 8718 re-executed a hashed subplan enough times. 8719 </para> 8720 </listitem> 8721 8722 <listitem> 8723<!-- 8724Author: Tom Lane <tgl@sss.pgh.pa.us> 8725Branch: master [a477bfc1d] 2020-02-26 18:14:12 -0500 8726Branch: REL_12_STABLE [30d5c6bf2] 2020-02-26 18:14:13 -0500 8727--> 8728 <para> 8729 Improve planner's handling of no-op domain coercions (Tom Lane) 8730 </para> 8731 8732 <para> 8733 Fix some cases where a domain coercion that does nothing was not 8734 completely removed from expressions. 8735 </para> 8736 </listitem> 8737 8738 <listitem> 8739<!-- 8740Author: Tom Lane <tgl@sss.pgh.pa.us> 8741Branch: master [d12bdba77] 2020-04-21 15:58:42 -0400 8742Branch: REL_12_STABLE [5a4efd100] 2020-04-21 15:58:42 -0400 8743Branch: REL_11_STABLE [56259c377] 2020-04-21 15:58:42 -0400 8744Branch: REL_10_STABLE [e6c17c85a] 2020-04-21 15:58:42 -0400 8745Branch: REL9_6_STABLE [5c1c27eef] 2020-04-21 15:58:43 -0400 8746Branch: REL9_5_STABLE [36714f8ca] 2020-04-21 15:58:43 -0400 8747--> 8748 <para> 8749 Avoid unlikely crash when <command>REINDEX</command> is terminated 8750 by a session-shutdown signal (Tom Lane) 8751 </para> 8752 </listitem> 8753 8754 <listitem> 8755<!-- 8756Author: Tom Lane <tgl@sss.pgh.pa.us> 8757Branch: master [5c27bce7f] 2020-04-11 12:29:06 -0400 8758Branch: REL_12_STABLE [8ffb86644] 2020-04-11 12:29:06 -0400 8759Branch: REL_11_STABLE [f3d06e524] 2020-04-11 12:29:06 -0400 8760Branch: REL_10_STABLE [1e6bb6125] 2020-04-11 12:29:06 -0400 8761Branch: REL9_6_STABLE [242ca479f] 2020-04-11 12:29:06 -0400 8762Branch: REL9_5_STABLE [30ce86367] 2020-04-11 12:29:06 -0400 8763--> 8764 <para> 8765 Prevent printout of possibly-incorrect hash join table statistics 8766 in <command>EXPLAIN</command> (Konstantin Knizhnik, Tom Lane, Thomas 8767 Munro) 8768 </para> 8769 </listitem> 8770 8771 <listitem> 8772<!-- 8773Author: Fujii Masao <fujii@postgresql.org> 8774Branch: master [007491979] 2020-02-19 20:37:26 +0900 8775Branch: REL_12_STABLE [16e6c968b] 2020-02-19 20:38:38 +0900 8776Branch: REL_11_STABLE [414ed1ca2] 2020-02-19 20:39:02 +0900 8777Branch: REL_10_STABLE [79f344d52] 2020-02-19 20:39:37 +0900 8778Branch: REL9_6_STABLE [307c27037] 2020-02-19 20:40:38 +0900 8779Branch: REL9_5_STABLE [4a3f164b7] 2020-02-19 20:43:59 +0900 8780--> 8781 <para> 8782 Fix reporting of elapsed time for heap truncation steps 8783 in <command>VACUUM VERBOSE</command> (Tatsuhito Kasahara) 8784 </para> 8785 </listitem> 8786 8787 <listitem> 8788<!-- 8789Author: Peter Geoghegan <pg@bowt.ie> 8790Branch: master [73a076b03] 2020-05-01 09:51:09 -0700 8791Branch: REL_12_STABLE [40708eaaf] 2020-05-01 09:51:08 -0700 8792Branch: REL_11_STABLE [d3944c364] 2020-05-01 09:51:06 -0700 8793--> 8794 <para> 8795 Fix possible undercounting of deleted B-tree index pages 8796 in <command>VACUUM VERBOSE</command> output (Peter Geoghegan) 8797 </para> 8798 </listitem> 8799 8800 <listitem> 8801<!-- 8802Author: Peter Geoghegan <pg@bowt.ie> 8803Branch: master [b0229f26d] 2020-05-01 08:39:52 -0700 8804Branch: REL_12_STABLE [05b73261c] 2020-05-01 08:39:51 -0700 8805Branch: REL_11_STABLE [e4fa6c929] 2020-05-01 08:39:49 -0700 8806Branch: master [69cf853fe] 2020-05-01 12:19:44 -0700 8807Branch: REL_12_STABLE [e1477db92] 2020-05-01 12:19:42 -0700 8808Branch: REL_11_STABLE [573478564] 2020-05-01 12:19:39 -0700 8809--> 8810 <para> 8811 Fix wrong bookkeeping for oldest deleted page in a B-tree index 8812 (Peter Geoghegan) 8813 </para> 8814 8815 <para> 8816 This could cause subtly wrong decisions about 8817 when <command>VACUUM</command> can skip an index cleanup scan; 8818 although it appears there may be no significant user-visible effects 8819 from that. 8820 </para> 8821 </listitem> 8822 8823 <listitem> 8824<!-- 8825Author: Fujii Masao <fujii@postgresql.org> 8826Branch: master [f2ff20359] 2020-05-08 10:36:40 +0900 8827Branch: REL_12_STABLE [a354d0153] 2020-05-08 10:38:01 +0900 8828Branch: REL_11_STABLE [cc534fc3b] 2020-05-08 10:38:45 +0900 8829Branch: REL_10_STABLE [3a48740e8] 2020-05-08 10:39:08 +0900 8830--> 8831 <para> 8832 Ensure that TimelineHistoryRead and TimelineHistoryWrite wait states 8833 are reported in all code paths that read or write timeline history 8834 files (Masahiro Ikeda) 8835 </para> 8836 </listitem> 8837 8838 <listitem> 8839<!-- 8840Author: Fujii Masao <fujii@postgresql.org> 8841Branch: master [17d3fcdc3] 2020-03-10 00:14:43 +0900 8842Branch: REL_12_STABLE [82c04e483] 2020-03-10 00:15:25 +0900 8843Branch: REL_11_STABLE [e54183cb0] 2020-03-10 00:16:48 +0900 8844Branch: REL_10_STABLE [e9c4eaacd] 2020-03-10 00:18:24 +0900 8845Branch: REL9_6_STABLE [d1b414e7e] 2020-03-10 00:19:57 +0900 8846Branch: REL9_5_STABLE [c9a47b81e] 2020-03-10 00:23:22 +0900 8847--> 8848 <para> 8849 Avoid possibly showing <quote>waiting</quote> twice in a process's 8850 PS status (Masahiko Sawada) 8851 </para> 8852 </listitem> 8853 8854 <listitem> 8855<!-- 8856Author: Tom Lane <tgl@sss.pgh.pa.us> 8857Branch: master [fe3036527] 2020-03-31 17:06:22 -0400 8858Branch: REL_12_STABLE [6c426cd43] 2020-03-31 17:06:22 -0400 8859--> 8860 <para> 8861 Avoid race condition when <command>ANALYZE</command> replaces the 8862 catalog tuple for extended statistics data (Dean Rasheed) 8863 </para> 8864 </listitem> 8865 8866 <listitem> 8867<!-- 8868Author: Michael Paquier <michael@paquier.xyz> 8869Branch: master [dd9ac7d5d] 2020-03-31 08:27:47 +0900 8870Branch: REL_12_STABLE [3ec8576a0] 2020-03-31 08:27:54 +0900 8871--> 8872 <para> 8873 Remove ill-considered skip of <quote>redundant</quote> 8874 anti-wraparound vacuums (Michael Paquier) 8875 </para> 8876 8877 <para> 8878 This avoids a corner case where autovacuum could get into a loop of 8879 repeatedly trying and then skipping the same vacuum job. 8880 </para> 8881 </listitem> 8882 8883 <listitem> 8884<!-- 8885Author: Peter Geoghegan <pg@bowt.ie> 8886Branch: master [4b42a8993] 2020-03-30 12:03:59 -0700 8887Branch: REL_12_STABLE [97cda93d8] 2020-03-30 12:03:57 -0700 8888--> 8889 <para> 8890 Ensure INCLUDE'd columns are always removed from B-tree pivot tuples 8891 (Peter Geoghegan) 8892 </para> 8893 8894 <para> 8895 This mistake wasted space in some rare cases, but was otherwise 8896 harmless. 8897 </para> 8898 </listitem> 8899 8900 <listitem> 8901<!-- 8902Author: Michael Paquier <michael@paquier.xyz> 8903Branch: master [61d7c7bce] 2020-03-10 15:38:17 +0900 8904Branch: REL_12_STABLE [8bca5f935] 2020-03-10 15:38:34 +0900 8905--> 8906 <para> 8907 Cope with invalid TOAST indexes that could be left over after a 8908 failed <command>REINDEX CONCURRENTLY</command> (Julien Rouhaud) 8909 </para> 8910 </listitem> 8911 8912 <listitem> 8913<!-- 8914Author: Michael Paquier <michael@paquier.xyz> 8915Branch: master [fbcf08711] 2020-03-05 12:50:15 +0900 8916Branch: REL_12_STABLE [26876127b] 2020-03-05 12:50:23 +0900 8917--> 8918 <para> 8919 Ensure that valid index dependencies are left behind after a 8920 failed <command>REINDEX CONCURRENTLY</command> (Michael Paquier) 8921 </para> 8922 8923 <para> 8924 Previously the old index could be left with 8925 no <structname>pg_depend</structname> links at all, so that for 8926 example it would not get dropped if the parent table is dropped. 8927 </para> 8928 </listitem> 8929 8930 <listitem> 8931<!-- 8932Author: Tom Lane <tgl@sss.pgh.pa.us> 8933Branch: master [80d76be51] 2020-02-28 20:28:34 -0500 8934Branch: REL_12_STABLE [d7684c38a] 2020-02-28 20:28:34 -0500 8935Branch: REL_11_STABLE [7ea20a2bc] 2020-02-28 20:28:34 -0500 8936--> 8937 <para> 8938 Avoid failure if autovacuum tries to access a just-dropped temporary 8939 schema (Tom Lane) 8940 </para> 8941 8942 <para> 8943 This hazard only arises if a superuser manually drops a temporary 8944 schema; which isn't normal practice, but should work. 8945 </para> 8946 </listitem> 8947 8948 <listitem> 8949<!-- 8950Author: Michael Paquier <michael@paquier.xyz> 8951Branch: master [4e87c4836] 2020-04-24 08:48:28 +0900 8952Branch: REL_12_STABLE [22db5269b] 2020-04-24 08:48:35 +0900 8953Branch: REL_11_STABLE [2d24ca00b] 2020-04-24 08:48:40 +0900 8954Branch: REL_10_STABLE [02657c421] 2020-04-24 08:48:45 +0900 8955Branch: REL9_6_STABLE [c2d8ae0df] 2020-04-24 08:48:51 +0900 8956Branch: REL9_5_STABLE [9eff11653] 2020-04-24 08:48:55 +0900 8957Branch: master [f9c1b8dba] 2020-04-24 11:33:41 +0900 8958Branch: REL_12_STABLE [26057550d] 2020-04-24 11:33:58 +0900 8959Branch: REL_11_STABLE [0d04e9d76] 2020-04-24 11:34:03 +0900 8960Branch: REL_10_STABLE [3d9cae5ad] 2020-04-24 11:34:06 +0900 8961Branch: REL9_6_STABLE [11f004699] 2020-04-24 11:34:11 +0900 8962Branch: REL9_5_STABLE [a4726998d] 2020-04-24 11:34:16 +0900 8963--> 8964 <para> 8965 Avoid premature recycling of WAL segments during crash recovery 8966 (Jehan-Guillaume de Rorthais) 8967 </para> 8968 8969 <para> 8970 WAL segments that become ready to be archived during crash recovery 8971 were potentially recycled without being archived. 8972 </para> 8973 </listitem> 8974 8975 <listitem> 8976<!-- 8977Author: Fujii Masao <fujii@postgresql.org> 8978Branch: master [4bd0ad9e4] 2020-04-08 00:49:29 +0900 8979Branch: REL_12_STABLE [683e0ef55] 2020-05-09 12:00:27 +0900 8980Branch: REL_11_STABLE [dcd1569fb] 2020-05-09 12:04:51 +0900 8981Branch: REL_10_STABLE [660f1fc40] 2020-05-09 12:11:11 +0900 8982Branch: REL9_6_STABLE [70b597974] 2020-05-09 12:16:37 +0900 8983Branch: REL9_5_STABLE [e3f5b148e] 2020-05-09 12:19:47 +0900 8984--> 8985 <para> 8986 Avoid scanning irrelevant timelines during archive recovery (Kyotaro 8987 Horiguchi) 8988 </para> 8989 8990 <para> 8991 This can eliminate many attempts to fetch non-existent WAL files from 8992 archive storage, which is helpful if archive access is slow. 8993 </para> 8994 </listitem> 8995 8996 <listitem> 8997<!-- 8998Author: Amit Kapila <akapila@postgresql.org> 8999Branch: master [e3ff789ac] 2020-02-19 08:15:49 +0530 9000Branch: REL_12_STABLE [59112f235] 2020-02-19 08:27:15 +0530 9001Branch: REL_11_STABLE [bff456d7a] 2020-02-19 08:35:16 +0530 9002Branch: REL_10_STABLE [b448aa441] 2020-02-19 08:44:16 +0530 9003Branch: REL9_6_STABLE [59c1a03f0] 2020-02-19 08:52:08 +0530 9004Branch: REL9_5_STABLE [05555f7aa] 2020-02-19 08:59:18 +0530 9005--> 9006 <para> 9007 Remove bogus <quote>subtransaction logged without previous top-level 9008 txn record</quote> error check in logical decoding (Arseny Sher, 9009 Amit Kapila) 9010 </para> 9011 9012 <para> 9013 This condition is legitimately reachable in various scenarios, so 9014 remove the check. 9015 </para> 9016 </listitem> 9017 9018 <listitem> 9019<!-- 9020Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 9021Branch: master [bcd1c3630] 2020-03-17 16:13:18 -0300 9022Branch: REL_12_STABLE [e58e13e84] 2020-03-17 16:13:18 -0300 9023--> 9024 <para> 9025 Avoid possible failure after a replication slot copy, due to 9026 premature removal of WAL data (Masahiko Sawada, Arseny Sher) 9027 </para> 9028 </listitem> 9029 9030 <listitem> 9031<!-- 9032Author: Peter Eisentraut <peter@eisentraut.org> 9033Branch: master [49bf81536] 2020-03-26 13:29:20 +0100 9034Branch: REL_12_STABLE [223e9c77d] 2020-03-26 13:31:07 +0100 9035Branch: REL_11_STABLE [ba4cc05ce] 2020-03-26 13:51:07 +0100 9036Branch: REL_10_STABLE [f36a10434] 2020-03-26 13:51:22 +0100 9037Branch: REL9_6_STABLE [2d8597ba6] 2020-03-26 14:01:56 +0100 9038Branch: REL9_5_STABLE [ce28a43ff] 2020-03-26 14:08:15 +0100 9039Branch: master [a9d9bdd3a] 2020-04-05 10:02:00 +0200 9040Branch: REL_12_STABLE [d278d4e1a] 2020-04-05 10:03:04 +0200 9041Branch: REL_11_STABLE [250041a56] 2020-04-05 10:03:41 +0200 9042Branch: REL_10_STABLE [038c9bbe9] 2020-04-05 10:04:13 +0200 9043Branch: REL9_6_STABLE [3dcaea4b0] 2020-04-05 10:04:26 +0200 9044Branch: REL9_5_STABLE [72b2b9c52] 2020-04-05 10:05:18 +0200 9045--> 9046 <para> 9047 Ensure that a replication 9048 slot's <literal>io_in_progress_lock</literal> is released in failure 9049 code paths (Pavan Deolasee) 9050 </para> 9051 9052 <para> 9053 This could result in a walsender later becoming stuck waiting for 9054 the lock. 9055 </para> 9056 </listitem> 9057 9058 <listitem> 9059<!-- 9060Author: Peter Eisentraut <peter@eisentraut.org> 9061Branch: master [ad3ae6477] 2020-02-17 15:20:57 +0100 9062Branch: REL_12_STABLE [4a97f647d] 2020-02-17 15:21:12 +0100 9063--> 9064 <para> 9065 Ensure that generated columns are correctly handled during updates 9066 issued by logical replication (Peter Eisentraut) 9067 </para> 9068 </listitem> 9069 9070 <listitem> 9071<!-- 9072Author: Tom Lane <tgl@sss.pgh.pa.us> 9073Branch: master [f332241a6] 2020-04-18 14:02:44 -0400 9074Branch: REL_12_STABLE [00ef5d52c] 2020-04-18 14:02:44 -0400 9075Branch: REL_11_STABLE [b3fa6d016] 2020-04-18 14:02:44 -0400 9076Branch: REL_10_STABLE [63ecdaf75] 2020-04-18 14:02:44 -0400 9077Branch: REL9_6_STABLE [c65c1aa82] 2020-04-18 14:02:45 -0400 9078--> 9079 <para> 9080 Fix race conditions in synchronous standby management (Tom Lane) 9081 </para> 9082 9083 <para> 9084 During a change in the <varname>synchronous_standby_names</varname> 9085 setting, there was a window in which wrong decisions could be made 9086 about whether it is OK to release transactions that are waiting for 9087 synchronous commit. Another hazard for similarly wrong decisions 9088 existed if a walsender process exited and was immediately replaced 9089 by another. 9090 </para> 9091 </listitem> 9092 9093 <listitem> 9094<!-- 9095Author: Amit Kapila <akapila@postgresql.org> 9096Branch: master [b4f140869] 2020-03-18 09:27:14 +0530 9097Branch: REL_12_STABLE [e37824136] 2020-03-18 09:33:01 +0530 9098Branch: REL_11_STABLE [18c41cb6b] 2020-03-18 09:37:08 +0530 9099Branch: REL_10_STABLE [569f9354b] 2020-03-18 09:46:52 +0530 9100Branch: REL9_6_STABLE [fe27ce1c1] 2020-03-18 10:08:56 +0530 9101Branch: REL9_5_STABLE [6bdfe428d] 2020-03-18 10:10:27 +0530 9102--> 9103 <para> 9104 Add missing SQLSTATE values to a few error reports (Sawada Masahiko) 9105 </para> 9106 </listitem> 9107 9108 <listitem> 9109<!-- 9110Author: Tom Lane <tgl@sss.pgh.pa.us> 9111Branch: master [761a5688b] 2020-02-19 14:45:17 -0500 9112Branch: REL_12_STABLE [32aa14d40] 2020-02-19 14:44:58 -0500 9113Branch: REL_11_STABLE [612d207bc] 2020-02-19 14:44:58 -0500 9114Branch: REL_10_STABLE [6af63cf8c] 2020-02-19 14:44:58 -0500 9115Branch: REL9_6_STABLE [3e5308969] 2020-02-19 14:44:58 -0500 9116Branch: REL9_5_STABLE [bbefb1154] 2020-02-19 14:44:58 -0500 9117--> 9118 <para> 9119 Fix PL/pgSQL to reliably refuse to execute an event trigger function 9120 as a plain function (Tom Lane) 9121 </para> 9122 </listitem> 9123 9124 <listitem> 9125<!-- 9126Author: Michael Paquier <michael@paquier.xyz> 9127Branch: master [27dbe1a18] 2020-04-22 07:27:03 +0900 9128Branch: REL_12_STABLE [e1c08722a] 2020-04-22 07:27:45 +0900 9129Branch: REL_11_STABLE [35d08658d] 2020-04-22 07:27:49 +0900 9130Branch: REL_10_STABLE [1bb0293d8] 2020-04-22 07:27:53 +0900 9131Branch: REL9_6_STABLE [c9c15790d] 2020-04-22 07:28:00 +0900 9132Branch: REL9_5_STABLE [e5e295d50] 2020-04-22 07:28:04 +0900 9133--> 9134 <para> 9135 Fix memory leak in <application>libpq</application> when 9136 using <literal>sslmode=verify-full</literal> (Roman Peshkurov) 9137 </para> 9138 9139 <para> 9140 Certificate verification during connection startup could leak some 9141 memory. This would become an issue if a client process opened many 9142 database connections during its lifetime. 9143 </para> 9144 </listitem> 9145 9146 <listitem> 9147<!-- 9148Author: Tom Lane <tgl@sss.pgh.pa.us> 9149Branch: master [980a70b97] 2020-03-23 11:58:00 -0400 9150Branch: REL_12_STABLE [036fdf6be] 2020-03-23 11:58:01 -0400 9151Branch: REL_11_STABLE [aae7e8530] 2020-03-23 11:58:01 -0400 9152Branch: REL_10_STABLE [ef7d6d79a] 2020-03-23 11:58:01 -0400 9153Branch: REL9_6_STABLE [c0eb57dd9] 2020-03-23 11:58:01 -0400 9154Branch: REL9_5_STABLE [5f9eace5d] 2020-03-23 11:58:01 -0400 9155--> 9156 <para> 9157 Fix <application>ecpg</application> to treat an argument of 9158 just <quote><literal>-</literal></quote> as meaning <quote>read 9159 from stdin</quote> on all platforms (Tom Lane) 9160 </para> 9161 </listitem> 9162 9163 <listitem> 9164<!-- 9165Author: Michael Paquier <michael@paquier.xyz> 9166Branch: master [8d84dd001] 2020-04-01 14:45:45 +0900 9167Branch: REL_12_STABLE [f79bea4b6] 2020-04-01 14:45:57 +0900 9168--> 9169 <para> 9170 Fix crash in <application>psql</application> when attempting to 9171 re-establish a failed connection (Michael Paquier) 9172 </para> 9173 </listitem> 9174 9175 <listitem> 9176<!-- 9177Author: Bruce Momjian <bruce@momjian.us> 9178Branch: master [08481eedd] 2020-03-31 23:01:34 -0400 9179Branch: REL_12_STABLE [6a50f1af4] 2020-03-31 23:01:33 -0400 9180Branch: REL_11_STABLE [7054e12e0] 2020-03-31 23:01:33 -0400 9181Branch: REL_10_STABLE [a936012d6] 2020-03-31 23:01:33 -0400 9182--> 9183 <para> 9184 Allow tab-completion of the filename argument 9185 to <application>psql</application>'s <command>\gx</command> command 9186 (Vik Fearing) 9187 </para> 9188 </listitem> 9189 9190 <listitem> 9191<!-- 9192Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 9193Branch: master [b08dee24a] 2020-03-11 16:54:54 -0300 9194Branch: REL_12_STABLE [f977e6dec] 2020-03-11 16:54:54 -0300 9195Branch: REL_11_STABLE [e70187c9b] 2020-03-11 16:54:54 -0300 9196Branch: REL_10_STABLE [d04e342ba] 2020-03-11 16:54:54 -0300 9197Branch: REL9_6_STABLE [2b9d70159] 2020-03-11 16:54:54 -0300 9198Branch: master [046001fe3] 2020-03-16 16:27:13 -0300 9199Branch: REL_12_STABLE [cf72898c6] 2020-03-16 16:27:13 -0300 9200Branch: REL_11_STABLE [55978e28c] 2020-03-16 16:27:13 -0300 9201Branch: REL_10_STABLE [c6b75b3f1] 2020-03-16 16:27:13 -0300 9202Branch: REL9_6_STABLE [7984c7e9f] 2020-03-16 16:27:13 -0300 9203Branch: master [899a04f5e] 2020-03-11 11:04:59 -0300 9204Branch: REL_12_STABLE [b7739ebec] 2020-03-11 11:04:59 -0300 9205Branch: REL_11_STABLE [7c094a11c] 2020-03-11 11:04:59 -0300 9206Branch: REL_10_STABLE [3dfd2d6cd] 2020-03-11 11:04:59 -0300 9207Branch: REL9_6_STABLE [73b31e784] 2020-03-11 11:04:59 -0300 9208--> 9209 <para> 9210 Add <application>pg_dump</application> support for <command>ALTER 9211 ... DEPENDS ON EXTENSION</command> (Álvaro Herrera) 9212 </para> 9213 9214 <para> 9215 <application>pg_dump</application> previously ignored dependencies added 9216 this way, causing them to be forgotten during dump/restore or 9217 <application>pg_upgrade</application>. 9218 </para> 9219 </listitem> 9220 9221 <listitem> 9222<!-- 9223Author: Tom Lane <tgl@sss.pgh.pa.us> 9224Branch: master [f31364676] 2020-02-17 18:40:02 -0500 9225Branch: REL_12_STABLE [6da7d3630] 2020-02-17 18:40:02 -0500 9226Branch: REL_11_STABLE [bd2cd138f] 2020-02-17 18:40:02 -0500 9227Branch: REL_10_STABLE [f9d7bb68d] 2020-02-17 18:40:02 -0500 9228Branch: REL9_6_STABLE [3380b9931] 2020-02-17 18:40:02 -0500 9229Branch: REL9_5_STABLE [d9ec8d1d7] 2020-02-17 18:40:02 -0500 9230--> 9231 <para> 9232 Fix <application>pg_dump</application> to dump comments on RLS 9233 policy objects (Tom Lane) 9234 </para> 9235 </listitem> 9236 9237 <listitem> 9238<!-- 9239Author: Tom Lane <tgl@sss.pgh.pa.us> 9240Branch: master [8728b2c70] 2020-03-09 14:58:26 -0400 9241Branch: REL_12_STABLE [4c40b27b5] 2020-03-09 14:58:11 -0400 9242Branch: REL_11_STABLE [f5d49f226] 2020-03-09 14:58:11 -0400 9243Branch: REL_10_STABLE [475b061c8] 2020-03-09 14:58:11 -0400 9244Branch: REL9_6_STABLE [fab545635] 2020-03-09 14:58:11 -0400 9245Branch: REL9_5_STABLE [0b0247644] 2020-03-09 14:58:11 -0400 9246Branch: master [a9d70c108] 2020-04-08 11:23:39 -0400 9247Branch: REL_12_STABLE [983ed99a6] 2020-04-08 11:23:39 -0400 9248Branch: REL_11_STABLE [d050c6113] 2020-04-08 11:23:39 -0400 9249Branch: REL_10_STABLE [830471e0d] 2020-04-08 11:23:39 -0400 9250Branch: REL9_6_STABLE [778066052] 2020-04-08 11:23:40 -0400 9251Branch: REL9_5_STABLE [564c1e6d7] 2020-04-08 11:23:40 -0400 9252--> 9253 <para> 9254 In <application>pg_dump</application>, postpone restore of event 9255 triggers till the end (Fabrízio de Royes Mello, Hamid Akhtar, 9256 Tom Lane) 9257 </para> 9258 9259 <para> 9260 This minimizes the risk that an event trigger could interfere with 9261 the restoration of other objects. 9262 </para> 9263 </listitem> 9264 9265 <listitem> 9266<!-- 9267Author: Robert Haas <rhaas@postgresql.org> 9268Branch: master [0278d3f79] 2020-04-27 13:04:35 -0400 9269Branch: REL_12_STABLE [a08bfe742] 2020-04-27 14:00:36 -0400 9270--> 9271 <para> 9272 Ensure that <application>pg_basebackup</application> generates valid 9273 tar files (Robert Haas) 9274 </para> 9275 9276 <para> 9277 In some cases a partial block of zeroes would be added to the end of 9278 the file. While this seems to be harmless with common versions of 9279 tar, it's not OK per the POSIX file format spec. 9280 </para> 9281 </listitem> 9282 9283 <listitem> 9284<!-- 9285Author: Michael Paquier <michael@paquier.xyz> 9286Branch: master [428a2609e] 2020-02-27 15:31:27 +0900 9287Branch: REL_12_STABLE [f6e8e8b38] 2020-02-27 15:31:48 +0900 9288Branch: REL_11_STABLE [8f9aba187] 2020-02-27 15:31:52 +0900 9289--> 9290 <para> 9291 Make <application>pg_checksums</application> skip tablespace 9292 subdirectories that belong to a 9293 different <productname>PostgreSQL</productname> major version 9294 (Michael Banck, Bernd Helmle) 9295 </para> 9296 9297 <para> 9298 Such subdirectories don't really belong to our database cluster, and 9299 so must not be processed. 9300 </para> 9301 </listitem> 9302 9303 <listitem> 9304<!-- 9305Author: Michael Paquier <michael@paquier.xyz> 9306Branch: master [bf883b211] 2020-02-24 18:13:25 +0900 9307Branch: REL_12_STABLE [a8beece95] 2020-02-24 18:14:16 +0900 9308Branch: REL_11_STABLE [da2a7180a] 2020-02-24 18:14:22 +0900 9309--> 9310 <para> 9311 Ignore temporary copies of <filename>pg_internal.init</filename> 9312 in <application>pg_checksums</application> and related 9313 programs (Michael Paquier) 9314 </para> 9315 </listitem> 9316 9317 <listitem> 9318<!-- 9319Author: Michael Paquier <michael@paquier.xyz> 9320Branch: master [008cf0409] 2020-02-27 11:20:46 +0900 9321Branch: REL_12_STABLE [943affb3d] 2020-02-27 11:21:00 +0900 9322Branch: REL_11_STABLE [83bd732eb] 2020-02-27 11:21:07 +0900 9323Branch: REL_10_STABLE [240c7c75f] 2020-02-27 11:21:14 +0900 9324Branch: REL9_6_STABLE [3340034f2] 2020-02-27 11:21:23 +0900 9325Branch: REL9_5_STABLE [49300e4cf] 2020-02-27 11:21:28 +0900 9326Branch: master [c4b0edb07] 2020-02-27 21:58:37 +0900 9327Branch: REL_12_STABLE [aeb846edb] 2020-02-27 21:58:45 +0900 9328Branch: REL_11_STABLE [8e076f4f9] 2020-02-27 21:58:50 +0900 9329--> 9330 <para> 9331 Fix quoting of <option>--encoding</option>, <option>--lc-ctype</option> 9332 and <option>--lc-collate</option> values 9333 in <application>createdb</application> utility (Michael Paquier) 9334 </para> 9335 </listitem> 9336 9337 <listitem> 9338<!-- 9339Author: Tom Lane <tgl@sss.pgh.pa.us> 9340Branch: master [6dd9f3577] 2020-04-03 11:24:56 -0400 9341Branch: REL_12_STABLE [d56657c35] 2020-04-03 11:24:56 -0400 9342Branch: REL_11_STABLE [7b1552283] 2020-04-03 11:24:56 -0400 9343Branch: REL_10_STABLE [85f0d4703] 2020-04-03 11:24:56 -0400 9344Branch: REL9_6_STABLE [a9f821f48] 2020-04-03 11:24:56 -0400 9345Branch: REL9_5_STABLE [82bc56e63] 2020-04-03 11:24:56 -0400 9346--> 9347 <para> 9348 <filename>contrib/lo</filename>'s <function>lo_manage()</function> 9349 function crashed if called directly rather than as a trigger (Tom 9350 Lane) 9351 </para> 9352 </listitem> 9353 9354 <listitem> 9355<!-- 9356Author: Tom Lane <tgl@sss.pgh.pa.us> 9357Branch: master [95f7ddfda] 2020-03-28 17:09:51 -0400 9358Branch: REL_12_STABLE [2bb6bdbe5] 2020-03-28 17:09:51 -0400 9359Branch: REL_11_STABLE [5feb3d0b3] 2020-03-28 17:09:51 -0400 9360Branch: REL_10_STABLE [2618ac6c6] 2020-03-28 17:09:51 -0400 9361Branch: REL9_6_STABLE [39491aa0d] 2020-03-28 17:09:51 -0400 9362Branch: REL9_5_STABLE [8e1e630d0] 2020-03-28 17:09:52 -0400 9363--> 9364 <para> 9365 In <filename>contrib/ltree</filename>, 9366 protect against overflow of <type>ltree</type> 9367 and <type>lquery</type> length fields (Nikita Glukhov) 9368 </para> 9369 </listitem> 9370 9371 <listitem> 9372<!-- 9373Author: Peter Geoghegan <pg@bowt.ie> 9374Branch: REL_12_STABLE [393b449f1] 2020-03-11 14:15:02 -0700 9375Branch: REL_11_STABLE [c788115b5] 2020-03-11 14:15:00 -0700 9376--> 9377 <para> 9378 Work around failure in <filename>contrib/pageinspect</filename>'s 9379 <function>bt_metap()</function> function when an oldest_xact value 9380 exceeds 2^31-1 (Peter Geoghegan) 9381 </para> 9382 9383 <para> 9384 Such XIDs will now be reported as negative integers, which isn't 9385 great but it beats throwing an error. v13 will widen the output 9386 argument to <type>int8</type> to provide saner reporting. 9387 </para> 9388 </listitem> 9389 9390 <listitem> 9391<!-- 9392Author: Tom Lane <tgl@sss.pgh.pa.us> 9393Branch: master [fc576b7c4] 2020-04-16 14:45:54 -0400 9394Branch: REL_12_STABLE [687e566b9] 2020-04-16 14:45:54 -0400 9395Branch: REL_11_STABLE [cc2737ab0] 2020-04-16 14:45:54 -0400 9396Branch: REL_10_STABLE [f4a420056] 2020-04-16 14:45:54 -0400 9397Branch: REL9_6_STABLE [3cdf2421a] 2020-04-16 14:45:54 -0400 9398Branch: REL9_5_STABLE [46b1b6379] 2020-04-16 14:45:54 -0400 9399--> 9400 <para> 9401 Fix cache reference leak in <filename>contrib/sepgsql</filename> 9402 (Michael Luo) 9403 </para> 9404 </listitem> 9405 9406 <listitem> 9407<!-- 9408Author: Tom Lane <tgl@sss.pgh.pa.us> 9409Branch: master [e02ea141e] 2020-02-16 12:20:18 -0500 9410Branch: REL_12_STABLE [de5e03f7f] 2020-02-16 12:20:18 -0500 9411--> 9412 <para> 9413 On Windows, avoid premature creation of postmaster's log file 9414 during <literal>pg_ctl start</literal> (Alexander Lakhin) 9415 </para> 9416 9417 <para> 9418 The previous coding could allow the file to be created with 9419 permissions that wouldn't allow the postmaster to write on it. 9420 </para> 9421 </listitem> 9422 9423 <listitem> 9424<!-- 9425Author: Tom Lane <tgl@sss.pgh.pa.us> 9426Branch: master [8c49454ca] 2020-03-30 11:14:58 -0400 9427Branch: REL_12_STABLE [de5b9db36] 2020-03-30 11:14:58 -0400 9428Branch: REL_11_STABLE [4bc3a1667] 2020-03-30 11:14:58 -0400 9429Branch: REL_10_STABLE [d59e83cf5] 2020-03-30 11:14:58 -0400 9430Branch: REL9_6_STABLE [f15f5edee] 2020-03-30 11:14:58 -0400 9431Branch: REL9_5_STABLE [6dac1e858] 2020-03-30 11:14:58 -0400 9432--> 9433 <para> 9434 Avoid failures when dealing with Unix-style locale names on 9435 Windows (Juan José Santamaría Flecha) 9436 </para> 9437 </listitem> 9438 9439 <listitem> 9440<!-- 9441Author: Michael Paquier <michael@paquier.xyz> 9442Branch: master [3b77dce86] 2020-03-02 15:45:34 +0900 9443Branch: REL_12_STABLE [3b5709e66] 2020-03-02 15:46:24 +0900 9444--> 9445 <para> 9446 On Windows, set console VT100 compatibility mode in 9447 programs that support <varname>PG_COLOR</varname> colorization 9448 (Juan José Santamaría Flecha) 9449 </para> 9450 9451 <para> 9452 Without this, the colorization option doesn't actually work. 9453 </para> 9454 </listitem> 9455 9456 <listitem> 9457<!-- 9458Author: Tom Lane <tgl@sss.pgh.pa.us> 9459Branch: master [e3a87b499] 2020-03-24 11:49:00 -0400 9460Branch: REL_12_STABLE [a86715451] 2020-03-24 11:48:33 -0400 9461--> 9462 <para> 9463 Stop requiring extra parentheses in <function>ereport()</function> 9464 calls (Andres Freund, Tom Lane) 9465 </para> 9466 </listitem> 9467 9468 <listitem> 9469<!-- 9470Author: Tom Lane <tgl@sss.pgh.pa.us> 9471Branch: master [0bc8cebdb] 2020-03-17 12:09:26 -0400 9472Branch: REL_12_STABLE [d8e7f8149] 2020-03-17 12:09:26 -0400 9473Branch: REL_11_STABLE [9af2f7dc9] 2020-03-17 12:09:27 -0400 9474Branch: REL_10_STABLE [d67d7243f] 2020-03-17 12:09:27 -0400 9475--> 9476 <para> 9477 Use <application>pkg-config</application>, if available, to 9478 locate <application>libxml2</application> 9479 during <application>configure</application> (Hugh McMaster, Tom 9480 Lane, Peter Eisentraut) 9481 </para> 9482 9483 <para> 9484 If <application>pkg-config</application> is not present or lacks 9485 knowledge of <application>libxml2</application>, we still 9486 query <application>xml2-config</application> as before. 9487 </para> 9488 9489 <para> 9490 This change could break build processes that try to 9491 make <productname>PostgreSQL</productname> use a non-default version 9492 of <application>libxml2</application> by putting that 9493 version's <application>xml2-config</application> into 9494 the <varname>PATH</varname>. Instead, 9495 set <varname>XML2_CONFIG</varname> to point to the 9496 non-default <application>xml2-config</application>. That method 9497 will work with either older or 9498 newer <productname>PostgreSQL</productname> releases. 9499 </para> 9500 </listitem> 9501 9502 <listitem> 9503<!-- 9504Author: Bruce Momjian <bruce@momjian.us> 9505Branch: master [051fd5e0f] 2020-03-31 14:17:32 -0400 9506Branch: REL_12_STABLE [297a174d2] 2020-03-31 14:17:32 -0400 9507--> 9508 <para> 9509 Fix Makefile dependencies for <application>libpq</application> 9510 and <application>ecpg</application> (Dagfinn Ilmari Mannsåker) 9511 </para> 9512 </listitem> 9513 9514 <listitem> 9515<!-- 9516Author: Michael Paquier <michael@paquier.xyz> 9517Branch: master [beb2516e9] 2020-05-06 21:08:15 +0900 9518Branch: REL_12_STABLE [8c0939dad] 2020-05-06 21:08:22 +0900 9519Branch: REL_11_STABLE [984aca448] 2020-05-06 21:08:26 +0900 9520Branch: REL_10_STABLE [307ed98b0] 2020-05-06 21:08:31 +0900 9521Branch: REL9_6_STABLE [e07fdc126] 2020-05-06 21:08:38 +0900 9522Branch: REL9_5_STABLE [ad53d6efe] 2020-05-06 21:08:42 +0900 9523--> 9524 <para> 9525 In MSVC builds, cope with spaces in the path name for Python 9526 (Victor Wagner) 9527 </para> 9528 </listitem> 9529 9530 <listitem> 9531<!-- 9532Author: Andrew Dunstan <andrew@dunslane.net> 9533Branch: master [a9659fb65] 2020-04-17 14:44:33 -0400 9534Branch: REL_12_STABLE [6b02bee66] 2020-04-17 14:52:42 -0400 9535Branch: REL_11_STABLE [758814224] 2020-04-17 14:53:56 -0400 9536Branch: REL_10_STABLE [ddac64f2d] 2020-04-17 14:55:55 -0400 9537Branch: REL9_6_STABLE [4c9239d08] 2020-04-17 14:56:56 -0400 9538Branch: REL9_5_STABLE [3ca17999f] 2020-04-17 14:57:15 -0400 9539--> 9540 <para> 9541 In MSVC builds, fix detection of Visual Studio version to work with 9542 more language settings (Andrew Dunstan) 9543 </para> 9544 </listitem> 9545 9546 <listitem> 9547<!-- 9548Author: Andrew Dunstan <andrew@dunslane.net> 9549Branch: master [71c2fd0c0] 2020-03-20 13:55:15 -0400 9550Branch: REL_12_STABLE [d0747714e] 2020-03-20 14:02:05 -0400 9551Branch: REL_11_STABLE [e8a6391fc] 2020-03-20 14:02:15 -0400 9552Branch: REL_10_STABLE [3163349fd] 2020-03-20 14:02:43 -0400 9553Branch: REL9_6_STABLE [80370836f] 2020-03-20 14:03:13 -0400 9554Branch: REL9_5_STABLE [467b40832] 2020-03-20 14:03:31 -0400 9555--> 9556 <para> 9557 In MSVC builds, use <literal>-Wno-deprecated</literal> with bison 9558 versions newer than 3.0, as non-Windows builds already do (Andrew 9559 Dunstan) 9560 </para> 9561 </listitem> 9562 9563 <listitem> 9564<!-- 9565Author: Tom Lane <tgl@sss.pgh.pa.us> 9566Branch: master [4cac3a49e] 2020-04-24 10:54:47 -0400 9567Branch: REL_12_STABLE [c820692bd] 2020-04-24 10:55:00 -0400 9568Branch: REL_11_STABLE [eb335bc62] 2020-04-24 10:55:05 -0400 9569Branch: REL_10_STABLE [898921a18] 2020-04-24 10:55:10 -0400 9570Branch: REL9_6_STABLE [66be99742] 2020-04-24 10:55:17 -0400 9571Branch: REL9_5_STABLE [39006ae7a] 2020-04-24 10:55:23 -0400 9572Branch: master [6c5f91616] 2020-04-24 17:53:23 -0400 9573Branch: REL_12_STABLE [1e07e3fc0] 2020-04-24 17:53:23 -0400 9574Branch: REL_11_STABLE [b31f9fd63] 2020-04-24 17:53:23 -0400 9575Branch: REL_10_STABLE [40d4bc5ac] 2020-04-24 17:53:23 -0400 9576Branch: REL9_6_STABLE [f65f3a5d8] 2020-04-24 17:53:23 -0400 9577Branch: REL9_5_STABLE [3cdb45c54] 2020-04-24 17:53:23 -0400 9578Branch: master [bd8c5cee9] 2020-04-24 17:21:44 -0400 9579Branch: REL_12_STABLE [a2342c658] 2020-04-24 17:21:44 -0400 9580Branch: REL_11_STABLE [99c9ed224] 2020-04-24 17:21:44 -0400 9581Branch: REL_10_STABLE [4985b3b84] 2020-04-24 17:21:44 -0400 9582Branch: REL9_6_STABLE [351252904] 2020-04-24 17:21:44 -0400 9583Branch: REL9_5_STABLE [3f3ab184c] 2020-04-24 17:21:44 -0400 9584--> 9585 <para> 9586 Update time zone data files to <application>tzdata</application> 9587 release 2020a for DST law changes in Morocco and the Canadian Yukon, 9588 plus historical corrections for Shanghai. 9589 </para> 9590 9591 <para> 9592 The America/Godthab zone has been renamed to America/Nuuk to reflect 9593 current English usage; however, the old name remains available as a 9594 compatibility link. 9595 </para> 9596 9597 <para> 9598 Also, update <application>initdb</application>'s list of known 9599 Windows time zone names to include recent additions, improving the 9600 odds that it will correctly translate the system time zone setting 9601 on that platform. 9602 </para> 9603 </listitem> 9604 9605 </itemizedlist> 9606 9607 </sect2> 9608 </sect1> 9609 9610 <sect1 id="release-12-2"> 9611 <title>Release 12.2</title> 9612 9613 <formalpara> 9614 <title>Release date:</title> 9615 <para>2020-02-13</para> 9616 </formalpara> 9617 9618 <para> 9619 This release contains a variety of fixes from 12.1. 9620 For information about new features in major release 12, see 9621 <xref linkend="release-12"/>. 9622 </para> 9623 9624 <sect2> 9625 <title>Migration to Version 12.2</title> 9626 9627 <para> 9628 A dump/restore is not required for those running 12.X. 9629 </para> 9630 9631 <para> 9632 However, if you have any foreign key constraints referencing 9633 partitioned tables, see the two entries below about bugs in that 9634 feature. 9635 </para> 9636 </sect2> 9637 9638 <sect2> 9639 <title>Changes</title> 9640 9641 <itemizedlist> 9642 9643 <listitem> 9644<!-- 9645Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 9646Branch: master [b048f558d] 2020-02-10 11:47:09 -0300 9647Branch: REL_12_STABLE [2ad125322] 2020-02-10 11:47:09 -0300 9648Branch: REL_11_STABLE [bdd19e48a] 2020-02-10 11:47:09 -0300 9649Branch: REL_10_STABLE [ac1a998ed] 2020-02-10 11:47:09 -0300 9650Branch: REL9_6_STABLE [e8b8eb937] 2020-02-10 12:06:25 -0300 9651--> 9652 <para> 9653 Add missing permissions checks for <command>ALTER ... DEPENDS ON 9654 EXTENSION</command> (Álvaro Herrera) 9655 </para> 9656 9657 <para> 9658 Marking an object as dependent on an extension did not have any 9659 privilege check whatsoever. This oversight allowed any user to mark 9660 routines, triggers, materialized views, or indexes as droppable by 9661 anyone able to drop an extension. Require that the calling user own 9662 the specified object (and hence have privilege to drop it). 9663 (CVE-2020-1720) 9664 </para> 9665 </listitem> 9666 9667 <listitem> 9668<!-- 9669Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 9670Branch: master [9710d3d4a] 2020-02-07 17:09:36 -0300 9671Branch: REL_12_STABLE [ce054a8cd] 2020-02-07 17:09:36 -0300 9672--> 9673 <para> 9674 Fix <command>TRUNCATE ... CASCADE</command> to ensure all relevant 9675 partitions are truncated (Jehan-Guillaume de Rorthais) 9676 </para> 9677 9678 <para> 9679 If a partition of a partitioned table is truncated with 9680 the <literal>CASCADE</literal> option, and the partitioned table has 9681 a foreign-key reference from another table, that table must also be 9682 truncated. The need to check this was missed if the referencing 9683 table was itself partitioned, possibly allowing rows to survive that 9684 violate the foreign-key constraint. 9685 </para> 9686 9687 <para> 9688 Hence, if you have foreign key constraints between partitioned 9689 tables, and you have done any 9690 partition-level <command>TRUNCATE</command> on the referenced table, 9691 you should check to see if any foreign key violations exist. The 9692 simplest way is to add a new instance of the foreign key constraint 9693 (and, once that succeeds, drop it or the original constraint). 9694 That may be prohibitive from a locking standpoint, however, in which 9695 case you might prefer to manually query for unmatched rows. 9696 </para> 9697 </listitem> 9698 9699 <listitem> 9700<!-- 9701Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 9702Branch: master [55173d2e6] 2020-02-07 18:27:18 -0300 9703Branch: REL_12_STABLE [2c80a656c] 2020-02-07 18:27:18 -0300 9704--> 9705 <para> 9706 Fix failure to attach foreign key constraints to sub-partitions 9707 (Jehan-Guillaume de Rorthais) 9708 </para> 9709 9710 <para> 9711 When adding a partition to a level below the first level of a 9712 multi-level partitioned table, foreign key constraints referencing 9713 the top partitioned table were not cloned to the new partition, 9714 leading to possible constraint violations later. Detaching and 9715 re-attaching the new partition is the cheapest way to fix this. 9716 However, if there are many partitions to be fixed, adding a new 9717 instance of the foreign key constraint might be preferable. 9718 </para> 9719 </listitem> 9720 9721 <listitem> 9722<!-- 9723Author: Tom Lane <tgl@sss.pgh.pa.us> 9724Branch: master [01d9676a5] 2020-01-28 17:26:37 -0500 9725Branch: REL_12_STABLE [87fed2a19] 2020-01-28 17:26:37 -0500 9726--> 9727 <para> 9728 Fix possible crash during concurrent update on a partitioned table 9729 or inheritance tree (Tom Lane) 9730 </para> 9731 </listitem> 9732 9733 <listitem> 9734<!-- 9735Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 9736Branch: master [1fa846f1c] 2020-01-02 17:04:24 -0300 9737Branch: REL_12_STABLE [d73214839] 2020-01-02 17:04:24 -0300 9738Branch: REL_11_STABLE [adc9cb6f2] 2020-01-02 17:04:24 -0300 9739--> 9740 <para> 9741 Ensure that row triggers on partitioned tables are correctly 9742 cloned to sub-partitions when appropriate 9743 (Álvaro Herrera) 9744 </para> 9745 9746 <para> 9747 User-defined triggers (but not triggers for foreign key or deferred 9748 unique constraints) might be missed when creating or attaching a 9749 partition. 9750 </para> 9751 </listitem> 9752 9753 <listitem> 9754<!-- 9755Author: Peter Eisentraut <peter@eisentraut.org> 9756Branch: master [b9c130a1f] 2020-01-06 08:40:00 +0100 9757Branch: REL_12_STABLE [8c2bfd9f9] 2020-01-06 10:43:55 +0100 9758Branch: REL_11_STABLE [7474393e0] 2020-01-06 11:38:24 +0100 9759Branch: REL_10_STABLE [66fd0adc7] 2020-01-06 11:38:33 +0100 9760--> 9761 <para> 9762 Fix logical replication subscriber code to execute 9763 per-column <literal>UPDATE</literal> triggers when appropriate 9764 (Peter Eisentraut) 9765 </para> 9766 </listitem> 9767 9768 <listitem> 9769<!-- 9770Author: Amit Kapila <akapila@postgresql.org> 9771Branch: master [d20703805] 2020-01-02 11:41:04 +0530 9772Branch: REL_12_STABLE [f8a6d8e71] 2020-01-02 11:53:53 +0530 9773Branch: REL_11_STABLE [3e3a79735] 2020-01-02 12:04:13 +0530 9774Branch: REL_10_STABLE [27b5f48c7] 2020-01-02 12:11:55 +0530 9775Branch: REL9_6_STABLE [ba5b4e506] 2020-01-02 11:29:50 +0530 9776Branch: REL9_5_STABLE [a6f4f407a] 2020-01-02 12:28:02 +0530 9777Branch: REL9_4_STABLE [1ad47e875] 2020-01-02 12:38:29 +0530 9778Branch: master [ed7bb5c31] 2020-01-14 07:53:50 +0530 9779Branch: REL_12_STABLE [fa1eaebfa] 2020-01-14 08:05:05 +0530 9780Branch: REL_11_STABLE [17869eca7] 2020-01-14 08:12:12 +0530 9781Branch: REL_10_STABLE [f9e95252a] 2020-01-14 08:20:11 +0530 9782--> 9783 <para> 9784 Avoid failure in logical decoding when a large transaction must be 9785 spilled into many separate temporary files (Amit Khandekar) 9786 </para> 9787 </listitem> 9788 9789 <listitem> 9790<!-- 9791Author: Tom Lane <tgl@sss.pgh.pa.us> 9792Branch: master [4d9ceb001] 2019-11-22 11:31:19 -0500 9793Branch: REL_12_STABLE [a2aa224e0] 2019-11-22 11:31:19 -0500 9794Branch: REL_11_STABLE [b72a44c51] 2019-11-22 11:31:19 -0500 9795Branch: REL_10_STABLE [5d3fcb53a] 2019-11-22 11:31:19 -0500 9796--> 9797 <para> 9798 Fix possible crash or data corruption when a logical replication 9799 subscriber processes a row update (Tom Lane, Tomas Vondra) 9800 </para> 9801 9802 <para> 9803 This bug caused visible problems only if the subscriber's table 9804 contained columns that were not being copied from the publisher and 9805 had pass-by-reference data types. 9806 </para> 9807 </listitem> 9808 9809 <listitem> 9810<!-- 9811Author: Amit Kapila <akapila@postgresql.org> 9812Branch: master [04c8a69c0] 2019-12-18 07:49:18 +0530 9813Branch: REL_12_STABLE [c74111d8b] 2019-12-18 07:57:01 +0530 9814Branch: REL_11_STABLE [046830164] 2019-12-18 08:16:31 +0530 9815Branch: REL_10_STABLE [d6eca4958] 2019-12-18 08:27:41 +0530 9816--> 9817 <para> 9818 Fix crash in logical replication subscriber after DDL changes on a 9819 subscribed relation (Jehan-Guillaume de Rorthais, Vignesh C) 9820 </para> 9821 </listitem> 9822 9823 <listitem> 9824<!-- 9825Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 9826Branch: master [15cac3a52] 2020-01-17 18:00:39 -0300 9827Branch: REL_12_STABLE [bc2140627] 2020-01-17 18:00:39 -0300 9828Branch: REL_11_STABLE [fe955ebee] 2020-01-17 18:00:39 -0300 9829Branch: REL_10_STABLE [e3154aae3] 2020-01-17 18:00:39 -0300 9830Branch: REL9_6_STABLE [cdb14154b] 2020-01-17 18:00:39 -0300 9831Branch: REL9_5_STABLE [58997ace5] 2020-01-17 18:00:39 -0300 9832Branch: REL9_4_STABLE [20a1dc1e3] 2020-01-17 18:00:39 -0300 9833--> 9834 <para> 9835 Fix failure in logical replication publisher after a database crash 9836 and restart (Vignesh C) 9837 </para> 9838 </listitem> 9839 9840 <listitem> 9841<!-- 9842Author: Michael Paquier <michael@paquier.xyz> 9843Branch: master [b0afdcad2] 2020-01-30 11:14:02 +0900 9844Branch: REL_12_STABLE [3228512b7] 2020-01-30 11:15:28 +0900 9845Branch: REL_11_STABLE [374464c3e] 2020-01-30 11:15:35 +0900 9846Branch: master [7ca8c9706] 2020-01-31 13:57:56 +0900 9847Branch: REL_12_STABLE [706ad6a4d] 2020-01-31 13:58:05 +0900 9848Branch: REL_11_STABLE [8b29c75f6] 2020-01-31 13:58:11 +0900 9849--> 9850 <para> 9851 Ensure that the effect 9852 of <function>pg_replication_slot_advance()</function> on a physical 9853 replication slot will persist across restarts (Alexey Kondratov, 9854 Michael Paquier) 9855 </para> 9856 </listitem> 9857 9858 <listitem> 9859<!-- 9860Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 9861Branch: master [1c7a0b387] 2020-02-03 18:59:12 -0300 9862Branch: REL_12_STABLE [42e3187a8] 2020-02-03 18:59:12 -0300 9863Branch: REL_11_STABLE [beefab654] 2020-02-03 18:59:12 -0300 9864Branch: REL_10_STABLE [380bc8829] 2020-02-03 18:59:12 -0300 9865--> 9866 <para> 9867 Improve efficiency of logical replication with <literal>REPLICA 9868 IDENTITY FULL</literal> (Konstantin Knizhnik) 9869 </para> 9870 9871 <para> 9872 When searching for an existing tuple during an update or delete 9873 operation, return the first matching tuple not the last one. 9874 </para> 9875 </listitem> 9876 9877 <listitem> 9878<!-- 9879Author: Peter Eisentraut <peter@eisentraut.org> 9880Branch: master [259bbe177] 2020-01-13 13:41:12 +0100 9881Branch: REL_12_STABLE [bf65f3c88] 2020-01-13 13:41:09 +0100 9882--> 9883 <para> 9884 Fix base backup to handle database OIDs larger 9885 than <literal>INT32_MAX</literal> (Peter Eisentraut) 9886 </para> 9887 </listitem> 9888 9889 <listitem> 9890<!-- 9891Author: Thomas Munro <tmunro@postgresql.org> 9892Branch: master [76cbfcdf3] 2019-11-16 10:11:30 +1300 9893Branch: REL_12_STABLE [24897e1a1] 2019-11-16 10:18:45 +1300 9894Branch: REL_11_STABLE [bc049d0d4] 2019-11-16 10:19:16 +1300 9895--> 9896 <para> 9897 Ensure parallel plans are always shut down at the correct time 9898 (Kyotaro Horiguchi) 9899 </para> 9900 9901 <para> 9902 This oversight is known to result in <quote>temporary file 9903 leak</quote> warnings from multi-batch parallel hash joins. 9904 </para> 9905 </listitem> 9906 9907 <listitem> 9908<!-- 9909Author: Amit Kapila <akapila@postgresql.org> 9910Branch: master [080313f82] 2019-11-26 08:30:24 +0530 9911Branch: REL_12_STABLE [1cc3a90c7] 2019-11-26 08:55:06 +0530 9912Branch: REL_11_STABLE [d0ccfa9d6] 2019-11-26 09:07:35 +0530 9913Branch: REL_10_STABLE [f7ae68aac] 2019-11-26 09:23:45 +0530 9914Branch: REL9_6_STABLE [1ad0df67c] 2019-11-26 09:41:41 +0530 9915--> 9916 <para> 9917 Prevent premature shutdown of a Gather or GatherMerge plan node that 9918 is underneath a Limit node (Amit Kapila) 9919 </para> 9920 9921 <para> 9922 This avoids failure if such a plan node needs to be scanned more 9923 than once, as for instance if it is on the inside of a nestloop. 9924 </para> 9925 </listitem> 9926 9927 <listitem> 9928<!-- 9929Author: Thomas Munro <tmunro@postgresql.org> 9930Branch: master [3e4818e9d] 2020-01-27 15:07:03 +1300 9931Branch: REL_12_STABLE [f9d0be241] 2020-01-27 14:11:24 +1300 9932Branch: REL_11_STABLE [6a9fc75d0] 2020-01-27 14:12:18 +1300 9933--> 9934 <para> 9935 Improve efficiency of parallel hash join on CPUs with many cores 9936 (Gang Deng, Thomas Munro) 9937 </para> 9938 </listitem> 9939 9940 <listitem> 9941<!-- 9942Author: Thomas Munro <tmunro@postgresql.org> 9943Branch: master [74618e77b] 2020-01-31 10:25:34 +1300 9944Branch: REL_12_STABLE [1fcf62e0b] 2020-01-31 10:27:53 +1300 9945Branch: REL_11_STABLE [2c56b3ac4] 2020-01-31 11:12:21 +1300 9946Branch: master [d9fe702a2] 2020-02-05 12:27:00 +1300 9947Branch: REL_12_STABLE [2e2351bd6] 2020-02-05 12:28:33 +1300 9948Branch: REL_11_STABLE [c4a2041a4] 2020-02-05 12:30:06 +1300 9949--> 9950 <para> 9951 Avoid crash in parallel <command>CREATE INDEX</command> when there 9952 are no free dynamic shared memory slots (Thomas Munro) 9953 </para> 9954 9955 <para> 9956 Fall back to a non-parallel index build, instead. 9957 </para> 9958 </listitem> 9959 9960 <listitem> 9961<!-- 9962Author: Thomas Munro <tmunro@postgresql.org> 9963Branch: master [93745f1e0] 2020-02-01 14:29:13 +1300 9964Branch: REL_12_STABLE [24dd34af1] 2020-02-01 14:49:57 +1300 9965Branch: REL_11_STABLE [600387f5d] 2020-02-01 22:57:46 +1300 9966Branch: REL_10_STABLE [aab30cd4e] 2020-02-01 14:54:48 +1300 9967Branch: REL9_6_STABLE [93be45245] 2020-02-01 14:57:40 +1300 9968Branch: REL9_5_STABLE [a5f45c3dd] 2020-02-01 14:59:58 +1300 9969Branch: REL9_4_STABLE [95936c795] 2020-02-01 15:10:20 +1300 9970--> 9971 <para> 9972 Avoid memory leak when there are no free dynamic shared memory slots 9973 (Thomas Munro) 9974 </para> 9975 </listitem> 9976 9977 <listitem> 9978<!-- 9979Author: Michael Paquier <michael@paquier.xyz> 9980Branch: master [a904abe2e] 2020-01-22 09:49:18 +0900 9981Branch: REL_12_STABLE [817a1b88a] 2020-01-22 09:49:24 +0900 9982Branch: REL_11_STABLE [5b4b07fa9] 2020-01-22 09:49:28 +0900 9983Branch: REL_10_STABLE [9055344b4] 2020-01-22 09:49:33 +0900 9984Branch: REL9_6_STABLE [ef33edeb5] 2020-01-22 09:49:39 +0900 9985Branch: REL9_5_STABLE [c39f45598] 2020-01-22 09:49:44 +0900 9986Branch: REL9_4_STABLE [d76652edc] 2020-01-22 09:49:48 +0900 9987--> 9988 <para> 9989 Ignore the <literal>CONCURRENTLY</literal> option when performing an 9990 index creation, drop, or rebuild on a temporary table (Michael 9991 Paquier, Heikki Linnakangas, Andres Freund) 9992 </para> 9993 9994 <para> 9995 This avoids strange failures if the temporary table has 9996 an <literal>ON COMMIT</literal> action. There is no benefit in 9997 using <literal>CONCURRENTLY</literal> for a temporary table anyway, 9998 since other sessions cannot access the table, making the extra 9999 processing pointless. 10000 </para> 10001 </listitem> 10002 10003 <listitem> 10004<!-- 10005Author: Tom Lane <tgl@sss.pgh.pa.us> 10006Branch: master [c35b714ca] 2019-12-01 13:09:26 -0500 10007Branch: REL_12_STABLE [b154d70f7] 2019-12-01 13:09:26 -0500 10008Branch: REL_11_STABLE [768a401e2] 2019-12-01 13:09:26 -0500 10009Branch: REL_10_STABLE [25c7183c0] 2019-12-01 13:09:27 -0500 10010Branch: REL9_6_STABLE [283f095d0] 2019-12-01 13:09:27 -0500 10011Branch: REL9_5_STABLE [cfffa8a6b] 2019-12-01 13:09:27 -0500 10012Branch: REL9_4_STABLE [0c84e992c] 2019-12-01 13:09:27 -0500 10013--> 10014 <para> 10015 Fix possible failure when resetting expression indexes on temporary 10016 tables that are marked <literal>ON COMMIT DELETE ROWS</literal> 10017 (Tom Lane) 10018 </para> 10019 </listitem> 10020 10021 <listitem> 10022<!-- 10023Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 10024Branch: master [4c8701098] 2020-01-20 10:36:35 +0200 10025Branch: REL_12_STABLE [fd436bba0] 2020-01-20 10:36:45 +0200 10026Branch: REL_11_STABLE [da7abcf0f] 2020-01-20 10:36:47 +0200 10027Branch: REL_10_STABLE [ff0c567cb] 2020-01-20 10:36:50 +0200 10028Branch: REL9_6_STABLE [e96f30d89] 2020-01-20 10:36:52 +0200 10029Branch: REL9_5_STABLE [98f0d2837] 2020-01-20 10:36:55 +0200 10030--> 10031 <para> 10032 Fix possible crash in BRIN index operations 10033 with <type>box</type>, <type>range</type> and <type>inet</type> data 10034 types (Heikki Linnakangas) 10035 </para> 10036 </listitem> 10037 10038 <listitem> 10039<!-- 10040Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 10041Branch: master [a7ee7c851] 2019-12-13 23:58:10 +0200 10042Branch: REL_12_STABLE [70c4f500e] 2019-12-13 23:59:00 +0200 10043Branch: master [741b88435] 2019-12-16 13:57:41 +0200 10044Branch: REL_12_STABLE [42d1acd2e] 2019-12-16 13:58:07 +0200 10045--> 10046 <para> 10047 Fix crash during recursive page split in GiST index build (Heikki 10048 Linnakangas) 10049 </para> 10050 </listitem> 10051 10052 <listitem> 10053<!-- 10054Author: Alexander Korotkov <akorotkov@postgresql.org> 10055Branch: master [b10714080] 2019-11-20 00:12:33 +0300 10056Branch: REL_12_STABLE [a64e7e05a] 2019-11-20 00:17:58 +0300 10057Branch: REL_11_STABLE [7d467dee0] 2019-11-20 00:18:02 +0300 10058Branch: master [e14641197] 2019-11-20 00:04:09 +0300 10059Branch: REL_12_STABLE [051c50c01] 2019-11-20 00:04:53 +0300 10060Branch: REL_11_STABLE [9f2927989] 2019-11-20 00:05:12 +0300 10061Branch: REL_10_STABLE [21ad61ab3] 2019-11-20 00:05:35 +0300 10062Branch: master [d5ad7a09a] 2019-11-20 00:04:22 +0300 10063Branch: REL_12_STABLE [ee437ca74] 2019-11-20 00:05:01 +0300 10064Branch: REL_11_STABLE [c0bf35421] 2019-11-20 00:05:21 +0300 10065Branch: REL_10_STABLE [ab64b474d] 2019-11-20 00:05:42 +0300 10066Branch: REL9_6_STABLE [99f5888d3] 2019-11-19 23:47:29 +0300 10067Branch: REL9_5_STABLE [4fc485684] 2019-11-20 00:01:55 +0300 10068Branch: REL9_4_STABLE [1414821e1] 2019-11-20 00:03:04 +0300 10069Author: Tom Lane <tgl@sss.pgh.pa.us> 10070Branch: master [4093ff573] 2020-02-09 12:02:57 -0500 10071Branch: REL_12_STABLE [baf487123] 2020-02-09 12:02:57 -0500 10072Branch: REL_11_STABLE [f91706b00] 2020-02-09 12:02:57 -0500 10073--> 10074 <para> 10075 Fix handling of deleted pages in GIN indexes (Alexander Korotkov) 10076 </para> 10077 10078 <para> 10079 Avoid possible deadlocks, incorrect updates of a deleted page's 10080 state, and failure to traverse through a recently-deleted page. 10081 </para> 10082 </listitem> 10083 10084 <listitem> 10085<!-- 10086Author: Tom Lane <tgl@sss.pgh.pa.us> 10087Branch: master [41c6f9db2] 2020-01-17 16:17:31 -0500 10088Branch: REL_12_STABLE [2e2646060] 2020-01-17 16:17:32 -0500 10089Branch: REL_11_STABLE [d8e877b86] 2020-01-17 16:17:33 -0500 10090Branch: REL_10_STABLE [167fd022f] 2020-01-17 16:17:35 -0500 10091Branch: REL9_6_STABLE [45f03cfa5] 2020-01-17 16:17:36 -0500 10092Branch: REL9_5_STABLE [396472278] 2020-01-17 16:17:37 -0500 10093Branch: REL9_4_STABLE [eb9d1f050] 2020-01-17 16:17:39 -0500 10094--> 10095 <para> 10096 Fix possible crash with a SubPlan (sub-<literal>SELECT</literal>) 10097 within a multi-row <literal>VALUES</literal> list (Tom Lane) 10098 </para> 10099 </listitem> 10100 10101 <listitem> 10102<!-- 10103Author: Tom Lane <tgl@sss.pgh.pa.us> 10104Branch: master [4ac8aaa36] 2020-01-08 09:42:53 -0500 10105Branch: REL_12_STABLE [c24f3b70e] 2020-01-08 09:42:53 -0500 10106--> 10107 <para> 10108 Fix failure in <command>ALTER TABLE</command> when a column 10109 referenced in a <literal>GENERATED</literal> expression has been 10110 added or changed in type earlier in the 10111 same <command>ALTER</command> command (Tom Lane) 10112 </para> 10113 </listitem> 10114 10115 <listitem> 10116<!-- 10117Author: Andrew Gierth <rhodiumtoad@postgresql.org> 10118Branch: master [bf6cc19e3] 2020-02-05 20:21:20 +0000 10119Branch: REL_12_STABLE [0e37489ed] 2020-02-05 20:08:11 +0000 10120Branch: REL_11_STABLE [d8f1c03a4] 2020-02-05 20:15:13 +0000 10121--> 10122 <para> 10123 Fix failure to insert default values for <quote>missing</quote> 10124 attributes during tuple conversion (Vik Fearing, Andrew Gierth) 10125 </para> 10126 10127 <para> 10128 This could result in values incorrectly reading as NULL, when 10129 they come from columns that had been added by <literal>ALTER 10130 TABLE ADD COLUMN</literal> with a constant default. 10131 </para> 10132 </listitem> 10133 10134 <listitem> 10135<!-- 10136Author: Thomas Munro <tmunro@postgresql.org> 10137Branch: master [7bb3102ce] 2019-12-14 16:32:03 +1300 10138Branch: REL_12_STABLE [c3dc0cdd6] 2019-12-14 16:34:21 +1300 10139Branch: master [7c85be08a] 2019-12-14 18:35:58 +1300 10140Branch: REL_12_STABLE [fd005e1a8] 2019-12-14 19:03:44 +1300 10141--> 10142 <para> 10143 Fix unlikely panic in the checkpointer process, caused by opening 10144 relation segments that might already have been removed (Thomas Munro) 10145 </para> 10146 </listitem> 10147 10148 <listitem> 10149<!-- 10150Author: Noah Misch <noah@leadboat.com> 10151Branch: master [38fc05607] 2020-01-10 18:31:22 -0800 10152Branch: REL_12_STABLE [93078e63f] 2020-01-10 18:31:25 -0800 10153Branch: REL_11_STABLE [2e86e154d] 2020-01-10 18:31:26 -0800 10154Branch: REL_10_STABLE [cb9774245] 2020-01-10 18:31:26 -0800 10155--> 10156 <para> 10157 Fix crash after FileClose() failure (Noah Misch) 10158 </para> 10159 10160 <para> 10161 This issue could only be observed 10162 with <varname>data_sync_retry</varname> enabled, since otherwise 10163 FileClose() failure would be reported as a PANIC. 10164 </para> 10165 </listitem> 10166 10167 <listitem> 10168<!-- 10169Author: Etsuro Fujita <efujita@postgresql.org> 10170Branch: master [5a20b0219] 2019-12-10 18:00:30 +0900 10171Branch: REL_12_STABLE [547e454cb] 2019-12-10 18:00:31 +0900 10172--> 10173 <para> 10174 Fix handling of multiple <literal>AFTER ROW</literal> triggers on a 10175 foreign table (Etsuro Fujita) 10176 </para> 10177 </listitem> 10178 10179 <listitem> 10180<!-- 10181Author: Andres Freund <andres@anarazel.de> 10182Branch: master [affdde2e1] 2020-01-20 23:26:51 -0800 10183Branch: REL_12_STABLE [21fdfd0e8] 2020-01-20 23:29:35 -0800 10184Branch: REL_11_STABLE [c8e0e560e] 2020-01-20 23:29:38 -0800 10185Branch: REL_10_STABLE [8bb006a41] 2020-01-20 23:30:47 -0800 10186Branch: REL9_6_STABLE [d4c339924] 2020-01-20 23:31:48 -0800 10187Branch: REL9_5_STABLE [f651976d9] 2020-01-20 23:31:52 -0800 10188Branch: REL9_4_STABLE [ba1dfbe22] 2020-01-20 23:32:21 -0800 10189--> 10190 <para> 10191 Fix unlikely crash with pass-by-reference aggregate transition 10192 states (Andres Freund, Teodor Sigaev) 10193 </para> 10194 </listitem> 10195 10196 <listitem> 10197<!-- 10198Author: Tom Lane <tgl@sss.pgh.pa.us> 10199Branch: master [4c70098ff] 2020-01-23 13:42:09 -0500 10200Branch: REL_12_STABLE [be13f227f] 2020-01-23 13:42:10 -0500 10201Branch: REL_11_STABLE [fb12aefaa] 2020-01-23 13:42:10 -0500 10202Branch: REL_10_STABLE [212b870d6] 2020-01-23 13:42:10 -0500 10203Branch: REL9_6_STABLE [9e24575f6] 2020-01-23 13:42:10 -0500 10204Branch: REL9_5_STABLE [a576f2a8f] 2020-01-23 13:42:10 -0500 10205Branch: REL9_4_STABLE [600b953d7] 2020-01-23 13:42:10 -0500 10206Branch: master [9a3a75cb8] 2020-01-23 16:15:32 -0500 10207Branch: REL_12_STABLE [f309c812e] 2020-01-23 16:15:32 -0500 10208Branch: REL_11_STABLE [7a9fef299] 2020-01-23 16:15:32 -0500 10209Branch: REL_10_STABLE [d6a9548b2] 2020-01-23 16:15:32 -0500 10210Branch: REL9_6_STABLE [451f50813] 2020-01-23 16:15:32 -0500 10211Branch: REL9_5_STABLE [0e63d9641] 2020-01-23 16:15:32 -0500 10212Branch: REL9_4_STABLE [8fc33e6cc] 2020-01-23 16:15:32 -0500 10213--> 10214 <para> 10215 Improve error reporting in <function>to_date()</function> 10216 and <function>to_timestamp()</function> 10217 (Tom Lane, Álvaro Herrera) 10218 </para> 10219 10220 <para> 10221 Reports about incorrect month or day names in input strings could 10222 truncate the input in the middle of a multi-byte character, leading 10223 to an improperly encoded error message that could cause follow-on 10224 failures. Truncate at the next whitespace instead. 10225 </para> 10226 </listitem> 10227 10228 <listitem> 10229<!-- 10230Author: Tom Lane <tgl@sss.pgh.pa.us> 10231Branch: master [1a3efa1eb] 2019-12-12 12:30:43 -0500 10232Branch: REL_12_STABLE [07c4b6ac7] 2019-12-12 12:30:44 -0500 10233Branch: REL_11_STABLE [332584da9] 2019-12-12 12:30:44 -0500 10234Branch: REL_10_STABLE [c965c42a5] 2019-12-12 12:30:44 -0500 10235Branch: REL9_6_STABLE [6e2ac8d66] 2019-12-12 12:30:44 -0500 10236Branch: REL9_5_STABLE [323c47925] 2019-12-12 12:30:44 -0500 10237Branch: REL9_4_STABLE [6aa126311] 2019-12-12 12:30:44 -0500 10238--> 10239 <para> 10240 Fix off-by-one result for <literal>EXTRACT(ISOYEAR 10241 FROM <replaceable>timestamp</replaceable>)</literal> for BC dates 10242 (Tom Lane) 10243 </para> 10244 </listitem> 10245 10246 <listitem> 10247<!-- 10248Author: Tom Lane <tgl@sss.pgh.pa.us> 10249Branch: master [d57d61533] 2019-11-13 15:53:53 -0500 10250Branch: REL_12_STABLE [5a6eea092] 2019-11-13 15:53:53 -0500 10251--> 10252 <para> 10253 Ensure that the <literal><></literal> operator for 10254 type <type>char</type> reports indeterminate-collation errors as 10255 such, rather than as <quote>cache lookup failed for collation 10256 0</quote> (Tom Lane) 10257 </para> 10258 </listitem> 10259 10260 <listitem> 10261<!-- 10262Author: Fujii Masao <fujii@postgresql.org> 10263Branch: master [cb5b28613] 2020-02-07 22:06:31 +0900 10264Branch: REL_12_STABLE [598b466e8] 2020-02-07 22:07:44 +0900 10265Branch: REL_12_STABLE [4faea7fdf] 2020-02-08 12:29:38 +0900 10266--> 10267 <para> 10268 Avoid treating TID scans as sequential scans (Tatsuhito Kasahara) 10269 </para> 10270 10271 <para> 10272 A refactoring oversight caused TID scans (selection by CTID) to be 10273 counted as sequential scans in the statistics views, and to take 10274 whole-table predicate locks as sequential scans do. The latter 10275 behavior could cause unnecessary serialization errors in 10276 serializable transaction mode. 10277 </para> 10278 </listitem> 10279 10280 <listitem> 10281<!-- 10282Author: Tom Lane <tgl@sss.pgh.pa.us> 10283Branch: master [4a0aab14d] 2019-11-21 16:21:43 -0500 10284Branch: REL_12_STABLE [5186f7625] 2019-11-21 16:21:43 -0500 10285Branch: REL_11_STABLE [669138ebd] 2019-11-21 16:21:44 -0500 10286Branch: REL_10_STABLE [b9f3d7a53] 2019-11-21 16:21:44 -0500 10287Branch: REL9_6_STABLE [52434ba73] 2019-11-21 16:21:44 -0500 10288Branch: REL9_5_STABLE [bcd541897] 2019-11-21 16:21:44 -0500 10289Branch: REL9_4_STABLE [f09829017] 2019-11-21 16:21:44 -0500 10290--> 10291 <para> 10292 Avoid stack overflow in <literal>information_schema</literal> views 10293 when a self-referential view exists in the system catalogs 10294 (Tom Lane) 10295 </para> 10296 10297 <para> 10298 A self-referential view can't work; it will always result in 10299 infinite recursion. We handled that situation correctly when 10300 trying to execute the view, but not when inquiring whether it is 10301 automatically updatable. 10302 </para> 10303 </listitem> 10304 10305 <listitem> 10306<!-- 10307Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 10308Branch: master [b175bd59f] 2020-01-07 17:38:48 -0300 10309Branch: REL_12_STABLE [fce9ba819] 2020-01-07 17:38:48 -0300 10310Branch: REL_11_STABLE [896db774e] 2020-01-07 17:38:48 -0300 10311Branch: REL_10_STABLE [8de3b68fa] 2020-01-07 17:55:21 -0300 10312Branch: master [f5d28710c] 2020-01-08 14:33:49 -0300 10313Branch: REL_12_STABLE [20c4df8c8] 2020-01-08 14:33:49 -0300 10314Branch: REL_11_STABLE [af43581e8] 2020-01-08 14:33:49 -0300 10315Branch: REL_10_STABLE [da42b9f3f] 2020-01-08 14:33:49 -0300 10316--> 10317 <para> 10318 Ensure that walsender processes always show NULL for transaction 10319 start time in <structname>pg_stat_activity</structname> 10320 (Álvaro Herrera) 10321 </para> 10322 10323 <para> 10324 Previously, the <structfield>xact_start</structfield> column would 10325 sometimes show the process start time. 10326 </para> 10327 </listitem> 10328 10329 <listitem> 10330<!-- 10331Author: Thomas Munro <tmunro@postgresql.org> 10332Branch: master [e69d64454] 2019-12-24 13:05:43 +1300 10333Branch: REL_12_STABLE [8052aaf52] 2019-12-24 13:07:54 +1300 10334Branch: REL_11_STABLE [9e551a14c] 2019-12-24 13:09:56 +1300 10335Branch: REL_10_STABLE [8e89bc6df] 2019-12-24 13:11:13 +1300 10336Branch: REL9_6_STABLE [15861deb6] 2019-12-24 13:12:50 +1300 10337Branch: REL9_5_STABLE [893eaf0be] 2019-12-24 13:13:13 +1300 10338Branch: REL9_4_STABLE [5c0a132cf] 2019-12-24 13:13:30 +1300 10339--> 10340 <para> 10341 Improve performance of hash joins with very large inner relations 10342 (Thomas Munro) 10343 </para> 10344 </listitem> 10345 10346 <listitem> 10347<!-- 10348Author: Tom Lane <tgl@sss.pgh.pa.us> 10349Branch: master [e369f3708] 2020-01-06 16:42:20 -0500 10350Branch: REL_12_STABLE [b89845267] 2020-01-06 16:42:20 -0500 10351--> 10352 <para> 10353 Reduce spinlock contention when there are many active walsender 10354 processes (Pierre Ducroquet) 10355 </para> 10356 </listitem> 10357 10358 <listitem> 10359<!-- 10360Author: Tom Lane <tgl@sss.pgh.pa.us> 10361Branch: master [7d91b604d] 2020-02-04 13:07:13 -0500 10362Branch: REL_12_STABLE [9a85860e1] 2020-02-04 13:07:13 -0500 10363Branch: REL_11_STABLE [842a23efa] 2020-02-04 13:07:13 -0500 10364--> 10365 <para> 10366 Fix placement of <quote>Subplans Removed</quote> field 10367 in <command>EXPLAIN</command> output (Daniel Gustafsson, Tom Lane) 10368 </para> 10369 10370 <para> 10371 In non-text output formats, this field was emitted inside 10372 the <quote>Plans</quote> sub-group, resulting in syntactically 10373 invalid output. Attach it to the parent Append or MergeAppend plan 10374 node as intended. This causes the field to change position in text 10375 output format too: if there are any InitPlans attached to the same 10376 plan node, <quote>Subplans Removed</quote> will now appear before 10377 those. 10378 </para> 10379 </listitem> 10380 10381 <listitem> 10382<!-- 10383Author: Tom Lane <tgl@sss.pgh.pa.us> 10384Branch: master [3ec20c709] 2020-01-26 16:32:19 -0500 10385Branch: REL_12_STABLE [bad494380] 2020-01-26 16:31:48 -0500 10386--> 10387 <para> 10388 Fix <command>EXPLAIN</command>'s <literal>SETTINGS</literal> option 10389 to print as empty in non-text output formats (Tom Lane) 10390 </para> 10391 10392 <para> 10393 In the non-text output formats, fields are supposed to appear when 10394 requested, even if they have empty or zero values. 10395 </para> 10396 </listitem> 10397 10398 <listitem> 10399<!-- 10400Author: Tom Lane <tgl@sss.pgh.pa.us> 10401Branch: master [553d2ec27] 2019-11-26 14:41:48 -0500 10402Branch: REL_12_STABLE [21a4edd12] 2019-11-26 14:41:48 -0500 10403Branch: REL_11_STABLE [1d9056f56] 2019-11-26 14:41:48 -0500 10404--> 10405 <para> 10406 Allow the planner to apply potentially-leaky tests to child-table 10407 statistics, if the user can read the corresponding column of the 10408 table that's actually named in the query (Dilip Kumar, Amit Langote) 10409 </para> 10410 10411 <para> 10412 This change fixes a performance problem for partitioned tables that 10413 was created by the fix for CVE-2017-7484. That security fix 10414 disallowed applying leaky operators to statistics for columns that 10415 the current user doesn't have permission to read directly. However, 10416 it's somewhat common to grant permissions only on the parent 10417 partitioned table and not bother to do so on individual partitions. 10418 In such cases, the user can read the column via the parent, so 10419 there's no point in this security restriction; it only results in 10420 poorer planner estimates than necessary. 10421 </para> 10422 </listitem> 10423 10424 <listitem> 10425<!-- 10426Author: Tom Lane <tgl@sss.pgh.pa.us> 10427Branch: master [6ea364e7e] 2019-12-14 13:49:15 -0500 10428Branch: REL_12_STABLE [d04e2553d] 2019-12-14 13:49:15 -0500 10429--> 10430 <para> 10431 Fix planner errors induced by overly-aggressive collapsing of joins 10432 to single-row subqueries (Tom Lane) 10433 </para> 10434 10435 <para> 10436 This mistake led to errors such as <quote>failed to construct the 10437 join relation</quote>. 10438 </para> 10439 </listitem> 10440 10441 <listitem> 10442<!-- 10443Author: Tom Lane <tgl@sss.pgh.pa.us> 10444Branch: master [b3c265d7b] 2019-11-19 17:03:34 -0500 10445Branch: REL_12_STABLE [bffe18e3e] 2019-11-19 17:03:35 -0500 10446--> 10447 <para> 10448 Fix <quote>no = operator for 10449 opfamily <replaceable>NNNN</replaceable></quote> planner error when 10450 trying to match a <literal>LIKE</literal> or regex pattern-match 10451 operator to a binary-compatible index opclass (Tom Lane) 10452 </para> 10453 </listitem> 10454 10455 <listitem> 10456<!-- 10457Author: Tom Lane <tgl@sss.pgh.pa.us> 10458Branch: master [652686a33] 2020-01-12 14:36:59 -0500 10459Branch: REL_12_STABLE [70c17a812] 2020-01-12 14:37:00 -0500 10460Branch: REL_11_STABLE [5832be6ca] 2020-01-12 14:37:00 -0500 10461Branch: REL_10_STABLE [8c8b456b5] 2020-01-12 14:37:00 -0500 10462Branch: REL9_6_STABLE [2dd10477c] 2020-01-12 14:37:00 -0500 10463Branch: REL9_5_STABLE [784c58da1] 2020-01-12 14:37:00 -0500 10464Branch: REL9_4_STABLE [6bd567b65] 2020-01-12 14:37:00 -0500 10465--> 10466 <para> 10467 Fix edge-case crashes and misestimations in selectivity calculations 10468 for the <literal><@</literal> and <literal>@></literal> range 10469 operators (Michael Paquier, Andrey Borodin, Tom Lane) 10470 </para> 10471 </listitem> 10472 10473 <listitem> 10474<!-- 10475Author: Tomas Vondra <tomas.vondra@postgresql.org> 10476Branch: master [c676e659b] 2019-11-28 22:20:45 +0100 10477Branch: REL_12_STABLE [ef3fed2ce] 2019-11-28 22:26:25 +0100 10478Branch: master [6d61c3f1c] 2019-11-28 23:25:14 +0100 10479Branch: REL_12_STABLE [79d6e6afa] 2019-11-28 23:28:53 +0100 10480--> 10481 <para> 10482 Fix incorrect estimation for <literal>OR</literal> clauses when 10483 using most-common-value extended statistics (Tomas Vondra) 10484 </para> 10485 </listitem> 10486 10487 <listitem> 10488<!-- 10489Author: Tomas Vondra <tomas.vondra@postgresql.org> 10490Branch: master [d482f7f86] 2019-11-16 01:17:15 +0100 10491Branch: REL_12_STABLE [28555a53c] 2019-11-16 01:25:14 +0100 10492Branch: REL_11_STABLE [25a9ff6ca] 2019-11-16 01:58:38 +0100 10493Branch: REL_10_STABLE [0b0f281cc] 2019-11-16 01:42:20 +0100 10494--> 10495 <para> 10496 Ignore system columns when applying most-common-value 10497 extended statistics (Tomas Vondra) 10498 </para> 10499 10500 <para> 10501 This prevents <quote>negative bitmapset member not allowed</quote> 10502 planner errors for affected queries. 10503 </para> 10504 </listitem> 10505 10506 <listitem> 10507<!-- 10508Author: Michael Paquier <michael@paquier.xyz> 10509Branch: master [168d20640] 2019-11-21 10:23:28 +0900 10510Branch: REL_12_STABLE [c644407f7] 2019-11-21 10:23:38 +0900 10511Branch: REL_11_STABLE [62074a343] 2019-11-21 10:23:43 +0900 10512Branch: REL_10_STABLE [f4095026c] 2019-11-21 10:23:49 +0900 10513--> 10514 <para> 10515 Fix BRIN index logic to support hypothetical BRIN indexes 10516 (Julien Rouhaud, Heikki Linnakangas) 10517 </para> 10518 10519 <para> 10520 Previously, if an <quote>index adviser</quote> extension tried to 10521 get the planner to produce a plan involving a hypothetical BRIN 10522 index, that would fail, because the BRIN cost estimation code would 10523 always try to physically access the index's metapage. Now it checks 10524 to see if the index is only hypothetical, and uses default 10525 assumptions about the index parameters if so. 10526 </para> 10527 </listitem> 10528 10529 <listitem> 10530<!-- 10531Author: Dean Rasheed <dean.a.rasheed@gmail.com> 10532Branch: master [d751ba523] 2020-01-14 09:52:21 +0000 10533Branch: REL_12_STABLE [fd5476b79] 2020-01-14 09:51:28 +0000 10534Branch: REL_11_STABLE [9bdb1f0e3] 2020-01-14 09:50:51 +0000 10535Branch: REL_10_STABLE [353cd826f] 2020-01-14 09:50:13 +0000 10536Branch: REL9_6_STABLE [fd87262de] 2020-01-14 09:49:23 +0000 10537Branch: REL9_5_STABLE [bb09a9414] 2020-01-14 09:48:44 +0000 10538Branch: REL9_4_STABLE [9be6fcb3e] 2020-01-14 09:47:44 +0000 10539--> 10540 <para> 10541 Improve error reporting for attempts to use automatic updating of 10542 views with conditional <literal>INSTEAD</literal> rules (Dean Rasheed) 10543 </para> 10544 10545 <para> 10546 This has never been supported, but previously the error was thrown 10547 only at execution time, so that it could be masked by planner errors. 10548 </para> 10549 </listitem> 10550 10551 <listitem> 10552<!-- 10553Author: Tom Lane <tgl@sss.pgh.pa.us> 10554Branch: master [fc7695891] 2019-12-23 12:08:23 -0500 10555Branch: REL_12_STABLE [976cb11f6] 2019-12-23 12:08:23 -0500 10556Branch: REL_11_STABLE [31dfa40a8] 2019-12-23 12:08:24 -0500 10557Branch: REL_10_STABLE [4af2531d0] 2019-12-23 12:08:24 -0500 10558Branch: REL9_6_STABLE [354d913f9] 2019-12-23 12:08:24 -0500 10559Branch: REL9_5_STABLE [6609c3ad9] 2019-12-23 12:08:24 -0500 10560Branch: REL9_4_STABLE [0d245d13c] 2019-12-23 12:08:24 -0500 10561Branch: master [74b35eb46] 2020-01-31 17:03:55 -0500 10562Branch: REL_12_STABLE [65aa15513] 2020-01-31 17:03:55 -0500 10563Branch: REL_11_STABLE [25dc267a1] 2020-01-31 17:03:55 -0500 10564Branch: REL_10_STABLE [de3d2df75] 2020-01-31 17:03:55 -0500 10565Branch: REL9_6_STABLE [742c646c1] 2020-01-31 17:03:55 -0500 10566Branch: REL9_5_STABLE [59047b6d0] 2020-01-31 17:03:55 -0500 10567Branch: REL9_4_STABLE [f521ef0ae] 2020-01-31 17:03:55 -0500 10568--> 10569 <para> 10570 Prevent a composite type from being included in itself indirectly 10571 via a range type (Tom Lane, Julien Rouhaud) 10572 </para> 10573 </listitem> 10574 10575 <listitem> 10576<!-- 10577Author: Tom Lane <tgl@sss.pgh.pa.us> 10578Branch: master [39ebb943d] 2019-12-23 12:53:12 -0500 10579Branch: REL_12_STABLE [7fbb39a96] 2019-12-23 12:53:13 -0500 10580Branch: REL_11_STABLE [281dd22ac] 2019-12-23 12:53:13 -0500 10581Branch: REL_10_STABLE [ea1205a02] 2019-12-23 12:53:13 -0500 10582--> 10583 <para> 10584 Disallow partition key expressions that return pseudo-types, such 10585 as <type>record</type> (Tom Lane) 10586 </para> 10587 </listitem> 10588 10589 <listitem> 10590<!-- 10591Author: Tom Lane <tgl@sss.pgh.pa.us> 10592Branch: master [2acab054b] 2019-12-17 17:44:27 -0500 10593Branch: REL_12_STABLE [97ba30fab] 2019-12-17 17:44:28 -0500 10594Branch: REL_11_STABLE [fc449abc3] 2019-12-17 17:44:28 -0500 10595Branch: REL_10_STABLE [5c5a268c6] 2019-12-17 17:44:28 -0500 10596Branch: REL9_6_STABLE [275a8ac4f] 2019-12-17 17:44:28 -0500 10597Branch: REL9_5_STABLE [da5dd4218] 2019-12-17 17:44:28 -0500 10598Branch: REL9_4_STABLE [298d056d9] 2019-12-17 17:44:28 -0500 10599--> 10600 <para> 10601 Fix error reporting for index expressions of prohibited types 10602 (Amit Langote) 10603 </para> 10604 </listitem> 10605 10606 <listitem> 10607<!-- 10608Author: Tom Lane <tgl@sss.pgh.pa.us> 10609Branch: master [bf2efc55d] 2019-11-16 20:00:19 -0500 10610Branch: REL_12_STABLE [fcaf29d87] 2019-11-16 20:00:19 -0500 10611Branch: REL_11_STABLE [d898edf4f] 2019-11-16 20:00:19 -0500 10612Branch: REL_10_STABLE [a1b2cf095] 2019-11-16 20:00:19 -0500 10613Branch: REL9_6_STABLE [e4865bbdc] 2019-11-16 20:00:19 -0500 10614Branch: REL9_5_STABLE [ecb533af6] 2019-11-16 20:00:20 -0500 10615Branch: REL9_4_STABLE [65da6dd1d] 2019-11-16 20:00:20 -0500 10616--> 10617 <para> 10618 Fix dumping of views that contain only a <literal>VALUES</literal> 10619 list to handle cases where a view output column has been renamed 10620 (Tom Lane) 10621 </para> 10622 </listitem> 10623 10624 <listitem> 10625<!-- 10626Author: Tom Lane <tgl@sss.pgh.pa.us> 10627Branch: master [2c7b5dad6] 2019-11-13 12:11:49 -0500 10628Branch: REL_12_STABLE [eec569fac] 2019-11-13 12:11:49 -0500 10629Branch: REL_11_STABLE [94a9cb43f] 2019-11-13 12:11:49 -0500 10630Branch: REL_10_STABLE [e25c4b3b2] 2019-11-13 12:11:50 -0500 10631--> 10632 <para> 10633 Ensure that data types and collations used 10634 in <literal>XMLTABLE</literal> constructs are accounted for when 10635 computing dependencies of a view or rule (Tom Lane) 10636 </para> 10637 10638 <para> 10639 Previously it was possible to break a view 10640 using <literal>XMLTABLE</literal> by dropping a type, if the type 10641 was not otherwise referenced in the view. This fix does not 10642 correct the dependencies already recorded for existing views, only 10643 for newly-created ones. 10644 </para> 10645 </listitem> 10646 10647 <listitem> 10648<!-- 10649Author: Tom Lane <tgl@sss.pgh.pa.us> 10650Branch: master [7618eaf5f] 2019-11-13 13:41:04 -0500 10651Branch: REL_12_STABLE [d9802590a] 2019-11-13 13:41:04 -0500 10652Branch: REL_11_STABLE [d66e68207] 2019-11-13 13:41:04 -0500 10653Branch: REL_10_STABLE [4be69e2ea] 2019-11-13 13:41:04 -0500 10654--> 10655 <para> 10656 Prevent unwanted downcasing and truncation of RADIUS authentication 10657 parameters (Marcos David) 10658 </para> 10659 10660 <para> 10661 The <filename>pg_hba.conf</filename> parser mistakenly treated these 10662 fields as SQL identifiers, which in general they aren't. 10663 </para> 10664 </listitem> 10665 10666 <listitem> 10667<!-- 10668Author: Tom Lane <tgl@sss.pgh.pa.us> 10669Branch: master [790026972] 2019-11-24 14:42:59 -0500 10670Branch: REL_12_STABLE [c47f498c9] 2019-11-24 14:42:59 -0500 10671Branch: REL_11_STABLE [377d1b95b] 2019-11-24 14:42:59 -0500 10672Branch: REL_10_STABLE [dbe15524b] 2019-11-24 14:42:59 -0500 10673Branch: REL9_6_STABLE [111298aa6] 2019-11-24 14:42:59 -0500 10674--> 10675 <para> 10676 Transmit incoming <command>NOTIFY</command> messages to the client 10677 before sending <literal>ReadyForQuery</literal>, rather than after 10678 (Tom Lane) 10679 </para> 10680 10681 <para> 10682 This change ensures that, with libpq and other client libraries that 10683 act similarly to it, any notifications received during a transaction 10684 will be available by the time the client thinks the transaction is 10685 complete. This probably makes no difference in practical 10686 applications (which would need to cope with asynchronous 10687 notifications in any case); but it makes it easier to build test 10688 cases with reproducible behavior. 10689 </para> 10690 </listitem> 10691 10692 <listitem> 10693<!-- 10694Author: Tom Lane <tgl@sss.pgh.pa.us> 10695Branch: master [2c0cdc818] 2020-01-11 17:14:08 -0500 10696Branch: REL_12_STABLE [fde155424] 2020-01-11 17:14:08 -0500 10697--> 10698 <para> 10699 Fix bugs in handling of non-blocking I/O when using GSSAPI 10700 encryption (Tom Lane) 10701 </para> 10702 10703 <para> 10704 These errors could result in dropping data (usually leading to 10705 subsequent wire-protocol-violation errors) or in 10706 a <quote>livelock</quote> situation where a sending process goes to 10707 sleep although not all its data has been sent. 10708 Moreover, <application>libpq</application> failed to keep separate 10709 encryption state for each connection, creating the possibility for 10710 failures in applications using multiple encrypted database 10711 connections. 10712 </para> 10713 </listitem> 10714 10715 <listitem> 10716<!-- 10717Author: Tom Lane <tgl@sss.pgh.pa.us> 10718Branch: master [e60b480d3] 2019-12-20 15:34:07 -0500 10719Branch: REL_12_STABLE [e8f60e6fe] 2019-12-20 15:34:07 -0500 10720Branch: REL_11_STABLE [1a77ea02d] 2019-12-20 15:34:08 -0500 10721Branch: REL_10_STABLE [d09cfa3e2] 2019-12-20 15:34:08 -0500 10722Branch: REL9_6_STABLE [c11bd6c10] 2019-12-20 15:34:08 -0500 10723Branch: REL9_5_STABLE [5e22a1111] 2019-12-20 15:34:08 -0500 10724Branch: REL9_4_STABLE [875c7d70d] 2019-12-20 15:34:08 -0500 10725--> 10726 <para> 10727 Allow <application>libpq</application> to parse all GSS-related 10728 connection parameters even when the GSSAPI code hasn't been compiled 10729 in (Tom Lane) 10730 </para> 10731 10732 <para> 10733 This makes the behavior similar to our SSL support, where it was 10734 long ago deemed to be a good idea to always accept all the related 10735 parameters, even if some are ignored or restricted due to lack of 10736 the feature in a particular build. 10737 </para> 10738 </listitem> 10739 10740 <listitem> 10741<!-- 10742Author: Tomas Vondra <tomas.vondra@postgresql.org> 10743Branch: master [3ff660bbe] 2019-11-30 14:51:27 +0100 10744Branch: REL_12_STABLE [0dafed6fe] 2019-11-30 15:04:02 +0100 10745Branch: REL_11_STABLE [9668bf5d5] 2019-11-30 15:05:31 +0100 10746Branch: REL_10_STABLE [f71b22f53] 2019-11-30 15:07:47 +0100 10747Branch: REL9_6_STABLE [c59414da7] 2019-11-30 15:10:14 +0100 10748Branch: REL9_5_STABLE [a17602de1] 2019-11-30 15:14:12 +0100 10749Branch: REL9_4_STABLE [d9b974e99] 2019-11-30 15:16:58 +0100 10750--> 10751 <para> 10752 Fix incorrect handling of <literal>%b</literal> 10753 and <literal>%B</literal> format codes 10754 in <application>ecpg</application>'s 10755 <function>PGTYPEStimestamp_fmt_asc()</function> function 10756 (Tomas Vondra) 10757 </para> 10758 10759 <para> 10760 Due to an off-by-one error, these codes would print the wrong month 10761 name, or possibly crash. 10762 </para> 10763 </listitem> 10764 10765 <listitem> 10766<!-- 10767Author: Tom Lane <tgl@sss.pgh.pa.us> 10768Branch: master [44f1fc8df] 2020-01-19 19:15:15 -0500 10769Branch: REL_12_STABLE [c7c2cc670] 2020-01-19 19:15:15 -0500 10770--> 10771 <para> 10772 Avoid crash after an out-of-memory failure 10773 in <application>ecpglib</application> (Tom Lane) 10774 </para> 10775 </listitem> 10776 10777 <listitem> 10778<!-- 10779Author: Tom Lane <tgl@sss.pgh.pa.us> 10780Branch: master [2425f8f71] 2020-01-31 14:41:49 -0500 10781Branch: REL_12_STABLE [0c84199f7] 2020-01-31 14:41:49 -0500 10782Branch: REL_11_STABLE [63634883f] 2020-01-31 14:41:49 -0500 10783Branch: REL_10_STABLE [8b1d447a7] 2020-01-31 14:41:49 -0500 10784Branch: REL9_6_STABLE [cb4c04a4e] 2020-01-31 14:41:49 -0500 10785Branch: REL9_5_STABLE [1b78759a6] 2020-01-31 14:41:49 -0500 10786Branch: REL9_4_STABLE [5d60df830] 2020-01-31 14:41:49 -0500 10787--> 10788 <para> 10789 Fix 10790 parallel <application>pg_dump</application>/<application>pg_restore</application> 10791 to more gracefully handle failure to create worker processes 10792 (Tom Lane) 10793 </para> 10794 </listitem> 10795 10796 <listitem> 10797<!-- 10798Author: Tom Lane <tgl@sss.pgh.pa.us> 10799Branch: master [cd23a2019] 2020-01-20 12:57:17 -0500 10800Branch: REL_12_STABLE [71b121f42] 2020-01-20 12:57:17 -0500 10801Branch: REL_11_STABLE [4ea5cf403] 2020-01-20 12:57:17 -0500 10802Branch: REL_10_STABLE [6f6daa1be] 2020-01-20 12:57:17 -0500 10803Branch: REL9_6_STABLE [208e262f9] 2020-01-20 12:57:17 -0500 10804Branch: REL9_5_STABLE [b1392a950] 2020-01-20 12:57:17 -0500 10805Branch: REL9_4_STABLE [42e538fe6] 2020-01-20 12:57:18 -0500 10806--> 10807 <para> 10808 Prevent possible crash or lockup when attempting to terminate a 10809 parallel <application>pg_dump</application>/<application>pg_restore</application> 10810 run via a signal (Tom Lane) 10811 </para> 10812 </listitem> 10813 10814 <listitem> 10815<!-- 10816Author: Tom Lane <tgl@sss.pgh.pa.us> 10817Branch: master [29aeda6e4] 2019-11-13 11:35:37 -0500 10818Branch: REL_12_STABLE [1cd57b05e] 2019-11-13 11:35:37 -0500 10819Branch: REL_11_STABLE [8e4ef3287] 2019-11-13 11:35:37 -0500 10820Branch: REL_10_STABLE [c443e3c43] 2019-11-13 11:35:37 -0500 10821Branch: REL9_6_STABLE [f378d4dac] 2019-11-13 11:35:37 -0500 10822Branch: REL9_5_STABLE [fb26754af] 2019-11-13 11:35:37 -0500 10823Branch: REL9_4_STABLE [56c06999d] 2019-11-13 11:35:37 -0500 10824--> 10825 <para> 10826 In <application>pg_upgrade</application>, look inside arrays and 10827 ranges while searching for non-upgradable data types in tables 10828 (Tom Lane) 10829 </para> 10830 </listitem> 10831 10832 <listitem> 10833<!-- 10834Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 10835Branch: master [8fa8e0115] 2020-02-10 12:14:58 -0300 10836Branch: REL_12_STABLE [87d014da9] 2020-02-10 12:14:58 -0300 10837Branch: REL_11_STABLE [ca902add6] 2020-02-10 12:14:58 -0300 10838Branch: REL_10_STABLE [163161723] 2020-02-10 12:14:58 -0300 10839Branch: REL9_6_STABLE [5575fc208] 2020-02-10 12:14:58 -0300 10840Branch: REL9_5_STABLE [1b2ae4bcd] 2020-02-10 12:16:40 -0300 10841Branch: REL9_4_STABLE [6f1e443a6] 2020-02-10 12:14:58 -0300 10842--> 10843 <para> 10844 Apply more thorough syntax checking 10845 to <application>createuser</application>'s 10846 <option>--connection-limit</option> option (Álvaro Herrera) 10847 </para> 10848 </listitem> 10849 10850 <listitem> 10851<!-- 10852Author: Tom Lane <tgl@sss.pgh.pa.us> 10853Branch: master [4ba4bfaf2] 2019-12-26 15:19:39 -0500 10854Branch: REL_12_STABLE [883c27a1c] 2019-12-26 15:19:39 -0500 10855Branch: REL_11_STABLE [ee206cb83] 2019-12-26 15:19:39 -0500 10856--> 10857 <para> 10858 Cope with changes of the specific type referenced by a PL/pgSQL 10859 composite-type variable in more cases (Ashutosh Sharma, Tom Lane) 10860 </para> 10861 10862 <para> 10863 Dropping and re-creating the composite type referenced by a PL/pgSQL 10864 variable could lead to <quote>could not open relation with 10865 OID <replaceable>NNNN</replaceable></quote> errors. 10866 </para> 10867 </listitem> 10868 10869 <listitem> 10870<!-- 10871Author: Tom Lane <tgl@sss.pgh.pa.us> 10872Branch: master [215824f91] 2020-01-26 14:31:08 -0500 10873Branch: REL_12_STABLE [7294f99a0] 2020-01-26 14:31:08 -0500 10874Branch: REL_11_STABLE [5220ced0d] 2020-01-26 14:31:08 -0500 10875Branch: REL_10_STABLE [603e03b4c] 2020-01-26 14:31:08 -0500 10876Branch: REL9_6_STABLE [43a648f57] 2020-01-26 14:31:08 -0500 10877--> 10878 <para> 10879 Avoid crash in <filename>postgres_fdw</filename> when trying to 10880 send a command like <literal>UPDATE remote_tab SET (x,y) = (SELECT 10881 ...)</literal> to the remote server (Tom Lane) 10882 </para> 10883 </listitem> 10884 10885 <listitem> 10886<!-- 10887Author: Tomas Vondra <tomas.vondra@postgresql.org> 10888Branch: master [b52739436] 2019-12-03 18:40:07 +0100 10889Branch: REL_12_STABLE [a8a8c6b29] 2019-12-03 18:40:48 +0100 10890Branch: REL_11_STABLE [267eb954c] 2019-12-03 18:41:29 +0100 10891Branch: REL_10_STABLE [46ce37b67] 2019-12-03 18:41:50 +0100 10892Branch: REL9_6_STABLE [fabdad822] 2019-12-03 18:42:25 +0100 10893Branch: REL9_5_STABLE [a2fdeb786] 2019-12-03 18:42:54 +0100 10894Branch: REL9_4_STABLE [44381b1af] 2019-12-03 18:43:15 +0100 10895--> 10896 <para> 10897 In <filename>contrib/dict_int</filename>, 10898 reject <varname>maxlen</varname> settings less than one 10899 (Tomas Vondra) 10900 </para> 10901 10902 <para> 10903 This prevents a possible crash with silly settings for that parameter. 10904 </para> 10905 </listitem> 10906 10907 <listitem> 10908<!-- 10909Author: Joe Conway <mail@joeconway.com> 10910Branch: master [d5b9c2baf] 2019-12-23 13:33:25 -0500 10911Branch: REL_12_STABLE [b5e7569dd] 2019-12-23 13:33:34 -0500 10912Branch: REL_11_STABLE [f49e5efbc] 2019-12-23 13:33:42 -0500 10913Branch: REL_10_STABLE [81be0c57e] 2019-12-23 13:33:50 -0500 10914Branch: REL9_6_STABLE [3757c1640] 2019-12-23 13:33:57 -0500 10915Branch: REL9_5_STABLE [70fc6c4ef] 2019-12-23 13:34:05 -0500 10916Branch: REL9_4_STABLE [4a3cdb531] 2019-12-23 13:34:12 -0500 10917--> 10918 <para> 10919 Disallow NULL category values 10920 in <filename>contrib/tablefunc</filename>'s 10921 <function>crosstab()</function> function (Joe Conway) 10922 </para> 10923 10924 <para> 10925 This case never worked usefully, and it would crash on some 10926 platforms. 10927 </para> 10928 </listitem> 10929 10930 <listitem> 10931<!-- 10932Author: Michael Paquier <michael@paquier.xyz> 10933Branch: master [7d0bcb047] 2019-12-06 15:13:55 +0900 10934Branch: REL_12_STABLE [902276ff1] 2019-12-06 15:14:26 +0900 10935Branch: REL_11_STABLE [7ad544fd8] 2019-12-06 15:14:31 +0900 10936--> 10937 <para> 10938 Fix <application>configure</application>'s probe for 10939 OpenSSL's <function>SSL_clear_options()</function> function so that 10940 it works with OpenSSL versions before 1.1.0 (Michael Paquier, Daniel 10941 Gustafsson) 10942 </para> 10943 10944 <para> 10945 This problem could lead to failure to set the SSL compression option 10946 as desired, when <productname>PostgreSQL</productname> is built against 10947 an old version of OpenSSL. 10948 </para> 10949 </listitem> 10950 10951 <listitem> 10952<!-- 10953Author: Michael Paquier <michael@paquier.xyz> 10954Branch: master [62c9b5223] 2020-01-21 13:46:39 +0900 10955Branch: REL_12_STABLE [ef8e6b2c2] 2020-01-21 13:46:55 +0900 10956Branch: REL_11_STABLE [7c7026bb7] 2020-01-21 13:47:01 +0900 10957Branch: REL_10_STABLE [1ef7332b7] 2020-01-21 13:47:05 +0900 10958Branch: REL9_6_STABLE [9740cdbe5] 2020-01-21 13:47:10 +0900 10959Branch: REL9_5_STABLE [4a49149b9] 2020-01-21 13:47:13 +0900 10960Branch: REL9_4_STABLE [dbe405b78] 2020-01-21 13:47:17 +0900 10961--> 10962 <para> 10963 Mark some timeout and statistics-tracking GUC variables 10964 as <literal>PGDLLIMPORT</literal>, to allow extensions to access 10965 them on Windows (Pascal Legrand) 10966 </para> 10967 10968 <para> 10969 This applies to 10970 <literal>idle_in_transaction_session_timeout</literal>, 10971 <literal>lock_timeout</literal>, 10972 <literal>statement_timeout</literal>, 10973 <literal>track_activities</literal>, 10974 <literal>track_counts</literal>, and 10975 <literal>track_functions</literal>. 10976 </para> 10977 </listitem> 10978 10979 <listitem> 10980<!-- 10981Author: Tomas Vondra <tomas.vondra@postgresql.org> 10982Branch: master [543852fd8] 2020-01-17 15:29:11 +0100 10983Branch: REL_12_STABLE [162c951df] 2020-01-17 15:30:51 +0100 10984Branch: REL_11_STABLE [8c37e4469] 2020-01-17 15:31:33 +0100 10985Branch: REL_10_STABLE [a801452c9] 2020-01-17 15:32:03 +0100 10986--> 10987 <para> 10988 Avoid memory leak in sanity checks for <quote>slab</quote> memory 10989 contexts (Tomas Vondra) 10990 </para> 10991 10992 <para> 10993 This isn't an issue for production builds, since they wouldn't 10994 ordinarily have memory context checking enabled; but the leak could 10995 be quite severe in a debug build. 10996 </para> 10997 </listitem> 10998 10999 <listitem> 11000<!-- 11001Author: Fujii Masao <fujii@postgresql.org> 11002Branch: master [3ccc66dac] 2020-02-06 14:43:21 +0900 11003Branch: REL_12_STABLE [3d214a8e5] 2020-02-06 14:44:22 +0900 11004Branch: REL_11_STABLE [ac25e1044] 2020-02-06 14:44:40 +0900 11005Branch: REL_10_STABLE [c17abac60] 2020-02-06 14:44:59 +0900 11006--> 11007 <para> 11008 Fix multiple statistics entries reported by the LWLock statistics 11009 mechanism (Fujii Masao) 11010 </para> 11011 11012 <para> 11013 The LWLock statistics code (which is not built by default; it 11014 requires compiling with <option>-DLWLOCK_STATS</option>) 11015 could report multiple entries for the same LWLock and backend 11016 process, as a result of faulty hashtable key creation. 11017 </para> 11018 </listitem> 11019 11020 <listitem> 11021<!-- 11022Author: Tom Lane <tgl@sss.pgh.pa.us> 11023Branch: master [28e6a2fd6] 2019-12-09 15:03:51 -0500 11024Branch: REL_12_STABLE [001362cfd] 2019-12-09 15:03:51 -0500 11025Branch: REL_11_STABLE [2ed302ab9] 2019-12-09 15:03:51 -0500 11026Branch: REL_10_STABLE [096ea540e] 2019-12-09 15:03:52 -0500 11027Branch: REL9_6_STABLE [df44e411c] 2019-12-09 15:03:52 -0500 11028Branch: REL9_5_STABLE [1a0c65120] 2019-12-09 15:03:52 -0500 11029Branch: REL9_4_STABLE [7309e75fa] 2019-12-09 15:03:52 -0500 11030--> 11031 <para> 11032 Fix race condition that led to delayed delivery of interprocess 11033 signals on Windows (Amit Kapila) 11034 </para> 11035 11036 <para> 11037 This caused visible timing oddities in <command>NOTIFY</command>, 11038 and perhaps other misbehavior. 11039 </para> 11040 </listitem> 11041 11042 <listitem> 11043<!-- 11044Author: Thomas Munro <tmunro@postgresql.org> 11045Branch: master [6969deeb8] 2019-11-20 18:29:37 +1300 11046Branch: REL_12_STABLE [2189f49c4] 2019-11-20 18:30:56 +1300 11047--> 11048 <para> 11049 Fix handling of a corner-case error result from 11050 Windows' <function>ReadFile()</function> function 11051 (Thomas Munro, Juan José Santamaría Flecha) 11052 </para> 11053 11054 <para> 11055 So far as is known, this oversight just resulted in noisy log 11056 messages, not any actual query misbehavior. 11057 </para> 11058 </listitem> 11059 11060 <listitem> 11061<!-- 11062Author: Tom Lane <tgl@sss.pgh.pa.us> 11063Branch: master [6d7547c21] 2019-12-16 15:10:55 -0500 11064Branch: REL_12_STABLE [95f43fee9] 2019-12-16 15:10:55 -0500 11065Branch: REL_11_STABLE [2cf51809b] 2019-12-16 15:10:55 -0500 11066Branch: REL_10_STABLE [81b052c31] 2019-12-16 15:10:55 -0500 11067Branch: REL9_6_STABLE [65cb25e4f] 2019-12-16 15:10:55 -0500 11068Branch: REL9_5_STABLE [cd0380351] 2019-12-16 15:10:55 -0500 11069Branch: REL9_4_STABLE [cfb2a4cce] 2019-12-16 15:10:56 -0500 11070Branch: master [5406513e9] 2019-12-21 17:39:36 -0500 11071Branch: REL_12_STABLE [90281a3a2] 2019-12-21 17:39:36 -0500 11072Branch: REL_11_STABLE [b3c4e2418] 2019-12-21 17:39:36 -0500 11073Branch: REL_10_STABLE [a69f5697a] 2019-12-21 17:39:36 -0500 11074Branch: REL9_6_STABLE [739201b0e] 2019-12-21 17:39:36 -0500 11075Branch: REL9_5_STABLE [35b28d983] 2019-12-21 17:39:37 -0500 11076Branch: REL9_4_STABLE [f1a4020ef] 2019-12-21 17:39:37 -0500 11077--> 11078 <para> 11079 On Windows, retry a few times after 11080 an <literal>ERROR_ACCESS_DENIED</literal> file access failure 11081 (Alexander Lakhin, Tom Lane) 11082 </para> 11083 11084 <para> 11085 This helps cope with cases where a file open attempt fails because 11086 the targeted file is flagged for deletion but not yet actually gone. 11087 <application>pg_ctl</application>, for example, frequently failed 11088 with such an error when probing to see if the postmaster had shut 11089 down yet. 11090 </para> 11091 </listitem> 11092 11093 <listitem> 11094<!-- 11095Author: Tom Lane <tgl@sss.pgh.pa.us> 11096Branch: master [0da33c762] 2019-12-10 13:17:08 -0500 11097Branch: REL_12_STABLE [be9d4b928] 2019-12-10 13:17:08 -0500 11098--> 11099 <para> 11100 On Windows, work around sharing violations for the postmaster's log 11101 file when <application>pg_ctl</application> is used to start the 11102 postmaster very shortly after it's been stopped, for example by 11103 <literal>pg_ctl restart</literal> (Alexander Lakhin) 11104 </para> 11105 </listitem> 11106 11107 </itemizedlist> 11108 11109 </sect2> 11110 </sect1> 11111 11112 <sect1 id="release-12-1"> 11113 <title>Release 12.1</title> 11114 11115 <formalpara> 11116 <title>Release date:</title> 11117 <para>2019-11-14</para> 11118 </formalpara> 11119 11120 <para> 11121 This release contains a variety of fixes from 12.0. 11122 For information about new features in major release 12, see 11123 <xref linkend="release-12"/>. 11124 </para> 11125 11126 <sect2> 11127 <title>Migration to Version 12.1</title> 11128 11129 <para> 11130 A dump/restore is not required for those running 12.X. 11131 </para> 11132 </sect2> 11133 11134 <sect2> 11135 <title>Changes</title> 11136 11137 <itemizedlist> 11138 11139 <listitem> 11140<!-- 11141Author: Andres Freund <andres@anarazel.de> 11142Branch: master [93765bd95] 2019-10-09 22:00:50 -0700 11143Branch: REL_12_STABLE [f224c7c11] 2019-10-09 22:13:48 -0700 11144Branch: master [ae5cae54c] 2019-10-16 02:37:34 -0700 11145Branch: REL_12_STABLE [3b25de620] 2019-10-16 02:38:13 -0700 11146--> 11147 <para> 11148 Fix crash when <command>ALTER TABLE</command> adds a column without 11149 a default value along with making other changes that require a table 11150 rewrite (Andres Freund) 11151 </para> 11152 </listitem> 11153 11154 <listitem> 11155<!-- 11156Author: Michael Paquier <michael@paquier.xyz> 11157Branch: master [5d3500da7] 2019-10-23 15:04:48 +0900 11158Branch: REL_12_STABLE [7668d4847] 2019-10-23 15:05:09 +0900 11159Author: Michael Paquier <michael@paquier.xyz> 11160Branch: master [8270a0d9a] 2019-10-25 10:20:08 +0900 11161Branch: REL_12_STABLE [7f84b0ef0] 2019-10-25 10:20:16 +0900 11162--> 11163 <para> 11164 Fix lock handling in <command>REINDEX CONCURRENTLY</command> 11165 (Michael Paquier) 11166 </para> 11167 11168 <para> 11169 <command>REINDEX CONCURRENTLY</command> neglected to take a 11170 session-level lock on the new index version, potentially allowing 11171 other sessions to manipulate it too soon. 11172 Also, a query-cancel or session-termination interrupt arriving at the 11173 wrong time could result in failure to release the session-level 11174 locks that <command>REINDEX CONCURRENTLY</command> does hold. 11175 </para> 11176 </listitem> 11177 11178 <listitem> 11179<!-- 11180Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 11181Branch: master [0d21f919e] 2019-10-16 14:51:34 +0200 11182Branch: REL_12_STABLE [1cd5bc3cc] 2019-10-16 14:51:23 +0200 11183--> 11184 <para> 11185 Avoid crash due to race condition when reporting the progress of 11186 a <command>CREATE INDEX CONCURRENTLY</command> or <command>REINDEX 11187 CONCURRENTLY</command> command (Álvaro Herrera) 11188 </para> 11189 </listitem> 11190 11191 <listitem> 11192<!-- 11193Author: Michael Paquier <michael@paquier.xyz> 11194Branch: master [68ac9cf24] 2019-10-28 11:57:31 +0900 11195Branch: REL_12_STABLE [5e5f32284] 2019-10-28 11:58:29 +0900 11196--> 11197 <para> 11198 Avoid creating duplicate dependency entries during <command>REINDEX 11199 CONCURRENTLY</command> (Michael Paquier) 11200 </para> 11201 11202 <para> 11203 This bug resulted in bloat in <structname>pg_depend</structname>, 11204 but no worse consequences than that. 11205 </para> 11206 </listitem> 11207 11208 <listitem> 11209<!-- 11210Author: Thomas Munro <tmunro@postgresql.org> 11211Branch: master [6bda2af03] 2019-10-17 09:59:21 +1300 11212Branch: REL_12_STABLE [486a8f152] 2019-10-17 11:08:49 +1300 11213Branch: REL_11_STABLE [6f1e336de] 2019-10-17 11:01:35 +1300 11214Branch: REL_10_STABLE [583d86f92] 2019-10-17 10:55:26 +1300 11215Branch: REL9_6_STABLE [0640f032a] 2019-10-17 11:57:33 +1300 11216Branch: REL9_5_STABLE [c1443eebe] 2019-10-17 10:28:28 +1300 11217Branch: REL9_4_STABLE [080cf32d2] 2019-10-17 10:14:51 +1300 11218--> 11219 <para> 11220 Prevent <command>VACUUM</command> from trying to freeze 11221 an old multixact ID involving a still-running transaction 11222 (Nathan Bossart, Jeremy Schneider) 11223 </para> 11224 11225 <para> 11226 This case would lead to <command>VACUUM</command> failing until the 11227 old transaction terminates. 11228 </para> 11229 </listitem> 11230 11231 <listitem> 11232<!-- 11233Author: Andres Freund <andres@anarazel.de> 11234Branch: master [cef82eda1] 2019-10-15 10:40:13 -0700 11235Branch: REL_12_STABLE [6d3fe6b6b] 2019-10-15 10:40:51 -0700 11236--> 11237 <para> 11238 Fix <quote>wrong type of slot</quote> error when trying 11239 to <command>CLUSTER</command> on an expression index (Andres Freund) 11240 </para> 11241 </listitem> 11242 11243 <listitem> 11244<!-- 11245Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 11246Branch: master [b4bcc6bfd] 2019-11-07 13:59:24 -0300 11247Branch: REL_12_STABLE [b75ccddcd] 2019-11-07 13:59:24 -0300 11248Branch: REL_11_STABLE [e4baecf1e] 2019-11-07 14:26:10 -0300 11249--> 11250 <para> 11251 <command>SET CONSTRAINTS ... DEFERRED</command> failed on 11252 partitioned tables, incorrectly complaining about lack of triggers 11253 (Álvaro Herrera) 11254 </para> 11255 </listitem> 11256 11257 <listitem> 11258<!-- 11259Author: Michael Paquier <michael@paquier.xyz> 11260Branch: master [dc816e581] 2019-11-02 14:16:04 +0900 11261Branch: REL_12_STABLE [7963c4c4b] 2019-11-02 14:16:11 +0900 11262Branch: REL_11_STABLE [f10815c5b] 2019-11-02 14:17:12 +0900 11263--> 11264 <para> 11265 Fix failure when creating indexes for a partition, if the parent 11266 partitioned table contains any dropped columns (Michael Paquier) 11267 </para> 11268 </listitem> 11269 11270 <listitem> 11271<!-- 11272Author: Michael Paquier <michael@paquier.xyz> 11273Branch: master [1df5875d3] 2019-10-13 17:51:55 +0900 11274Branch: REL_12_STABLE [3a58c5f14] 2019-10-13 17:53:08 +0900 11275Branch: master [14ac4237c] 2019-10-14 08:58:38 +0900 11276Branch: REL_12_STABLE [9fd9af97f] 2019-10-14 08:58:47 +0900 11277--> 11278 <para> 11279 Fix dropping of indexed columns in partitioned tables 11280 (Amit Langote, Michael Paquier) 11281 </para> 11282 11283 <para> 11284 Previously this might fail with an error message complaining about 11285 the dependencies of the indexes. It should automatically drop the 11286 indexes, instead. 11287 </para> 11288 </listitem> 11289 11290 <listitem> 11291<!-- 11292Author: Michael Paquier <michael@paquier.xyz> 11293Branch: master [d80be6f2f] 2019-10-29 11:08:09 +0900 11294Branch: REL_12_STABLE [eae1ba65f] 2019-10-29 11:08:16 +0900 11295--> 11296 <para> 11297 Ensure that a partition index can be dropped after a failure to 11298 reindex it concurrently (Michael Paquier) 11299 </para> 11300 11301 <para> 11302 The 11303 index's <structname>pg_class</structname>.<structfield>relispartition</structfield> 11304 flag was left in the wrong state in such a case, 11305 causing <command>DROP INDEX</command> to fail. 11306 </para> 11307 </listitem> 11308 11309 <listitem> 11310<!-- 11311Author: Tom Lane <tgl@sss.pgh.pa.us> 11312Branch: master [529ebb20a] 2019-11-05 11:42:24 -0500 11313Branch: REL_12_STABLE [a9db37a18] 2019-11-05 11:42:25 -0500 11314--> 11315 <para> 11316 Fix handling of equivalence class members for partition-wise joins 11317 (Amit Langote) 11318 </para> 11319 11320 <para> 11321 This oversight could lead either to failure to use a feasible 11322 partition-wise join plan, or to a <quote>could not find pathkey item 11323 to sort</quote> planner failure. 11324 </para> 11325 </listitem> 11326 11327 <listitem> 11328<!-- 11329Author: Andrew Gierth <rhodiumtoad@postgresql.org> 11330Branch: master [b7a1c5539] 2019-10-03 10:54:52 +0100 11331Branch: REL_12_STABLE [0b11dc019] 2019-10-03 11:12:39 +0100 11332Branch: REL_11_STABLE [0a445f279] 2019-10-03 11:14:30 +0100 11333Branch: REL_10_STABLE [ede0ab6cc] 2019-10-03 11:15:38 +0100 11334Branch: REL9_6_STABLE [6db0d7f35] 2019-10-03 11:17:38 +0100 11335Branch: REL9_5_STABLE [d2427f11b] 2019-10-03 11:18:15 +0100 11336Branch: REL9_4_STABLE [3473f81dd] 2019-10-03 11:18:20 +0100 11337--> 11338 <para> 11339 Ensure that offset expressions in <literal>WINDOW</literal> clauses 11340 are processed when a query's expressions are manipulated (Andrew Gierth) 11341 </para> 11342 11343 <para> 11344 This oversight could result in assorted failures when the offsets 11345 are nontrivial expressions. One example is that a function 11346 parameter reference in such an expression would fail if the function 11347 was inlined. 11348 </para> 11349 </listitem> 11350 11351 <listitem> 11352<!-- 11353Author: Tom Lane <tgl@sss.pgh.pa.us> 11354Branch: master [3887e9455] 2019-10-07 12:39:09 -0400 11355Branch: REL_12_STABLE [7e8d0eb63] 2019-10-07 12:39:09 -0400 11356Branch: REL_11_STABLE [021065aac] 2019-10-07 12:39:09 -0400 11357Branch: REL_10_STABLE [1b5c2ddcd] 2019-10-07 12:39:09 -0400 11358Branch: REL9_6_STABLE [c69e982a6] 2019-10-07 12:39:09 -0400 11359Branch: REL9_5_STABLE [8c2910ce5] 2019-10-07 12:39:10 -0400 11360--> 11361 <para> 11362 Avoid postmaster failure if a parallel query requests a background 11363 worker when no postmaster child process array slots remain free 11364 (Tom Lane) 11365 </para> 11366 </listitem> 11367 11368 <listitem> 11369<!-- 11370Author: Andres Freund <andres@anarazel.de> 11371Branch: master [d986d4e87] 2019-10-04 13:50:49 -0700 11372Branch: REL_12_STABLE [60e97d63e] 2019-10-04 13:57:37 -0700 11373--> 11374 <para> 11375 Fix crash triggered by an EvalPlanQual recheck on a table with 11376 a <literal>BEFORE UPDATE</literal> trigger (Andres Freund) 11377 </para> 11378 </listitem> 11379 11380 <listitem> 11381<!-- 11382Author: Tom Lane <tgl@sss.pgh.pa.us> 11383Branch: master [a30531c5c] 2019-11-05 13:40:37 -0500 11384Branch: REL_12_STABLE [791864193] 2019-11-05 13:40:37 -0500 11385Branch: REL_11_STABLE [2bfe015b5] 2019-11-05 13:40:37 -0500 11386--> 11387 <para> 11388 Fix <quote>unexpected relkind</quote> error when a query tries to 11389 access a TOAST table (John Hsu, Michael Paquier, Tom Lane) 11390 </para> 11391 11392 <para> 11393 The error should say that permission is denied, but this case got 11394 broken during code refactoring. 11395 </para> 11396 </listitem> 11397 11398 <listitem> 11399<!-- 11400Author: Thomas Munro <tmunro@postgresql.org> 11401Branch: master [3c8c55dd5] 2019-10-17 13:47:01 +1300 11402Branch: REL_12_STABLE [3af7c64fe] 2019-10-17 14:00:15 +1300 11403Branch: REL_11_STABLE [6737111a7] 2019-10-17 13:58:58 +1300 11404Branch: REL_10_STABLE [89a3cdb32] 2019-10-17 13:57:23 +1300 11405Branch: REL9_6_STABLE [fd5ffa425] 2019-10-17 13:52:59 +1300 11406Branch: REL9_5_STABLE [cdbb39213] 2019-10-17 13:50:59 +1300 11407--> 11408 <para> 11409 Provide a relevant error context line when an error occurs while 11410 setting GUC parameters during parallel worker startup (Thomas Munro) 11411 </para> 11412 </listitem> 11413 11414 <listitem> 11415<!-- 11416Author: Andres Freund <andres@anarazel.de> 11417Branch: master [a586cc4b6] 2019-10-04 13:34:28 -0700 11418Branch: REL_12_STABLE [c025165da] 2019-10-04 13:34:39 -0700 11419Author: Michael Paquier <michael@paquier.xyz> 11420Branch: master [b8e19b932] 2019-10-09 13:30:43 +0900 11421Branch: REL_12_STABLE [07c314968] 2019-10-09 13:31:13 +0900 11422Branch: REL_11_STABLE [e34358c43] 2019-10-09 13:31:17 +0900 11423Branch: REL_10_STABLE [fbfc835b4] 2019-10-09 13:31:22 +0900 11424Branch: REL9_6_STABLE [4e7a8874a] 2019-10-09 13:31:27 +0900 11425Branch: REL9_5_STABLE [c50f95272] 2019-10-09 13:31:33 +0900 11426Branch: REL9_4_STABLE [59800f7ce] 2019-10-09 13:31:38 +0900 11427--> 11428 <para> 11429 Ensure that <function>fsync()</function> is applied only to files 11430 that are opened read/write (Andres Freund, Michael Paquier) 11431 </para> 11432 11433 <para> 11434 Some code paths tried to do this after opening a file read-only, 11435 but on some platforms that causes <quote>bad file descriptor</quote> 11436 or similar errors. 11437 </para> 11438 </listitem> 11439 11440 <listitem> 11441<!-- 11442Author: Tom Lane <tgl@sss.pgh.pa.us> 11443Branch: master [8e10405c7] 2019-10-03 17:34:25 -0400 11444Branch: REL_12_STABLE [8381242df] 2019-10-03 17:34:25 -0400 11445Branch: REL_11_STABLE [e5ff97571] 2019-10-03 17:34:25 -0400 11446Branch: REL_10_STABLE [226551e7c] 2019-10-03 17:34:26 -0400 11447Branch: REL9_6_STABLE [677989cc0] 2019-10-03 17:34:26 -0400 11448Branch: REL9_5_STABLE [54d641da0] 2019-10-03 17:34:26 -0400 11449Branch: REL9_4_STABLE [6899be289] 2019-10-03 17:34:26 -0400 11450--> 11451 <para> 11452 Allow encoding conversion to succeed on longer strings than before 11453 (Álvaro Herrera, Tom Lane) 11454 </para> 11455 11456 <para> 11457 Previously, there was a hard limit of 0.25GB on the input string, 11458 but now it will work as long as the converted output is not over 1GB. 11459 </para> 11460 </listitem> 11461 11462 <listitem> 11463<!-- 11464Author: Andrew Gierth <rhodiumtoad@postgresql.org> 11465Branch: master [a9056cc63] 2019-11-06 04:13:30 +0000 11466Branch: REL_12_STABLE [f57c63107] 2019-11-06 04:33:35 +0000 11467Branch: REL_11_STABLE [be99485b9] 2019-11-06 04:33:42 +0000 11468Branch: REL_10_STABLE [6da5310e8] 2019-11-06 04:33:49 +0000 11469Branch: REL9_6_STABLE [747aac88f] 2019-11-06 04:33:55 +0000 11470--> 11471 <para> 11472 Avoid creating unnecessarily-bulky tuple stores for window functions 11473 (Andrew Gierth) 11474 </para> 11475 11476 <para> 11477 In some cases the tuple storage would include all columns of the 11478 source table(s), not just the ones that are needed by the query. 11479 </para> 11480 </listitem> 11481 11482 <listitem> 11483<!-- 11484Author: Tom Lane <tgl@sss.pgh.pa.us> 11485Branch: master [c477f3e44] 2019-10-03 13:56:26 -0400 11486Branch: REL_12_STABLE [9a407209a] 2019-10-03 13:56:26 -0400 11487Branch: REL_11_STABLE [82d0a46ea] 2019-10-03 13:56:26 -0400 11488Branch: REL_10_STABLE [9ad1b572d] 2019-10-03 13:56:26 -0400 11489Branch: REL9_6_STABLE [e5e4f12a5] 2019-10-03 13:56:26 -0400 11490Branch: REL9_5_STABLE [1534531fe] 2019-10-03 13:56:26 -0400 11491Branch: REL9_4_STABLE [4829576ba] 2019-10-03 13:56:27 -0400 11492--> 11493 <para> 11494 Allow <function>repalloc()</function> to give back space when a 11495 large chunk is reduced in size (Tom Lane) 11496 </para> 11497 </listitem> 11498 11499 <listitem> 11500<!-- 11501Author: Michael Paquier <michael@paquier.xyz> 11502Branch: master [df86e52ca] 2019-10-02 15:53:07 +0900 11503Branch: REL_12_STABLE [2a724cdbf] 2019-10-02 15:53:51 +0900 11504Branch: REL_11_STABLE [b978de0eb] 2019-10-02 15:53:56 +0900 11505Branch: REL_10_STABLE [7ca35472c] 2019-10-02 15:54:01 +0900 11506Branch: REL9_6_STABLE [ac1efdd08] 2019-10-02 15:54:11 +0900 11507Branch: REL9_5_STABLE [ae205dfe6] 2019-10-02 15:54:16 +0900 11508--> 11509 <para> 11510 Ensure that temporary WAL and history files are removed at the end 11511 of archive recovery (Sawada Masahiko) 11512 </para> 11513 </listitem> 11514 11515 <listitem> 11516<!-- 11517Author: Fujii Masao <fujii@postgresql.org> 11518Branch: master [ec1259e88] 2019-10-18 22:32:18 +0900 11519Branch: REL_12_STABLE [9dfbf9a04] 2019-10-18 22:34:05 +0900 11520Branch: REL_11_STABLE [f7b70700b] 2019-10-18 22:35:07 +0900 11521Branch: REL_10_STABLE [c455ee88c] 2019-10-18 22:35:19 +0900 11522Branch: REL9_6_STABLE [579996bc2] 2019-10-18 22:35:30 +0900 11523Branch: REL9_5_STABLE [1b2ba8874] 2019-10-18 22:35:41 +0900 11524Branch: REL9_4_STABLE [14c59185b] 2019-10-18 22:35:52 +0900 11525--> 11526 <para> 11527 Avoid failure in archive recovery 11528 if <varname>recovery_min_apply_delay</varname> is enabled 11529 (Fujii Masao) 11530 </para> 11531 11532 <para> 11533 <varname>recovery_min_apply_delay</varname> is not typically used in 11534 this configuration, but it should work. 11535 </para> 11536 </listitem> 11537 11538 <listitem> 11539<!-- 11540Author: Fujii Masao <fujii@postgresql.org> 11541Branch: master [20961ceaf] 2019-10-11 15:47:59 +0900 11542Branch: REL_12_STABLE [fcf7f8d92] 2019-10-11 15:49:32 +0900 11543Author: Fujii Masao <fujii@postgresql.org> 11544Branch: master [9b95a36be] 2019-10-18 22:24:18 +0900 11545Branch: REL_12_STABLE [03666dfa1] 2019-10-18 22:25:42 +0900 11546--> 11547 <para> 11548 Ignore <varname>restore_command</varname>, 11549 <varname>recovery_end_command</varname>, 11550 and <varname>recovery_min_apply_delay</varname> settings during 11551 crash recovery (Fujii Masao) 11552 </para> 11553 11554 <para> 11555 Now that these settings can be specified 11556 in <filename>postgresql.conf</filename>, they could be turned on 11557 during crash recovery, but honoring them then is undesirable. 11558 Ignore these settings until crash recovery is complete. 11559 </para> 11560 </listitem> 11561 11562 <listitem> 11563<!-- 11564Author: Peter Eisentraut <peter@eisentraut.org> 11565Branch: master [1c60e40ad] 2019-11-09 08:35:44 +0100 11566Branch: REL_12_STABLE [d891d2c89] 2019-11-09 08:35:51 +0100 11567Branch: REL_11_STABLE [7961da188] 2019-11-09 08:36:11 +0100 11568Branch: REL_10_STABLE [2e00d5976] 2019-11-09 09:15:35 +0100 11569Branch: master [ef8fcbff5] 2019-11-09 13:19:27 +0100 11570Branch: REL_12_STABLE [f96756304] 2019-11-09 16:00:34 +0100 11571Branch: REL_11_STABLE [aa9884578] 2019-11-09 16:01:23 +0100 11572Branch: REL_10_STABLE [806f9dc02] 2019-11-09 16:03:00 +0100 11573--> 11574 <para> 11575 Fix logical replication failure when publisher and subscriber have 11576 different ideas about a table's replica identity columns 11577 (Jehan-Guillaume de Rorthais, Peter Eisentraut) 11578 </para> 11579 11580 <para> 11581 Declaring a column as part of the replica identity on the 11582 subscriber, when it does not exist at all on the publisher, led 11583 to <quote>negative bitmapset member not allowed</quote> errors. 11584 </para> 11585 </listitem> 11586 11587 <listitem> 11588<!-- 11589Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 11590Branch: master [38ddeab13] 2019-10-17 15:06:06 +0200 11591Branch: REL_12_STABLE [1391c13ce] 2019-10-17 15:06:06 +0200 11592Branch: REL_11_STABLE [45e4067c0] 2019-10-17 15:06:05 +0200 11593Branch: REL_10_STABLE [0d9fcbada] 2019-10-17 15:06:05 +0200 11594Branch: REL9_6_STABLE [5f038991e] 2019-10-17 15:06:05 +0200 11595Branch: REL9_5_STABLE [b2ab06e02] 2019-10-17 15:06:05 +0200 11596Branch: REL9_4_STABLE [abd5071d2] 2019-10-17 15:06:05 +0200 11597--> 11598 <para> 11599 Avoid unwanted delay during shutdown of a logical replication 11600 walsender (Craig Ringer, Álvaro Herrera) 11601 </para> 11602 </listitem> 11603 11604 <listitem> 11605<!-- 11606Author: Michael Paquier <michael@paquier.xyz> 11607Branch: master [3f60f690f] 2019-10-18 14:26:29 +0900 11608Branch: REL_12_STABLE [04510dbe3] 2019-10-18 14:26:53 +0900 11609Branch: REL_11_STABLE [feed5ee47] 2019-10-18 14:27:00 +0900 11610Branch: REL_10_STABLE [47698b4b6] 2019-10-18 14:27:04 +0900 11611--> 11612 <para> 11613 Fix timeout handling in logical replication walreceiver processes 11614 (Julien Rouhaud) 11615 </para> 11616 11617 <para> 11618 Erroneous logic prevented <varname>wal_receiver_timeout</varname> 11619 from working in logical replication deployments. 11620 </para> 11621 </listitem> 11622 11623 <listitem> 11624<!-- 11625Author: Michael Paquier <michael@paquier.xyz> 11626Branch: master [5f6b1eb0c] 2019-11-06 16:12:21 +0900 11627Branch: REL_12_STABLE [9ae4bdadf] 2019-11-06 16:12:28 +0900 11628Branch: REL_11_STABLE [cb6d7f985] 2019-11-06 16:12:34 +0900 11629Branch: REL_10_STABLE [f7b0d0704] 2019-11-06 16:12:40 +0900 11630Branch: REL9_6_STABLE [16b43e091] 2019-11-06 16:12:47 +0900 11631Branch: REL9_5_STABLE [404d25f3c] 2019-11-06 16:12:51 +0900 11632Branch: REL9_4_STABLE [15d90a02a] 2019-11-06 16:12:56 +0900 11633--> 11634 <para> 11635 Correctly time-stamp replication messages for logical 11636 decoding (Jeff Janes) 11637 </para> 11638 11639 <para> 11640 This oversight resulted, for example, 11641 in <structname>pg_stat_subscription</structname>.<structfield>last_msg_send_time</structfield> 11642 usually reading as NULL. 11643 </para> 11644 </listitem> 11645 11646 <listitem> 11647<!-- 11648Author: Michael Paquier <michael@paquier.xyz> 11649Branch: master [20345197f] 2019-11-01 22:38:32 +0900 11650Branch: REL_12_STABLE [7b8c2de64] 2019-11-01 22:38:45 +0900 11651Branch: REL_11_STABLE [61f238392] 2019-11-01 22:38:51 +0900 11652Branch: REL_10_STABLE [b99bfc3c9] 2019-11-01 22:38:55 +0900 11653Branch: REL9_6_STABLE [52684bc7d] 2019-11-01 22:39:01 +0900 11654Branch: REL9_5_STABLE [0927d0c25] 2019-11-01 22:39:05 +0900 11655Branch: REL9_4_STABLE [f88f7206e] 2019-11-01 22:39:09 +0900 11656--> 11657 <para> 11658 Fix race condition during backend exit, when the backend process has 11659 previously waited for synchronous replication to occur (Dongming Liu) 11660 </para> 11661 </listitem> 11662 11663 <listitem> 11664<!-- 11665Author: Tom Lane <tgl@sss.pgh.pa.us> 11666Branch: master [3affe76ef] 2019-11-05 14:27:37 -0500 11667Branch: REL_12_STABLE [f9bd3b6d9] 2019-11-05 14:27:37 -0500 11668Branch: REL_11_STABLE [97ddc47b9] 2019-11-05 14:27:37 -0500 11669Branch: REL_10_STABLE [0238a5028] 2019-11-05 14:27:37 -0500 11670Branch: REL9_6_STABLE [383602f9a] 2019-11-05 14:27:37 -0500 11671Branch: REL9_5_STABLE [970372037] 2019-11-05 14:27:37 -0500 11672Branch: REL9_4_STABLE [762b25653] 2019-11-05 14:27:38 -0500 11673--> 11674 <para> 11675 Avoid logging complaints about abandoned connections when using PAM 11676 authentication (Tom Lane) 11677 </para> 11678 11679 <para> 11680 libpq-based clients will typically make two connection attempts when 11681 a password is required, since they don't prompt their user for a 11682 password until their first connection attempt fails. Therefore the 11683 server is coded not to generate useless log spam when a client 11684 closes the connection upon being asked for a password. However, 11685 the PAM authentication code hadn't gotten that memo, and would 11686 generate several messages about a phantom authentication failure. 11687 </para> 11688 </listitem> 11689 11690 <listitem> 11691<!-- 11692Author: Tom Lane <tgl@sss.pgh.pa.us> 11693Branch: master [5ac0d9360] 2019-09-22 17:45:59 -0400 11694Branch: REL_12_STABLE Release: REL_12_0 [860216efa] 2019-09-22 17:46:00 -0400 11695Branch: REL_11_STABLE [7e7abed05] 2019-09-22 17:46:00 -0400 11696Branch: REL_10_STABLE [096d34c3b] 2019-09-22 17:46:00 -0400 11697Branch: REL9_6_STABLE [6ddd164aa] 2019-09-22 17:46:00 -0400 11698Branch: REL9_5_STABLE [35eb13270] 2019-09-22 17:46:00 -0400 11699Branch: REL9_4_STABLE [8a17afe84] 2019-09-22 17:46:00 -0400 11700Branch: master [61aa9f544] 2019-10-04 10:34:40 -0400 11701Branch: REL_12_STABLE [6c3b6406d] 2019-10-04 10:34:21 -0400 11702Branch: REL_11_STABLE [b8ddf0bdf] 2019-10-04 10:34:21 -0400 11703Branch: REL_10_STABLE [9faa9794f] 2019-10-04 10:34:21 -0400 11704Branch: REL9_6_STABLE [30e5b3bbe] 2019-10-04 10:34:21 -0400 11705Branch: REL9_5_STABLE [8b77f783b] 2019-10-04 10:34:21 -0400 11706Branch: REL9_4_STABLE [b6a6c129f] 2019-10-04 10:34:21 -0400 11707--> 11708 <para> 11709 Fix misbehavior of <function>bitshiftright()</function> (Tom Lane) 11710 </para> 11711 11712 <para> 11713 The bitstring right shift operator failed to zero out padding space 11714 that exists in the last byte of the result when the bitstring length 11715 is not a multiple of 8. While invisible to most operations, any 11716 nonzero bits there would result in unexpected comparison behavior, 11717 since bitstring comparisons don't bother to ignore the extra bits, 11718 expecting them to always be zero. 11719 </para> 11720 11721 <para> 11722 If you have inconsistent data as a result of saving the output 11723 of <function>bitshiftright()</function> in a table, it's possible to 11724 fix it with something like 11725<programlisting> 11726UPDATE mytab SET bitcol = ~(~bitcol) WHERE bitcol != ~(~bitcol); 11727</programlisting> 11728 </para> 11729 </listitem> 11730 11731 <listitem> 11732<!-- 11733Author: Tom Lane <tgl@sss.pgh.pa.us> 11734Branch: master [bd1ef5799] 2019-10-28 12:21:13 -0400 11735Branch: REL_12_STABLE [43e43771b] 2019-10-28 12:21:13 -0400 11736--> 11737 <para> 11738 Fix result of text <function>position()</function> function (also 11739 known as <function>strpos()</function>) for an empty search string 11740 (Tom Lane) 11741 </para> 11742 11743 <para> 11744 Historically, and per the SQL standard, the result should be one in 11745 such cases, but 12.0 returned zero. 11746 </para> 11747 </listitem> 11748 11749 <listitem> 11750<!-- 11751Author: Tom Lane <tgl@sss.pgh.pa.us> 11752Branch: master [a7145f6bc] 2019-11-07 11:22:58 -0500 11753Branch: REL_12_STABLE [f6e72dc9c] 2019-11-07 11:22:59 -0500 11754Branch: REL_11_STABLE [b49b7f944] 2019-11-07 11:23:00 -0500 11755Branch: REL_10_STABLE [5f794f757] 2019-11-07 11:23:02 -0500 11756Branch: REL9_6_STABLE [15783d057] 2019-11-07 11:23:03 -0500 11757Branch: REL9_5_STABLE [84780d468] 2019-11-07 11:23:04 -0500 11758Branch: REL9_4_STABLE [8d380864a] 2019-11-07 11:23:06 -0500 11759Branch: REL9_6_STABLE [a55018760] 2019-11-09 15:50:16 -0500 11760Branch: REL9_5_STABLE [30f6998ff] 2019-11-09 15:50:16 -0500 11761Branch: REL9_4_STABLE [18622caa3] 2019-11-09 15:50:16 -0500 11762--> 11763 <para> 11764 Fix detection of edge-case integer overflow in interval 11765 multiplication (Yuya Watari) 11766 </para> 11767 </listitem> 11768 11769 <listitem> 11770<!-- 11771Author: Tom Lane <tgl@sss.pgh.pa.us> 11772Branch: master [8af1624e3] 2019-11-02 16:45:32 -0400 11773Branch: REL_12_STABLE [43753c2cf] 2019-11-02 16:45:32 -0400 11774Branch: REL_11_STABLE [65cdf8bc1] 2019-11-02 16:45:32 -0400 11775Branch: REL_10_STABLE [680aabd2f] 2019-11-02 16:45:32 -0400 11776Branch: REL9_6_STABLE [51b9ac558] 2019-11-02 16:45:32 -0400 11777Branch: master [db27b60f0] 2019-11-03 16:10:23 -0500 11778Branch: REL_12_STABLE [6dd92138d] 2019-11-03 16:10:38 -0500 11779Branch: REL_11_STABLE [88d03d73c] 2019-11-03 16:10:45 -0500 11780Branch: REL_10_STABLE [4077e9ae1] 2019-11-03 16:10:56 -0500 11781Branch: REL9_6_STABLE [d43bd9dce] 2019-11-03 16:11:05 -0500 11782--> 11783 <para> 11784 Avoid crashes if <literal>ispell</literal> text search dictionaries 11785 contain wrong affix data (Arthur Zakirov) 11786 </para> 11787 </listitem> 11788 11789 <listitem> 11790<!-- 11791Author: Amit Kapila <akapila@postgresql.org> 11792Branch: master [70a6c37d5] 2019-10-21 08:57:32 +0530 11793Branch: REL_12_STABLE [62f4dd379] 2019-10-21 09:04:35 +0530 11794--> 11795 <para> 11796 Avoid memory leak while vacuuming a GiST index (Dilip Kumar) 11797 </para> 11798 </listitem> 11799 11800 <listitem> 11801<!-- 11802Author: Tom Lane <tgl@sss.pgh.pa.us> 11803Branch: master [db477b691] 2019-10-21 14:18:01 -0400 11804Branch: REL_12_STABLE [4f2ad5226] 2019-10-21 14:18:16 -0400 11805Branch: REL_11_STABLE [a05a04d0e] 2019-10-21 14:18:31 -0400 11806Branch: REL_10_STABLE [aebe3ef0e] 2019-10-21 14:18:38 -0400 11807Branch: REL9_6_STABLE [185253ab8] 2019-10-21 14:18:47 -0400 11808Branch: REL9_5_STABLE [e3267407e] 2019-10-21 14:18:55 -0400 11809Branch: REL9_4_STABLE [fedcab352] 2019-10-21 14:19:03 -0400 11810--> 11811 <para> 11812 On Windows, recognize additional spellings of the <quote>Norwegian 11813 (Bokmål)</quote> locale name (Tom Lane) 11814 </para> 11815 </listitem> 11816 11817 <listitem> 11818<!-- 11819Author: Michael Paquier <michael@paquier.xyz> 11820Branch: master [4f4061b2d] 2019-10-21 11:17:13 +0900 11821Branch: REL_12_STABLE [2b0f959b5] 2019-10-21 11:17:43 +0900 11822Branch: master [57379cd5a] 2019-10-23 11:34:18 +0900 11823Branch: REL_12_STABLE [a6a95d4f3] 2019-10-23 11:34:42 +0900 11824--> 11825 <para> 11826 Fix <application>libpq</application> to allow trailing whitespace in 11827 the string values of integer parameters (Michael Paquier) 11828 </para> 11829 11830 <para> 11831 Version 12 tightened <application>libpq</application>'s validation 11832 of integer parameters, but disallowing trailing whitespace seems 11833 undesirable. 11834 </para> 11835 </listitem> 11836 11837 <listitem> 11838<!-- 11839Author: Michael Paquier <michael@paquier.xyz> 11840Branch: master [ba19a6b73] 2019-10-21 11:39:15 +0900 11841Branch: REL_12_STABLE [ed5109a61] 2019-10-21 11:39:28 +0900 11842--> 11843 <para> 11844 In <application>libpq</application>, correctly 11845 report <literal>CONNECTION_BAD</literal> connection status after a 11846 failure caused by a syntactically 11847 invalid <option>connect_timeout</option> parameter value (Lars Kanis) 11848 </para> 11849 </listitem> 11850 11851 <listitem> 11852<!-- 11853Author: Tom Lane <tgl@sss.pgh.pa.us> 11854Branch: master [c8cb98ec4] 2019-11-07 14:21:52 -0500 11855Branch: REL_12_STABLE [101654987] 2019-11-07 14:21:52 -0500 11856Branch: REL_11_STABLE [89f56fc22] 2019-11-07 14:21:52 -0500 11857Branch: REL_10_STABLE [831ca9513] 2019-11-07 14:21:52 -0500 11858Branch: REL9_6_STABLE [baa483984] 2019-11-07 14:21:52 -0500 11859Branch: REL9_5_STABLE [b705d6391] 2019-11-07 14:21:52 -0500 11860Branch: REL9_4_STABLE [b20233aac] 2019-11-07 14:21:52 -0500 11861--> 11862 <para> 11863 Avoid compile failure if an ECPG client 11864 includes <filename>ecpglib.h</filename> while 11865 having <literal>ENABLE_NLS</literal> defined (Tom Lane) 11866 </para> 11867 11868 <para> 11869 This risk was created by a misplaced 11870 declaration: <function>ecpg_gettext()</function> should not be 11871 visible to client code. 11872 </para> 11873 </listitem> 11874 11875 <listitem> 11876<!-- 11877Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 11878Branch: master [1752e3516] 2019-10-17 09:58:01 +0200 11879Branch: REL_12_STABLE [b304b2b65] 2019-10-17 09:58:01 +0200 11880--> 11881 <para> 11882 Fix scheduling of parallel restore of a foreign key constraint on a 11883 partitioned table (Álvaro Herrera) 11884 </para> 11885 11886 <para> 11887 <application>pg_dump</application> failed to emit full dependency 11888 information for partitioned tables' foreign keys. This could allow 11889 parallel <application>pg_restore</application> to try to recreate a 11890 foreign key constraint too soon. 11891 </para> 11892 </listitem> 11893 11894 <listitem> 11895<!-- 11896Author: Tom Lane <tgl@sss.pgh.pa.us> 11897Branch: master [5102f3944] 2019-11-04 16:25:05 -0500 11898Branch: REL_12_STABLE [ca27a84c9] 2019-11-04 16:25:05 -0500 11899Branch: REL_11_STABLE [078f5bc8e] 2019-11-04 16:25:05 -0500 11900Branch: REL_10_STABLE [ee8b95f26] 2019-11-04 16:25:05 -0500 11901Branch: REL9_6_STABLE [648f17879] 2019-11-04 16:25:05 -0500 11902Branch: REL9_5_STABLE [74d32ee70] 2019-11-04 16:25:05 -0500 11903Branch: REL9_4_STABLE [da5cd7a68] 2019-11-04 16:25:05 -0500 11904--> 11905 <para> 11906 In <application>pg_dump</application>, ensure stable output order 11907 for similarly-named triggers and row-level-security policy objects 11908 (Benjie Gillam) 11909 </para> 11910 11911 <para> 11912 Previously, if two triggers on different tables had the same names, 11913 they would be sorted in OID-based order, which is less desirable 11914 than sorting them by table name. Likewise for RLS policies. 11915 </para> 11916 </listitem> 11917 11918 <listitem> 11919<!-- 11920Author: Tomas Vondra <tomas.vondra@postgresql.org> 11921Branch: master [0ccfc2822] 2019-10-14 22:31:56 +0200 11922Branch: REL_12_STABLE [eaf900e84] 2019-10-14 23:40:58 +0200 11923Branch: master [3a0e85739] 2019-10-15 00:25:04 +0200 11924Branch: REL_12_STABLE [702fd3b71] 2019-10-15 00:35:51 +0200 11925--> 11926 <para> 11927 In <application>pg_upgrade</application>, reject tables with 11928 columns of type <type>sql_identifier</type>, as that has changed 11929 representation in version 12 (Tomas Vondra) 11930 </para> 11931 </listitem> 11932 11933 <listitem> 11934<!-- 11935Author: Tomas Vondra <tomas.vondra@postgresql.org> 11936Branch: master [8d48e6a72] 2019-10-16 13:23:14 +0200 11937Branch: REL_12_STABLE [ebb4caa91] 2019-10-16 13:25:25 +0200 11938Branch: REL_11_STABLE [a970b6cde] 2019-10-16 13:26:22 +0200 11939Branch: REL_10_STABLE [2218fdca4] 2019-10-16 13:26:53 +0200 11940Branch: REL9_6_STABLE [0a643de08] 2019-10-16 13:27:24 +0200 11941Branch: REL9_5_STABLE [f57b01dd7] 2019-10-16 13:27:51 +0200 11942Branch: REL9_4_STABLE [235a52ca0] 2019-10-16 13:31:00 +0200 11943Branch: REL9_6_STABLE [e09ab32a2] 2019-10-16 16:20:07 +0200 11944Branch: REL9_5_STABLE [984aa0ede] 2019-10-16 16:23:09 +0200 11945Branch: REL9_4_STABLE [bc3a94dc0] 2019-10-16 16:28:48 +0200 11946Author: Tomas Vondra <tomas.vondra@postgresql.org> 11947Branch: master [a524f50d0] 2019-10-16 13:23:18 +0200 11948Branch: REL_12_STABLE [a8e49ae0c] 2019-10-16 13:25:37 +0200 11949Branch: REL_11_STABLE [d071a2539] 2019-10-16 13:26:26 +0200 11950Branch: REL_10_STABLE [e86ece221] 2019-10-16 13:26:56 +0200 11951--> 11952 <para> 11953 Improve <application>pg_upgrade</application>'s checks for the use 11954 of a data type that has changed representation, such 11955 as <type>line</type> (Tomas Vondra) 11956 </para> 11957 11958 <para> 11959 The previous coding could be fooled by cases where the data type of 11960 interest underlies a stored column of a domain or composite type. 11961 </para> 11962 </listitem> 11963 11964 <listitem> 11965<!-- 11966Author: Michael Paquier <michael@paquier.xyz> 11967Branch: master [6f3823b03] 2019-10-04 09:14:51 +0900 11968Branch: REL_12_STABLE [c2e3b311d] 2019-10-04 09:16:03 +0900 11969--> 11970 <para> 11971 In <application>pg_rewind</application> 11972 with the <option>--dry-run</option> option, avoid 11973 updating <filename>pg_control</filename> 11974 (Alexey Kondratov) 11975 </para> 11976 11977 <para> 11978 This could lead to failures in 11979 subsequent <application>pg_rewind</application> attempts. 11980 </para> 11981 </listitem> 11982 11983 <listitem> 11984<!-- 11985Author: Fujii Masao <fujii@postgresql.org> 11986Branch: master [a0c96856e] 2019-11-07 16:31:36 +0900 11987Branch: REL_12_STABLE [e5cfb8cbb] 2019-11-07 16:32:37 +0900 11988Branch: REL_11_STABLE [fb53c4c07] 2019-11-07 16:32:58 +0900 11989Branch: REL_10_STABLE [127ad57f5] 2019-11-07 16:33:06 +0900 11990Branch: REL9_6_STABLE [aa7cd6a8e] 2019-11-07 16:33:23 +0900 11991Branch: REL9_5_STABLE [b1bebc2ce] 2019-11-07 16:33:47 +0900 11992Branch: REL9_4_STABLE [1accf9974] 2019-11-07 16:33:58 +0900 11993--> 11994 <para> 11995 Fix failure in <application>pg_waldump</application> with 11996 the <option>-s</option> option, when a continuation WAL record ends 11997 exactly at a page boundary (Andrey Lepikhov) 11998 </para> 11999 </listitem> 12000 12001 <listitem> 12002<!-- 12003Author: Andres Freund <andres@anarazel.de> 12004Branch: master [e4d92126f] 2019-10-29 22:53:05 -0700 12005Branch: REL_12_STABLE [d4b5206b2] 2019-10-29 22:53:30 -0700 12006Branch: REL_11_STABLE [3b24cf732] 2019-10-29 22:53:33 -0700 12007Branch: REL_10_STABLE [82200115e] 2019-10-29 22:53:37 -0700 12008Branch: REL9_6_STABLE [bc4f56c18] 2019-10-29 22:54:36 -0700 12009Branch: REL9_5_STABLE [39ff656a4] 2019-10-29 22:55:19 -0700 12010--> 12011 <para> 12012 In <application>pg_waldump</application> with 12013 the <option>--bkp-details</option> option, avoid emitting extra 12014 newlines for WAL records involving full-page writes (Andres Freund) 12015 </para> 12016 </listitem> 12017 12018 <listitem> 12019<!-- 12020Author: Andres Freund <andres@anarazel.de> 12021Branch: master [e0f76f204] 2019-10-29 19:18:07 -0700 12022Branch: REL_12_STABLE [4ab353c47] 2019-10-29 19:28:34 -0700 12023Branch: REL_11_STABLE [af67aee69] 2019-10-29 19:28:34 -0700 12024Branch: REL_10_STABLE [e3ff8c360] 2019-10-29 19:28:34 -0700 12025Branch: REL9_6_STABLE [95f2efd50] 2019-10-29 19:28:34 -0700 12026Branch: REL9_5_STABLE [c3882f8b8] 2019-10-29 19:28:34 -0700 12027--> 12028 <para> 12029 Fix small memory leak in <application>pg_waldump</application> 12030 (Andres Freund) 12031 </para> 12032 </listitem> 12033 12034 <listitem> 12035<!-- 12036Author: Tom Lane <tgl@sss.pgh.pa.us> 12037Branch: master [06a367c38] 2019-10-10 14:24:56 -0400 12038Branch: REL_12_STABLE [7ed1bcaed] 2019-10-10 14:24:57 -0400 12039--> 12040 <para> 12041 Put back <function>pqsignal()</function> as an 12042 exported <application>libpq</application> symbol (Tom Lane) 12043 </para> 12044 12045 <para> 12046 This function was removed on the grounds that no clients should be 12047 using it, but that turns out to break usage of 12048 current <application>libpq</application> with very old versions 12049 of <application>psql</application>, and perhaps other applications. 12050 </para> 12051 </listitem> 12052 12053 <listitem> 12054<!-- 12055Author: Tom Lane <tgl@sss.pgh.pa.us> 12056Branch: master [d995fd667] 2019-10-21 13:52:25 -0400 12057Branch: REL_12_STABLE [ca658c91a] 2019-10-21 13:52:25 -0400 12058Branch: REL_11_STABLE [4e19bd41d] 2019-10-21 13:52:25 -0400 12059Branch: REL_10_STABLE [328b81348] 2019-10-21 13:52:25 -0400 12060Branch: REL9_6_STABLE [34621cb12] 2019-10-21 13:52:25 -0400 12061Branch: REL9_5_STABLE [8835e0bd4] 2019-10-21 13:52:26 -0400 12062Branch: REL9_4_STABLE [6d2b18d07] 2019-10-21 13:52:26 -0400 12063Branch: master [44273ce4f] 2019-10-21 12:32:35 -0400 12064Branch: REL_12_STABLE [aa5bb828a] 2019-10-21 12:32:35 -0400 12065Branch: REL_11_STABLE [99c51d5ed] 2019-10-21 12:32:36 -0400 12066Branch: REL_10_STABLE [e167b1ae3] 2019-10-21 12:32:36 -0400 12067Branch: REL9_6_STABLE [62ca50ad7] 2019-10-21 12:32:36 -0400 12068Branch: REL9_5_STABLE [11330c311] 2019-10-21 12:32:36 -0400 12069Branch: REL9_4_STABLE [727c2ccfe] 2019-10-21 12:32:36 -0400 12070--> 12071 <para> 12072 Fix <application>configure</application>'s test for presence of 12073 libperl so that it works on recent Red Hat releases (Tom Lane) 12074 </para> 12075 12076 <para> 12077 Previously, it could fail if the user sets <literal>CFLAGS</literal> 12078 to <literal>-O0</literal>. 12079 </para> 12080 </listitem> 12081 12082 <listitem> 12083<!-- 12084Author: Noah Misch <noah@leadboat.com> 12085Branch: master [89b4d7744] 2019-10-18 20:20:28 -0700 12086Branch: REL_12_STABLE [ef13f914e] 2019-10-18 20:20:31 -0700 12087Branch: REL_11_STABLE [af4477b00] 2019-10-18 20:20:32 -0700 12088Branch: REL_10_STABLE [083929372] 2019-10-18 20:20:32 -0700 12089Branch: REL9_6_STABLE [09d74aef3] 2019-10-18 20:20:32 -0700 12090Branch: REL9_5_STABLE [62e881946] 2019-10-18 20:20:32 -0700 12091Branch: REL9_4_STABLE [930787c7f] 2019-10-18 20:20:33 -0700 12092--> 12093 <para> 12094 Ensure correct code generation for spinlocks on PowerPC (Noah Misch) 12095 </para> 12096 12097 <para> 12098 The previous spinlock coding allowed the compiler to select register 12099 zero for use with an assembly instruction that does not accept that 12100 register, causing a build failure. We have seen only one long-ago 12101 report that matches this bug, but it could cause problems for people 12102 trying to build modified <productname>PostgreSQL</productname> code 12103 or use atypical compiler options. 12104 </para> 12105 </listitem> 12106 12107 <listitem> 12108<!-- 12109Author: Noah Misch <noah@leadboat.com> 12110Branch: master [5f3d271d0] 2019-10-12 00:21:47 -0700 12111Branch: REL_12_STABLE [3fb14cfcb] 2019-10-12 00:21:50 -0700 12112Branch: REL_11_STABLE [e5b4926ef] 2019-10-12 00:21:50 -0700 12113Branch: REL_10_STABLE [77cc4a595] 2019-10-12 00:21:50 -0700 12114Branch: REL9_6_STABLE [c73f4f680] 2019-10-12 00:21:50 -0700 12115Branch: REL9_5_STABLE [e40eb31c0] 2019-10-12 00:21:51 -0700 12116Branch: REL9_4_STABLE [b705582b4] 2019-10-12 00:21:51 -0700 12117--> 12118 <para> 12119 On AIX, don't use the compiler option <option>-qsrcmsg</option> 12120 (Noah Misch) 12121 </para> 12122 12123 <para> 12124 This avoids an internal compiler error with xlc v16.1.0, with little 12125 consequence other than changing the format of compiler error messages. 12126 </para> 12127 </listitem> 12128 12129 <listitem> 12130<!-- 12131Author: Andrew Dunstan <andrew@dunslane.net> 12132Branch: master [ad7595b89] 2019-10-04 15:34:40 -0400 12133Branch: REL_12_STABLE [ec38d2311] 2019-10-04 15:39:27 -0400 12134Branch: REL_11_STABLE [3b9c22700] 2019-10-04 15:39:19 -0400 12135Branch: REL_10_STABLE [62d2caed6] 2019-10-04 15:39:12 -0400 12136Branch: REL9_6_STABLE [1e9a0487d] 2019-10-04 15:39:02 -0400 12137Branch: REL9_5_STABLE [6ca51b155] 2019-10-04 15:38:48 -0400 12138Branch: REL9_4_STABLE [8f8809091] 2019-10-04 15:38:36 -0400 12139--> 12140 <para> 12141 Fix MSVC build process to cope with spaces in the file path of 12142 OpenSSL (Andrew Dunstan) 12143 </para> 12144 </listitem> 12145 12146 </itemizedlist> 12147 12148 </sect2> 12149 </sect1> 12150 12151 <sect1 id="release-12"> 12152 <title>Release 12</title> 12153 12154 <formalpara> 12155 <title>Release date:</title> 12156 <para>2019-10-03</para> 12157 </formalpara> 12158 12159 <sect2> 12160 <title>Overview</title> 12161 12162 <para> 12163 Major enhancements in <productname>PostgreSQL</productname> 12 include: 12164 </para> 12165 12166 <!-- Items in this list summarize one or more items below --> 12167 12168 <itemizedlist> 12169 12170 <listitem> 12171 <para> 12172 General performance improvements, including: 12173 <itemizedlist> 12174 <listitem> 12175 <para> 12176 Optimizations to space utilization and read/write performance for 12177 B-tree indexes 12178 </para> 12179 </listitem> 12180 12181 <listitem> 12182 <para> 12183 Partitioning performance enhancements, including improved query 12184 performance on tables with thousands of partitions, improved 12185 insertion performance with <xref linkend="sql-insert"/> and <xref 12186 linkend="sql-copy"/>, and the ability to execute <link 12187 linkend="sql-altertable-attach-partition"><command>ALTER TABLE ATTACH 12188 PARTITION</command></link> without blocking queries 12189 </para> 12190 </listitem> 12191 12192 <listitem> 12193 <para> 12194 Automatic (but overridable) inlining 12195 of <link linkend="queries-with">common table expressions</link> 12196 (<acronym>CTEs</acronym>) 12197 </para> 12198 </listitem> 12199 12200 <listitem> 12201 <para> 12202 Reduction of <acronym>WAL</acronym> overhead for creation of 12203 <link linkend="gist">GiST</link>, <link linkend="gin">GIN</link>, and 12204 <link linkend="spgist">SP-GiST</link> indexes 12205 </para> 12206 </listitem> 12207 12208 <listitem> 12209 <para> 12210 Support for covering <link linkend="gist">GiST</link> indexes, via 12211 the <link linkend="indexes-index-only-scans"><literal>INCLUDE</literal></link> 12212 clause 12213 </para> 12214 </listitem> 12215 12216 <listitem> 12217 <para> 12218 Multi-column most-common-value (MCV) statistics can be defined 12219 via <xref linkend="sql-createstatistics"/>, to support better 12220 plans for queries that test several non-uniformly-distributed 12221 columns 12222 </para> 12223 </listitem> 12224 </itemizedlist> 12225 </para> 12226 </listitem> 12227 12228 <listitem> 12229 <para> 12230 Enhancements to administrative functionality, including: 12231 <itemizedlist> 12232 <listitem> 12233 <para> 12234 <link linkend="sql-reindex-concurrently"><command>REINDEX 12235 CONCURRENTLY</command></link> can rebuild an index without 12236 blocking writes to its table 12237 </para> 12238 </listitem> 12239 12240 <listitem> 12241 <para> 12242 <xref linkend="app-pgchecksums"/> can enable/disable page checksums 12243 (used for detecting data corruption) in an offline cluster 12244 </para> 12245 </listitem> 12246 12247 <listitem> 12248 <para> 12249 Progress reporting statistics for <xref linkend="sql-createindex"/>, 12250 <xref linkend="sql-reindex"/>, <xref linkend="sql-cluster"/>, 12251 <link linkend="sql-vacuum">VACUUM FULL</link>, and 12252 <xref linkend="app-pgchecksums"/> 12253 </para> 12254 </listitem> 12255 </itemizedlist> 12256 </para> 12257 </listitem> 12258 12259 <listitem> 12260 <para> 12261 Support for the <link 12262 linkend="functions-sqljson-path"><acronym>SQL/JSON</acronym> 12263 path</link> language 12264 </para> 12265 </listitem> 12266 12267 <listitem> 12268 <para> 12269 Stored <link linkend="ddl-generated-columns">generated columns</link> 12270 </para> 12271 </listitem> 12272 12273 <listitem> 12274 <para> 12275 <link linkend="collation-nondeterministic">Nondeterministic</link> ICU 12276 collations, enabling case-insensitive and accent-insensitive grouping 12277 and ordering 12278 </para> 12279 </listitem> 12280 12281 <listitem> 12282 <para> 12283 New authentication features, including: 12284 <itemizedlist> 12285 <listitem> 12286 <para> 12287 Encryption of TCP/IP connections when using 12288 <link linkend="gssapi-auth"><acronym>GSSAPI</acronym></link> 12289 authentication 12290 </para> 12291 </listitem> 12292 12293 <listitem> 12294 <para> 12295 Discovery of LDAP servers using <acronym>DNS SRV</acronym> records 12296 </para> 12297 </listitem> 12298 12299 <listitem> 12300 <para> 12301 Multi-factor authentication, using the <link linkend="auth-cert"> 12302 <literal>clientcert=verify-full</literal></link> option combined 12303 with an additional authentication method in 12304 <filename>pg_hba.conf</filename> 12305 </para> 12306 </listitem> 12307 </itemizedlist> 12308 </para> 12309 </listitem> 12310 12311 </itemizedlist> 12312 12313 <para> 12314 The above items are explained in more detail in the sections below. 12315 </para> 12316 12317 </sect2> 12318 12319 <sect2> 12320 12321 <title>Migration to Version 12</title> 12322 12323 <para> 12324 A dump/restore using <xref linkend="app-pg-dumpall"/> or use of <xref 12325 linkend="pgupgrade"/> or logical replication is required for those 12326 wishing to migrate data from any previous release. See <xref 12327 linkend="upgrading"/> for general information on migrating to new major 12328 releases. 12329 </para> 12330 12331 <para> 12332 Version 12 contains a number of changes that may affect compatibility 12333 with previous releases. Observe the following incompatibilities: 12334 </para> 12335 12336 <itemizedlist> 12337 12338 <listitem> 12339<!-- 12340Author: Andres Freund <andres@anarazel.de> 123412018-11-20 [578b22971] Remove WITH OIDS support, change oid catalog column visi 12342--> 12343 12344 <para> 12345 Remove the special behavior of <link 12346 linkend="datatype-oid">oid</link> columns (Andres Freund, 12347 John Naylor) 12348 </para> 12349 12350 <para> 12351 Previously, a normally-invisible <structfield>oid</structfield> 12352 column could be specified during table creation using <literal>WITH 12353 OIDS</literal>; that ability has been removed. Columns can still be 12354 explicitly declared as type <type>oid</type>. Operations on tables 12355 that have columns created using <literal>WITH OIDS</literal> will 12356 need adjustment. 12357 </para> 12358 12359 <para> 12360 The system catalogs that previously had 12361 hidden <structfield>oid</structfield> columns now have 12362 ordinary <structfield>oid</structfield> columns. 12363 Hence, <command>SELECT *</command> will now output those columns, 12364 whereas previously they would be displayed only if selected 12365 explicitly. 12366 </para> 12367 </listitem> 12368 12369 <listitem> 12370<!-- 12371Author: Andres Freund <andres@anarazel.de> 123722018-10-11 [cda6a8d01] Remove deprecated abstime, reltime, tinterval datatypes. 12373--> 12374 12375 <para> 12376 Remove data types <type>abstime</type>, <type>reltime</type>, 12377 and <type>tinterval</type> (Andres Freund) 12378 </para> 12379 12380 <para> 12381 These are obsoleted by SQL-standard types such 12382 as <type>timestamp</type>. 12383 </para> 12384 </listitem> 12385 12386 <listitem> 12387<!-- 12388Author: Andres Freund <andres@anarazel.de> 123892018-10-11 [2d10defa7] Remove timetravel extension. 12390--> 12391 12392 <para> 12393 Remove the <filename>timetravel</filename> extension 12394 (Andres Freund) 12395 </para> 12396 </listitem> 12397 12398 <listitem> 12399<!-- 12400Author: Peter Eisentraut <peter_e@gmx.net> 124012018-11-25 [2dedf4d9a] Integrate recovery.conf into postgresql.conf 12402--> 12403 12404 <para> 12405 Move <filename>recovery.conf</filename> settings into <link 12406 linkend="runtime-config-wal-archive-recovery"><filename>postgresql.conf</filename></link> 12407 (Masao Fujii, Simon Riggs, Abhijit Menon-Sen, Sergei Kornilov) 12408 </para> 12409 12410 <para> 12411 <filename>recovery.conf</filename> is no longer used, 12412 and the server will not start if that file exists. <link 12413 linkend="runtime-config-wal-archive-recovery">recovery.signal</link> 12414 and <filename>standby.signal</filename> files are now used to switch 12415 into non-primary mode. The <varname>trigger_file</varname> setting 12416 has been renamed to <xref linkend="guc-promote-trigger-file"/>. The 12417 <varname>standby_mode</varname> setting has been removed. 12418 </para> 12419 </listitem> 12420 12421 <listitem> 12422<!-- 12423Author: Peter Eisentraut <peter_e@gmx.net> 124242018-11-28 [f2cbffc7a] Only allow one recovery target setting 12425--> 12426 12427 <para> 12428 Do not allow multiple conflicting <link 12429 linkend="runtime-config-wal-recovery-target"><varname>recovery_target</varname>*</link> 12430 specifications (Peter Eisentraut) 12431 </para> 12432 12433 <para> 12434 Specifically, only allow one of <xref 12435 linkend="guc-recovery-target"/>, <xref 12436 linkend="guc-recovery-target-lsn"/>, 12437 <xref linkend="guc-recovery-target-name"/>, 12438 <xref linkend="guc-recovery-target-time"/>, and <xref 12439 linkend="guc-recovery-target-xid"/>. Previously, multiple different 12440 instances of these parameters could be specified, and the last one 12441 was honored. Now, only one can be specified, though the same one can 12442 be specified multiple times and the last specification is honored. 12443 </para> 12444 </listitem> 12445 12446 <listitem> 12447<!-- 12448Author: Peter Eisentraut <peter@eisentraut.org> 124492019-01-13 [0acb3bc33] Change default of recovery_target_timeline to <literal>latest</literal> 12450--> 12451 12452 <para> 12453 Cause recovery to advance to the latest timeline by default 12454 (Peter Eisentraut) 12455 </para> 12456 12457 <para> 12458 Specifically, <xref linkend="guc-recovery-target-timeline"/> now 12459 defaults to <literal>latest</literal>. Previously, it defaulted 12460 to <literal>current</literal>. 12461 </para> 12462 </listitem> 12463 12464 <listitem> 12465<!-- 12466Author: Tomas Vondra <tomas.vondra@postgresql.org> 124672018-07-29 [a7dc63d90] Refactor geometric functions and operators 124682018-08-16 [c4c340088] Use the built-in float datatypes to implement geometric 124692018-09-26 [2e2a392de] Fix problems in handling the line data type 12470--> 12471 12472 <para> 12473 Refactor code for <link linkend="functions-geometry">geometric 12474 functions and operators</link> (Emre Hasegeli) 12475 </para> 12476 12477 <para> 12478 This could lead to more accurate, but slightly different, results 12479 compared to previous releases. Notably, cases involving NaN, 12480 underflow, overflow, and division by zero are handled more 12481 consistently than before. 12482 </para> 12483 </listitem> 12484 12485 <listitem> 12486<!-- 12487Author: Andrew Gierth <rhodiumtoad@postgresql.org> 124882019-02-13 [02ddd4993] Change floating-point output format for improved perform 124892018-10-12 [f1885386f] Make float exponent output on Windows look the same as e 12490--> 12491 12492 <para> 12493 Improve performance by using a new algorithm for output 12494 of <link linkend="datatype-float"><type>real</type></link> 12495 and <type>double precision</type> values (Andrew Gierth) 12496 </para> 12497 12498 <para> 12499 Previously, displayed floating-point values were rounded to 6 12500 (for <type>real</type>) or 15 (for <type>double precision</type>) 12501 digits by default, adjusted by the value of 12502 <xref linkend="guc-extra-float-digits"/>. Now, 12503 whenever <varname>extra_float_digits</varname> is more than zero (as 12504 it now is by default), only the minimum number of digits required to 12505 preserve the exact binary value are output. The behavior is the 12506 same as before when <varname>extra_float_digits</varname> is set to 12507 zero or less. 12508 </para> 12509 12510 <para> 12511 Also, formatting of floating-point exponents is now uniform across 12512 platforms: two digits are used unless three are necessary. In 12513 previous releases, Windows builds always printed three digits. 12514 </para> 12515 </listitem> 12516 12517 <listitem> 12518<!-- 12519Author: Tom Lane <tgl@sss.pgh.pa.us> 125202018-12-29 [6645ad6bd] Use a separate random seed for SQL random()/setseed() fu 125212018-12-29 [4203842a1] Use pg_strong_random() to select each server process's r 12522--> 12523 12524 <para> 12525 <link linkend="functions-math-random-table"><function>random()</function></link> 12526 and <function>setseed()</function> now behave uniformly across 12527 platforms (Tom Lane) 12528 </para> 12529 12530 <para> 12531 The sequence of <function>random()</function> values generated 12532 following a <function>setseed()</function> call with a particular 12533 seed value is likely to be different now than before. However, it 12534 will also be repeatable, which was not previously guaranteed because 12535 of interference from other uses of random numbers inside the server. 12536 The SQL <function>random()</function> function now has its own 12537 private per-session state to forestall that. 12538 </para> 12539 </listitem> 12540 12541 <listitem> 12542<!-- 12543Author: Tom Lane <tgl@sss.pgh.pa.us> 125442019-05-14 [7c850320d] Fix SQL-style substring() to have spec-compliant greedin 12545--> 12546 12547 <para> 12548 Change SQL-style 12549 <link linkend="functions-similarto-regexp"><function>substring()</function></link> 12550 to have standard-compliant greediness behavior (Tom Lane) 12551 </para> 12552 12553 <para> 12554 In cases where the pattern can be matched in more than one way, the 12555 initial sub-pattern is now treated as matching the least possible 12556 amount of text rather than the greatest; for example, a pattern such 12557 as <literal>%#"aa*#"%</literal> now selects the first group 12558 of <literal>a</literal>'s from the input, not the last group. 12559 </para> 12560 </listitem> 12561 12562 <listitem> 12563<!-- 12564Author: Tom Lane <tgl@sss.pgh.pa.us> 125652019-04-23 [c06e3550d] Don't request pretty-printed output from xmlNodeDump(). 12566--> 12567 12568 <para> 12569 Do not pretty-print the result 12570 of <link linkend="functions-xml"><function>xpath()</function></link> 12571 or the <literal>XMLTABLE</literal> construct (Tom Lane) 12572 </para> 12573 12574 <para> 12575 In some cases, these functions would insert extra whitespace 12576 (newlines and/or spaces) in nodeset values. This is undesirable 12577 since depending on usage, the whitespace might be considered 12578 semantically significant. 12579 </para> 12580 </listitem> 12581 12582 <listitem> 12583<!-- 12584Author: Michael Paquier <michael@paquier.xyz> 125852019-03-13 [6dd263cfa] Rename pg_verify_checksums to pg_checksums 12586--> 12587 12588 <para> 12589 Rename command-line tool 12590 <application>pg_verify_checksums</application> to <xref 12591 linkend="app-pgchecksums"/> (Michaël Paquier) 12592 </para> 12593 </listitem> 12594 12595 <listitem> 12596<!-- 12597Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 125982019-04-04 [413ccaa74] pg_restore: Require -f - to mean stdout 12599--> 12600 12601 <para> 12602 In <xref linkend="app-pgrestore"/>, require specification of 12603 <literal>-f -</literal> to send the dump contents to standard output 12604 (Euler Taveira) 12605 </para> 12606 12607 <para> 12608 Previously, this happened by default if no destination was 12609 specified, but that was deemed to be unfriendly. 12610 </para> 12611 </listitem> 12612 12613 <listitem> 12614<!-- 12615Author: Tom Lane <tgl@sss.pgh.pa.us> 126162018-11-14 [eaf746a5b] Make psql's "\pset format" command reject non-unique abb 12617Author: Tom Lane <tgl@sss.pgh.pa.us> 126182018-11-26 [a7eece4fc] Fix breakage of "\pset format latex". 12619--> 12620 12621 <para> 12622 Disallow non-unique abbreviations 12623 in <application>psql</application>'s <command>\pset format</command> 12624 command (Daniel Vérité) 12625 </para> 12626 12627 <para> 12628 Previously, for example, <command>\pset format a</command> chose 12629 <literal>aligned</literal>; it will now fail since that could 12630 equally well mean <literal>asciidoc</literal>. 12631 </para> 12632 </listitem> 12633 12634 <listitem> 12635<!-- 12636Author: Peter Geoghegan <pg@bowt.ie> 126372019-03-20 [dd299df81] Make heap TID a tiebreaker nbtree index column. 12638--> 12639 12640 <para> 12641 In new btree indexes, the maximum index entry length is 12642 reduced by eight bytes, to improve handling of duplicate entries 12643 (Peter Geoghegan) 12644 </para> 12645 12646 <para> 12647 This means that a <xref linkend="sql-reindex"/> operation on an 12648 index <application>pg_upgrade</application>'d from a previous 12649 release could potentially fail. 12650 </para> 12651 </listitem> 12652 12653 <listitem> 12654<!-- 12655Author: Tom Lane <tgl@sss.pgh.pa.us> 126562019-03-21 [bfb456c1b] Improve error reporting for DROP FUNCTION/PROCEDURE/AGGR 12657--> 12658 12659 <para> 12660 Cause <link linkend="sql-dropfunction"><command>DROP IF EXISTS 12661 FUNCTION</command></link>/<literal>PROCEDURE</literal>/<literal>AGGREGATE</literal>/<literal>ROUTINE</literal> 12662 to generate an error if no argument list is supplied and there are 12663 multiple matching objects (David Rowley) 12664 </para> 12665 12666 <para> 12667 Also improve the error message in such cases. 12668 </para> 12669 </listitem> 12670 12671 <listitem> 12672<!-- 12673Author: Tomas Vondra <tomas.vondra@postgresql.org> 126742019-06-16 [6cbfb784c] Rework the pg_statistic_ext catalog 126752019-06-16 [aa087ec64] Add pg_stats_ext view for extended statistics 12676--> 12677 12678 <para> 12679 Split the <link 12680 linkend="catalog-pg-statistic-ext"><structname>pg_statistic_ext</structname></link> 12681 catalog into two catalogs, and add the <link 12682 linkend="view-pg-stats-ext"><structname>pg_stats_ext</structname></link> 12683 view of it (Dean Rasheed, Tomas Vondra) 12684 </para> 12685 12686 <para> 12687 This change supports hiding potentially-sensitive statistics data 12688 from unprivileged users. 12689 </para> 12690 </listitem> 12691 12692 <listitem> 12693<!-- 12694Author: Peter Eisentraut <peter_e@gmx.net> 126952018-11-01 [96b00c433] Remove obsolete pg_constraint.consrc column 12696--> 12697 12698 <para> 12699 Remove obsolete <link 12700 linkend="catalog-pg-constraint"><structname>pg_constraint</structname></link>.<structfield>consrc</structfield> 12701 column (Peter Eisentraut) 12702 </para> 12703 12704 <para> 12705 This column has been deprecated for a long time, because it did not 12706 update in response to other catalog changes (such as column renamings). 12707 The recommended way to get a text version of a check constraint's 12708 expression from <structname>pg_constraint</structname> 12709 is <literal>pg_get_expr(conbin, conrelid)</literal>. 12710 <function>pg_get_constraintdef()</function> is also a useful 12711 alternative. 12712 </para> 12713 </listitem> 12714 12715 <listitem> 12716<!-- 12717Author: Peter Eisentraut <peter_e@gmx.net> 127182018-11-01 [fe5038236] Remove obsolete pg_attrdef.adsrc column 12719--> 12720 12721 <para> 12722 Remove obsolete <link 12723 linkend="catalog-pg-attrdef"><structname>pg_attrdef</structname></link>.<structfield>adsrc</structfield> 12724 column (Peter Eisentraut) 12725 </para> 12726 12727 <para> 12728 This column has been deprecated for a long time, because it did not 12729 update in response to other catalog changes (such as column renamings). 12730 The recommended way to get a text version of a default-value expression 12731 from <structname>pg_attrdef</structname> is <literal>pg_get_expr(adbin, 12732 adrelid)</literal>. 12733 </para> 12734 </listitem> 12735 12736 <listitem> 12737<!-- 12738Author: Tom Lane <tgl@sss.pgh.pa.us> 127392018-12-19 [586b98fdf] Make type "name" collation-aware. 12740Author: Tom Lane <tgl@sss.pgh.pa.us> 127412019-04-05 [478cacb50] Ensure consistent name matching behavior in processSQLNa 12742--> 12743 12744 <para> 12745 Mark table columns of type <link 12746 linkend="datatype-character-special-table">name</link> as having 12747 <quote>C</quote> collation by default (Tom Lane, Daniel Vérité) 12748 </para> 12749 12750 <para> 12751 The comparison operators for data type <type>name</type> can now use 12752 any collation, rather than always using <quote>C</quote> collation. 12753 To preserve the previous semantics of queries, columns of 12754 type <type>name</type> are now explicitly marked as 12755 having <quote>C</quote> collation. A side effect of this is that 12756 regular-expression operators on <type>name</type> columns will now 12757 use the <quote>C</quote> collation by default, not the database 12758 collation, to determine the behavior of locale-dependent regular 12759 expression patterns (such as <literal>\w</literal>). If you want 12760 non-C behavior for a regular expression on a <type>name</type> 12761 column, attach an explicit <literal>COLLATE</literal> clause. (For 12762 user-defined <type>name</type> columns, another possibility is to 12763 specify a different collation at table creation time; but that just 12764 moves the non-backwards-compatibility to the comparison operators.) 12765 </para> 12766 </listitem> 12767 12768 <listitem> 12769<!-- 12770Author: Tom Lane <tgl@sss.pgh.pa.us> 127712018-12-20 [7c15cef86] Base information_schema.sql_identifier domain on name, n 127722018-12-20 [5bbee34d9] Avoid producing over-length specific_name outputs in inf 127732018-12-18 [6b0faf723] Make collation-aware system catalog columns use "C" coll 12774--> 12775 12776 <para> 12777 Treat object-name columns in 12778 the <link linkend="information-schema"><structname>information_schema</structname></link> 12779 views as being of type <type>name</type>, not <type>varchar</type> 12780 (Tom Lane) 12781 </para> 12782 12783 <para> 12784 Per the SQL standard, object-name columns in 12785 the <structname>information_schema</structname> views are declared 12786 as being of domain type <type>sql_identifier</type>. 12787 In <productname>PostgreSQL</productname>, the underlying catalog 12788 columns are really of type <type>name</type>. This change 12789 makes <type>sql_identifier</type> be a domain 12790 over <type>name</type>, rather than <type>varchar</type> as before. 12791 This eliminates a semantic mismatch in comparison and sorting 12792 behavior, which can greatly improve the performance of queries 12793 on <structname>information_schema</structname> views that restrict 12794 an object-name column. Note however that inequality restrictions, 12795 for example 12796<programlisting> 12797SELECT ... FROM information_schema.tables WHERE table_name < 'foo'; 12798</programlisting> 12799 will now use <quote>C</quote>-locale comparison semantics by 12800 default, rather than the database's default collation as before. 12801 Sorting on these columns will also follow <quote>C</quote> ordering 12802 rules. The previous behavior (and inefficiency) can be enforced by 12803 adding a <literal>COLLATE "default"</literal> clause. 12804 </para> 12805 </listitem> 12806 12807 <listitem> 12808<!-- 12809Author: Peter Eisentraut <peter_e@gmx.net> 128102018-07-10 [bcbd94080] Remove dynamic_shared_memory_type=none 12811--> 12812 12813 <para> 12814 Remove the ability to disable dynamic shared memory (Kyotaro 12815 Horiguchi) 12816 </para> 12817 12818 <para> 12819 Specifically, <xref linkend="guc-dynamic-shared-memory-type"/> 12820 can no longer be set to <literal>none</literal>. 12821 </para> 12822 </listitem> 12823 12824 <listitem> 12825<!-- 12826Author: Michael Paquier <michael@paquier.xyz> 128272018-09-12 [e7a221797] Parse more strictly integer parameters from connection s 12828--> 12829 12830 <para> 12831 Parse libpq integer connection parameters more strictly (Fabien 12832 Coelho) 12833 </para> 12834 12835 <para> 12836 In previous releases, using an incorrect integer value for 12837 connection parameters <literal>connect_timeout</literal>, 12838 <literal>keepalives</literal>, <literal>keepalives_count</literal>, 12839 <literal>keepalives_idle</literal>, 12840 <literal>keepalives_interval</literal> and <literal>port</literal> 12841 resulted in libpq either ignoring those values or failing with 12842 incorrect error messages. 12843 </para> 12844 </listitem> 12845 12846 </itemizedlist> 12847 12848 </sect2> 12849 12850 <sect2> 12851 <title>Changes</title> 12852 12853 <para> 12854 Below you will find a detailed account of the changes between 12855 <productname>PostgreSQL</productname> 12 and the previous 12856 major release. 12857 </para> 12858 12859 <sect3> 12860 <title>Server</title> 12861 12862 <sect4> 12863 <title><link linkend="ddl-partitioning">Partitioning</link></title> 12864 12865 <itemizedlist> 12866 12867 <listitem> 12868<!-- 12869Author: Tom Lane <tgl@sss.pgh.pa.us> 128702018-11-07 [c6e4133fa] Postpone calculating total_table_pages until after pruni 12871Author: Tom Lane <tgl@sss.pgh.pa.us> 128722018-11-15 [34c9e455d] Improve performance of partition pruning remapping a lit 12873Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 128742018-11-16 [3f2393ede] Redesign initialization of partition routing structures 12875Author: Robert Haas <rhaas@postgresql.org> 128762019-02-21 [9eefba181] Delay lock acquisition for partitions until we route a t 12877Author: Tom Lane <tgl@sss.pgh.pa.us> 128782019-03-30 [428b260f8] Speed up planning when partitions can be pruned at plan 12879--> 12880 12881 <para> 12882 Improve performance of many operations on partitioned tables 12883 (Amit Langote, David Rowley, Tom Lane, Álvaro Herrera) 12884 </para> 12885 12886 <para> 12887 Allow tables with thousands of child partitions to be processed 12888 efficiently by operations that only affect a small number of 12889 partitions. 12890 </para> 12891 </listitem> 12892 12893 <listitem> 12894<!-- 12895Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 128962019-04-03 [f56f8f8da] Support foreign keys that reference partitioned tables 12897--> 12898 12899 <para> 12900 Allow <link linkend="ddl-constraints-fk">foreign keys</link> 12901 to reference partitioned tables (Álvaro Herrera) 12902 </para> 12903 </listitem> 12904 12905 <listitem> 12906<!-- 12907Author: Peter Eisentraut <peter_e@gmx.net> 129082018-08-01 [0d5f05cde] Allow multi-inserts during COPY into a partitioned table 12909--> 12910 12911 <para> 12912 Improve speed of <command>COPY</command> into partitioned tables 12913 (David Rowley) 12914 </para> 12915 </listitem> 12916 12917 <listitem> 12918<!-- 12919Author: Peter Eisentraut <peter@eisentraut.org> 129202019-01-25 [7c079d741] Allow generalized expression syntax for partition bounds 12921--> 12922 12923 <para> 12924 Allow partition bounds to be any expression (Kyotaro Horiguchi, 12925 Tom Lane, Amit Langote) 12926 </para> 12927 12928 <para> 12929 Such expressions are evaluated at partitioned-table creation time. 12930 Previously, only simple constants were allowed as partition bounds. 12931 </para> 12932 </listitem> 12933 12934 <listitem> 12935<!-- 12936Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 129372018-12-17 [ca4103025] Fix tablespace handling for partitioned tables 12938--> 12939 12940 <para> 12941 Allow <command>CREATE TABLE</command>'s tablespace specification 12942 for a partitioned table to affect the tablespace of its children 12943 (David Rowley, Álvaro Herrera) 12944 </para> 12945 </listitem> 12946 12947 <listitem> 12948<!-- 12949Author: Tom Lane <tgl@sss.pgh.pa.us> 129502019-04-05 [959d00e9d] Use Append rather than MergeAppend for scanning ordered 12951--> 12952 12953 <para> 12954 Avoid sorting when partitions are already being scanned in the 12955 necessary order (David Rowley) 12956 </para> 12957 </listitem> 12958 12959 <listitem> 12960<!-- 12961Author: Robert Haas <rhaas@postgresql.org> 129622019-03-07 [898e5e329] Allow ATTACH PARTITION with only ShareUpdateExclusiveLoc 12963--> 12964 12965 <para> 12966 <link linkend="sql-altertable"><command>ALTER TABLE ATTACH 12967 PARTITION</command></link> is now performed with reduced locking 12968 requirements (Robert Haas) 12969 </para> 12970 </listitem> 12971 12972 <listitem> 12973<!-- 12974Author: Michael Paquier <michael@paquier.xyz> 129752019-02-08 [3677a0b26] Add pg_partition_root to display top-most parent of a pa 12976Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 129772019-03-04 [b96f6b194] pg_partition_ancestors 12978Author: Michael Paquier <michael@paquier.xyz> 129792018-10-30 [d5eec4eef] Add pg_partition_tree to display information about parti 12980--> 12981 12982 <para> 12983 Add partition introspection functions (Michaël Paquier, Álvaro 12984 Herrera, Amit Langote) 12985 </para> 12986 12987 <para> 12988 The new function <link 12989 linkend="functions-info-partition"><function>pg_partition_root()</function></link> 12990 returns the top-most parent of a partition tree, <link 12991 linkend="functions-info-partition"><function>pg_partition_ancestors()</function></link> 12992 reports all ancestors of a partition, and <link 12993 linkend="functions-info-partition"><function>pg_partition_tree()</function></link> 12994 displays information about partitions. 12995 </para> 12996 </listitem> 12997 12998 <listitem> 12999<!-- 13000Author: Michael Paquier <michael@paquier.xyz> 130012018-12-18 [f94cec644] Include partitioned indexes to system view pg_indexes 13002--> 13003 13004 <para> 13005 Include partitioned indexes in the system view <link 13006 linkend="view-pg-indexes"><structname>pg_indexes</structname></link> 13007 (Suraj Kharage) 13008 </para> 13009 </listitem> 13010 13011 <listitem> 13012<!-- 13013Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 130142019-04-07 [1c5d9270e] psql \dP: list partitioned tables and indexes 13015--> 13016 13017 <para> 13018 Add <application>psql</application> command <command>\dP</command> 13019 to list partitioned tables and indexes (Pavel Stehule) 13020 </para> 13021 </listitem> 13022 13023 <listitem> 13024<!-- 13025Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 130262018-11-19 [d56e0fde8] psql: Describe partitioned tables/indexes as such 13027Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 130282019-03-26 [1af25ca0c] Improve psql's \d display of foreign key constraints 13029Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 130302019-04-17 [b036982db] psql: display tablespace for partitioned indexes 13031--> 13032 13033 <para> 13034 Improve <application>psql</application> <command>\d</command> 13035 and <command>\z</command> display of partitioned tables (Pavel 13036 Stehule, Michaël Paquier, Álvaro Herrera) 13037 </para> 13038 </listitem> 13039 13040 <listitem> 13041<!-- 13042Author: Tom Lane <tgl@sss.pgh.pa.us> 130432019-02-11 [1d92a0c9f] Redesign the partition dependency mechanism. 13044--> 13045 13046 <para> 13047 Fix bugs that could cause <command>ALTER TABLE DETACH 13048 PARTITION</command> to leave behind incorrect dependency state, 13049 allowing subsequent operations to misbehave, for example by not 13050 dropping a former partition child index when its table is dropped 13051 (Tom Lane) 13052 </para> 13053 </listitem> 13054 13055 </itemizedlist> 13056 13057 </sect4> 13058 13059 <sect4> 13060 <title>Indexes</title> 13061 13062 <itemizedlist> 13063 13064 <listitem> 13065<!-- 13066Author: Peter Geoghegan <pg@bowt.ie> 130672019-03-20 [dd299df81] Make heap TID a tiebreaker nbtree index column. 13068Author: Peter Geoghegan <pg@bowt.ie> 130692019-03-20 [fab250243] Consider secondary factors during nbtree splits. 13070Author: Peter Geoghegan <pg@bowt.ie> 130712019-03-25 [f21668f32] Add "split after new tuple" nbtree optimization. 13072--> 13073 13074 <para> 13075 Improve performance and space utilization of btree indexes with 13076 many duplicates (Peter Geoghegan, Heikki Linnakangas) 13077 </para> 13078 13079 <para> 13080 Previously, duplicate index entries were stored unordered within 13081 their duplicate groups. This caused overhead during index 13082 inserts, wasted space due to excessive page splits, and it reduced 13083 <command>VACUUM</command>'s ability to recycle entire pages. 13084 Duplicate index entries are now sorted in heap-storage order. 13085 </para> 13086 13087 <para> 13088 Indexes <application>pg_upgrade</application>'d from previous 13089 releases will not have these benefits. 13090 </para> 13091 </listitem> 13092 13093 <listitem> 13094<!-- 13095see commits above 13096--> 13097 13098 <para> 13099 Allow multi-column btree indexes to be smaller (Peter Geoghegan, 13100 Heikki Linnakangas) 13101 </para> 13102 13103 <para> 13104 Internal pages and min/max leaf page indicators now only store 13105 index keys until the change key, rather than all indexed keys. 13106 This also improves the locality of index access. 13107 </para> 13108 13109 <para> 13110 Indexes <application>pg_upgrade</application>'d from previous 13111 releases will not have these benefits. 13112 </para> 13113 </listitem> 13114 13115 <listitem> 13116<!-- 13117Author: Alexander Korotkov <akorotkov@postgresql.org> 131182018-07-28 [d2086b08b] Reduce path length for locking leaf B-tree pages during 13119--> 13120 13121 <para> 13122 Improve speed of btree index insertions by reducing locking 13123 overhead (Alexander Korotkov) 13124 </para> 13125 </listitem> 13126 13127 <listitem> 13128<!-- 13129Author: Alexander Korotkov <akorotkov@postgresql.org> 131302019-03-10 [f2e403803] Support for INCLUDE attributes in GiST indexes 13131--> 13132 13133 <para> 13134 Support <link 13135 linkend="indexes-index-only-scans"><literal>INCLUDE</literal></link> columns 13136 in <link linkend="gist">GiST</link> indexes (Andrey Borodin) 13137 </para> 13138 </listitem> 13139 13140 <listitem> 13141<!-- 13142Author: Alexander Korotkov <akorotkov@postgresql.org> 131432018-09-19 [2a6368343] Add support for nearest-neighbor (KNN) searches to SP-Gi 13144--> 13145 13146 <para> 13147 Add support for nearest-neighbor (<acronym>KNN</acronym>) searches 13148 of <link linkend="spgist">SP-GiST</link> indexes (Nikita Glukhov, 13149 Alexander Korotkov, Vlad Sterzhanov) 13150 </para> 13151 13152 </listitem> 13153 13154 <listitem> 13155<!-- 13156Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 131572019-04-03 [9155580fd] Generate less WAL during GiST, GIN and SP-GiST index bui 13158--> 13159 13160 <para> 13161 Reduce the <acronym>WAL</acronym> write overhead 13162 of <acronym>GiST</acronym>, <acronym>GIN</acronym>, and 13163 <acronym>SP-GiST</acronym> index creation (Anastasia Lubennikova, 13164 Andrey V. Lepikhov) 13165 </para> 13166 </listitem> 13167 13168 <listitem> 13169<!-- 13170Author: Tom Lane <tgl@sss.pgh.pa.us> 131712019-03-03 [80b9e9c46] Improve performance of index-only scans with many index 13172--> 13173 13174 <para> 13175 Allow index-only scans to be more efficient on indexes with many 13176 columns (Konstantin Knizhnik) 13177 </para> 13178 </listitem> 13179 13180 <listitem> 13181<!-- 13182Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 131832019-03-05 [fe280694d] Scan GiST indexes in physical order during VACUUM. 13184--> 13185 13186 <para> 13187 Improve the performance of vacuum scans of GiST indexes (Andrey 13188 Borodin, Konstantin Kuznetsov, Heikki Linnakangas) 13189 </para> 13190 </listitem> 13191 13192 <listitem> 13193<!-- 13194Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 131952019-03-22 [7df159a62] Delete empty pages during GiST VACUUM. 13196--> 13197 13198 <para> 13199 Delete empty leaf pages during <acronym>GiST</acronym> 13200 <command>VACUUM</command> (Andrey Borodin) 13201 </para> 13202 </listitem> 13203 13204 <listitem> 13205<!-- 13206Author: Peter Eisentraut <peter_e@gmx.net> 132072018-11-14 [1b5d797cd] Lower lock level for renaming indexes 13208--> 13209 13210 <para> 13211 Reduce locking requirements for index renaming (Peter Eisentraut) 13212 </para> 13213 </listitem> 13214 13215 </itemizedlist> 13216 13217 </sect4> 13218 13219 <sect4> 13220 <title>Optimizer</title> 13221 13222 <itemizedlist> 13223 13224 <listitem> 13225<!-- 13226Author: Tomas Vondra <tomas.vondra@postgresql.org> 132272019-03-27 [7300a6995] Add support for multivariate MCV lists 13228Author: Tomas Vondra <tomas.vondra@postgresql.org> 132292019-03-27 [a63b29a1d] Minor improvements for the multivariate MCV lists 13230--> 13231 13232 <para> 13233 Allow <xref linkend="sql-createstatistics"/> to create 13234 most-common-value statistics for multiple columns (Tomas Vondra) 13235 </para> 13236 13237 <para> 13238 This improves optimization for queries that test several columns, 13239 requiring an estimate of the combined effect of 13240 several <literal>WHERE</literal> clauses. If the columns are 13241 correlated and have non-uniform distributions then multi-column 13242 statistics will allow much better estimates. 13243 </para> 13244 </listitem> 13245 13246 <listitem> 13247<!-- 13248Author: Tom Lane <tgl@sss.pgh.pa.us> 132492019-02-16 [608b167f9] Allow user control of CTE materialization, and change th 13250Author: Tom Lane <tgl@sss.pgh.pa.us> 132512019-04-09 [947613127] Prevent inlining of multiply-referenced CTEs with outer 13252--> 13253 13254 <para> 13255 Allow <link linkend="queries-with">common table expressions</link> 13256 (<acronym>CTEs</acronym>) to be inlined into the outer query 13257 (Andreas Karlsson, Andrew Gierth, David Fetter, Tom Lane) 13258 </para> 13259 13260 <para> 13261 Specifically, <acronym>CTE</acronym>s are automatically inlined if 13262 they have no side-effects, are not recursive, and are referenced 13263 only once in the query. Inlining can be prevented by 13264 specifying <literal>MATERIALIZED</literal>, or forced for 13265 multiply-referenced <acronym>CTE</acronym>s by 13266 specifying <literal>NOT MATERIALIZED</literal>. Previously, 13267 <acronym>CTE</acronym>s were never inlined and were always 13268 evaluated before the rest of the query. 13269 </para> 13270 </listitem> 13271 13272 <listitem> 13273<!-- 13274Author: Peter Eisentraut <peter_e@gmx.net> 132752018-07-16 [f7cb2842b] Add plan_cache_mode setting 13276--> 13277 13278 <para> 13279 Allow control over when generic plans are used for prepared 13280 statements (Pavel Stehule) 13281 </para> 13282 13283 <para> 13284 This is controlled by the <xref linkend="guc-plan-cache_mode"/> 13285 server parameter. 13286 </para> 13287 </listitem> 13288 13289 <listitem> 13290<!-- 13291Author: Tom Lane <tgl@sss.pgh.pa.us> 132922019-03-25 [8edd0e794] Suppress Append and MergeAppend plan nodes that have a s 13293--> 13294 13295 <para> 13296 Improve optimization of partition and <literal>UNION ALL</literal> 13297 queries that have only a single child (David Rowley) 13298 </para> 13299 </listitem> 13300 13301 <listitem> 13302<!-- 13303Author: Tom Lane <tgl@sss.pgh.pa.us> 133042018-12-13 [04fe805a1] Drop no-op CoerceToDomain nodes from expressions at plan 13305--> 13306 13307 <para> 13308 Improve processing of <link linkend="domains">domains</link> that 13309 have no check constraints (Tom Lane) 13310 </para> 13311 13312 <para> 13313 Domains that are being used purely as type aliases no longer cause 13314 optimization difficulties. 13315 </para> 13316 </listitem> 13317 13318 <listitem> 13319<!-- 13320Author: Tom Lane <tgl@sss.pgh.pa.us> 133212018-12-30 [6f19a8c41] Teach eval_const_expressions to constant-fold LEAST/GREA 13322--> 13323 13324 <para> 13325 Pre-evaluate calls of <link 13326 linkend="functions-greatest-least"><literal>LEAST</literal></link> 13327 and <literal>GREATEST</literal> when their arguments are constants 13328 (Vik Fearing) 13329 </para> 13330 </listitem> 13331 13332 <listitem> 13333<!-- 13334Author: Tom Lane <tgl@sss.pgh.pa.us> 133352019-02-20 [e04a3905e] Improve planner's understanding of strictness of type co 133362019-03-01 [65ce07e02] Teach optimizer's predtest.c more things about ScalarArr 13337--> 13338 13339 <para> 13340 Improve optimizer's ability to verify that partial indexes 13341 with <literal>IS NOT NULL</literal> conditions are usable in 13342 queries (Tom Lane, James Coleman) 13343 </para> 13344 13345 <para> 13346 Usability can now be recognized in more cases where the calling 13347 query involves casts or 13348 large <literal><replaceable>x</replaceable> IN 13349 (<replaceable>array</replaceable>)</literal> clauses. 13350 </para> 13351 </listitem> 13352 13353 <listitem> 13354<!-- 13355Author: Tom Lane <tgl@sss.pgh.pa.us> 133562018-12-14 [5e0928005] Make pg_statistic and related code account more honestly 13357--> 13358 13359 <para> 13360 Compute <command>ANALYZE</command> statistics using the collation 13361 defined for each column (Tom Lane) 13362 </para> 13363 13364 <para> 13365 Previously, the database's default collation was used for all 13366 statistics. This potentially gives better optimizer behavior for 13367 columns with non-default collations. 13368 </para> 13369 </listitem> 13370 13371 <listitem> 13372<!-- 13373Author: Tom Lane <tgl@sss.pgh.pa.us> 133742019-03-25 [f7111f72d] Improve planner's selectivity estimates for inequalities 13375--> 13376 13377 <para> 13378 Improve selectivity estimates for inequality comparisons 13379 on <link linkend="ddl-system-columns"><structfield>ctid</structfield></link> 13380 columns (Edmund Horner) 13381 </para> 13382 </listitem> 13383 13384 <listitem> 13385<!-- 13386Author: Tom Lane <tgl@sss.pgh.pa.us> 133872018-12-30 [b5415e3c2] Support parameterized TidPaths. 13388Author: Tom Lane <tgl@sss.pgh.pa.us> 133892018-12-30 [0a6ea4001] Add a hash opclass for type "tid". 13390--> 13391 13392 <para> 13393 Improve optimization of joins on columns of type <link 13394 linkend="datatype-oid"><type>tid</type></link> 13395 (Tom Lane) 13396 </para> 13397 13398 <para> 13399 These changes primarily improve the efficiency of self-joins 13400 on <structfield>ctid</structfield> columns. 13401 </para> 13402 </listitem> 13403 13404 <listitem> 13405<!-- 13406Author: Tom Lane <tgl@sss.pgh.pa.us> 134072018-07-11 [39a96512b] Mark built-in btree comparison functions as leakproof wh 134082019-09-21 [d9110d7e1] Straighten out leakproofness markings on text comparison 13409--> 13410 13411 <para> 13412 Fix the leakproofness designations of some btree comparison operators 13413 and support functions (Tom Lane) 13414 </para> 13415 13416 <para> 13417 This allows some optimizations that previously would not have been 13418 applied in the presence of security barrier views or row-level 13419 security. 13420 </para> 13421 </listitem> 13422 13423 </itemizedlist> 13424 13425 </sect4> 13426 13427 <sect4> 13428 <title>General Performance</title> 13429 13430 <itemizedlist> 13431 13432 <listitem> 13433<!-- 13434Author: Bruce Momjian <bruce@momjian.us> 134352018-09-21 [1f7fc7670] doc: JIT is enabled by default in PG 12 13436--> 13437 13438 <para> 13439 Enable <link linkend="jit">Just-in-Time</link> 13440 (<acronym>JIT</acronym>) compilation by default, if the server 13441 has been built with support for it (Andres Freund) 13442 </para> 13443 13444 <para> 13445 Note that this support is not built by default, but has to be 13446 selected explicitly while configuring the build. 13447 </para> 13448 </listitem> 13449 13450 <listitem> 13451<!-- 13452Author: Tom Lane <tgl@sss.pgh.pa.us> 134532019-01-06 [afb0d0712] Replace the data structure used for keyword lookup. 13454Author: Tom Lane <tgl@sss.pgh.pa.us> 134552019-01-09 [c64d0cd5c] Use perfect hashing, instead of binary search, for keywo 13456--> 13457 13458 <para> 13459 Speed up keyword lookup (John Naylor, Joerg Sonnenberger, Tom Lane) 13460 </para> 13461 </listitem> 13462 13463 <listitem> 13464<!-- 13465Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 134662019-01-25 [9556aa01c] Use single-byte Boyer-Moore-Horspool search even with mu 13467--> 13468 13469 <para> 13470 Improve search performance for multi-byte characters 13471 in <function>position()</function> and related functions (Heikki 13472 Linnakangas) 13473 </para> 13474 </listitem> 13475 13476 <listitem> 13477<!-- 13478Author: Stephen Frost <sfrost@snowman.net> 134792019-04-02 [4d0e994ee] Add support for partial TOAST decompression 13480--> 13481 13482 <para> 13483 Allow <link linkend="storage-toast">toasted</link> 13484 values to be minimally decompressed (Paul Ramsey) 13485 </para> 13486 13487 <para> 13488 This is useful for routines that only need to examine the initial 13489 portion of a toasted field. 13490 </para> 13491 </listitem> 13492 13493 <listitem> 13494<!-- 13495Author: Robert Haas <rhaas@postgresql.org> 134962019-03-13 [bbb96c370] Allow ALTER TABLE .. SET NOT NULL to skip provably unnec 13497--> 13498 13499 <para> 13500 Allow <link linkend="sql-altertable"><command>ALTER TABLE ... SET 13501 NOT NULL</command></link> to avoid unnecessary table scans (Sergei 13502 Kornilov) 13503 </para> 13504 13505 <para> 13506 This can be optimized when the table's column constraints can be 13507 recognized as disallowing nulls. 13508 </para> 13509 </listitem> 13510 13511 <listitem> 13512<!-- 13513Author: Noah Misch <noah@leadboat.com> 135142019-03-08 [3c5926301] Avoid some table rewrites for ALTER TABLE .. SET DATA TY 13515--> 13516 13517 <para> 13518 Allow <command>ALTER TABLE ... SET DATA TYPE</command> changing between 13519 <type>timestamp</type> and <type>timestamptz</type> to avoid a 13520 table rewrite when the session time zone is <acronym>UTC</acronym> 13521 (Noah Misch) 13522 </para> 13523 13524 <para> 13525 In the <acronym>UTC</acronym> time zone, these two data types are 13526 binary compatible. 13527 </para> 13528 </listitem> 13529 13530 <listitem> 13531<!-- 13532Author: Andres Freund <andres@anarazel.de> 135332018-07-22 [86eaf208e] Hand code string to integer conversion for performance. 13534--> 13535 13536 <para> 13537 Improve speed in converting strings to 13538 <type>int2</type> or <type>int4</type> integers (Andres Freund) 13539 </para> 13540 </listitem> 13541 13542 <listitem> 13543<!-- 13544Author: Thomas Munro <tmunro@postgresql.org> 135452019-03-15 [bb16aba50] Enable parallel query with SERIALIZABLE isolation. 13546--> 13547 13548 <para> 13549 Allow parallelized queries when in <link 13550 linkend="xact-serializable"><literal>SERIALIZABLE</literal></link> 13551 isolation mode (Thomas Munro) 13552 </para> 13553 13554 <para> 13555 Previously, parallelism was disabled when in this mode. 13556 </para> 13557 </listitem> 13558 13559 <listitem> 13560<!-- 13561Author: Thomas Munro <tmunro@postgresql.org> 135622018-11-07 [3fd2a7932] Provide pg_pread() and pg_pwrite() for random I/O. 13563Author: Thomas Munro <tmunro@postgresql.org> 135642018-11-07 [c24dcd0cf] Use pg_pread() and pg_pwrite() for data files and WAL. 13565--> 13566 13567 <para> 13568 Use <function>pread()</function> and <function>pwrite()</function> 13569 for random I/O (Oskari Saarenmaa, Thomas Munro) 13570 </para> 13571 13572 <para> 13573 This reduces the number of system calls required for I/O. 13574 </para> 13575 </listitem> 13576 13577 <listitem> 13578<!-- 13579Author: Thomas Munro <tmunro@postgresql.org> 135802018-07-24 [1bc180cd2] Use setproctitle_fast() to update the ps status, if avai 13581--> 13582 13583 <para> 13584 Improve the speed of setting the <link 13585 linkend="guc-update-process-title">process title</link> on 13586 <systemitem class="osname">FreeBSD</systemitem> (Thomas Munro) 13587 </para> 13588 </listitem> 13589 13590 </itemizedlist> 13591 13592 </sect4> 13593 13594 <sect4> 13595 <title>Monitoring</title> 13596 13597 <itemizedlist> 13598 13599 <listitem> 13600<!-- 13601Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 136022019-04-03 [799e22034] Log all statements from a sample of transactions 13603--> 13604 13605 <para> 13606 Allow logging of statements from only a percentage of transactions 13607 (Adrien Nayrat) 13608 </para> 13609 13610 <para> 13611 The parameter <xref linkend="guc-log-transaction-sample-rate"/> 13612 controls this. 13613 </para> 13614 </listitem> 13615 13616 <listitem> 13617<!-- 13618Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 136192019-04-02 [ab0dfc961] Report progress of CREATE INDEX operations 13620Author: Peter Eisentraut <peter@eisentraut.org> 136212019-04-07 [03f9e5cba] Report progress of REINDEX operations 13622--> 13623 13624 <para> 13625 Add progress reporting to <command>CREATE INDEX</command> and 13626 <command>REINDEX</command> operations (Álvaro Herrera, Peter 13627 Eisentraut) 13628 </para> 13629 13630 <para> 13631 Progress is reported in the <link 13632 linkend="create-index-progress-reporting"><structname>pg_stat_progress_create_index</structname></link> 13633 system view. 13634 </para> 13635 </listitem> 13636 13637 <listitem> 13638<!-- 13639Author: Robert Haas <rhaas@postgresql.org> 136402019-03-25 [6f97457e0] Add progress reporting for CLUSTER and VACUUM FULL. 13641--> 13642 13643 <para> 13644 Add progress reporting to <command>CLUSTER</command> and 13645 <command>VACUUM FULL</command> (Tatsuro Yamada) 13646 </para> 13647 13648 <para> 13649 Progress is reported in the <link 13650 linkend="cluster-progress-reporting"><structname>pg_stat_progress_cluster</structname></link> 13651 system view. 13652 </para> 13653 </listitem> 13654 13655 <listitem> 13656<!-- 13657Author: Michael Paquier <michael@paquier.xyz> 136582019-04-02 [280e5f140] Add progress reporting to pg_checksums 13659--> 13660 13661 <para> 13662 Add progress reporting to <xref linkend="app-pgchecksums"/> 13663 (Michael Banck, Bernd Helmle) 13664 </para> 13665 13666 <para> 13667 This is enabled with the option <option>--progress</option>. 13668 </para> 13669 </listitem> 13670 13671 <listitem> 13672<!-- 13673Author: Magnus Hagander <magnus@hagander.net> 136742019-03-09 [6b9e875f7] Track block level checksum failures in pg_stat_database 13675--> 13676 13677 <para> 13678 Add counter of checksum failures to 13679 <structname>pg_stat_database</structname> (Magnus Hagander) 13680 </para> 13681 </listitem> 13682 13683 <listitem> 13684<!-- 13685Author: Magnus Hagander <magnus@hagander.net> 136862019-04-12 [77bd49adb] Show shared object statistics in pg_stat_database 13687--> 13688 13689 <para> 13690 Add tracking of global objects in system view 13691 <structname>pg_stat_database</structname> (Julien Rouhaud) 13692 </para> 13693 13694 <para> 13695 Global objects are shown with a <link 13696 linkend="pg-stat-database-view"><structname>pg_stat_database</structname></link>.<structfield>datid</structfield> 13697 value of zero. 13698 </para> 13699 </listitem> 13700 13701 <listitem> 13702<!-- 13703Author: Michael Paquier <michael@paquier.xyz> 137042018-10-09 [c48101620] Add pg_ls_archive_statusdir function 13705--> 13706 13707 <para> 13708 Add the ability to list the contents of the archive directory 13709 (Christoph Moench-Tegeder) 13710 </para> 13711 13712 <para> 13713 The function is <link 13714 linkend="functions-admin-genfile-table"><function>pg_ls_archive_statusdir()</function></link>. 13715 </para> 13716 </listitem> 13717 13718 <listitem> 13719<!-- 13720Author: Michael Paquier <michael@paquier.xyz> 137212018-10-05 [9cd92d1a3] Add pg_ls_tmpdir function 13722--> 13723 13724 <para> 13725 Add the ability to list the contents of temporary directories 13726 (Nathan Bossart) 13727 </para> 13728 13729 <para> 13730 The function, <link 13731 linkend="functions-admin-genfile-table"><function>pg_ls_tmpdir()</function></link>, 13732 optionally allows specification of a tablespace. 13733 </para> 13734 </listitem> 13735 13736 <listitem> 13737<!-- 13738Author: Peter Eisentraut <peter@eisentraut.org> 137392019-02-01 [f60a0e967] Add more columns to pg_stat_ssl 13740--> 13741 13742 <para> 13743 Add information about the client certificate to the system view <link 13744 linkend="pg-stat-ssl-view"><structname>pg_stat_ssl</structname></link> 13745 (Peter Eisentraut) 13746 </para> 13747 13748 <para> 13749 The new columns are <structfield>client_serial</structfield> 13750 and <structfield>issuer_dn</structfield>. Column 13751 <structfield>clientdn</structfield> has been renamed to 13752 <structfield>client_dn</structfield> for clarity. 13753 </para> 13754 </listitem> 13755 13756 <listitem> 13757<!-- 13758Author: Peter Eisentraut <peter@eisentraut.org> 137592019-02-21 [f9692a769] Hide other user's pg_stat_ssl rows 13760--> 13761 13762 <para> 13763 Restrict visibility of rows in <structname>pg_stat_ssl</structname> 13764 for unprivileged users (Peter Eisentraut) 13765 </para> 13766 </listitem> 13767 13768 <listitem> 13769<!-- 13770Author: Peter Eisentraut <peter@eisentraut.org> 137712019-01-30 [689d15e95] Log PostgreSQL version number on startup 13772--> 13773 13774 <para> 13775 At server start, emit a log message including the server 13776 version number (Christoph Berg) 13777 </para> 13778 </listitem> 13779 13780 <listitem> 13781<!-- 13782Author: Andrew Dunstan <andrew@dunslane.net> 137832019-03-06 [342cb650e] Don't log incomplete startup packet if it's empty 13784--> 13785 13786 <para> 13787 Prevent logging <quote>incomplete startup packet</quote> if a new 13788 connection is immediately closed (Tom Lane) 13789 </para> 13790 13791 <para> 13792 This avoids log spam from certain forms of monitoring. 13793 </para> 13794 </listitem> 13795 13796 <listitem> 13797<!-- 13798Author: Stephen Frost <sfrost@snowman.net> 137992018-09-28 [8bddc8640] Add application_name to connection authorized msg 13800--> 13801 13802 <para> 13803 Include the <xref linkend="guc-application-name"/>, if set, 13804 in <xref linkend="guc-log-connections"/> log messages (Don Seiler) 13805 </para> 13806 </listitem> 13807 13808 <listitem> 13809<!-- 13810Author: Peter Eisentraut <peter@eisentraut.org> 138112019-02-27 [6ae578a91] Set fallback_application_name for a walreceiver to clust 13812--> 13813 13814 <para> 13815 Make the walreceiver set its application name to the cluster name, 13816 if set (Peter Eisentraut) 13817 </para> 13818 </listitem> 13819 13820 <listitem> 13821<!-- 13822Author: Michael Paquier <michael@paquier.xyz> 138232018-12-09 [7fee252f6] Add timestamp of last received message from standby to p 13824--> 13825 13826 <para> 13827 Add the timestamp of the last received standby message to <link 13828 linkend="pg-stat-replication-view"><structname>pg_stat_replication</structname></link> 13829 (Lim Myungkyu) 13830 </para> 13831 </listitem> 13832 13833 <listitem> 13834<!-- 13835Author: Michael Paquier <michael@paquier.xyz> 138362018-07-02 [c55de5e51] Add wait event for fsync of WAL segments 13837--> 13838 13839 <para> 13840 Add a <link linkend="wait-event-table">wait event</link> for fsync 13841 of <acronym>WAL</acronym> segments (Konstantin Knizhnik) 13842 </para> 13843 </listitem> 13844 13845 </itemizedlist> 13846 13847 </sect4> 13848 13849 <sect4> 13850 <title><acronym>Authentication</acronym></title> 13851 13852 <itemizedlist> 13853 13854 <listitem> 13855<!-- 13856Author: Stephen Frost <sfrost@snowman.net> 138572019-04-03 [b0b39f72b] GSSAPI encryption support 13858--> 13859 13860 <para> 13861 Add <link linkend="gssapi-auth"><acronym>GSSAPI</acronym></link> 13862 encryption support (Robbie Harwood, Stephen Frost) 13863 </para> 13864 13865 <para> 13866 This feature allows TCP/IP connections to be encrypted when using 13867 GSSAPI authentication, without having to set up a separate 13868 encryption facility such as SSL. 13869 In support of this, add <literal>hostgssenc</literal> 13870 and <literal>hostnogssenc</literal> record types in <link 13871 linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link> 13872 for selecting connections that do or do not use GSSAPI encryption, 13873 corresponding to the existing <literal>hostssl</literal> 13874 and <literal>hostnossl</literal> record types. 13875 There is also a new <xref linkend="libpq-connect-gssencmode"/> 13876 libpq option, and a <xref linkend="pg-stat-gssapi-view"/> system 13877 view. 13878 </para> 13879 </listitem> 13880 13881 <listitem> 13882<!-- 13883Author: Magnus Hagander <magnus@hagander.net> 138842019-03-09 [0516c61b7] Add new clientcert hba option verify-full 13885--> 13886 13887 <para> 13888 Allow the <link 13889 linkend="auth-cert"><literal>clientcert</literal></link> 13890 <filename>pg_hba.conf</filename> option to check that the database 13891 user name matches the client certificate's common name 13892 (Julian Markwort, Marius Timmer) 13893 </para> 13894 13895 <para> 13896 This new check is enabled with 13897 <literal>clientcert=verify-full</literal>. 13898 </para> 13899 </listitem> 13900 13901 <listitem> 13902<!-- 13903Author: Thomas Munro <tmunro@postgresql.org> 139042019-03-21 [0f086f84a] Add DNS SRV support for LDAP server discovery. 13905--> 13906 13907 <para> 13908 Allow discovery of an <link 13909 linkend="auth-ldap"><acronym>LDAP</acronym></link> server using 13910 <acronym>DNS SRV</acronym> records (Thomas Munro) 13911 </para> 13912 13913 <para> 13914 This avoids the requirement of specifying 13915 <literal>ldapserver</literal>. It is only supported if 13916 <productname>PostgreSQL</productname> is compiled with 13917 <productname>OpenLDAP</productname>. 13918 </para> 13919 </listitem> 13920 13921 </itemizedlist> 13922 13923 </sect4> 13924 13925 <sect4> 13926 <title>Server Configuration</title> 13927 13928 <itemizedlist> 13929 13930 <listitem> 13931<!-- 13932Author: Michael Paquier <michael@paquier.xyz> 139332019-03-23 [ed308d783] Add options to enable and disable checksums in pg_checks 13934--> 13935 13936 <para> 13937 Add ability to enable/disable cluster checksums using <xref 13938 linkend="app-pgchecksums"/> (Michael Banck, Michaël Paquier) 13939 </para> 13940 13941 <para> 13942 The cluster must be shut down for these operations. 13943 </para> 13944 </listitem> 13945 13946 <listitem> 13947<!-- 13948Author: Tom Lane <tgl@sss.pgh.pa.us> 139492019-03-10 [cbccac371] Reduce the default value of autovacuum_vacuum_cost_delay 13950--> 13951 13952 <para> 13953 Reduce the default value of <xref 13954 linkend="guc-autovacuum-vacuum-cost-delay"/> to 2ms (Tom Lane) 13955 </para> 13956 13957 <para> 13958 This allows autovacuum operations to proceed faster by default. 13959 </para> 13960 </listitem> 13961 13962 <listitem> 13963<!-- 13964Author: Tom Lane <tgl@sss.pgh.pa.us> 139652019-03-10 [caf626b2c] Convert [autovacuum_]vacuum_cost_delay into floating-poi 13966--> 13967 13968 <para> 13969 Allow <xref linkend="guc-vacuum-cost-delay"/> to specify 13970 sub-millisecond delays, by accepting fractional values (Tom Lane) 13971 </para> 13972 </listitem> 13973 13974 <listitem> 13975<!-- 13976Author: Tom Lane <tgl@sss.pgh.pa.us> 139772019-03-10 [caf626b2c] Convert [autovacuum_]vacuum_cost_delay into floating-poi 13978--> 13979 13980 <para> 13981 Allow time-based server parameters to use units of <link 13982 linkend="config-setting">microseconds</link> 13983 (<literal>us</literal>) (Tom Lane) 13984 </para> 13985 </listitem> 13986 13987 <listitem> 13988<!-- 13989Author: Tom Lane <tgl@sss.pgh.pa.us> 139902019-03-11 [1a83a80a2] Allow fractional input values for integer GUCs, and impr 13991--> 13992 13993 <para> 13994 Allow fractional input for integer server parameters (Tom Lane) 13995 </para> 13996 13997 <para> 13998 For example, <command>SET work_mem = '30.1GB'</command> is now 13999 allowed, even though <varname>work_mem</varname> is an integer 14000 parameter. The value will be rounded to an integer after any 14001 required units conversion. 14002 </para> 14003 </listitem> 14004 14005 <listitem> 14006<!-- 14007Author: Tom Lane <tgl@sss.pgh.pa.us> 140082019-03-10 [caf626b2c] Convert [autovacuum_]vacuum_cost_delay into floating-poi 14009--> 14010 14011 <para> 14012 Allow units to be defined for floating-point server parameters 14013 (Tom Lane) 14014 </para> 14015 </listitem> 14016 14017 <listitem> 14018<!-- 14019Author: Thomas Munro <tmunro@postgresql.org> 140202019-04-02 [475861b26] Add wal_recycle and wal_init_zero GUCs. 14021--> 14022 14023 <para> 14024 Add <xref linkend="guc-wal-recycle"/> and <xref 14025 linkend="guc-wal-init-zero"/> server parameters to control 14026 <acronym>WAL</acronym> file recycling (Jerry Jelinek) 14027 </para> 14028 14029 <para> 14030 Avoiding file recycling can be beneficial on copy-on-write file 14031 systems like <productname>ZFS</productname>. 14032 </para> 14033 </listitem> 14034 14035 <listitem> 14036<!-- 14037Author: Michael Paquier <michael@paquier.xyz> 140382019-04-06 [249d64999] Add support TCP user timeout in libpq and the backend se 14039--> 14040 14041 <para> 14042 Add server parameter <xref linkend="guc-tcp-user-timeout"/> to 14043 control the server's <acronym>TCP</acronym> timeout (Ryohei Nagaura) 14044 </para> 14045 </listitem> 14046 14047 <listitem> 14048<!-- 14049Author: Peter Eisentraut <peter_e@gmx.net> 140502018-11-20 [e73e67c71] Add settings to control SSL/TLS protocol version 14051--> 14052 14053 <para> 14054 Allow control of the minimum and maximum <acronym>SSL</acronym> 14055 protocol versions (Peter Eisentraut) 14056 </para> 14057 14058 <para> 14059 The server parameters are <xref 14060 linkend="guc-ssl-min-protocol-version"/> and <xref 14061 linkend="guc-ssl-max-protocol-version"/>. 14062 </para> 14063 </listitem> 14064 14065 <listitem> 14066<!-- 14067Author: Peter Eisentraut <peter_e@gmx.net> 140682018-07-30 [98efa76fe] Add ssl_library preset parameter 14069--> 14070 14071 <para> 14072 Add server parameter <xref linkend="guc-ssl-library"/> to report 14073 the <acronym>SSL</acronym> library version used by the server 14074 (Peter Eisentraut) 14075 </para> 14076 </listitem> 14077 14078 <listitem> 14079<!-- 14080Author: Thomas Munro <tmunro@postgresql.org> 140812019-02-03 [f1bebef60] Add shared_memory_type GUC. 14082--> 14083 14084 <para> 14085 Add server parameter <xref linkend="guc-shared-memory-type"/> 14086 to control the type of shared memory to use (Andres Freund) 14087 </para> 14088 14089 <para> 14090 This allows selection of <productname>System V</productname> 14091 shared memory, if desired. 14092 </para> 14093 </listitem> 14094 14095 </itemizedlist> 14096 14097 </sect4> 14098 14099 </sect3> 14100 14101 <sect3> 14102 <title>Streaming Replication and Recovery</title> 14103 14104 <itemizedlist> 14105 14106 <listitem> 14107<!-- 14108Author: Peter Eisentraut <peter@eisentraut.org> 141092019-02-07 [13b89f96d] Allow some recovery parameters to be changed with reload 14110--> 14111 14112 <para> 14113 Allow some recovery parameters to be changed with reload (Peter 14114 Eisentraut) 14115 </para> 14116 14117 <para> 14118 These parameters are <xref linkend="guc-archive-cleanup-command"/>, 14119 <xref linkend="guc-promote-trigger-file"/>, <xref 14120 linkend="guc-recovery-end-command"/>, and <xref 14121 linkend="guc-recovery-min-apply-delay"/>. 14122 </para> 14123 </listitem> 14124 14125 <listitem> 14126<!-- 14127Author: Michael Paquier <michael@paquier.xyz> 141282018-09-22 [db361db2f] Make GUC wal_sender_timeout user-settable 14129--> 14130 14131 <para> 14132 Allow the streaming replication timeout (<xref 14133 linkend="guc-wal-sender-timeout"/>) to be set per connection 14134 (Takayuki Tsunakawa) 14135 </para> 14136 14137 <para> 14138 Previously, this could only be set cluster-wide. 14139 </para> 14140 </listitem> 14141 14142 <listitem> 14143<!-- 14144Author: Michael Paquier <michael@paquier.xyz> 141452018-10-25 [10074651e] Add pg_promote function 14146Author: Michael Paquier <michael@paquier.xyz> 141472018-11-06 [8f045e242] Switch pg_promote to be parallel-safe 14148--> 14149 14150 <para> 14151 Add function <link 14152 linkend="functions-recovery-control"><function>pg_promote()</function></link> 14153 to promote standbys to primaries (Laurenz Albe, Michaël Paquier) 14154 </para> 14155 14156 <para> 14157 Previously, this operation was only possible by using <xref 14158 linkend="app-pg-ctl"/> or creating a trigger file. 14159 </para> 14160 </listitem> 14161 14162 <listitem> 14163<!-- 14164Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 141652019-04-05 [9f06d79ef] Add facility to copy replication slots 14166--> 14167 14168 <para> 14169 Allow replication slots to be copied (Masahiko Sawada) 14170 </para> 14171 14172 <para> 14173 The functions for this are <link 14174 linkend="functions-replication-table"><function>pg_copy_physical_replication_slot()</function></link> 14175 and <function>pg_copy_logical_replication_slot()</function>. 14176 </para> 14177 </listitem> 14178 14179 <listitem> 14180<!-- 14181Author: Michael Paquier <michael@paquier.xyz> 141822019-02-12 [ea92368cd] Move max_wal_senders out of max_connections for connecti 14183--> 14184 14185 <para> 14186 Make <xref linkend="guc-max-wal-senders"/> not count as part of 14187 <xref linkend="guc-max-connections"/> (Alexander Kukushkin) 14188 </para> 14189 </listitem> 14190 14191 <listitem> 14192<!-- 14193Author: Peter Eisentraut <peter@eisentraut.org> 141942019-01-11 [ff8530605] Add value 'current' for recovery_target_timeline 14195--> 14196 14197 <para> 14198 Add an explicit value of <literal>current</literal> for <xref 14199 linkend="guc-recovery-target-timeline"/> (Peter Eisentraut) 14200 </para> 14201 </listitem> 14202 14203 <listitem> 14204<!-- 14205Author: Michael Paquier <michael@paquier.xyz> 142062018-09-07 [8582b4d04] Improve handling of corrupted two-phase state files at r 14207--> 14208 14209 <para> 14210 Make recovery fail if a <link 14211 linkend="sql-prepare-transaction">two-phase transaction</link> 14212 status file is corrupt (Michaël Paquier) 14213 </para> 14214 14215 <para> 14216 Previously, a warning was logged and recovery continued, 14217 allowing the transaction to be lost. 14218 </para> 14219 </listitem> 14220 14221 </itemizedlist> 14222 14223 </sect3> 14224 14225 <sect3> 14226 <title>Utility Commands</title> 14227 14228 <itemizedlist> 14229 14230 <listitem> 14231<!-- 14232Author: Peter Eisentraut <peter@eisentraut.org> 142332019-03-29 [5dc92b844] REINDEX CONCURRENTLY 14234--> 14235 14236 <para> 14237 Add <xref linkend="sql-reindex"/> <literal>CONCURRENTLY</literal> 14238 option to allow reindexing without locking out writes (Michaël 14239 Paquier, Andreas Karlsson, Peter Eisentraut) 14240 </para> 14241 14242 <para> 14243 This is also controlled by the <xref linkend="app-reindexdb"/> 14244 application's <option>--concurrently</option> option. 14245 </para> 14246 </listitem> 14247 14248 <listitem> 14249<!-- 14250Author: Peter Eisentraut <peter@eisentraut.org> 142512019-03-30 [fc22b6623] Generated columns 14252--> 14253 14254 <para> 14255 Add support for <link linkend="ddl-generated-columns">generated 14256 columns</link> (Peter Eisentraut) 14257 </para> 14258 14259 <para> 14260 The content of generated columns are computed from expressions 14261 (including references to other columns in the same table) 14262 rather than being specified by <command>INSERT</command> or 14263 <command>UPDATE</command> commands. 14264 </para> 14265 </listitem> 14266 14267 <listitem> 14268<!-- 14269Author: Tomas Vondra <tomas.vondra@postgresql.org> 142702019-01-20 [31f381740] Allow COPY FROM to filter data using WHERE conditions 14271--> 14272 14273 <para> 14274 Add a <literal>WHERE</literal> clause 14275 to <link linkend="sql-copy"><command>COPY FROM</command></link> to 14276 control which rows are accepted (Surafel Temesgen) 14277 </para> 14278 14279 <para> 14280 This provides a simple way to filter incoming data. 14281 </para> 14282 </listitem> 14283 14284 <listitem> 14285<!-- 14286Author: Thomas Munro <tmunro@postgresql.org> 142872018-10-09 [212fab992] Relax transactional restrictions on ALTER TYPE ... ADD V 14288--> 14289 14290 <para> 14291 Allow enumerated values to be added more flexibly 14292 (Andrew Dunstan, Tom Lane, Thomas Munro) 14293 </para> 14294 14295 <para> 14296 Previously, <link linkend="sql-altertype"><command>ALTER TYPE 14297 ... ADD VALUE</command></link> could not be called in a transaction 14298 block, unless it was part of the same transaction that created the 14299 enumerated type. Now it can be called in a later transaction, so 14300 long as the new enumerated value is not referenced until after it is 14301 committed. 14302 </para> 14303 </listitem> 14304 14305 <listitem> 14306<!-- 14307Author: Peter Eisentraut <peter@eisentraut.org> 143082019-03-24 [280a408b4] Transaction chaining 14309--> 14310 14311 <para> 14312 Add commands to end a transaction and start a new one (Peter 14313 Eisentraut) 14314 </para> 14315 14316 <para> 14317 The commands are <link linkend="sql-commit"><command>COMMIT AND 14318 CHAIN</command></link> 14319 and <link linkend="sql-rollback"><command>ROLLBACK AND 14320 CHAIN</command></link>. 14321 </para> 14322 </listitem> 14323 14324 <listitem> 14325<!-- 14326Author: Fujii Masao <fujii@postgresql.org> 143272019-04-08 [119dcfad9] Add vacuum_truncate reloption. 14328Author: Fujii Masao <fujii@postgresql.org> 143292019-05-08 [b84dbc8eb] Add TRUNCATE parameter to VACUUM. 14330--> 14331 14332 <para> 14333 Add <xref linkend="sql-vacuum"/> and <command>CREATE 14334 TABLE</command> options to prevent <command>VACUUM</command> 14335 from truncating trailing empty pages (Takayuki Tsunakawa) 14336 </para> 14337 14338 <para> 14339 These options are <varname>vacuum_truncate</varname> and 14340 <varname>toast.vacuum_truncate</varname>. Use of these options 14341 reduces <command>VACUUM</command>'s locking requirements, but 14342 prevents returning disk space to the operating system. 14343 </para> 14344 </listitem> 14345 14346 <listitem> 14347<!-- 14348Author: Robert Haas <rhaas@postgresql.org> 143492019-04-04 [a96c41fee] Allow VACUUM to be run with index cleanup disabled. 14350Author: Michael Paquier <michael@paquier.xyz> 143512019-06-25 [ce59b75d4] Add toast-level reloption for vacuum_index_cleanup 14352--> 14353 14354 <para> 14355 Allow <command>VACUUM</command> to skip index cleanup 14356 (Masahiko Sawada) 14357 </para> 14358 14359 <para> 14360 This change adds a <command>VACUUM</command> command 14361 option <literal>INDEX_CLEANUP</literal> as well as a table storage 14362 option <literal>vacuum_index_cleanup</literal>. Use of this option 14363 reduces the ability to reclaim space and can lead to index bloat, 14364 but it is helpful when the main goal is to freeze old tuples. 14365 </para> 14366 </listitem> 14367 14368 <listitem> 14369<!-- 14370Author: Michael Paquier <michael@paquier.xyz> 143712018-10-04 [803b1301e] Add option SKIP_LOCKED to VACUUM and ANALYZE 14372--> 14373 14374 <para> 14375 Add the ability to skip <command>VACUUM</command> and 14376 <command>ANALYZE</command> operations on tables that cannot be 14377 locked immediately (Nathan Bossart) 14378 </para> 14379 14380 <para> 14381 This option is called <literal>SKIP_LOCKED</literal>. 14382 </para> 14383 </listitem> 14384 14385 <listitem> 14386<!-- 14387Author: Robert Haas <rhaas@postgresql.org> 143882019-03-29 [41b54ba78] Allow existing VACUUM options to take a Boolean argument 14389--> 14390 14391 <para> 14392 Allow <command>VACUUM</command> and <command>ANALYZE</command> 14393 to take optional Boolean argument specifications (Masahiko Sawada) 14394 </para> 14395 </listitem> 14396 14397 <listitem> 14398<!-- 14399Author: Michael Paquier <michael@paquier.xyz> 144002018-08-10 [f841ceb26] Improve TRUNCATE by avoiding early lock queue 144012018-08-27 [a556549d7] Improve VACUUM and ANALYZE by avoiding early lock queue 14402--> 14403 14404 <para> 14405 Prevent <xref linkend="sql-truncate"/>, 14406 <command>VACUUM</command> and <command>ANALYZE</command> 14407 from requesting a lock on 14408 tables for which the user lacks permission (Michaël Paquier) 14409 </para> 14410 14411 <para> 14412 This prevents unauthorized locking, which could interfere with 14413 user queries. 14414 </para> 14415 </listitem> 14416 14417 <listitem> 14418<!-- 14419Author: Tomas Vondra <tomas.vondra@postgresql.org> 144202019-04-04 [ea569d64a] Add SETTINGS option to EXPLAIN, to print modified settin 14421--> 14422 14423 <para> 14424 Add <xref linkend="sql-explain"/> option 14425 <literal>SETTINGS</literal> to output non-default optimizer 14426 settings (Tomas Vondra) 14427 </para> 14428 14429 <para> 14430 This output can also be obtained when using <xref linkend="auto-explain"/> 14431 by setting <varname>auto_explain.log_settings</varname>. 14432 </para> 14433 </listitem> 14434 14435 <listitem> 14436<!-- 14437Author: Andrew Gierth <rhodiumtoad@postgresql.org> 144382019-03-19 [01bde4fa4] Implement OR REPLACE option for CREATE AGGREGATE. 14439--> 14440 14441 <para> 14442 Add <literal>OR REPLACE</literal> option to 14443 <xref linkend="sql-createaggregate"/> 14444 (Andrew Gierth) 14445 </para> 14446 </listitem> 14447 14448 <listitem> 14449<!-- 14450Author: Peter Eisentraut <peter@eisentraut.org> 144512019-03-19 [590a87025] Ignore attempts to add TOAST table to shared or catalog 14452--> 14453 14454 <para> 14455 Allow modifications of system catalogs' options using <xref 14456 linkend="sql-altertable"/> (Peter Eisentraut) 14457 </para> 14458 14459 <para> 14460 Modifications of catalogs' <literal>reloptions</literal> and 14461 autovacuum settings are now supported. (Setting <xref 14462 linkend="guc-allow-system-table-mods"/> is still required.) 14463 </para> 14464 </listitem> 14465 14466 <listitem> 14467<!-- 14468Author: Peter Eisentraut <peter@eisentraut.org> 144692019-03-13 [f177660ab] Include all columns in default names for foreign key con 14470--> 14471 14472 <para> 14473 Use all key columns' names when selecting default constraint 14474 names for foreign keys (Peter Eisentraut) 14475 </para> 14476 14477 <para> 14478 Previously, only the first column name was included in the constraint 14479 name, resulting in ambiguity for multi-column foreign keys. 14480 </para> 14481 </listitem> 14482 14483 </itemizedlist> 14484 14485 </sect3> 14486 14487 <sect3> 14488 <title>Data Types</title> 14489 14490 <itemizedlist> 14491 14492 <listitem> 14493<!-- 14494Author: Peter Eisentraut <peter@eisentraut.org> 144952019-06-19 [d8594d123] Update list of combining characters 144962019-06-24 [82be666ee] Update unicode_norm_table.h to Unicode 12.1.0 14497--> 14498 14499 <para> 14500 Update assorted knowledge about Unicode to match Unicode 12.1.0 14501 (Peter Eisentraut) 14502 </para> 14503 14504 <para> 14505 This fixes, for example, cases 14506 where <application>psql</application> would misformat output 14507 involving combining characters. 14508 </para> 14509 </listitem> 14510 14511 <listitem> 14512<!-- 14513Author: Tom Lane <tgl@sss.pgh.pa.us> 145142018-09-24 [fd582317e] Sync our Snowball stemmer dictionaries with current upst 14515--> 14516 14517 <para> 14518 Update Snowball stemmer dictionaries with support for new languages 14519 (Arthur Zakirov) 14520 </para> 14521 14522 <para> 14523 This adds word stemming support for Arabic, Indonesian, Irish, 14524 Lithuanian, Nepali, and Tamil to <link linkend="textsearch">full 14525 text search</link>. 14526 </para> 14527 </listitem> 14528 14529 <listitem> 14530<!-- 14531Author: Peter Eisentraut <peter@eisentraut.org> 145322019-03-22 [5e1963fb7] Collations with nondeterministic comparison 14533--> 14534 14535 <para> 14536 Allow creation of <link 14537 linkend="collation">collations</link> that report 14538 string equality for strings that are not bit-wise equal (Peter 14539 Eisentraut) 14540 </para> 14541 14542 <para> 14543 This feature supports <quote>nondeterministic</quote> collations 14544 that can define case- and accent-agnostic equality comparisons. 14545 Thus, for example, a case-insensitive uniqueness constraint on a 14546 text column can be made more easily than before. This is only 14547 supported for <acronym>ICU</acronym> collations. 14548 </para> 14549 </listitem> 14550 14551 <listitem> 14552<!-- 14553Author: Peter Eisentraut <peter@eisentraut.org> 145542019-03-17 [b8f9a2a69] Add support for collation attributes on older ICU versio 14555--> 14556 14557 <para> 14558 Add support for <acronym>ICU</acronym> collation attributes on older 14559 ICU versions (Peter Eisentraut) 14560 </para> 14561 14562 <para> 14563 This allows customization of the collation rules in a consistent way 14564 across all ICU versions. 14565 </para> 14566 </listitem> 14567 14568 <listitem> 14569<!-- 14570Author: Tom Lane <tgl@sss.pgh.pa.us> 145712018-12-19 [2ece7c07d] Add text-vs-name cross-type operators, and unify name_op 14572--> 14573 14574 <para> 14575 Allow data 14576 type <link linkend="datatype-character-special-table">name</link> 14577 to more seamlessly be compared to other text types (Tom Lane) 14578 </para> 14579 14580 <para> 14581 Type <type>name</type> now behaves much like a domain over 14582 type <type>text</type> that has default collation <quote>C</quote>. 14583 This allows cross-type comparisons to be processed more efficiently. 14584 </para> 14585 </listitem> 14586 14587 </itemizedlist> 14588 14589 </sect3> 14590 14591 <sect3> 14592 <title>Functions</title> 14593 14594 <itemizedlist> 14595 14596 <listitem> 14597<!-- 14598Author: Alexander Korotkov <akorotkov@postgresql.org> 145992019-03-16 [72b646033] Partial implementation of SQL/JSON path language 14600Author: Alexander Korotkov <akorotkov@postgresql.org> 146012019-03-16 [16d489b0f] Numeric error suppression in jsonpath 14602Author: Alexander Korotkov <akorotkov@postgresql.org> 146032019-04-01 [0a02e2ae0] GIN support for @@ and @? jsonpath operators 14604--> 14605 14606 <para> 14607 Add support for the <acronym>SQL/JSON</acronym> <link 14608 linkend="functions-sqljson-path">path</link> language 14609 (Nikita Glukhov, Teodor Sigaev, Alexander Korotkov, Oleg Bartunov, 14610 Liudmila Mantrova) 14611 </para> 14612 14613 <para> 14614 This allows execution of complex queries on <type>JSON</type> 14615 values using an <acronym>SQL</acronym>-standard language. 14616 </para> 14617 </listitem> 14618 14619 <listitem> 14620<!-- 14621Author: Tom Lane <tgl@sss.pgh.pa.us> 146222019-03-12 [f1d85aa98] Add support for hyperbolic functions, as well as log10() 14623--> 14624 14625 <para> 14626 Add support for <link linkend="functions-math-hyp-table">hyperbolic 14627 functions</link> (Lætitia Avrot) 14628 </para> 14629 14630 <para> 14631 Also add <function>log10()</function> as an alias for 14632 <function>log()</function>, for standards compliance. 14633 </para> 14634 </listitem> 14635 14636 <listitem> 14637<!-- 14638Author: Dean Rasheed <dean.a.rasheed@gmail.com> 146392018-10-06 [e954a727f] Improve the accuracy of floating point statistical aggre 14640--> 14641 <para> 14642 Improve the accuracy of statistical aggregates like <link 14643 linkend="functions-aggregate-statistics-table"><function>variance()</function></link> 14644 by using more precise algorithms (Dean Rasheed) 14645 </para> 14646 </listitem> 14647 14648 <listitem> 14649<!-- 14650Author: Tom Lane <tgl@sss.pgh.pa.us> 146512018-11-14 [600b04d6b] Add a timezone-specific variant of date_trunc(). 14652--> 14653 14654 <para> 14655 Allow <link 14656 linkend="functions-datetime-table"><function>date_trunc()</function></link> 14657 to have an additional argument to control the time zone (Vik 14658 Fearing, Tom Lane) 14659 </para> 14660 14661 <para> 14662 This is faster and simpler than using the <literal>AT TIME 14663 ZONE</literal> clause. 14664 </para> 14665 </listitem> 14666 14667 <listitem> 14668<!-- 14669Author: Alexander Korotkov <akorotkov@postgresql.org> 146702018-09-09 [cf9846724] Improve behavior of to_timestamp()/to_date() functions 14671--> 14672 14673 <para> 14674 Adjust <link 14675 linkend="functions-formatting-table"><function>to_timestamp()</function></link>/<function>to_date()</function> 14676 functions to be more forgiving of template mismatches (Artur 14677 Zakirov, Alexander Korotkov, Liudmila Mantrova) 14678 </para> 14679 14680 <para> 14681 This new behavior more closely matches the 14682 <productname>Oracle</productname> functions of the same name. 14683 </para> 14684 </listitem> 14685 14686 <listitem> 14687<!-- 14688Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 146892019-03-07 [251cf2e27] Fix minor deficiencies in XMLTABLE, xpath(), xmlexists() 14690--> 14691 14692 <para> 14693 Fix assorted bugs in <link 14694 linkend="functions-xml"><acronym>XML</acronym> functions</link> 14695 (Pavel Stehule, Markus Winand, Chapman Flack) 14696 </para> 14697 14698 <para> 14699 Specifically, in <literal>XMLTABLE</literal>, 14700 <function>xpath()</function>, and <function>xmlexists()</function>, 14701 fix some cases where nothing was output for a node, or an 14702 unexpected error was thrown, or necessary escaping of XML special 14703 characters was omitted. 14704 </para> 14705 </listitem> 14706 14707 <listitem> 14708<!-- 14709Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 147102019-03-07 [eaaa5986a] Fix the BY {REF,VALUE} clause of XMLEXISTS/XMLTABLE 14711--> 14712 14713 <para> 14714 Allow the <literal>BY VALUE</literal> clause 14715 in <function>XMLEXISTS</function> and <function>XMLTABLE</function> 14716 (Chapman Flack) 14717 </para> 14718 14719 <para> 14720 This SQL-standard clause has no effect 14721 in <productname>PostgreSQL</productname>'s implementation, but it 14722 was unnecessarily being rejected. 14723 </para> 14724 </listitem> 14725 14726 <listitem> 14727<!-- 14728Author: Michael Paquier <michael@paquier.xyz> 147292019-03-27 [5bde1651b] Switch function current_schema[s]() to be parallel-unsaf 14730--> 14731 14732 <para> 14733 Prevent <link 14734 linkend="functions-info-session-table"><function>current_schema()</function></link> 14735 and <function>current_schemas()</function> from being run by 14736 parallel workers, as they are not parallel-safe (Michaël Paquier) 14737 </para> 14738 </listitem> 14739 14740 <listitem> 14741<!-- 14742Author: Tom Lane <tgl@sss.pgh.pa.us> 147432019-01-30 [5f5c01459] Allow RECORD and RECORD[] to be specified in function co 14744--> 14745 14746 <para> 14747 Allow <type>RECORD</type> and <type>RECORD[]</type> to be used 14748 as column types in a query's column definition list for a <link 14749 linkend="queries-tablefunctions">table function</link> that is declared 14750 to return <type>RECORD</type> (Elvis Pranskevichus) 14751 </para> 14752 </listitem> 14753 14754 </itemizedlist> 14755 14756 </sect3> 14757 14758 <sect3> 14759 <title><link linkend="plpgsql">PL/pgSQL</link></title> 14760 14761 <itemizedlist> 14762 14763 <listitem> 14764<!-- 14765Author: Tom Lane <tgl@sss.pgh.pa.us> 147662019-01-04 [4879a5172] Support plpgsql variable names that conflict with unrese 14767--> 14768 14769 <para> 14770 Allow SQL commands and variables with the same names as those 14771 commands to be used in the same PL/pgSQL function (Tom Lane) 14772 </para> 14773 14774 <para> 14775 For example, allow a variable called <varname>comment</varname> to 14776 exist in a function that calls 14777 the <command>COMMENT</command> <acronym>SQL</acronym> command. 14778 Previously this combination caused a parse error. 14779 </para> 14780 </listitem> 14781 14782 <listitem> 14783<!-- 14784Author: Tomas Vondra <tomas.vondra@postgresql.org> 147852018-07-25 [167075be3] Add strict_multi_assignment and too_many_rows plpgsql ch 14786--> 14787 14788 <para> 14789 Add new optional warning and error checks to PL/pgSQL (Pavel 14790 Stehule) 14791 </para> 14792 14793 <para> 14794 The new checks allow for run-time validation of 14795 <literal>INTO</literal> column counts and single-row results. 14796 </para> 14797 </listitem> 14798 14799 </itemizedlist> 14800 14801 </sect3> 14802 14803 <sect3> 14804 <title>Client Interfaces</title> 14805 14806 <itemizedlist> 14807 14808 <listitem> 14809<!-- 14810Author: Michael Paquier <michael@paquier.xyz> 148112019-04-06 [249d64999] Add support TCP user timeout in libpq and the backend se 14812--> 14813 14814 <para> 14815 Add connection parameter <xref linkend="libpq-tcp-user-timeout"/> 14816 to control <application>libpq</application>'s <acronym>TCP</acronym> 14817 timeout (Ryohei Nagaura) 14818 </para> 14819 </listitem> 14820 14821 <listitem> 14822<!-- 14823Author: Tom Lane <tgl@sss.pgh.pa.us> 148242019-04-04 [7bac3acab] Add a "SQLSTATE-only" error verbosity option to libpq an 14825--> 14826 14827 <para> 14828 Allow <application>libpq</application> (and thus 14829 <application>psql</application>) to report only the 14830 <literal>SQLSTATE</literal> value in error messages (Didier Gautheron) 14831 </para> 14832 </listitem> 14833 14834 <listitem> 14835<!-- 14836Author: Tom Lane <tgl@sss.pgh.pa.us> 148372018-09-11 [2970afa6c] Add PQresultMemorySize function to report allocated size 14838--> 14839 14840 <para> 14841 Add <application>libpq</application> 14842 function <link linkend="libpq-pqresultmemorysize"><function>PQresultMemorySize()</function></link> 14843 to report the memory used by a query result (Lars Kanis, Tom Lane) 14844 </para> 14845 </listitem> 14846 14847 <listitem> 14848<!-- 14849Author: Peter Eisentraut <peter_e@gmx.net> 148502018-09-07 [1fea1e325] libpq: Change "options" dispchar to normal 14851--> 14852 14853 <para> 14854 Remove the no-display/debug flag from <application>libpq</application>'s 14855 <literal>options</literal> connection parameter (Peter Eisentraut) 14856 </para> 14857 14858 <para> 14859 This allows this parameter to be set by 14860 <application>postgres_fdw</application>. 14861 </para> 14862 </listitem> 14863 14864 <listitem> 14865<!-- 14866Author: Michael Meskes <meskes@postgresql.org> 148672019-02-18 [050710b36] Add bytea datatype to ECPG. 14868--> 14869 14870 <para> 14871 Allow <xref linkend="app-ecpg"/> to create variables of data type 14872 <type>bytea</type> (Ryo Matsumura) 14873 </para> 14874 14875 <para> 14876 This allows ECPG clients to interact with <type>bytea</type> data 14877 directly, rather than using an encoded form. 14878 </para> 14879 </listitem> 14880 14881 <listitem> 14882<!-- 14883Author: Michael Meskes <meskes@postgresql.org> 148842019-05-22 [a1dc6ab46] Implement PREPARE AS statement for ECPG. 14885--> 14886 14887 <para> 14888 Add <command>PREPARE AS</command> support to 14889 <productname>ECPG</productname> (Ryo Matsumura) 14890 </para> 14891 </listitem> 14892 14893 </itemizedlist> 14894 14895 </sect3> 14896 14897 <sect3> 14898 <title>Client Applications</title> 14899 14900 <itemizedlist> 14901 14902 <listitem> 14903<!-- 14904Author: Michael Paquier <michael@paquier.xyz> 149052019-01-31 [00d1e88d3] Add - -min-xid-age and - -min-mxid-age options to vacuumdb 14906--> 14907 14908 <para> 14909 Allow <xref linkend="app-vacuumdb"/> to select tables for vacuum 14910 based on their wraparound horizon (Nathan Bossart) 14911 </para> 14912 14913 <para> 14914 The options are <option>--min-xid-age</option> and 14915 <option>--min-mxid-age</option>. 14916 </para> 14917 </listitem> 14918 14919 <listitem> 14920<!-- 14921Author: Michael Paquier <michael@paquier.xyz> 149222019-01-08 [354e95d1f] Add - -disable-page-skipping and - -skip-locked to vacuumd 14923--> 14924 14925 <para> 14926 Allow <application>vacuumdb</application> to disable waiting for locks 14927 or skipping all-visible pages (Nathan Bossart) 14928 </para> 14929 14930 <para> 14931 The options are <option>--skip-locked</option> and 14932 <option>--disable-page-skipping</option>. 14933 </para> 14934 </listitem> 14935 14936 <listitem> 14937<!-- 14938Author: Peter Eisentraut <peter@eisentraut.org> 149392019-04-01 [cc8d41511] Unified logging system for command-line programs 14940--> 14941 14942 <para> 14943 Add colorization to the output of command-line utilities (Peter 14944 Eisentraut) 14945 </para> 14946 14947 <para> 14948 This is enabled by setting the environment variable 14949 <envar>PG_COLOR</envar> to <literal>always</literal> 14950 or <literal>auto</literal>. The specific colors used can be 14951 adjusted by setting the environment variable 14952 <envar>PG_COLORS</envar>, using ANSI escape codes for colors. 14953 For example, the default behavior is equivalent to 14954 <literal>PG_COLORS="error=01;31:warning=01;35:locus=01"</literal>. 14955 </para> 14956 </listitem> 14957 14958 </itemizedlist> 14959 14960 <sect4> 14961 <title><xref linkend="app-psql"/></title> 14962 14963 <itemizedlist> 14964 14965 <listitem> 14966<!-- 14967Author: Tom Lane <tgl@sss.pgh.pa.us> 149682018-11-26 [aa2ba50c2] Add CSV table output mode in psql. 14969--> 14970 14971 <para> 14972 Add <acronym>CSV</acronym> table output mode in 14973 <application>psql</application> (Daniel Vérité) 14974 </para> 14975 14976 <para> 14977 This is controlled by <command>\pset format csv</command> or the 14978 command-line <option>--csv</option> option. 14979 </para> 14980 </listitem> 14981 14982 <listitem> 14983<!-- 14984Author: Peter Eisentraut <peter@eisentraut.org> 149852019-03-11 [27f3dea64] psql: Add documentation URL to \help output 14986--> 14987 14988 <para> 14989 Show the manual page <acronym>URL</acronym> in 14990 <application>psql</application>'s <command>\help</command> output 14991 for a SQL command (Peter Eisentraut) 14992 </para> 14993 </listitem> 14994 14995 <listitem> 14996<!-- 14997Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 149982018-11-19 [6e5f8d489] psql: Show IP address in \conninfo 149992019-06-14 [313f56ce2] Tweak libpq's PQhost, PQhostaddr, and psql's \connect 15000--> 15001 15002 <para> 15003 Display the <acronym>IP</acronym> address in 15004 <application>psql</application>'s <command>\conninfo</command> 15005 (Fabien Coelho) 15006 </para> 15007 </listitem> 15008 15009 <listitem> 15010<!-- 15011Author: Michael Paquier <michael@paquier.xyz> 150122018-12-23 [11a60d496] Add completion for storage parameters after CREATE TABLE 15013Author: Michael Paquier <michael@paquier.xyz> 150142018-10-26 [5953c9969] Improve tab completion of CREATE EVENT TRIGGER in psql 15015Author: Michael Paquier <michael@paquier.xyz> 150162018-10-26 [292ef6e27] Add tab completion of EXECUTE FUNCTION for CREATE TRIGGE 15017Author: Michael Paquier <michael@paquier.xyz> 150182019-01-28 [23349b18d] Add tab completion for ALTER INDEX ALTER COLUMN in psql 15019Author: Michael Paquier <michael@paquier.xyz> 150202018-12-20 [4cba9c2a3] Add more tab completion for CREATE TABLE in psql 15021Author: Tom Lane <tgl@sss.pgh.pa.us> 150222018-09-20 [a7c4dad1a] Fix psql's tab completion for ALTER DATABASE ... SET TAB 15023Author: Michael Paquier <michael@paquier.xyz> 150242018-12-25 [f89ae34ab] Improve tab completion of ALTER INDEX/TABLE with SET STA 15025Author: Tom Lane <tgl@sss.pgh.pa.us> 150262018-09-20 [c9a8a401f] Fix psql's tab completion for TABLE. 15027Author: Tom Lane <tgl@sss.pgh.pa.us> 150282018-09-21 [121213d9d] Improve tab completion for ANALYZE, EXPLAIN, and VACUUM. 15029--> 15030 15031 <para> 15032 Improve tab completion of <command>CREATE TABLE</command>, 15033 <command>CREATE TRIGGER</command>, 15034 <command>CREATE EVENT TRIGGER</command>, 15035 <command>ANALYZE</command>, <command>EXPLAIN</command>, 15036 <command>VACUUM</command>, <command>ALTER TABLE</command>, 15037 <command>ALTER INDEX</command>, <command>ALTER DATABASE</command>, 15038 and <command>ALTER INDEX ALTER COLUMN</command> 15039 (Dagfinn Ilmari Mannsåker, Tatsuro Yamada, Michaël Paquier, 15040 Tom Lane, Justin Pryzby) 15041 </para> 15042 </listitem> 15043 15044 </itemizedlist> 15045 15046 </sect4> 15047 15048 <sect4> 15049 <title><link linkend="pgbench"><application>pgbench</application></link></title> 15050 15051 <itemizedlist> 15052 15053 <listitem> 15054<!-- 15055Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 150562019-01-10 [6260cc550] pgbench: add \cset and \gset commands 15057Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 150582019-03-25 [25ee70511] pgbench: Remove \cset 15059--> 15060 15061 <para> 15062 Allow values produced by queries to be assigned 15063 to <application>pgbench</application> variables (Fabien Coelho, 15064 Álvaro Herrera) 15065 </para> 15066 15067 <para> 15068 The command for this is <command>\gset</command>. 15069 </para> 15070 </listitem> 15071 15072 <listitem> 15073<!-- 15074Author: Tom Lane <tgl@sss.pgh.pa.us> 150752018-09-25 [5b7e03670] Avoid unnecessary precision loss for pgbench's - -rate ta 15076--> 15077 15078 <para> 15079 Improve precision of <application>pgbench</application>'s 15080 <option>--rate</option> option (Tom Lane) 15081 </para> 15082 </listitem> 15083 15084 <listitem> 15085<!-- 15086Author: Peter Eisentraut <peter_e@gmx.net> 150872018-10-15 [5b75a4f82] pgbench: Report errors during run better 15088--> 15089 <para> 15090 Improve <application>pgbench</application>'s error reporting with 15091 clearer messages and return codes (Peter Eisentraut) 15092 </para> 15093 </listitem> 15094 15095 </itemizedlist> 15096 15097 </sect4> 15098 15099 </sect3> 15100 15101 <sect3> 15102 <title>Server Applications</title> 15103 15104 <itemizedlist> 15105 15106 <listitem> 15107<!-- 15108Author: Alexander Korotkov <akorotkov@postgresql.org> 151092018-09-01 [ec7436993] Implement "pg_ctl logrotate" command 15110--> 15111 15112 <para> 15113 Allow control of log file rotation via <xref linkend="app-pg-ctl"/> 15114 (Kyotaro Horiguchi, Alexander Kuzmenkov, Alexander Korotkov) 15115 </para> 15116 15117 <para> 15118 Previously, this was only possible via an <acronym>SQL</acronym> 15119 function or a process signal. 15120 </para> 15121 </listitem> 15122 15123 <listitem> 15124<!-- 15125Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 151262019-01-14 [bb24439ce] Detach postmaster process from pg_ctl's session at serve 15127--> 15128 15129 <para> 15130 Properly detach the new server process 15131 during <literal><application>pg_ctl</application> start</literal> 15132 (Paul Guo) 15133 </para> 15134 15135 <para> 15136 This prevents the server from being shut down if the shell script 15137 that invoked <application>pg_ctl</application> is interrupted later. 15138 </para> 15139 </listitem> 15140 15141 <listitem> 15142<!-- 15143Author: Peter Eisentraut <peter_e@gmx.net> 151442018-11-07 [3a769d823] pg_upgrade: Allow use of file cloning 15145--> 15146 15147 <para> 15148 Allow <xref linkend="pgupgrade"/> to use the file system's cloning 15149 feature, if there is one (Peter Eisentraut) 15150 </para> 15151 15152 <para> 15153 The <option>--clone</option> option has the advantages of 15154 <option>--link</option>, while preventing the old cluster from 15155 being changed after the new cluster has started. 15156 </para> 15157 </listitem> 15158 15159 <listitem> 15160<!-- 15161Author: Tom Lane <tgl@sss.pgh.pa.us> 151622018-12-01 [2d34ad843] Add a - -socketdir option to pg_upgrade. 15163--> 15164 15165 <para> 15166 Allow specification of the socket directory to use 15167 in <application>pg_upgrade</application> (Daniel Gustafsson) 15168 </para> 15169 15170 <para> 15171 This is controlled by <option>--socketdir</option>; the default 15172 is the current directory. 15173 </para> 15174 </listitem> 15175 15176 <listitem> 15177<!-- 15178Author: Michael Paquier <michael@paquier.xyz> 151792019-03-23 [e0090c869] Add option -N/- -no-sync to pg_checksums 15180--> 15181 15182 <para> 15183 Allow <xref linkend="app-pgchecksums"/> to disable fsync operations 15184 (Michaël Paquier) 15185 </para> 15186 15187 <para> 15188 This is controlled by the <option>--no-sync</option> option. 15189 </para> 15190 </listitem> 15191 15192 <listitem> 15193<!-- 15194Author: Michael Paquier <michael@paquier.xyz> 151952018-07-10 [8a00b96aa] Add pg_rewind - -no-sync 15196--> 15197 15198 <para> 15199 Allow <xref linkend="app-pgrewind"/> to disable fsync operations 15200 (Michaël Paquier) 15201 </para> 15202 </listitem> 15203 15204 <listitem> 15205<!-- 15206Author: Michael Paquier <michael@paquier.xyz> 152072018-09-14 [0ba06e0bf] Allow concurrent-safe open() and fopen() in frontend 152082018-09-20 [40cfe8606] Enforce translation mode for Windows frontends to text 15209--> 15210 15211 <para> 15212 Fix <xref linkend="pgtestfsync"/> to report accurate 15213 <literal>open_datasync</literal> durations on 15214 <productname>Windows</productname> (Laurenz Albe) 15215 </para> 15216 </listitem> 15217 15218 </itemizedlist> 15219 15220 <sect4> 15221 <title><link linkend="app-pgdump"><application>pg_dump</application></link>, 15222 <link linkend="app-pg-dumpall"><application>pg_dumpall</application></link>, 15223 <link linkend="app-pgrestore"><application>pg_restore</application></link></title> 15224 15225 <itemizedlist> 15226 15227 <listitem> 15228<!-- 15229Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 152302019-03-07 [7e413a0f8] pg_dump: allow multiple rows per insert 152312019-06-14 [a193cbec1] Add pg_dumpall rows-per-insert 15232--> 15233 15234 <para> 15235 When <application>pg_dump</application> emits data 15236 with <command>INSERT</command> commands rather 15237 than <command>COPY</command>, allow more than one data row to be 15238 included in each <command>INSERT</command> (Surafel Temesgen, 15239 David Rowley) 15240 </para> 15241 15242 <para> 15243 The option controlling this is <option>--rows-per-insert</option>. 15244 </para> 15245 </listitem> 15246 15247 <listitem> 15248<!-- 15249Author: Thomas Munro <tmunro@postgresql.org> 152502018-07-13 [387a5cfb9] Add pg_dump - -on-conflict-do-nothing option. 15251--> 15252 15253 <para> 15254 Allow <application>pg_dump</application> to emit <command>INSERT 15255 ... ON CONFLICT DO NOTHING</command> (Surafel Temesgen) 15256 </para> 15257 15258 <para> 15259 This avoids conflict failures during restore. 15260 The option is <option>--on-conflict-do-nothing</option>. 15261 </para> 15262 </listitem> 15263 15264 <listitem> 15265<!-- 15266Author: Tom Lane <tgl@sss.pgh.pa.us> 152672018-09-14 [548e50976] Improve parallel scheduling logic in pg_dump/pg_restore. 15268--> 15269 15270 <para> 15271 Decouple the order of operations in a 15272 parallel <application>pg_dump</application> from the order used by 15273 a subsequent parallel <application>pg_restore</application> (Tom 15274 Lane) 15275 </para> 15276 15277 <para> 15278 This allows <application>pg_restore</application> to perform 15279 more-fully-parallelized parallel restores, especially in cases 15280 where the original dump was not done in parallel. Scheduling of a 15281 parallel <application>pg_dump</application> is also somewhat 15282 improved. 15283 </para> 15284 </listitem> 15285 15286 <listitem> 15287<!-- 15288Author: Andrew Dunstan <andrew@dunslane.net> 152892019-02-18 [af25bc03e] Provide an extra-float-digits setting for pg_dump / pg_d 15290--> 15291 15292 <para> 15293 Allow the <xref linkend="guc-extra-float-digits"/> setting to be 15294 specified for <application>pg_dump</application> and 15295 <application>pg_dumpall</application> (Andrew Dunstan) 15296 </para> 15297 15298 <para> 15299 This is primarily useful for making dumps that are exactly 15300 comparable across different source server versions. It is not 15301 recommended for normal use, as it may result in loss of precision 15302 when the dump is restored. 15303 </para> 15304 </listitem> 15305 15306 <listitem> 15307<!-- 15308Author: Andrew Dunstan <andrew@dunslane.net> 153092019-03-01 [f092de050] Add - -exclude-database option to pg_dumpall 15310--> 15311 15312 <para> 15313 Add <option>--exclude-database</option> option to 15314 <application>pg_dumpall</application> (Andrew Dunstan) 15315 </para> 15316 </listitem> 15317 15318 </itemizedlist> 15319 15320 </sect4> 15321 15322 </sect3> 15323 15324 <sect3> 15325 <title>Source Code</title> 15326 15327 <itemizedlist> 15328 15329 <listitem> 15330<!-- 15331Author: Andres Freund <andres@anarazel.de> 153322018-11-16 [4da597edf] Make TupleTableSlots extensible, finish split of 15333Author: Andres Freund <andres@anarazel.de> 153342019-03-06 [8586bf7ed] tableam: introduce table AM infrastructure. 15335Author: Andres Freund <andres@anarazel.de> 153362019-03-06 [3b925e905] tableam: Add pg_dump support. 15337Author: Andres Freund <andres@anarazel.de> 153382019-03-11 [c2fe139c2] tableam: Add and use scan APIs. 15339Author: Andres Freund <andres@anarazel.de> 153402019-03-23 [5db6df0c0] tableam: Add tuple_{insert, delete, update, lock} and us 15341Author: Andres Freund <andres@anarazel.de> 153422019-03-28 [d25f51910] tableam: relation creation, VACUUM FULL/CLUSTER, SET TAB 15343Author: Andres Freund <andres@anarazel.de> 153442019-03-29 [d3a5fc17e] Show table access methods as such in psql's \dA. 15345Author: Andres Freund <andres@anarazel.de> 153462019-03-31 [73c954d24] tableam: sample scan. 15347Author: Andres Freund <andres@anarazel.de> 153482019-03-31 [bfbcad478] tableam: bitmap table scan. 15349existin 15350--> 15351 15352 <para> 15353 Add <xref linkend="sql-create-access-method"/> command to create 15354 new table types (Andres Freund, Haribabu Kommi, Álvaro Herrera, 15355 Alexander Korotkov, Dmitry Dolgov) 15356 </para> 15357 15358 <para> 15359 This enables the development of new <link linkend="tableam">table 15360 access methods</link>, which can optimize storage for different 15361 use cases. The existing <literal>heap</literal> access method 15362 remains the default. 15363 </para> 15364 </listitem> 15365 15366 <listitem> 15367<!-- 15368Author: Tom Lane <tgl@sss.pgh.pa.us> 153692019-02-09 [1fb57af92] Create the infrastructure for planner support functions. 153702019-02-09 [a391ff3c3] Build out the planner support function infrastructure. 153712019-02-11 [74dfe58a5] Allow extensions to generate lossy index conditions. 15372--> 15373 15374 <para> 15375 Add <link linkend="xfunc-optimization">planner support 15376 function</link> interfaces to improve optimizer estimates, 15377 inlining, and indexing for functions (Tom Lane) 15378 </para> 15379 15380 <para> 15381 This allows extensions to create planner support functions that 15382 can provide function-specific selectivity, cost, and row-count 15383 estimates that can depend on the function's arguments. Support 15384 functions can also supply simplified representations and index 15385 conditions, greatly expanding optimization possibilities. 15386 </para> 15387 </listitem> 15388 15389 <listitem> 15390<!-- 15391Author: Tom Lane <tgl@sss.pgh.pa.us> 153922019-03-12 [a6417078c] Create a script that can renumber manually-assigned OIDs 153932019-03-12 [3aa0395d4] Remove remaining hard-wired OID references in the initia 15394--> 15395 15396 <para> 15397 Simplify renumbering manually-assigned OIDs, and establish a new 15398 project policy for management of such OIDs (John Naylor, Tom Lane) 15399 </para> 15400 15401 <para> 15402 Patches that manually assign OIDs for new built-in objects (such as 15403 new functions) should now randomly choose OIDs in the range 15404 8000—9999. At the end of a development cycle, the OIDs used 15405 by committed patches will be renumbered down to lower numbers, 15406 currently somewhere in the 4<replaceable>xxx</replaceable> range, 15407 using the new <link 15408 linkend="system-catalog-oid-assignment"><command>renumber_oids.pl</command></link> 15409 script. This approach should greatly reduce the odds of OID 15410 collisions between different in-process patches. 15411 </para> 15412 15413 <para> 15414 While there is no specific policy reserving any OIDs for external 15415 use, it is recommended that forks and other projects needing 15416 private manually-assigned OIDs use numbers in the high 15417 7<replaceable>xxx</replaceable> range. This will avoid conflicts 15418 with recently-merged patches, and it should be a long time before 15419 the core project reaches that range. 15420 </para> 15421 </listitem> 15422 15423 <listitem> 15424<!-- 15425Author: Andrew Dunstan <andrew@dunslane.net> 154262018-10-02 [a33245a85] Don't build static libraries on Cygwin 15427--> 15428 15429 <para> 15430 Build <productname>Cygwin</productname> binaries using dynamic 15431 instead of static libraries (Marco Atzeri) 15432 </para> 15433 </listitem> 15434 15435 <listitem> 15436<!-- 15437Author: Michael Paquier <michael@paquier.xyz> 154382019-01-01 [1707a0d2a] Remove configure switch - -disable-strong-random 15439--> 15440 15441 <para> 15442 Remove <application>configure</application> switch 15443 <option>--disable-strong-random</option> (Michaël Paquier) 15444 </para> 15445 15446 <para> 15447 A strong random-number source is now required. 15448 </para> 15449 </listitem> 15450 15451 <listitem> 15452<!-- 15453Author: Tom Lane <tgl@sss.pgh.pa.us> 154542018-09-26 [96bf88d52] Always use our own versions of *printf(). 154552018-09-26 [26e9d4d4e] Convert elog.c's useful_strerror() into a globally-used 154562018-09-26 [758ce9b77] Incorporate strerror_r() into src/port/snprintf.c, too. 154572018-09-26 [d6c55de1f] Implement %m in src/port/snprintf.c, and teach elog.c to 15458--> 15459 15460 <para> 15461 <function>printf</function>-family functions, as well 15462 as <function>strerror</function> 15463 and <function>strerror_r</function>, now behave uniformly across 15464 platforms within Postgres code (Tom Lane) 15465 </para> 15466 15467 <para> 15468 Notably, <function>printf</function> 15469 understands <literal>%m</literal> everywhere; on 15470 Windows, <function>strerror</function> copes with Winsock error 15471 codes (it used to do so in backend but not frontend code); 15472 and <function>strerror_r</function> always follows the GNU return 15473 convention. 15474 </para> 15475 </listitem> 15476 15477 <listitem> 15478<!-- 15479Author: Andres Freund <andres@anarazel.de> 154802018-08-23 [d9dd406fe] Require C99 (and thus MSCV 2013 upwards). 15481--> 15482 15483 <para> 15484 Require a C99-compliant compiler, and <acronym>MSVC</acronym> 15485 2013 or later on <productname>Windows</productname> (Andres Freund) 15486 </para> 15487 </listitem> 15488 15489 <listitem> 15490<!-- 15491Author: Peter Eisentraut <peter@eisentraut.org> 154922019-01-11 [96b8b8b6f] Create INSTALL file using Pandoc 154932019-03-27 [2488ea7a9] Use Pandoc also for plain-text documentation output 15494--> 15495 15496 <para> 15497 Use <application>pandoc</application>, 15498 not <application>lynx</application>, for generating plain-text 15499 documentation output files (Peter Eisentraut) 15500 </para> 15501 15502 <para> 15503 This affects only the <filename>INSTALL</filename> file generated 15504 during <literal>make dist</literal> and the seldom-used 15505 plain-text <filename>postgres.txt</filename> output file. 15506 Pandoc produces better output than lynx and avoids some 15507 locale/encoding issues. Pandoc version 1.13 or later is required. 15508 </para> 15509 </listitem> 15510 15511 <listitem> 15512<!-- 15513Author: Peter Eisentraut <peter@eisentraut.org> 155142019-03-27 [ea55aec0a] doc: Add some images 15515--> 15516 15517 <para> 15518 Support use of images in the <productname>PostgreSQL</productname> 15519 documentation (Jürgen Purtz) 15520 </para> 15521 </listitem> 15522 15523 </itemizedlist> 15524 15525 </sect3> 15526 15527 <sect3> 15528 <title>Additional Modules</title> 15529 15530 <itemizedlist> 15531 15532 <listitem> 15533<!-- 15534Author: Etsuro Fujita <efujita@postgresql.org> 155352019-04-02 [ffab494a4] postgres_fdw: Perform the (ORDERED, NULL) upperrel opera 15536Author: Etsuro Fujita <efujita@postgresql.org> 155372019-04-02 [d50d172e5] postgres_fdw: Perform the (FINAL, NULL) upperrel operati 15538--> 15539 15540 <para> 15541 Allow <literal>ORDER BY</literal> sorts 15542 and <literal>LIMIT</literal> clauses to be pushed 15543 to <xref linkend="postgres-fdw"/> foreign servers in more 15544 cases (Etsuro Fujita) 15545 </para> 15546 </listitem> 15547 15548 <listitem> 15549<!-- 15550Author: Etsuro Fujita <efujita@postgresql.org> 155512018-12-04 [f8f6e4467] postgres_fdw: Improve cost and size estimation for aggre 15552Author: Etsuro Fujita <efujita@postgresql.org> 155532019-01-24 [fd1afdbaf] postgres_fdw: Account for tlist eval costs in estimate_p 15554Author: Etsuro Fujita <efujita@postgresql.org> 155552019-05-09 [edbcbe277] postgres_fdw: Fix cost estimation for aggregate pushdown 15556--> 15557 15558 <para> 15559 Improve optimizer cost accounting for 15560 <application>postgres_fdw</application> queries (Etsuro Fujita) 15561 </para> 15562 </listitem> 15563 15564 <listitem> 15565<!-- 15566Author: Jeff Davis <jdavis@postgresql.org> 155672018-07-08 [a45adc747] Fix WITH CHECK OPTION on views referencing postgres_fdw 15568--> 15569 15570 <para> 15571 Properly honor <literal>WITH CHECK OPTION</literal> on views 15572 that reference <application>postgres_fdw</application> tables 15573 (Etsuro Fujita) 15574 </para> 15575 15576 <para> 15577 While <literal>CHECK OPTION</literal>s on 15578 <application>postgres_fdw</application> tables are ignored (because 15579 the reference is foreign), views on such tables are considered 15580 local, so this change enforces <literal>CHECK OPTION</literal>s 15581 on them. Previously, only <command>INSERT</command>s and 15582 <command>UPDATE</command>s with <literal>RETURNING</literal> 15583 clauses that returned <literal>CHECK OPTION</literal> values 15584 were validated. 15585 </para> 15586 </listitem> 15587 15588 <listitem> 15589<!-- 15590Author: Amit Kapila <akapila@postgresql.org> 155912019-01-11 [43cbedab8] Extend pg_stat_statements_reset to reset statistics spec 15592--> 15593 15594 <para> 15595 Allow <link 15596 linkend="pgstatstatements"><function>pg_stat_statements_reset()</function></link> 15597 to be more granular (Haribabu Kommi, Amit Kapila) 15598 </para> 15599 15600 <para> 15601 The function now allows reset of statistics for specific databases, 15602 users, and queries. 15603 </para> 15604 </listitem> 15605 15606 <listitem> 15607<!-- 15608Author: Andrew Dunstan <andrew@dunslane.net> 156092018-07-31 [2d36a5e9d] Provide a log_level setting for auto_explain 15610--> 15611 15612 <para> 15613 Allow control of the <xref linkend="auto-explain"/> log level 15614 (Tom Dunstan, Andrew Dunstan) 15615 </para> 15616 15617 <para> 15618 The default is <literal>LOG</literal>. 15619 </para> 15620 </listitem> 15621 15622 <listitem> 15623<!-- 15624Author: Michael Paquier <michael@paquier.xyz> 156252019-01-10 [e1c1d5444] Update unaccent rules with release 34 of CLDR for Latin- 15626--> 15627 15628 <para> 15629 Update <xref linkend="unaccent"/> rules with new 15630 punctuation and symbols (Hugh Ranalli, Michaël Paquier) 15631 </para> 15632 </listitem> 15633 15634 <listitem> 15635<!-- 15636Author: Thomas Munro <tmunro@postgresql.org> 156372019-02-01 [456e3718e] Add combining characters to unaccent.rules. 15638--> 15639 15640 <para> 15641 Allow <application>unaccent</application> to handle some accents 15642 encoded as combining characters (Hugh Ranalli) 15643 </para> 15644 </listitem> 15645 15646 <listitem> 15647<!-- 15648Author: Thomas Munro <tmunro@postgresql.org> 156492018-09-02 [5e8d670c3] Add Greek characters to unaccent.rules. 15650--> 15651 15652 <para> 15653 Allow <application>unaccent</application> to remove accents from 15654 Greek characters (Tasos Maschalidis) 15655 </para> 15656 </listitem> 15657 15658 <listitem> 15659<!-- 15660Author: Peter Geoghegan <pg@bowt.ie> 156612019-03-20 [c1afd175b] Allow amcheck to re-find tuples using new search. 15662--> 15663 15664 <para> 15665 Add a parameter to 15666 <xref linkend="amcheck"/>'s <function>bt_index_parent_check()</function> 15667 function to check each index tuple from the root of the tree 15668 (Peter Geoghegan) 15669 </para> 15670 </listitem> 15671 15672 <listitem> 15673<!-- 15674Author: Michael Paquier <michael@paquier.xyz> 156752018-08-28 [1aaf532de] Rework option set of oid2name 15676Author: Michael Paquier <michael@paquier.xyz> 156772018-08-28 [bfea331a5] Rework option set of vacuumlo 15678--> 15679 15680 <para> 15681 Improve <xref linkend="oid2name"/> and <xref linkend="vacuumlo"/> 15682 option handling to match other commands (Tatsuro Yamada) 15683 </para> 15684 </listitem> 15685 15686 </itemizedlist> 15687 15688 </sect3> 15689 15690 </sect2> 15691 15692 <sect2 id="release-12-acknowledgements"> 15693 <title>Acknowledgments</title> 15694 15695 <para> 15696 The following individuals (in alphabetical order) have contributed to this 15697 release as patch authors, committers, reviewers, testers, or reporters of 15698 issues. 15699 </para> 15700 15701 <simplelist> 15702 <member>Abhijit Menon-Sen</member> 15703 <member>Achilleas Mantzios</member> 15704 <member>Adam Berlin</member> 15705 <member>Adam Bielanski</member> 15706 <member>Aditya Toshniwal</member> 15707 <member>Adrien Nayrat</member> 15708 <member>Alan Jackson</member> 15709 <member>Albert Schabhuetl</member> 15710 <member>Aleksander Alekseev</member> 15711 <member>Alex Aktsipetrov</member> 15712 <member>Alex Kliukin</member> 15713 <member>Alex Macy</member> 15714 <member>Alexander Korotkov</member> 15715 <member>Alexander Kukushkin</member> 15716 <member>Alexander Kuzmenkov</member> 15717 <member>Alexander Lakhin</member> 15718 <member>Alexandra Ryzhevich</member> 15719 <member>Alexey Bashtanov</member> 15720 <member>Alexey Ermakov</member> 15721 <member>Alexey Kondratov</member> 15722 <member>Alexey Kryuchkov</member> 15723 <member>Alexey Stepanov</member> 15724 <member>Allison Kaptur</member> 15725 <member>Álvaro Herrera</member> 15726 <member>Alyssa Ross</member> 15727 <member>Amit Kapila</member> 15728 <member>Amit Khandekar</member> 15729 <member>Amit Langote</member> 15730 <member>Amul Sul</member> 15731 <member>Anastasia Lubennikova</member> 15732 <member>André Hänsel</member> 15733 <member>Andrea Gelmini</member> 15734 <member>Andreas Joseph Krogh</member> 15735 <member>Andreas Karlsson</member> 15736 <member>Andreas Kunert</member> 15737 <member>Andreas Scherbaum</member> 15738 <member>Andreas Seltenreich</member> 15739 <member>Andrei Yahorau</member> 15740 <member>Andres Freund</member> 15741 <member>Andrew Dunstan</member> 15742 <member>Andrew Fletcher</member> 15743 <member>Andrew Gierth</member> 15744 <member>Andrew Krasichkov</member> 15745 <member>Andrey Borodin</member> 15746 <member>Andrey Klychkov</member> 15747 <member>Andrey Lepikhov</member> 15748 <member>Andy Abelisto</member> 15749 <member>Anthony Greene</member> 15750 <member>Anthony Skorski</member> 15751 <member>Antonin Houska</member> 15752 <member>Arne Roland</member> 15753 <member>Arseny Sher</member> 15754 <member>Arthur Zakirov</member> 15755 <member>Ash Marath</member> 15756 <member>Ashutosh Bapat</member> 15757 <member>Ashutosh Sharma</member> 15758 <member>Ashwin Agrawal</member> 15759 <member>Aya Iwata</member> 15760 <member>Bartosz Polnik</member> 15761 <member>Basil Bourque</member> 15762 <member>Bernd Helmle</member> 15763 <member>Brad DeJong</member> 15764 <member>Brigitte Blanc-Lafay</member> 15765 <member>Bruce Klein</member> 15766 <member>Bruce Momjian</member> 15767 <member>Bruno Wolff</member> 15768 <member>Chapman Flack</member> 15769 <member>Chen Huajun</member> 15770 <member>Chris Travers</member> 15771 <member>Chris Wilson</member> 15772 <member>Christian Hofstaedtler</member> 15773 <member>Christoph Berg</member> 15774 <member>Christoph Moench-Tegeder</member> 15775 <member>Clemens Ladisch</member> 15776 <member>Colm McHugh</member> 15777 <member>Corey Huinker</member> 15778 <member>Craig Ringer</member> 15779 <member>Dagfinn Ilmari Mannsåker</member> 15780 <member>Daisuke Higuchi</member> 15781 <member>Daniel Fiori</member> 15782 <member>Daniel Gustafsson</member> 15783 <member>Daniel Vérité</member> 15784 <member>Daniel Westermann</member> 15785 <member>Daniel Wilches</member> 15786 <member>Darafei Praliaskouski</member> 15787 <member>Daryl Waycott</member> 15788 <member>Dave Cramer</member> 15789 <member>David Binderman</member> 15790 <member>David Fetter</member> 15791 <member>David G. Johnston</member> 15792 <member>David Rowley</member> 15793 <member>David Steele</member> 15794 <member>Davy Machado</member> 15795 <member>Dean Rasheed</member> 15796 <member>Derek Hans</member> 15797 <member>Derek Nelson</member> 15798 <member>Devrim Gündüz</member> 15799 <member>Dian Fay</member> 15800 <member>Didier Gautheron</member> 15801 <member>Dilip Kumar</member> 15802 <member>Dmitry Dolgov</member> 15803 <member>Dmitry Marakasov</member> 15804 <member>Dmitry Molotkov</member> 15805 <member>Dmitry Shalashov</member> 15806 <member>Don Seiler</member> 15807 <member>Donald Dong</member> 15808 <member>Doug Rady</member> 15809 <member>Edmund Horner</member> 15810 <member>Eduards Bezverhijs</member> 15811 <member>Elvis Pranskevichus</member> 15812 <member>Emanuel Araújo</member> 15813 <member>Emre Hasegeli</member> 15814 <member>Eric Cyr</member> 15815 <member>Erik Rijkers</member> 15816 <member>Ertugrul Kahveci</member> 15817 <member>Etsuro Fujita</member> 15818 <member>Eugen Konkov</member> 15819 <member>Euler Taveira</member> 15820 <member>Fabien Coelho</member> 15821 <member>Fabrízio de Royes Mello</member> 15822 <member>Feike Steenbergen</member> 15823 <member>Filip Rembialkowski</member> 15824 <member>Gaby Schilders</member> 15825 <member>Geert Lobbestael</member> 15826 <member>George Tarasov</member> 15827 <member>Georgios Kokolatos</member> 15828 <member>Gianni Ciolli</member> 15829 <member>Gilles Darold</member> 15830 <member>Greg Stark</member> 15831 <member>Grigory Smolkin</member> 15832 <member>Guillaume Lelarge</member> 15833 <member>Gunnlaugur Thor Briem</member> 15834 <member>Gurjeet Singh</member> 15835 <member>Hadi Moshayedi</member> 15836 <member>Hailong Li</member> 15837 <member>Hans Buschmann</member> 15838 <member>Haribabu Kommi</member> 15839 <member>Haruka Takatsuka</member> 15840 <member>Hayato Kuroda</member> 15841 <member>Heikki Linnakangas</member> 15842 <member>Hironobu Suzuki</member> 15843 <member>Hubert Lubaczewski</member> 15844 <member>Hugh Ranalli</member> 15845 <member>Ian Barwick</member> 15846 <member>Ibrar Ahmed</member> 15847 <member>Ildar Musin</member> 15848 <member>Insung Moon</member> 15849 <member>Ioseph Kim</member> 15850 <member>Isaac Morland</member> 15851 <member>Ivan Panchenko</member> 15852 <member>Jack Kelly</member> 15853 <member>Jacob Champion</member> 15854 <member>Jaime Casanova</member> 15855 <member>Jakob Egger</member> 15856 <member>Jakub Glapa</member> 15857 <member>Jakub Janecek</member> 15858 <member>James Coleman</member> 15859 <member>James Inform</member> 15860 <member>James Robinson</member> 15861 <member>James Sewell</member> 15862 <member>James Tomson</member> 15863 <member>Jan Chochol</member> 15864 <member>Jaroslav Sivy</member> 15865 <member>Jean-Christophe Arnu</member> 15866 <member>Jean-Marc Voillequin</member> 15867 <member>Jean-Pierre Pelletier</member> 15868 <member>Jeevan Chalke</member> 15869 <member>Jeevan Ladhe</member> 15870 <member>Jeff Davis</member> 15871 <member>Jeff Janes</member> 15872 <member>Jeremy Evans</member> 15873 <member>Jeremy Schneider</member> 15874 <member>Jeremy Smith</member> 15875 <member>Jerry Jelinek</member> 15876 <member>Jesper Pedersen</member> 15877 <member>Jianing Yang</member> 15878 <member>Jie Zhang</member> 15879 <member>Jim Nasby</member> 15880 <member>Jimmy Yih</member> 15881 <member>Joe Conway</member> 15882 <member>Joe Wildish</member> 15883 <member>Joerg Sonnenberger</member> 15884 <member>John Klann</member> 15885 <member>John Naylor</member> 15886 <member>Jonah Harris</member> 15887 <member>Jonathan S. Katz</member> 15888 <member>Jorge Gustavo Rocha</member> 15889 <member>José Arthur Benetasso Villanova</member> 15890 <member>Joshua D. Drake</member> 15891 <member>Juan José Santamaría Flecha</member> 15892 <member>Julian Hsiao</member> 15893 <member>Julian Markwort</member> 15894 <member>Julian Schauder</member> 15895 <member>Julien Rouhaud</member> 15896 <member>Jürgen Purtz</member> 15897 <member>Jürgen Strobel</member> 15898 <member>Justin Pryzby</member> 15899 <member>Kaiting Chen</member> 15900 <member>Karen Huddleston</member> 15901 <member>Karl Czajkowski</member> 15902 <member>Karl O. Pinc</member> 15903 <member>Keiichi Hirobe</member> 15904 <member>Keith Fiske</member> 15905 <member>Ken Tanzer</member> 15906 <member>Kenji Uno</member> 15907 <member>Kevin Grittner</member> 15908 <member>Kevin Hale Boyes</member> 15909 <member>Kieran McCusker</member> 15910 <member>Kirk Jamison</member> 15911 <member>Kohei KaiGai</member> 15912 <member>Konstantin Knizhnik</member> 15913 <member>Konstantin Kuznetsov</member> 15914 <member>Kristjan Tammekivi</member> 15915 <member>Kuntal Ghosh</member> 15916 <member>Kyle Samson</member> 15917 <member>Kyotaro Horiguchi</member> 15918 <member>Lætitia Avrot</member> 15919 <member>Lars Kanis</member> 15920 <member>Laurenz Albe</member> 15921 <member>Lim Myungkyu</member> 15922 <member>Liu Huailing</member> 15923 <member>Liudmila Mantrova</member> 15924 <member>Lloyd Albin</member> 15925 <member>Luca Ferrari</member> 15926 <member>Luis M. Carril</member> 15927 <member>Lukas Eder</member> 15928 <member>Lukas Fittl</member> 15929 <member>Madelaine Thibaut</member> 15930 <member>Madeleine Thompson</member> 15931 <member>Magnus Hagander</member> 15932 <member>Mahendra Singh</member> 15933 <member>Mai Peng</member> 15934 <member>Maksim Milyutin</member> 15935 <member>Maksym Boguk</member> 15936 <member>Malthe Borch</member> 15937 <member>Manuel Rigger</member> 15938 <member>Marco Atzeri</member> 15939 <member>Marco Slot</member> 15940 <member>Marina Polyakova</member> 15941 <member>Mario De Frutos Dieguez</member> 15942 <member>Marius Timmer</member> 15943 <member>Mark Chambers</member> 15944 <member>Mark Dilger</member> 15945 <member>Marko Tiikkaja</member> 15946 <member>Markus Winand</member> 15947 <member>Martín Marqués</member> 15948 <member>Masahiko Sawada</member> 15949 <member>Masao Fujii</member> 15950 <member>Mateusz Guzik</member> 15951 <member>Mathias Brossard</member> 15952 <member>Matt Williams</member> 15953 <member>Matthias Otterbach</member> 15954 <member>Matvey Arye</member> 15955 <member>Melanie Plageman</member> 15956 <member>Mi Tar</member> 15957 <member>Michael Banck</member> 15958 <member>Michael Davidson</member> 15959 <member>Michael Meskes</member> 15960 <member>Michael Paquier</member> 15961 <member>Michael Vitale</member> 15962 <member>Michel Pelletier</member> 15963 <member>Mikalai Keida</member> 15964 <member>Mike Palmiotto</member> 15965 <member>Mithun Cy</member> 15966 <member>Morgan Owens</member> 15967 <member>Murat Kabilov</member> 15968 <member>Nathan Bossart</member> 15969 <member>Nawaz Ahmed</member> 15970 <member>Neeraj Kumar</member> 15971 <member>Nick Barnes</member> 15972 <member>Nico Williams</member> 15973 <member>Nikita Glukhov</member> 15974 <member>Nikolay Shaplov</member> 15975 <member>Ning Yu</member> 15976 <member>Nishant Fnu</member> 15977 <member>Noah Misch</member> 15978 <member>Norbert Benkocs</member> 15979 <member>Noriyoshi Shinoda</member> 15980 <member>Oleg Bartunov</member> 15981 <member>Oleg Samoilov</member> 15982 <member>Oleksii Kliukin</member> 15983 <member>Ondrej Bouda</member> 15984 <member>Oskari Saarenmaa</member> 15985 <member>Pan Bian</member> 15986 <member>Patrick Francelle</member> 15987 <member>Patrick McHardy</member> 15988 <member>Paul A. Jungwirth</member> 15989 <member>Paul Bonaud</member> 15990 <member>Paul Guo</member> 15991 <member>Paul Martinez</member> 15992 <member>Paul Ramsey</member> 15993 <member>Paul Schaap</member> 15994 <member>Paul van der Linden</member> 15995 <member>Pavan Deolasee</member> 15996 <member>Pavel Oskin</member> 15997 <member>Pavel Raiskup</member> 15998 <member>Pavel Stehule</member> 15999 <member>Peifeng Qiu</member> 16000 <member>Peter Billen</member> 16001 <member>Peter Eisentraut</member> 16002 <member>Peter Geoghegan</member> 16003 <member>Peter Neave</member> 16004 <member>Petr Fedorov</member> 16005 <member>Petr Jelínek</member> 16006 <member>Petr Slavov</member> 16007 <member>Petru-Florin Mihancea</member> 16008 <member>Phil Bayer</member> 16009 <member>Phil Florent</member> 16010 <member>Philip Dubé</member> 16011 <member>Pierre Ducroquet</member> 16012 <member>Piotr Gabriel Kosinski</member> 16013 <member>Piotr Stefaniak</member> 16014 <member>Piotr Wlodarczyk</member> 16015 <member>Prabhat Sahu</member> 16016 <member>Quentin Rameau</member> 16017 <member>Rafael Castro</member> 16018 <member>Rafia Sabih</member> 16019 <member>Rahila Syed</member> 16020 <member>Rajkumar Raghuwanshi</member> 16021 <member>Rares Salcudean</member> 16022 <member>Raúl Marín Rodríguez</member> 16023 <member>Regina Obe</member> 16024 <member>Renaud Navarro</member> 16025 <member>Richard Guo</member> 16026 <member>Rick Otten</member> 16027 <member>Rikard Falkeborn</member> 16028 <member>RK Korlapati</member> 16029 <member>Robbie Harwood</member> 16030 <member>Robert Haas</member> 16031 <member>Robert Treat</member> 16032 <member>Robert Vollmert</member> 16033 <member>Roger Curley</member> 16034 <member>Roman Zharkov</member> 16035 <member>Ronan Dunklau</member> 16036 <member>Rui Hai Jiang</member> 16037 <member>Rushabh Lathia</member> 16038 <member>Ryan Lambert</member> 16039 <member>Ryo Matsumura</member> 16040 <member>Ryohei Nagaura</member> 16041 <member>Ryohei Takahashi</member> 16042 <member>Samuel Williams</member> 16043 <member>Sand Stone</member> 16044 <member>Sanyo Capobiango</member> 16045 <member>Satoru Koizumi</member> 16046 <member>Sean Johnston</member> 16047 <member>Serge Latyntsev</member> 16048 <member>Sergei Kornilov</member> 16049 <member>Sergey Pashkov</member> 16050 <member>Sergio Conde Gómez</member> 16051 <member>Shawn Debnath</member> 16052 <member>Shay Rojansky</member> 16053 <member>Sho Kato</member> 16054 <member>Shohei Mochizuki</member> 16055 <member>Shouyu Luo</member> 16056 <member>Simon Riggs</member> 16057 <member>Sivasubramanian Ramasubramanian</member> 16058 <member>Slawomir Chodnicki</member> 16059 <member>Stas Kelvish</member> 16060 <member>Stefan Kadow</member> 16061 <member>Stepan Yankevych</member> 16062 <member>Stephen Amell</member> 16063 <member>Stephen Frost</member> 16064 <member>Steve Rogerson</member> 16065 <member>Steve Singer</member> 16066 <member>Steven Winfield</member> 16067 <member>Surafel Temesgen</member> 16068 <member>Suraj Kharage</member> 16069 <member>Suresh Kumar R</member> 16070 <member>Takayuki Tsunakawa</member> 16071 <member>Takeshi Ideriha</member> 16072 <member>Takuma Hoshiai</member> 16073 <member>Tasos Maschalidis</member> 16074 <member>Tatsuo Ishii</member> 16075 <member>Tatsuro Yamada</member> 16076 <member>Teodor Sigaev</member> 16077 <member>Thom Brown</member> 16078 <member>Thomas Munro</member> 16079 <member>Thomas Poty</member> 16080 <member>Tillmann Schulz</member> 16081 <member>Tim Möhlmann</member> 16082 <member>Timur Birsh</member> 16083 <member>Tobias Bussmann</member> 16084 <member>Tom Cassidy</member> 16085 <member>Tom Dunstan</member> 16086 <member>Tom Gottfried</member> 16087 <member>Tom Lane</member> 16088 <member>Tomas Vondra</member> 16089 <member>Tushar Ahuja</member> 16090 <member>Ulf Adams</member> 16091 <member>Vaishnavi Prabakaran</member> 16092 <member>Victor Petrovykh</member> 16093 <member>Victor Wagner</member> 16094 <member>Victor Yegorov</member> 16095 <member>Vijaykumar Jain</member> 16096 <member>Vik Fearing</member> 16097 <member>Vlad Sterzhanov</member> 16098 <member>Vladimir Baranoff</member> 16099 <member>Vladimir Kriukov</member> 16100 <member>Wu Fei</member> 16101 <member>Yaroslav Schekin</member> 16102 <member>Yi Huang</member> 16103 <member>Yoshikazu Imai</member> 16104 <member>Yugo Nagata</member> 16105 <member>Yulian Khodorkovskiy</member> 16106 <member>Yuming Wang</member> 16107 <member>YunQiang Su</member> 16108 <member>Yuri Kurenkov</member> 16109 <member>Yusuke Egashira</member> 16110 <member>Yuzuko Hosoya</member> 16111 <member>Zhou Digoal</member> 16112 </simplelist> 16113 </sect2> 16114 16115 </sect1> 16116