| Server IP : 172.67.134.114 / Your IP : 162.159.115.42 Web Server : Apache/2.4.37 System : Linux almalinux.duckdns.org 4.18.0-553.111.1.el8_10.x86_64 #1 SMP Sun Mar 8 20:06:07 EDT 2026 x86_64 User : ricodeal ( 1046) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/postgresql-docs/html/ |
Upload File : |
<?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.7. Release 10.17</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="[email protected]" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="prev" href="release-10-18.html" title="E.6. Release 10.18" /><link rel="next" href="release-10-16.html" title="E.8. Release 10.16" /></head><body><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">E.7. Release 10.17</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release-10-18.html" title="E.6. Release 10.18">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 10.23 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="release-10-16.html" title="E.8. Release 10.16">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="RELEASE-10-17"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.7. Release 10.17</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-10-17.html#id-1.11.6.11.4">E.7.1. Migration to Version 10.17</a></span></dt><dt><span class="sect2"><a href="release-10-17.html#id-1.11.6.11.5">E.7.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 10.16.
For information about new features in major release 10, see
<a class="xref" href="release-10.html" title="E.24. Release 10">Section E.24</a>.
</p><div class="sect2" id="id-1.11.6.11.4"><div class="titlepage"><div><div><h3 class="title">E.7.1. Migration to Version 10.17</h3></div></div></div><p> A dump/restore is not required for those running 10.X.
</p><p> However, if you are upgrading from a version earlier than 10.16,
see <a class="xref" href="release-10-16.html" title="E.8. Release 10.16">Section E.8</a>.
</p></div><div class="sect2" id="id-1.11.6.11.5"><div class="titlepage"><div><div><h3 class="title">E.7.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> 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> 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> 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> 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> 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> 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 memory leak while initializing server's SSL parameters (Michael
Paquier)
</p><p> This is ordinarily insignificant, but if the postmaster is
repeatedly sent <span class="systemitem">SIGHUP</span> signals, the leak
can build up over time.
</p></li><li class="listitem"><p> Fix assorted minor memory leaks in the server (Tom Lane, Andres Freund)
</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 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 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 <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-10-18.html" title="E.6. Release 10.18">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-10-16.html" title="E.8. Release 10.16">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.6. Release 10.18 </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 10.23 Documentation">Home</a></td><td width="40%" align="right" valign="top"> E.8. Release 10.16</td></tr></table></div></body></html>