summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/html/release-13-1.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/html/release-13-1.html')
-rw-r--r--doc/src/sgml/html/release-13-1.html325
1 files changed, 325 insertions, 0 deletions
diff --git a/doc/src/sgml/html/release-13-1.html b/doc/src/sgml/html/release-13-1.html
new file mode 100644
index 0000000..7105062
--- /dev/null
+++ b/doc/src/sgml/html/release-13-1.html
@@ -0,0 +1,325 @@
+<?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.4. Release 13.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 V1.79.1" /><link rel="prev" href="release-13-2.html" title="E.3. Release 13.2" /><link rel="next" href="release-13.html" title="E.5. Release 13" /></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.4. Release 13.1</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release-13-2.html" title="E.3. Release 13.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 13.4 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="release-13.html" title="E.5. Release 13">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="RELEASE-13-1"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.4. Release 13.1</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-13-1.html#id-1.11.6.8.4">E.4.1. Migration to Version 13.1</a></span></dt><dt><span class="sect2"><a href="release-13-1.html#id-1.11.6.8.5">E.4.2. Changes</a></span></dt></dl></div><p><strong>Release date: </strong>2020-11-12</p><p>
+ This release contains a variety of fixes from 13.0.
+ 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.8.4"><div class="titlepage"><div><div><h3 class="title">E.4.1. Migration to Version 13.1</h3></div></div></div><p>
+ A dump/restore is not required for those running 13.X.
+ </p></div><div class="sect2" id="id-1.11.6.8.5"><div class="titlepage"><div><div><h3 class="title">E.4.2. Changes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+ Block <code class="command">DECLARE CURSOR ... WITH HOLD</code> and firing of
+ deferred triggers within index expressions and materialized view
+ queries (Noah Misch)
+ </p><p>
+ This is essentially a leak in the <span class="quote">“<span class="quote">security restricted
+ operation</span>”</span> sandbox mechanism. An attacker having permission
+ to create non-temporary SQL objects could parlay this leak to
+ execute arbitrary SQL code as a superuser.
+ </p><p>
+ The <span class="productname">PostgreSQL</span> Project thanks
+ Etienne Stalmans for reporting this problem.
+ (CVE-2020-25695)
+ </p></li><li class="listitem"><p>
+ Fix usage of complex connection-string parameters
+ in <span class="application">pg_dump</span>,
+ <span class="application">pg_restore</span>,
+ <span class="application">clusterdb</span>,
+ <span class="application">reindexdb</span>,
+ and <span class="application">vacuumdb</span> (Tom Lane)
+ </p><p>
+ The <code class="option">-d</code> parameter
+ of <span class="application">pg_dump</span>
+ and <span class="application">pg_restore</span>, or
+ the <code class="option">--maintenance-db</code> parameter of the other
+ programs mentioned, can be a <span class="quote">“<span class="quote">connection string</span>”</span>
+ containing multiple connection parameters rather than just a
+ database name. In cases where these programs need to initiate
+ additional connections, such as parallel processing or processing of
+ multiple databases, the connection string was forgotten and just the
+ basic connection parameters (database name, host, port, and
+ username) were used for the additional connections. This could lead
+ to connection failures if the connection string included any other
+ essential information, such as non-default SSL or GSS parameters.
+ Worse, the connection might succeed but not be encrypted as
+ intended, or be vulnerable to man-in-the-middle attacks that the
+ intended connection parameters would have prevented.
+ (CVE-2020-25694)
+ </p></li><li class="listitem"><p>
+ When <span class="application">psql</span>'s <code class="command">\connect</code>
+ command re-uses connection parameters, ensure that all
+ non-overridden parameters from a previous connection string are
+ re-used (Tom Lane)
+ </p><p>
+ This avoids cases where reconnection might fail due to omission of
+ relevant parameters, such as non-default SSL or GSS options.
+ Worse, the reconnection might succeed but not be encrypted as
+ intended, or be vulnerable to man-in-the-middle attacks that the
+ intended connection parameters would have prevented.
+ This is largely the same problem as just cited
+ for <span class="application">pg_dump</span> et al,
+ although <span class="application">psql</span>'s behavior is more complex
+ since the user may intentionally override some connection
+ parameters.
+ (CVE-2020-25694)
+ </p></li><li class="listitem"><p>
+ Prevent <span class="application">psql</span>'s <code class="command">\gset</code>
+ command from modifying specially-treated variables (Noah Misch)
+ </p><p>
+ <code class="command">\gset</code> without a prefix would overwrite whatever
+ variables the server told it to. Thus, a compromised server could
+ set specially-treated variables such as <code class="varname">PROMPT1</code>,
+ giving the ability to execute arbitrary shell code in the user's
+ session.
+ </p><p>
+ The <span class="productname">PostgreSQL</span> Project thanks
+ Nick Cleaton for reporting this problem.
+ (CVE-2020-25696)
+ </p></li><li class="listitem"><p>
+ Fix unintended breakage of the replication protocol
+ (Álvaro Herrera)
+ </p><p>
+ A walsender reports two command-completion events
+ for <code class="literal">START_REPLICATION</code>. This was undocumented and
+ apparently unintentional; so we failed to notice that a late 13.0
+ change removed the duplicate event. However it turns out that
+ walreceivers require the extra event in some code paths. The most
+ practical fix is to decree that the extra event is part of the
+ protocol and resume generating it.
+ </p></li><li class="listitem"><p>
+ Ensure that SLRU directories are properly fsync'd during checkpoints
+ (Thomas Munro)
+ </p><p>
+ This prevents possible data loss in a subsequent operating system
+ crash.
+ </p></li><li class="listitem"><p>
+ Fix <code class="command">ALTER ROLE</code> for users with
+ the <code class="literal">BYPASSRLS</code> attribute (Tom Lane, Stephen Frost)
+ </p><p>
+ The <code class="literal">BYPASSRLS</code> attribute is only allowed to be
+ changed by superusers, but other <code class="command">ALTER ROLE</code>
+ operations, such as password changes, should be allowed with only
+ ordinary permission checks. The previous coding erroneously
+ restricted all changes on such a role to superusers.
+ </p></li><li class="listitem"><p>
+ Disallow <code class="command">ALTER TABLE ONLY ... DROP EXPRESSION</code> when
+ there are child tables (Peter Eisentraut)
+ </p><p>
+ The current implementation cannot handle this case correctly, so just
+ forbid it for now.
+ </p></li><li class="listitem"><p>
+ Ensure that <code class="command">ALTER TABLE ONLY ... ENABLE/DISABLE
+ TRIGGER</code> does not recurse to child tables
+ (Álvaro Herrera)
+ </p><p>
+ Previously the <code class="literal">ONLY</code> flag was ignored.
+ </p></li><li class="listitem"><p>
+ Allow <code class="command">LOCK TABLE</code> to succeed on a self-referential
+ view (Tom Lane)
+ </p><p>
+ It previously threw an error complaining about infinite recursion,
+ but there seems no need to disallow the case.
+ </p></li><li class="listitem"><p>
+ Retain statistics about an index across <code class="command">REINDEX
+ CONCURRENTLY</code> (Michael Paquier, Fabrízio de Royes Mello)
+ </p><p>
+ Non-concurrent reindexing has always preserved such statistics.
+ </p></li><li class="listitem"><p>
+ Fix incorrect progress reporting from <code class="command">REINDEX
+ CONCURRENTLY</code> (Matthias van de Meent, Michael Paquier)
+ </p></li><li class="listitem"><p>
+ Ensure that <code class="literal">GENERATED</code> columns are updated when
+ the column(s) they depend on are updated via a rule or an updatable
+ view (Tom Lane)
+ </p><p>
+ This fix also takes care of possible failure to fire a
+ column-specific trigger in such cases.
+ </p></li><li class="listitem"><p>
+ Fix failures with collation-dependent partition bound expressions
+ (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Support hashing of text arrays (Peter Eisentraut)
+ </p><p>
+ Array hashing failed if the array element type is collatable.
+ Notably, this prevented using hash partitioning with a text array
+ column as partition key.
+ </p></li><li class="listitem"><p>
+ Prevent internal overflows in cross-type datetime
+ comparisons (Nikita Glukhov, Alexander Korotkov, Tom Lane)
+ </p><p>
+ Previously, comparing a date to a timestamp would fail if the date
+ is past the valid range for timestamps. There were also corner
+ cases involving overflow of close-to-the-limit timestamp values
+ during timezone rotation.
+ </p></li><li class="listitem"><p>
+ Fix off-by-one conversion of negative years to BC dates
+ in <code class="function">to_date()</code>
+ and <code class="function">to_timestamp()</code> (Dar Alathar-Yemen, Tom Lane)
+ </p><p>
+ Also, arrange for the combination of a negative year and an
+ explicit <span class="quote">“<span class="quote">BC</span>”</span> marker to cancel out and produce AD.
+ </p></li><li class="listitem"><p>
+ Allow the <code class="type">jsonpath</code> <code class="function">.datetime()</code>
+ method to accept ISO 8601-format timestamps (Nikita Glukhov)
+ </p><p>
+ This is not required by SQL, but it seems appropriate since
+ our <code class="function">to_json()</code> functions generate that timestamp
+ format for Javascript compatibility.
+ </p></li><li class="listitem"><p>
+ Ensure that standby servers will archive WAL timeline history files
+ when <code class="varname">archive_mode</code> is set
+ to <code class="literal">always</code> (Grigory Smolkin, Fujii Masao)
+ </p><p>
+ This oversight could lead to failure of subsequent PITR recovery
+ attempts.
+ </p></li><li class="listitem"><p>
+ Fix edge cases in detecting premature death of the postmaster on
+ platforms that use <code class="function">kqueue()</code> (Thomas Munro)
+ </p></li><li class="listitem"><p>
+ Avoid generating an incorrect incremental-sort plan when the sort key
+ is a volatile expression (James Coleman)
+ </p></li><li class="listitem"><p>
+ Fix possible crash when considering partition-wise joins
+ during GEQO planning (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Fix possible infinite loop or corrupted output data in TOAST
+ decompression (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Fix counting of the number of entries in B-tree indexes during
+ cleanup-only <code class="command">VACUUM</code>s (Peter Geoghegan)
+ </p></li><li class="listitem"><p>
+ Ensure that data is detoasted before being inserted into a BRIN
+ index (Tomas Vondra)
+ </p><p>
+ Index entries are not supposed to contain out-of-line TOAST
+ pointers, but BRIN didn't get that memo. This could lead to errors
+ like <span class="quote">“<span class="quote">missing chunk number 0 for toast value NNN</span>”</span>.
+ (If you are faced with such an error from an existing
+ index, <code class="command">REINDEX</code> should be enough to fix it.)
+ </p></li><li class="listitem"><p>
+ Fix buffered GiST index builds to work when the index has included
+ columns (Pavel Borisov)
+ </p></li><li class="listitem"><p>
+ Fix unportable use of <code class="function">getnameinfo()</code>
+ in <code class="structname">pg_hba_file_rules</code> view (Tom Lane)
+ </p><p>
+ On FreeBSD 11, and possibly other platforms, the
+ view's <code class="structfield">address</code>
+ and <code class="structfield">netmask</code> columns were always null due
+ to this error.
+ </p></li><li class="listitem"><p>
+ Avoid crash if <code class="varname">debug_query_string</code> is NULL
+ when starting a parallel worker (Noah Misch)
+ </p></li><li class="listitem"><p>
+ Avoid failures when a <code class="literal">BEFORE ROW UPDATE</code> trigger
+ returns the <span class="quote">“<span class="quote">old</span>”</span> row of a table having dropped
+ or <span class="quote">“<span class="quote">missing</span>”</span> columns (Amit Langote, Tom Lane)
+ </p><p>
+ This method of suppressing an update could result in crashes,
+ unexpected <code class="literal">CHECK</code> constraint failures, or
+ incorrect <code class="literal">RETURNING</code> output,
+ because <span class="quote">“<span class="quote">missing</span>”</span> columns would read as NULLs for those
+ purposes. (A column is <span class="quote">“<span class="quote">missing</span>”</span> for this purpose if
+ it was added by <code class="command">ALTER TABLE ADD COLUMN</code> with a
+ non-NULL, but constant, default value.) Dropped columns could cause
+ trouble as well.
+ </p></li><li class="listitem"><p>
+ Fix <code class="command">EXPLAIN</code>'s output for incremental sort plans
+ to have correct tag nesting in XML output mode (Daniel Gustafsson)
+ </p></li><li class="listitem"><p>
+ Avoid unnecessary failure when transferring very large payloads
+ through shared memory queues (Markus Wanner)
+ </p></li><li class="listitem"><p>
+ Fix omission of result data type coercion in some cases in
+ SQL-language functions (Tom Lane)
+ </p><p>
+ This could lead to wrong results or crashes, depending on the data
+ types involved.
+ </p></li><li class="listitem"><p>
+ Fix incorrect handling of template function attributes in JIT code
+ generation (Andres Freund)
+ </p><p>
+ This has been shown to cause crashes on <code class="literal">s390x</code>,
+ and very possibly there are other cases on other platforms.
+ </p></li><li class="listitem"><p>
+ Improve code generated for compare_exchange and fetch_add operations
+ on PPC (Noah Misch)
+ </p></li><li class="listitem"><p>
+ Fix relation cache memory leaks with RLS policies (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Fix edge-case memory leak
+ in <code class="function">index_get_partition()</code> (Justin Pryzby)
+ </p></li><li class="listitem"><p>
+ Fix small memory leak when SIGHUP processing decides that a new GUC
+ variable value cannot be applied without a restart (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Fix memory leaks
+ in <span class="application">PL/pgsql</span>'s <code class="command">CALL</code>
+ processing (Pavel Stehule, Tom Lane)
+ </p></li><li class="listitem"><p>
+ In <span class="application">libpq</span> for Windows,
+ call <code class="function">WSAStartup()</code> once per process
+ and <code class="function">WSACleanup()</code> not at all (Tom Lane,
+ Alexander Lakhin)
+ </p><p>
+ Previously, <span class="application">libpq</span>
+ invoked <code class="function">WSAStartup()</code> at connection start
+ and <code class="function">WSACleanup()</code> at connection cleanup.
+ However, it appears that calling <code class="function">WSACleanup()</code>
+ can interfere with other program operations; notably, we have
+ observed rare failures to emit expected output to stdout. There
+ appear to be no ill effects from omitting the call, so do that.
+ (This also eliminates a performance issue from repeated DLL loads and
+ unloads when a program performs a series of database connections.)
+ </p></li><li class="listitem"><p>
+ Fix <span class="application">ecpg</span> library's per-thread
+ initialization logic for Windows (Tom Lane, Alexander Lakhin)
+ </p><p>
+ Multi-threaded <span class="application">ecpg</span> applications could
+ suffer rare misbehavior due to incorrect locking.
+ </p></li><li class="listitem"><p>
+ Fix <span class="application">ecpg</span>'s mis-processing
+ of <code class="literal">B'...'</code> and <code class="literal">X'...'</code> literals
+ (Shenhao Wang)
+ </p></li><li class="listitem"><p>
+ On Windows, make <span class="application">psql</span> read the output of
+ a backtick command in text mode, not binary mode (Tom Lane)
+ </p><p>
+ This ensures proper handling of newlines.
+ </p></li><li class="listitem"><p>
+ Ensure that <span class="application">pg_dump</span> collects per-column
+ information about extension configuration tables (Fabrízio de
+ Royes Mello, Tom Lane)
+ </p><p>
+ Failure to do this led to crashes when
+ specifying <code class="option">--inserts</code>, or underspecified (though
+ usually correct) <code class="command">COPY</code> commands when
+ using <code class="command">COPY</code> to reload the tables' data.
+ </p></li><li class="listitem"><p>
+ Make <span class="application">pg_upgrade</span> check for pre-existence
+ of tablespace directories in the target cluster (Bruce Momjian)
+ </p></li><li class="listitem"><p>
+ Fix potential memory leak in <code class="filename">contrib/pgcrypto</code>
+ (Michael Paquier)
+ </p></li><li class="listitem"><p>
+ Add check for an unlikely failure case
+ in <code class="filename">contrib/pgcrypto</code> (Daniel Gustafsson)
+ </p></li><li class="listitem"><p>
+ Fix recently-added <code class="type">timetz</code> test case so it works when
+ the USA is not observing daylight savings time (Tom Lane)
+ </p></li><li class="listitem"><p>
+ Update time zone data files to <span class="application">tzdata</span>
+ release 2020d for DST law changes in Fiji, Morocco, Palestine, the
+ Canadian Yukon, Macquarie Island, and Casey Station (Antarctica);
+ plus historical corrections for France, Hungary, Monaco, and
+ Palestine.
+ </p></li><li class="listitem"><p>
+ Sync our copy of the timezone library with IANA tzcode release 2020d
+ (Tom Lane)
+ </p><p>
+ This absorbs upstream's change of <span class="application">zic</span>'s
+ default output option from <span class="quote">“<span class="quote">fat</span>”</span>
+ to <span class="quote">“<span class="quote">slim</span>”</span>. That's just cosmetic for our purposes, as
+ we continue to select the <span class="quote">“<span class="quote">fat</span>”</span> mode in pre-v13
+ branches. This change also ensures
+ that <code class="function">strftime()</code> does not
+ change <code class="varname">errno</code> unless it fails.
+ </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-2.html" title="E.3. Release 13.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-13.html" title="E.5. Release 13">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.3. Release 13.2 </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.5. Release 13</td></tr></table></div></body></html> \ No newline at end of file