summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/html/release-15-1.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/html/release-15-1.html')
-rw-r--r--doc/src/sgml/html/release-15-1.html224
1 files changed, 224 insertions, 0 deletions
diff --git a/doc/src/sgml/html/release-15-1.html b/doc/src/sgml/html/release-15-1.html
new file mode 100644
index 0000000..48c6ab2
--- /dev/null
+++ b/doc/src/sgml/html/release-15-1.html
@@ -0,0 +1,224 @@
+<?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.5. Release 15.1</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-15-2.html" title="E.4. Release 15.2" /><link rel="next" href="release-15.html" title="E.6. Release 15" /></head><body id="docContent" class="container-fluid col-10"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">E.5. Release 15.1</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release-15-2.html" title="E.4. Release 15.2">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 15.5 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="release-15.html" title="E.6. Release 15">Next</a></td></tr></table><hr /></div><div class="sect1" id="RELEASE-15-1"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.5. Release 15.1</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-15-1.html#id-1.11.6.9.4">E.5.1. Migration to Version 15.1</a></span></dt><dt><span class="sect2"><a href="release-15-1.html#id-1.11.6.9.5">E.5.2. Changes</a></span></dt></dl></div><p><strong>Release date: </strong>2022-11-10</p><p>
+ This release contains a variety of fixes from 15.0.
+ For information about new features in major release 15, see
+ <a class="xref" href="release-15.html" title="E.6. Release 15">Section E.6</a>.
+ </p><div class="sect2" id="id-1.11.6.9.4"><div class="titlepage"><div><div><h3 class="title">E.5.1. Migration to Version 15.1</h3></div></div></div><p>
+ A dump/restore is not required for those running 15.X.
+ </p><p>
+ However, if you regularly create and drop tables exceeding 1GB,
+ see the first changelog entry below.
+ </p></div><div class="sect2" id="id-1.11.6.9.5"><div class="titlepage"><div><div><h3 class="title">E.5.2. Changes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+ Fix failure to remove non-first segments of large tables
+ (Tom Lane)
+ </p><p>
+ <span class="productname">PostgreSQL</span> splits large tables into
+ multiple files (normally with 1GB per file). The logic for dropping
+ a table was broken and would miss removing all but the first such
+ file, in two cases: drops of temporary tables and WAL replay of
+ drops of regular tables. Applications that routinely create
+ multi-gigabyte temporary tables could suffer significant disk space
+ leakage.
+ </p><p>
+ Orphaned temporary-table files are removed during postmaster start,
+ so the mere act of updating to 15.1 is sufficient to clear any
+ leaked temporary-table storage. However, if you suffered any
+ database crashes while using 15.0, and there might have been
+ large tables dropped just before such crashes, it's advisable
+ to check the database directories for files named according to the
+ pattern
+ <code class="literal"><em class="replaceable"><code>NNNN</code></em>.<em class="replaceable"><code>NN</code></em></code>.
+ If there is no matching file named
+ just <code class="literal"><em class="replaceable"><code>NNNN</code></em></code> (without
+ the <code class="literal">.<em class="replaceable"><code>NN</code></em></code> suffix), these
+ files should be removed manually.
+ </p></li><li class="listitem"><p>
+ Fix handling of <code class="literal">DEFAULT</code> tokens that appear
+ in a multi-row <code class="literal">VALUES</code> clause of an
+ <code class="command">INSERT</code> on an updatable view (Tom Lane)
+ </p><p>
+ This oversight could lead to <span class="quote">“<span class="quote">cache lookup failed for
+ type</span>”</span> errors, or in older branches even to crashes.
+ </p></li><li class="listitem"><p>
+ Disallow rules named <code class="literal">_RETURN</code> that are
+ not <code class="literal">ON SELECT</code> (Tom Lane)
+ </p><p>
+ This avoids confusion between a view's <code class="literal">ON SELECT</code>
+ rule and any other rules it may have.
+ </p></li><li class="listitem"><p>
+ Avoid failure in <code class="command">EXPLAIN VERBOSE</code> for a query
+ using <code class="literal">SEARCH BREADTH FIRST</code> with constant
+ initial values (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Prevent use of <code class="command">MERGE</code> on a partitioned table with
+ foreign-table partitions (Álvaro Herrera)
+ </p><p>
+ The case isn't supported, and previously threw an incomprehensible
+ error.
+ </p></li><li class="listitem"><p>
+ Fix construction of per-partition foreign key constraints while
+ doing <code class="command">ALTER TABLE ATTACH PARTITION</code>
+ (Jehan-Guillaume de Rorthais, Álvaro Herrera)
+ </p><p>
+ Previously, incorrect or duplicate constraints could be constructed
+ for the newly-added partition.
+ </p></li><li class="listitem"><p>
+ Fix planner failure with extended statistics on partitioned or
+ inherited tables (Richard Guo, Justin Pryzby)
+ </p><p>
+ Some cases failed with <span class="quote">“<span class="quote">cache lookup failed for statistics
+ object</span>”</span>.
+ </p></li><li class="listitem"><p>
+ Fix mis-ordering of WAL operations in fast insert path for GIN
+ indexes (Matthias van de Meent, Zhang Mingli)
+ </p><p>
+ This mistake is not known to have any negative consequences within
+ core <span class="productname">PostgreSQL</span>, but it did cause issues
+ for some extensions.
+ </p></li><li class="listitem"><p>
+ Fix bugs in logical decoding when replay starts from a point
+ between the beginning of a transaction and the beginning of its
+ subtransaction (Masahiko Sawada, Kuroda Hayato)
+ </p><p>
+ These errors could lead to assertion failures in debug builds, and
+ otherwise to memory leaks.
+ </p></li><li class="listitem"><p>
+ Accept interrupts in more places during logical decoding (Amit
+ Kapila, Masahiko Sawada)
+ </p><p>
+ This ameliorates problems with slow shutdown of replication workers.
+ </p></li><li class="listitem"><p>
+ Prevent attempts to replicate into a foreign-table partition in
+ replication workers (Shi Yu, Tom Lane)
+ </p><p>
+ Although partitioned tables can have foreign tables as partitions,
+ replicating into such a partition isn't currently supported.
+ The logical replication worker process would crash if it was
+ attempted. Now, an error is thrown.
+ </p></li><li class="listitem"><p>
+ Avoid crash after function syntax error in replication workers
+ (Maxim Orlov, Anton Melnikov, Masahiko Sawada, Tom Lane)
+ </p><p>
+ If a syntax error occurred in a SQL-language or PL/pgSQL-language
+ <code class="command">CREATE FUNCTION</code> or <code class="command">DO</code> command
+ executed in a logical replication worker, the worker process would
+ crash with a null pointer dereference or assertion failure.
+ </p></li><li class="listitem"><p>
+ Avoid double call of the shutdown callback of an archiver module
+ (Nathan Bossart, Bharath Rupireddy)
+ </p></li><li class="listitem"><p>
+ Add plan-time check for attempted access to a table that has no
+ table access method (Tom Lane)
+ </p><p>
+ This prevents a crash in some catalog-corruption scenarios, for
+ example use of a view whose <code class="literal">ON SELECT</code> rule is
+ missing.
+ </p></li><li class="listitem"><p>
+ Prevent postmaster crash when shared-memory state is corrupted
+ (Tom Lane)
+ </p><p>
+ The postmaster process is supposed to survive and initiate a
+ database restart if shared memory becomes corrupted, but one
+ bit of code was being insufficiently cautious about that.
+ </p></li><li class="listitem"><p>
+ In <span class="application">libpq</span>, handle single-row mode
+ correctly when pipelining (Denis Laxalde)
+ </p><p>
+ The single-row flag was not reset at the correct time if pipeline
+ mode was also active.
+ </p></li><li class="listitem"><p>
+ Fix <span class="application">psql</span>'s exit status when a
+ command-line query is canceled (Peter Eisentraut)
+ </p><p>
+ <code class="literal">psql -c <em class="replaceable"><code>query</code></em></code> would
+ exit successfully if the query was canceled. Fix it to exit with
+ nonzero status, as in other error cases.
+ </p></li><li class="listitem"><p>
+ Allow cross-platform tablespace relocation
+ in <span class="application">pg_basebackup</span> (Robert Haas)
+ </p><p>
+ Allow the remote path in <code class="option">--tablespace-mapping</code> to be
+ either a Unix-style or Windows-style absolute path, since the source
+ server could be on a different OS than the local system.
+ </p></li><li class="listitem"><p>
+ Fix <span class="application">pg_dump</span>'s failure to dump comments
+ attached to some <code class="literal">CHECK</code> constraints (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Fix <code class="command">CREATE DATABASE</code> to allow
+ its <code class="literal">oid</code> parameter to exceed
+ 2<sup>31</sup> (Tom Lane)
+ </p><p>
+ This oversight prevented <span class="application">pg_upgrade</span> from
+ succeeding when the source installation contained databases with
+ OIDs larger than that.
+ </p></li><li class="listitem"><p>
+ In <span class="application">pg_stat_statements</span>, fix access to
+ already-freed memory (zhaoqigui)
+ </p><p>
+ This occurred if <span class="application">pg_stat_statements</span>
+ tracked a <code class="command">ROLLBACK</code> command issued via extended
+ query protocol. In debug builds it consistently led to an assertion
+ failure. In production builds there would often be no visible ill
+ effect; but if the freed memory had already been reused, the likely
+ result would be to store garbage for the query string.
+ </p></li><li class="listitem"><p>
+ Fix incompatibilities with LLVM 15 (Thomas Munro, Andres Freund)
+ </p></li><li class="listitem"><p>
+ Allow use of <code class="function">__sync_lock_test_and_set()</code> for
+ spinlocks on any machine (Tom Lane)
+ </p><p>
+ This eases porting to new machine architectures, at least if you're
+ using a compiler that supports this GCC builtin function.
+ </p></li><li class="listitem"><p>
+ Rename symbol <code class="literal">REF</code> to <code class="literal">REF_P</code> to
+ avoid compile failure on recent macOS (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Avoid using <code class="function">sprintf</code>, to avoid compile-time
+ deprecation warnings (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Update time zone data files to <span class="application">tzdata</span>
+ release 2022f for DST law changes in Chile, Fiji, Iran, Jordan,
+ Mexico, Palestine, and Syria, plus historical corrections for Chile,
+ Crimea, Iran, and Mexico.
+ </p><p>
+ Also, the Europe/Kiev zone has been renamed to Europe/Kyiv.
+ Also, the following zones have been merged into nearby,
+ more-populous zones whose clocks have agreed with them since 1970:
+ Antarctica/Vostok, Asia/Brunei,
+ Asia/Kuala_Lumpur, Atlantic/Reykjavik, Europe/Amsterdam,
+ Europe/Copenhagen, Europe/Luxembourg, Europe/Monaco, Europe/Oslo,
+ Europe/Stockholm, Indian/Christmas, Indian/Cocos, Indian/Kerguelen,
+ Indian/Mahe, Indian/Reunion, Pacific/Chuuk, Pacific/Funafuti,
+ Pacific/Majuro, Pacific/Pohnpei, Pacific/Wake and Pacific/Wallis.
+ (This indirectly affects zones that were already links to one of
+ these: Arctic/Longyearbyen, Atlantic/Jan_Mayen, Iceland,
+ Pacific/Ponape, Pacific/Truk, and Pacific/Yap.) America/Nipigon,
+ America/Rainy_River, America/Thunder_Bay, Europe/Uzhgorod, and
+ Europe/Zaporozhye were also merged into nearby zones after
+ discovering that their claimed post-1970 differences from those
+ zones seem to have been errors.
+ In all these cases, the previous zone name remains as an alias;
+ but the actual data is that of the zone that was merged into.
+ </p><p>
+ These zone mergers result in loss of pre-1970 timezone history for
+ the merged zones, which may be troublesome for applications
+ expecting consistency of <code class="type">timestamptz</code> display. As an
+ example, the stored value <code class="literal">1944-06-01 12:00 UTC</code>
+ would previously display as <code class="literal">1944-06-01
+ 13:00:00+01</code> if the Europe/Stockholm zone is selected, but
+ now it will read out as <code class="literal">1944-06-01 14:00:00+02</code>.
+ </p><p>
+ It is possible to build the time zone data files with options that
+ will restore the older zone data, but that choice also inserts a lot
+ of other old (and typically poorly-attested) zone data, resulting in
+ more total changes from the previous release than accepting these
+ upstream changes does. <span class="productname">PostgreSQL</span> has
+ chosen to ship the <span class="productname">tzdb</span> data
+ as-recommended, and so far as we are aware most major operating
+ system distributions are doing likewise. However, if these changes
+ cause significant problems for your application, a possible solution
+ is to install a local build of the time zone data files using
+ <span class="productname">tzdb</span>'s backwards-compatibility options
+ (see their <code class="literal">PACKRATDATA</code>
+ and <code class="literal">PACKRATLIST</code> options).
+ </p></li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="release-15-2.html" title="E.4. Release 15.2">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-15.html" title="E.6. Release 15">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.4. Release 15.2 </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 15.5 Documentation">Home</a></td><td width="40%" align="right" valign="top"> E.6. Release 15</td></tr></table></div></body></html> \ No newline at end of file