summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/html/release-13-3.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/html/release-13-3.html')
-rw-r--r--doc/src/sgml/html/release-13-3.html338
1 files changed, 338 insertions, 0 deletions
diff --git a/doc/src/sgml/html/release-13-3.html b/doc/src/sgml/html/release-13-3.html
new file mode 100644
index 0000000..b443934
--- /dev/null
+++ b/doc/src/sgml/html/release-13-3.html
@@ -0,0 +1,338 @@
+<?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.2. Release 13.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 V1.79.1" /><link rel="prev" href="release-13-4.html" title="E.1. Release 13.4" /><link rel="next" href="release-13-2.html" title="E.3. Release 13.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.2. Release 13.3</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release-13-4.html" title="E.1. Release 13.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 13.4 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="release-13-2.html" title="E.3. Release 13.2">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="RELEASE-13-3"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.2. Release 13.3</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-13-3.html#id-1.11.6.6.4">E.2.1. Migration to Version 13.3</a></span></dt><dt><span class="sect2"><a href="release-13-3.html#id-1.11.6.6.5">E.2.2. Changes</a></span></dt></dl></div><p><strong>Release date: </strong>2021-05-13</p><p>
+ This release contains a variety of fixes from 13.2.
+ For information about new features in major release 13, see
+ <a class="xref" href="release-13.html" title="E.5. Release 13">Section E.5</a>.
+ </p><div class="sect2" id="id-1.11.6.6.4"><div class="titlepage"><div><div><h3 class="title">E.2.1. Migration to Version 13.3</h3></div></div></div><p>
+ A dump/restore is not required for those running 13.X.
+ </p><p>
+ However, if you are upgrading from a version earlier than 13.2,
+ see <a class="xref" href="release-13-2.html" title="E.3. Release 13.2">Section E.3</a>.
+ </p></div><div class="sect2" id="id-1.11.6.6.5"><div class="titlepage"><div><div><h3 class="title">E.2.2. Changes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+ Prevent integer overflows in array subscripting calculations
+ (Tom Lane)
+ </p><p>
+ The array code previously did not complain about cases where an
+ array's lower bound plus length overflows an integer. This resulted
+ in later entries in the array becoming inaccessible (since their
+ subscripts could not be written as integers), but more importantly
+ it confused subsequent assignment operations. This could lead to
+ memory overwrites, with ensuing crashes or unwanted data
+ modifications.
+ (CVE-2021-32027)
+ </p></li><li class="listitem"><p>
+ Fix mishandling of <span class="quote">“<span class="quote">junk</span>”</span> columns in <code class="literal">INSERT
+ ... ON CONFLICT ... UPDATE</code> target lists (Tom Lane)
+ </p><p>
+ If the <code class="literal">UPDATE</code> list contains any multi-column
+ sub-selects (which give rise to junk columns in addition to the
+ results proper), the <code class="literal">UPDATE</code> path would end up
+ storing tuples that include the values of the extra junk columns.
+ That's fairly harmless in the short run, but if new columns are
+ added to the table then the values would become accessible, possibly
+ leading to malfunctions if they don't match the datatypes of the
+ added columns.
+ </p><p>
+ In addition, in versions supporting cross-partition updates,
+ a cross-partition update triggered by such a case had the reverse
+ problem: the junk columns were removed from the target list,
+ typically causing an immediate crash due to malfunction of the
+ multi-column sub-select mechanism.
+ (CVE-2021-32028)
+ </p></li><li class="listitem"><p>
+ Fix possibly-incorrect computation of <code class="command">UPDATE
+ ... RETURNING</code> outputs for joined cross-partition updates
+ (Amit Langote, Etsuro Fujita)
+ </p><p>
+ If an <code class="command">UPDATE</code> for a partitioned table caused a row
+ to be moved to another partition with a physically different row
+ type (for example, one with a different set of dropped columns),
+ computation of <code class="literal">RETURNING</code> results for that row
+ could produce errors or wrong answers. No error is observed unless
+ the <code class="command">UPDATE</code> involves other tables being joined to
+ the target table.
+ (CVE-2021-32029)
+ </p></li><li class="listitem"><p>
+ Fix adjustment of constraint deferrability properties in
+ partitioned tables (Álvaro Herrera)
+ </p><p>
+ When applied to a foreign-key constraint of a partitioned table,
+ <code class="command">ALTER TABLE ... ALTER CONSTRAINT</code> failed to
+ adjust the <code class="literal">DEFERRABLE</code> and/or
+ <code class="literal">INITIALLY DEFERRED</code> markings of the constraints
+ and triggers of leaf partitions. This led to unexpected behavior of
+ such constraints. After updating to this version, any misbehaving
+ partitioned tables can be fixed by executing a
+ new <code class="command">ALTER</code> command to set the desired properties.
+ </p><p>
+ This change also disallows applying such an <code class="command">ALTER</code>
+ directly to the constraints of leaf partitions. The only supported
+ case is for the whole partitioning hierarchy to have identical
+ constraint properties, so such <code class="command">ALTER</code>s must be
+ applied at the partition root.
+ </p></li><li class="listitem"><p>
+ When attaching a child table with <code class="command">ALTER TABLE
+ ... INHERIT</code>, insist that any generated columns in the
+ parent be generated the same way in the child (Peter Eisentraut)
+ </p></li><li class="listitem"><p>
+ Forbid marking an identity column as nullable (Vik Fearing)
+ </p><p>
+ <code class="literal">GENERATED ... AS IDENTITY</code> implies <code class="literal">NOT
+ NULL</code>, so don't allow it to be combined with an
+ explicit <code class="literal">NULL</code> specification.
+ </p></li><li class="listitem"><p>
+ Allow <code class="literal">ALTER ROLE/DATABASE ... SET</code> to set
+ the <code class="varname">role</code>, <code class="varname">session_authorization</code>,
+ and <code class="varname">temp_buffers</code> parameters (Tom Lane)
+ </p><p>
+ Previously, over-eager validity checks might reject these commands,
+ even if the values would have worked when used later. This created
+ a command ordering hazard for dump/reload and upgrade scenarios.
+ </p></li><li class="listitem"><p>
+ Ensure that <code class="command">REINDEX CONCURRENTLY</code> preserves any
+ statistics target that's been set for the index (Michael Paquier)
+ </p></li><li class="listitem"><p>
+ Fix <code class="command">COMMIT AND CHAIN</code> to work correctly when the
+ current transaction has live savepoints (Fujii Masao)
+ </p></li><li class="listitem"><p>
+ Fix list-manipulation bug in <code class="literal">WITH RECURSIVE</code>
+ processing (Michael Paquier, Tom Lane)
+ </p><p>
+ Sufficiently deep nesting of <code class="literal">WITH</code> constructs
+ (at least seven levels) triggered core dumps or incorrect complaints
+ of faulty <code class="literal">WITH</code> nesting.
+ </p></li><li class="listitem"><p>
+ Fix bug with coercing the result of a <code class="literal">COLLATE</code>
+ expression to a non-collatable type (Tom Lane)
+ </p><p>
+ This led to a parse tree in which the <code class="literal">COLLATE</code>
+ appears to be applied to a non-collatable value. While that
+ normally has no real impact (since <code class="literal">COLLATE</code> has no
+ effect at runtime), it was possible to construct views that would be
+ rejected during dump/reload.
+ </p></li><li class="listitem"><p>
+ Fix use-after-free bug in saving tuples for <code class="literal">AFTER</code>
+ triggers (Amit Langote)
+ </p><p>
+ This could cause crashes in some situations.
+ </p></li><li class="listitem"><p>
+ Disallow calling window functions and procedures via
+ the <span class="quote">“<span class="quote">fast path</span>”</span> wire protocol message (Tom Lane)
+ </p><p>
+ Only plain functions are supported here. While trying to call
+ an aggregate function failed already, calling a window function
+ would crash, and calling a procedure would work only if the
+ procedure did no transaction control.
+ </p></li><li class="listitem"><p>
+ Extend <code class="function">pg_identify_object_as_address()</code>
+ to support event triggers (Joel Jacobson)
+ </p></li><li class="listitem"><p>
+ Fix <code class="function">to_char()</code>'s handling of Roman-numeral month
+ format codes with negative intervals (Julien Rouhaud)
+ </p><p>
+ Previously, such cases would usually cause a crash.
+ </p></li><li class="listitem"><p>
+ Check that the argument
+ of <code class="function">pg_import_system_collations()</code> is a valid
+ schema OID (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Fix use of uninitialized value while parsing an
+ <code class="literal">\{<em class="replaceable"><code>m</code></em>,<em class="replaceable"><code>n</code></em>\}</code>
+ quantifier in a BRE-mode regular expression (Tom Lane)
+ </p><p>
+ This error could cause the quantifier to act non-greedy, that is
+ behave like an
+ <code class="literal">{<em class="replaceable"><code>m</code></em>,<em class="replaceable"><code>n</code></em>}?</code>
+ quantifier would do in full regular expressions.
+ </p></li><li class="listitem"><p>
+ Fix <span class="quote">“<span class="quote">could not find pathkey item to sort</span>”</span> planner
+ errors in some situations where the sort key involves an aggregate
+ or window function (James Coleman, Tom Lane)
+ </p></li><li class="listitem"><p>
+ Don't ignore system columns when estimating the number of groups
+ using extended statistics (Tomas Vondra)
+ </p><p>
+ This led to strange estimates for queries such as <code class="literal">SELECT
+ ... GROUP BY a, b, ctid</code>.
+ </p></li><li class="listitem"><p>
+ Avoid divide-by-zero when estimating selectivity of a regular
+ expression with a very long fixed prefix (Tom Lane)
+ </p><p>
+ This typically led to a <code class="literal">NaN</code> selectivity value,
+ causing assertion failures or strange planner behavior.
+ </p></li><li class="listitem"><p>
+ Fix access-off-the-end-of-the-table error in BRIN index bitmap scans
+ (Tomas Vondra)
+ </p><p>
+ If the page range size used by a BRIN index isn't a power of two,
+ there were corner cases in which a bitmap scan could try to fetch
+ pages past the actual end of the table, leading to <span class="quote">“<span class="quote">could not
+ open file</span>”</span> errors.
+ </p></li><li class="listitem"><p>
+ Fix potentially wrong answers from GIN <code class="type">tsvector</code> index
+ searches, when there are many matching tuples (Tom Lane)
+ </p><p>
+ If the number of index matches became large enough to make the
+ bitmap holding them become lossy (a threshold that depends
+ on <code class="varname">work_mem</code>), the code could get confused about
+ whether rechecks are required, allowing rows to be returned that
+ don't actually match the query.
+ </p></li><li class="listitem"><p>
+ Fix concurrency issues with WAL segment recycling on Windows
+ (Michael Paquier)
+ </p><p>
+ This reverts a change that caused intermittent <span class="quote">“<span class="quote">could not
+ rename file ...: Permission denied</span>”</span> log messages. While
+ there were not serious consequences, the log spam was annoying.
+ </p></li><li class="listitem"><p>
+ Avoid incorrect timeline change while recovering uncommitted
+ two-phase transactions from WAL (Soumyadeep Chakraborty, Jimmy Yih,
+ Kevin Yeap)
+ </p><p>
+ This error could lead to subsequent WAL records being written under
+ the wrong timeline ID, leading to consistency problems, or even
+ complete failure to be able to restart the server, later on.
+ </p></li><li class="listitem"><p>
+ Ensure that locks are released while shutting down a standby
+ server's startup process (Fujii Masao)
+ </p><p>
+ When a standby server is shut down while still in recovery, some
+ locks might be left held. This causes assertion failures in debug
+ builds; it's unclear whether any serious consequence could occur
+ in production builds.
+ </p></li><li class="listitem"><p>
+ Fix crash when a logical replication worker does <code class="command">ALTER
+ SUBSCRIPTION REFRESH</code> (Peter Smith)
+ </p><p>
+ The core code won't do this, but a replica trigger could.
+ </p></li><li class="listitem"><p>
+ Ensure we default to <code class="varname">wal_sync_method</code>
+ = <code class="literal">fdatasync</code> on recent FreeBSD (Thomas Munro)
+ </p><p>
+ FreeBSD 13 supports <code class="literal">open_datasync</code>, which would
+ normally become the default choice. However, it's unclear whether
+ that is actually an improvement for Postgres, so preserve the
+ existing default for now.
+ </p></li><li class="listitem"><p>
+ Disable the <code class="varname">vacuum_cleanup_index_scale_factor</code>
+ parameter and storage option (Peter Geoghegan)
+ </p><p>
+ The notion of tracking <span class="quote">“<span class="quote">stale</span>”</span> index statistics proved
+ to interact badly with
+ the <code class="varname">autovacuum_vacuum_insert_threshold</code> parameter,
+ resulting in unnecessary full-index scans and consequent degradation
+ of autovacuum performance. The latter mechanism seems superior, so
+ remove the stale-statistics logic. The control parameter for that,
+ <code class="varname">vacuum_cleanup_index_scale_factor</code>, will be
+ removed entirely in v14. In v13, it remains present to avoid
+ breaking existing configuration files, but it no longer does
+ anything.
+ </p></li><li class="listitem"><p>
+ Pass the correct trigger OID to object post-alter hooks
+ during <code class="command">ALTER CONSTRAINT</code> (Álvaro Herrera)
+ </p><p>
+ When updating trigger properties during <code class="command">ALTER
+ CONSTRAINT</code>, the post-alter hook was told that we are
+ updating a trigger, but the constraint's OID was passed instead of
+ the trigger's.
+ </p></li><li class="listitem"><p>
+ Ensure we finish cleaning up when interrupted while detaching a DSM
+ segment (Thomas Munro)
+ </p><p>
+ This error could result in temporary files not being cleaned up
+ promptly after a parallel query.
+ </p></li><li class="listitem"><p>
+ Fix assorted minor memory leaks in the server (Tom Lane, Andres Freund)
+ </p></li><li class="listitem"><p>
+ Fix uninitialized variable in walreceiver's statistics in shared
+ memory (Fujii Masao)
+ </p><p>
+ This error was harmless on most platforms, but could cause issues
+ on platforms lacking atomic variables and/or spinlock support.
+ </p></li><li class="listitem"><p>
+ Reduce the overhead of dtrace probes for LWLock operations, when
+ dtrace support is compiled in but not active (Peter Eisentraut)
+ </p></li><li class="listitem"><p>
+ Fix failure when a PL/pgSQL <code class="command">DO</code> block makes use of
+ both composite-type variables and transaction control (Tom Lane)
+ </p><p>
+ Previously, such cases led to errors about leaked tuple descriptors.
+ </p></li><li class="listitem"><p>
+ Prevent infinite loop in <span class="application">libpq</span>
+ if a ParameterDescription message with a corrupt length is received
+ (Tom Lane)
+ </p></li><li class="listitem"><p>
+ When <span class="application">initdb</span> prints instructions about how
+ to start the server, make the path shown
+ for <span class="application">pg_ctl</span> use backslash separators on
+ Windows (Nitin Jadhav)
+ </p></li><li class="listitem"><p>
+ Fix <span class="application">psql</span> to restore the previous behavior
+ of <code class="literal">\connect
+ service=<em class="replaceable"><code>something</code></em></code> (Tom Lane)
+ </p><p>
+ A previous bug fix caused environment variables (such
+ as <code class="varname">PGPORT</code>) to override entries in the service
+ file in this context. Restore the previous behavior, in which the
+ priority is the other way around.
+ </p></li><li class="listitem"><p>
+ Fix <span class="application">psql</span>'s <code class="literal">ON_ERROR_ROLLBACK</code>
+ feature to handle <code class="literal">COMMIT AND CHAIN</code> commands
+ correctly (Arthur Nascimento)
+ </p><p>
+ Previously, this case failed with <span class="quote">“<span class="quote">savepoint
+ "pg_psql_temporary_savepoint" does not exist</span>”</span>.
+ </p></li><li class="listitem"><p>
+ In <span class="application">psql</span>, avoid repeated <span class="quote">“<span class="quote">could not
+ print result table</span>”</span> failures after the first such error
+ (Álvaro Herrera)
+ </p></li><li class="listitem"><p>
+ Fix race condition in detection of file modification by
+ <span class="application">psql</span>'s <code class="literal">\e</code> and related
+ commands (Laurenz Albe)
+ </p><p>
+ A very fast typist could fool the code's file-timestamp-based
+ detection of whether the temporary edit file was changed.
+ </p></li><li class="listitem"><p>
+ Fix <span class="application">pg_dump</span>'s dumping of
+ generated columns in partitioned tables (Peter Eisentraut)
+ </p><p>
+ A fix introduced in the previous minor release should not be applied
+ to partitioned tables, only traditionally-inherited tables.
+ </p></li><li class="listitem"><p>
+ Fix missed file version check
+ in <span class="application">pg_restore</span> (Tom Lane)
+ </p><p>
+ When reading a custom-format archive from a non-seekable source,
+ <span class="application">pg_restore</span> neglected to check the
+ archive version. If it was fed a newer archive version than it
+ can support, it would fail messily later on.
+ </p></li><li class="listitem"><p>
+ Add some more checks to <span class="application">pg_upgrade</span> for
+ user tables containing non-upgradable data types (Tom Lane)
+ </p><p>
+ Fix detection of some cases where a non-upgradable data type is
+ embedded within a container type (such as an array or range).
+ Also disallow upgrading when user tables contain columns of
+ system-defined composite types, since those types' OIDs are not
+ stable across versions.
+ </p></li><li class="listitem"><p>
+ Fix incorrect progress-reporting calculation
+ in <span class="application">pg_checksums</span> (Shinya Kato)
+ </p></li><li class="listitem"><p>
+ Fix <span class="application">pg_waldump</span> to
+ count <code class="literal">XACT</code> records correctly when generating
+ per-record statistics (Kyotaro Horiguchi)
+ </p></li><li class="listitem"><p>
+ Fix <code class="filename">contrib/amcheck</code> to not complain about the
+ tuple flags <code class="literal">HEAP_XMAX_LOCK_ONLY</code>
+ and <code class="literal">HEAP_KEYS_UPDATED</code> both being set
+ (Julien Rouhaud)
+ </p><p>
+ This is a valid state after <code class="literal">SELECT FOR UPDATE</code>.
+ </p></li><li class="listitem"><p>
+ Adjust VPATH build rules to support recent Oracle Developer Studio
+ compiler versions (Noah Misch)
+ </p></li><li class="listitem"><p>
+ Fix testing of PL/Python for Python 3 on Solaris (Noah Misch)
+ </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-13-4.html" title="E.1. Release 13.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-13-2.html" title="E.3. Release 13.2">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.1. Release 13.4 </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 13.4 Documentation">Home</a></td><td width="40%" align="right" valign="top"> E.3. Release 13.2</td></tr></table></div></body></html> \ No newline at end of file