summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/html/release-14-3.html
blob: a64dd9912f3c002930dde9d59f1a6b2774d5293d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>E.3. Release 14.3</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="prev" href="release-14-4.html" title="E.2. Release 14.4" /><link rel="next" href="release-14-2.html" title="E.4. Release 14.2" /></head><body id="docContent" class="container-fluid col-10"><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">E.3. Release 14.3</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release-14-4.html" title="E.2. Release 14.4">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="release.html" title="Appendix E. Release Notes">Up</a></td><th width="60%" align="center">Appendix E. Release Notes</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 14.5 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="release-14-2.html" title="E.4. Release 14.2">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="RELEASE-14-3"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.3. Release 14.3</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-14-3.html#id-1.11.6.7.4">E.3.1. Migration to Version 14.3</a></span></dt><dt><span class="sect2"><a href="release-14-3.html#id-1.11.6.7.5">E.3.2. Changes</a></span></dt></dl></div><p><strong>Release date: </strong>2022-05-12</p><p>
   This release contains a variety of fixes from 14.2.
   For information about new features in major release 14, see
   <a class="xref" href="release-14.html" title="E.6. Release 14">Section E.6</a>.
  </p><div class="sect2" id="id-1.11.6.7.4"><div class="titlepage"><div><div><h3 class="title">E.3.1. Migration to Version 14.3</h3></div></div></div><p>
    A dump/restore is not required for those running 14.X.
   </p><p>
    However, if you have any GiST indexes on columns of type
    <code class="type">ltree</code> (supplied by the <code class="filename">contrib/ltree</code>
    extension), you should re-index them after updating.
    See the second changelog entry below.
   </p><p>
    Also, if you are upgrading from a version earlier than 14.2,
    see <a class="xref" href="release-14-2.html" title="E.4. Release 14.2">Section E.4</a>.
   </p></div><div class="sect2" id="id-1.11.6.7.5"><div class="titlepage"><div><div><h3 class="title">E.3.2. Changes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
      Confine additional operations within <span class="quote"><span class="quote">security restricted
      operation</span></span> sandboxes (Sergey Shinderuk, Noah Misch)
     </p><p>
      Autovacuum, <code class="command">CLUSTER</code>, <code class="command">CREATE
      INDEX</code>, <code class="command">REINDEX</code>, <code class="command">REFRESH
      MATERIALIZED VIEW</code>,
      and <span class="application">pg_amcheck</span> activated
      the <span class="quote"><span class="quote">security restricted operation</span></span> protection
      mechanism too late, or even not at all in some code paths.
      A user having permission to create non-temporary objects within a
      database could define an object that would execute arbitrary SQL
      code with superuser permissions the next time that autovacuum
      processed the object, or that some superuser ran one of the affected
      commands against it.
     </p><p>
      The <span class="productname">PostgreSQL</span> Project thanks
      Alexander Lakhin for reporting this problem.
      (CVE-2022-1552)
     </p></li><li class="listitem"><p>
      Fix default signature length for <code class="literal">gist_ltree_ops</code>
      indexes (Tomas Vondra, Alexander Korotkov)
     </p><p>
      The default signature length (hash size) for GiST indexes
      on <code class="type">ltree</code> columns was accidentally changed while
      upgrading that operator class to support operator class parameters.
      If any operations had been done on such an index without first
      upgrading the <code class="literal">ltree</code> extension to version 1.2,
      they were done assuming that the signature length was 28 bytes
      rather than the intended 8.  This means it is very likely that such
      indexes are now corrupt.  For safety we recommend re-indexing all
      GiST indexes on <code class="type">ltree</code> columns after installing this
      update.  (Note that GiST indexes on <code class="type">ltree[]</code>
      columns, that is arrays of <code class="type">ltree</code>, are not affected.)
     </p></li><li class="listitem"><p>
      Stop using query-provided column aliases for the columns of
      whole-row variables that refer to plain tables (Tom Lane)
     </p><p>
      The column names in tuples produced by a whole-row variable (such
      as <code class="literal">tbl.*</code> in contexts other than the top level of
      a <code class="literal">SELECT</code> list) are now always those of the
      associated named composite type, if there is one.  We'd previously
      attempted to make them track any column aliases that had been
      applied to the <code class="literal">FROM</code> entry the variable refers to.
      But that's semantically dubious, because really then the output of
      the variable is not at all of the composite type it claims to be.
      Previous attempts to deal with that inconsistency had bad results up
      to and including storing unreadable data on disk, so just give up on
      the whole idea.
     </p><p>
      In cases where it's important to be able to relabel such columns,
      a workaround is to introduce an extra level of
      sub-<code class="literal">SELECT</code>, so that the whole-row variable is
      referring to the sub-<code class="literal">SELECT</code>'s output and not to a
      plain table.  Then the variable is of type <code class="type">record</code>
      to begin with and there's no issue.
     </p></li><li class="listitem"><p>
      Fix incorrect roundoff when extracting epoch values from intervals
      (Peter Eisentraut)
     </p><p>
      The new <code class="type">numeric</code>-based code
      for <code class="function">EXTRACT()</code> failed to yield results
      equivalent to the old <code class="type">float</code>-based code, as a result of
      accidentally truncating the <code class="literal">DAYS_PER_YEAR</code> value
      to an integer.
     </p></li><li class="listitem"><p>
      Defend against <code class="literal">pg_stat_get_replication_slot(NULL)</code>
      (Andres Freund)
     </p><p>
      This function should be marked strict in the catalog data, but it
      was not in v14, so add a run-time check instead.
     </p></li><li class="listitem"><p>
      Fix incorrect output for types <code class="type">timestamptz</code>
      and <code class="type">timetz</code> in <code class="function">table_to_xmlschema()</code>
      and allied functions (Renan Soares Lopes)
     </p><p>
      The xmlschema output for these types included a malformed regular
      expression.
     </p></li><li class="listitem"><p>
      Avoid core dump in parser for a <code class="literal">VALUES</code> clause with
      zero columns (Tom Lane)
     </p></li><li class="listitem"><p>
      Fix planner failure when a Result plan node appears immediately
      underneath an Append node (Etsuro Fujita)
     </p><p>
      Recently-added code to support asynchronous remote queries failed to
      handle this case, leading to crashes or errors about unrecognized
      node types.
     </p></li><li class="listitem"><p>
      Fix planner failure if a query using <code class="literal">SEARCH</code>
      or <code class="literal">CYCLE</code> features contains a duplicate CTE name
      (Tom Lane, Kyotaro Horiguchi)
     </p><p>
      When the name of the recursive <code class="literal">WITH</code> query is
      re-used within itself, the planner could crash or report odd errors
      such as <span class="quote"><span class="quote">could not find attribute 2 in subquery
      targetlist</span></span>.
     </p></li><li class="listitem"><p>
      Fix planner errors for <code class="function">GROUPING()</code> constructs
      that reference outer query levels (Richard Guo, Tom Lane)
     </p></li><li class="listitem"><p>
      Fix plan generation for index-only scans on indexes with
      both returnable and non-returnable columns (Tom Lane)
     </p><p>
      The previous coding could try to read non-returnable columns
      in addition to the returnable ones.  This was fairly harmless
      because it didn't actually do anything with the bogus values,
      but it fell foul of a recently-added error check that rejected
      such a plan.
     </p></li><li class="listitem"><p>
      Avoid accessing a no-longer-pinned shared buffer while attempting
      to lock an outdated tuple during EvalPlanQual (Tom Lane)
     </p><p>
      The code would touch the buffer a couple more times after releasing
      its pin.  In theory another process could recycle the buffer (or
      more likely, try to defragment its free space) as soon as the pin is
      gone, probably leading to failure to find the newer version of the
      tuple.
     </p></li><li class="listitem"><p>
      Fix query-lifespan memory leak in an IndexScan node that is
      performing reordering (Aliaksandr Kalenik)
     </p></li><li class="listitem"><p>
      Fix <code class="command">ALTER FUNCTION</code> to support changing a
      function's parallelism property and
      its <code class="literal">SET</code>-variable list in the same command (Tom
      Lane)
     </p><p>
      The parallelism property change was lost if the same command also
      updated the function's <code class="literal">SET</code> clause.
     </p></li><li class="listitem"><p>
      Tighten lookup of the index <span class="quote"><span class="quote">owned by</span></span> a constraint
      (Tom Lane, Japin Li)
     </p><p>
      Some code paths mistook the index depended on by a foreign key
      constraint for one owned by a unique or primary key constraint,
      resulting in odd errors during certain <code class="command">ALTER
      TABLE</code> operations on tables having foreign key constraints.
     </p></li><li class="listitem"><p>
      Fix bogus errors from attempts to alter system columns of tables
      (Tom Lane)
     </p><p>
      The system should just tell you that you can't do it, but sometimes
      it would report <span class="quote"><span class="quote">no owned sequence found</span></span> instead.
     </p></li><li class="listitem"><p>
      Fix mis-sorting of table rows when <code class="command">CLUSTER</code>ing
      using an index whose leading key is an expression (Peter Geoghegan,
      Thomas Munro)
     </p><p>
      The table would be rebuilt with the correct data, but in an order
      having little to do with the index order.
     </p></li><li class="listitem"><p>
      Prevent data loss if a system crash occurs shortly after a sorted
      GiST index build (Heikki Linnakangas)
     </p><p>
      The code path for building GiST indexes using sorting neglected
      to <code class="function">fsync</code> the file upon completion.  This could
      result in a corrupted index if the operating system crashed shortly
      later.
     </p></li><li class="listitem"><p>
      Fix risk of deadlock failures while dropping a partitioned index
      (Jimmy Yih, Gaurab Dey, Tom Lane)
     </p><p>
      Ensure that the required table and index locks are taken in the
      standard order (parents before children, tables before indexes).
      The previous coding for <code class="command">DROP INDEX</code> did it
      differently, and so could deadlock against concurrent queries taking
      these locks in the standard order.
     </p></li><li class="listitem"><p>
      Fix race condition between <code class="command">DROP TABLESPACE</code> and
      checkpointing (Nathan Bossart)
     </p><p>
      The checkpoint forced by <code class="command">DROP TABLESPACE</code> could
      sometimes fail to remove all dead files from the tablespace's
      directory, leading to a bogus <span class="quote"><span class="quote">tablespace is not empty</span></span>
      error.
     </p></li><li class="listitem"><p>
      Fix possible trouble in crash recovery after
      a <code class="command">TRUNCATE</code> command that overlaps a checkpoint
      (Kyotaro Horiguchi, Heikki Linnakangas, Robert Haas)
     </p><p>
      <code class="command">TRUNCATE</code> must ensure that the table's disk file
      is truncated before the checkpoint is allowed to complete.
      Otherwise, replay starting from that checkpoint might find
      unexpected data in the supposedly-removed pages, possibly causing
      replay failure.
     </p></li><li class="listitem"><p>
      Fix unsafe toast-data accesses during temporary object cleanup
      (Andres Freund)
     </p><p>
      Temporary-object deletion during server process exit could fail
      with <span class="quote"><span class="quote">FATAL: cannot fetch toast data without an active
      snapshot</span></span>.  This was usually harmless since the next use of
      that temporary schema would clean up successfully.
     </p></li><li class="listitem"><p>
      Re-allow underscore as the first character in a custom parameter
      name (Japin Li)
     </p><p>
      Such names were unintentionally disallowed in v14.
     </p></li><li class="listitem"><p>
      Add <code class="literal">regress</code> option for
      the <code class="varname">compute_query_id</code> parameter (Michael Paquier)
     </p><p>
      This is intended to facilitate testing, by allowing query IDs to be
      computed but not shown in <code class="command">EXPLAIN</code> output.
     </p></li><li class="listitem"><p>
      Improve wait logic in RegisterSyncRequest (Thomas Munro)
     </p><p>
      If we run out of space in the checkpointer sync request queue (which
      is hopefully rare on real systems, but is common when testing with a
      very small buffer pool), we wait for it to drain.  While waiting, we
      should report that as a wait event so that users know what is going
      on, and also watch for postmaster death, since otherwise the loop might
      never terminate if the checkpointer has already exited.
     </p></li><li class="listitem"><p>
      Wake up for latch events when the checkpointer is waiting between
      writes (Thomas Munro)
     </p><p>
      This improves responsiveness to backends sending sync requests.
      The change also creates a proper wait event class for these waits.
     </p></li><li class="listitem"><p>
      Fix <span class="quote"><span class="quote">PANIC: xlog flush request is not satisfied</span></span>
      failure during standby promotion when there is a missing WAL
      continuation record (Sami Imseih)
     </p></li><li class="listitem"><p>
      Fix possibility of self-deadlock in hot standby conflict handling
      (Andres Freund)
     </p><p>
      With unlucky timing, the WAL-applying process could get stuck
      while waiting for some other process to release a buffer lock.
     </p></li><li class="listitem"><p>
      Fix possible mis-identification of the correct ancestor relation
      to publish logical replication changes through (Tomas Vondra, Hou
      zj, Amit Kapila)
     </p><p>
      If <code class="varname">publish_via_partition_root</code> is enabled, and
      there are multiple publications naming different ancestors of the
      currently-modified relation, the wrong ancestor might be chosen for
      reporting the change.
     </p></li><li class="listitem"><p>
      Ensure that logical replication apply workers can be restarted even
      when we're up against
      the <code class="varname">max_sync_workers_per_subscription</code> limit
      (Amit Kapila)
     </p><p>
      Faulty coding of the limit check caused a restarted worker to exit
      immediately, leaving fewer workers than there should be.
     </p></li><li class="listitem"><p>
      Include unchanged replica identity key columns in the WAL log for an
      update, if they are stored out-of-line (Dilip Kumar, Amit Kapila)
     </p><p>
      Otherwise subscribers cannot see the values and will fail to
      replicate the update.
     </p></li><li class="listitem"><p>
      Cope correctly with platforms that have no support for altering the
      server process's display in <span class="application">ps(1)</span> (Andrew
      Dunstan)
     </p><p>
      Few platforms are like this (the only supported one is Cygwin), so
      we'd managed not to notice that refactoring introduced a potential
      memory clobber.
     </p></li><li class="listitem"><p>
      Make the server more robust against missed timer interrupts (Michael
      Harris, Tom Lane)
     </p><p>
      An optimization added in v14 meant that if a server process somehow
      missed a timer interrupt, it would never again ask the kernel for
      another one, thus breaking timeout detection for the remainder of the
      session.  This seems unduly fragile, so add a recovery path.
     </p></li><li class="listitem"><p>
      Disallow execution of SPI functions during PL/Perl function
      compilation (Tom Lane)
     </p><p>
      Perl can be convinced to execute user-defined code during compilation
      of a PL/Perl function.  However, it's not okay for such code to try
      to invoke SQL operations via SPI.  That results in a crash, and if
      it didn't crash it would be a security hazard, because we really
      don't want code execution during function validation.  Put in a
      check to give a friendlier error message instead.
     </p></li><li class="listitem"><p>
      Make <span class="application">libpq</span> accept root-owned SSL private
      key files (David Steele)
     </p><p>
      This change synchronizes <span class="application">libpq</span>'s rules
      for safe ownership and permissions of SSL key files with the rules
      the server has used since release 9.6.  Namely, in addition to the
      current rules, allow the case where the key file is owned by root
      and has permissions <code class="literal">rw-r-----</code> or less.  This is
      helpful for system-wide management of key files.
     </p></li><li class="listitem"><p>
      Fix behavior of <span class="application">libpq</span>'s
      <code class="function">PQisBusy()</code> function after a connection failure
      (Tom Lane)
     </p><p>
      If we'd detected a write failure, <code class="function">PQisBusy()</code>
      would always return true, which is the wrong thing: we want input
      processing to carry on normally until we've read whatever is
      available from the server.  The practical effect of this error is
      that applications using <span class="application">libpq</span>'s
      async-query API would typically detect connection loss only
      when <code class="function">PQconsumeInput()</code> returns a hard failure.
      With this fix, a connection loss will normally be reported via an
      error <code class="structname">PGresult</code> object, which is a much
      cleaner behavior for most applications.
     </p></li><li class="listitem"><p>
      Re-allow <em class="replaceable"><code>database</code></em>.<em class="replaceable"><code>schema</code></em>.<em class="replaceable"><code>table</code></em>
      patterns
      in <span class="application">psql</span>, <span class="application">pg_dump</span>,
      and <span class="application">pg_amcheck</span> (Mark Dilger)
     </p><p>
      Versions before v14 silently ignored all but
      the <em class="replaceable"><code>schema</code></em>
      and <em class="replaceable"><code>table</code></em> fragments of a pattern
      containing more than one dot.  Refactoring in v14 accidentally broke
      that use-case.  Reinstate it, but now complain if the first fragment
      is not the name of the current database.
     </p></li><li class="listitem"><p>
      Make <span class="application">pg_ctl</span> recheck postmaster aliveness
      while waiting for stop/restart/promote actions (Tom Lane)
     </p><p>
      <span class="application">pg_ctl</span> would verify that the postmaster
      is alive as a side-effect of sending the stop or promote signal, but
      then it just naively waited to see the on-disk state change.  If the
      postmaster died uncleanly without having removed its PID file or
      updated the control file, <span class="application">pg_ctl</span> would
      wait until timeout.  Instead make it recheck every so often that the
      postmaster process is still there.
     </p></li><li class="listitem"><p>
      Fix error handling in <span class="application">pg_waldump</span> (Kyotaro
      Horiguchi, Andres Freund)
     </p><p>
      While trying to read a WAL file to determine the WAL segment size,
      <span class="application">pg_waldump</span> would report an incorrect
      error for the case of a too-short file.  In addition, the file name
      reported in this and related error messages could be garbage.
     </p></li><li class="listitem"><p>
      Ensure that <code class="filename">contrib/pageinspect</code> functions cope
      with all-zero pages (Michael Paquier)
     </p><p>
      This is a legitimate edge case, but the module was mostly unprepared
      for it.  Arrange to return nulls, or no rows, as appropriate; that
      seems more useful than raising an error.
     </p></li><li class="listitem"><p>
      In <code class="filename">contrib/pageinspect</code>, add defenses against
      incorrect page <span class="quote"><span class="quote">special space</span></span> contents, tighten checks
      for correct page size, and add some missing checks that an index is
      of the expected type (Michael Paquier, Justin Pryzby, Julien
      Rouhaud)
     </p><p>
      These changes make it less likely that the module will crash on bad
      data.
     </p></li><li class="listitem"><p>
      In <code class="filename">contrib/postgres_fdw</code>, disable batch
      insertion when <code class="literal">BEFORE INSERT ... FOR EACH ROW</code>
      triggers exist on the foreign table (Etsuro Fujita)
     </p><p>
      Such a trigger might query the table it's on and expect to see
      previously-inserted rows.  With batch insertion, those rows might
      not be visible yet, so disable the feature to avoid unexpected
      behavior.
     </p></li><li class="listitem"><p>
      In <code class="filename">contrib/postgres_fdw</code>, verify
      that <code class="literal">ORDER BY</code> clauses are safe to ship before
      requesting a remotely-ordered query, and include
      a <code class="literal">USING</code> clause if necessary (Ronan Dunklau)
     </p><p>
      This fix prevents situations where the remote server might sort in a
      different order than we intend.  While sometimes that would be only
      cosmetic, it could produce thoroughly wrong results if the remote
      data is used as input for a locally-performed merge join.
     </p></li><li class="listitem"><p>
      Fix <span class="application">configure</span> to handle platforms that
      have <code class="filename">sys/epoll.h</code> but
      not <code class="filename">sys/signalfd.h</code> (Tom Lane)
     </p></li><li class="listitem"><p>
      Update <acronym class="acronym">JIT</acronym> code to work with LLVM 14
      (Thomas Munro)
     </p></li><li class="listitem"><p>
      Clean up assorted failures under <span class="productname">clang</span>'s
      <code class="literal">-fsanitize=undefined</code> checks (Tom Lane, Andres
      Freund, Zhihong Yu)
     </p><p>
      Most of these changes are just for pro-forma compliance with the
      letter of the C and POSIX standards, and are unlikely to have any
      effect on production builds.
     </p></li><li class="listitem"><p>
      Do not add OpenSSL dependencies to <span class="application">libpq</span>'s
      <code class="filename">pkg-config</code> file when building without OpenSSL
      (Fabrice Fontaine)
     </p></li><li class="listitem"><p>
      Fix PL/Perl so it builds on C compilers that don't support statements
      nested within expressions (Tom Lane)
     </p><p>
     </p></li><li class="listitem"><p>
      Fix possible build failure of <span class="application">pg_dumpall</span>
      on Windows, when not using MSVC to build (Andres Freund)
     </p></li><li class="listitem"><p>
      In Windows builds, use <span class="application">gendef</span> instead
      of <span class="application">pexports</span> to build DEF files (Andrew
      Dunstan)
     </p><p>
      This adapts the build process to work on recent MSys tool chains.
     </p></li><li class="listitem"><p>
      Prevent extra expansion of shell wildcard patterns in programs built
      under MinGW (Andrew Dunstan)
     </p><p>
      For some reason the C library provided by MinGW will expand shell
      wildcard characters in a program's command-line arguments by
      default.  This is confusing, not least because it doesn't happen
      under MSVC, so turn it off.
     </p></li><li class="listitem"><p>
      Update time zone data files to <span class="application">tzdata</span>
      release 2022a for DST law changes in Palestine, plus historical
      corrections for Chile and Ukraine.
     </p></li></ul></div></div></div><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navfooter"><hr></hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="release-14-4.html" title="E.2. Release 14.4">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="release.html" title="Appendix E. Release Notes">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="release-14-2.html" title="E.4. Release 14.2">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.2. Release 14.4 </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 14.5 Documentation">Home</a></td><td width="40%" align="right" valign="top"> E.4. Release 14.2</td></tr></table></div></body></html>