Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
opt
/
postgresql-11
/
doc
/
html
/
//opt/postgresql-11/doc/html/release-9-5-15.html
<?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.22. Release 9.5.15</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="prev" href="release-9-6.html" title="E.21. Release 9.6" /><link rel="next" href="release-9-5-14.html" title="E.23. Release 9.5.14" /></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.22. Release 9.5.15</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release-9-6.html" title="E.21. Release 9.6">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 11.1 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="release-9-5-14.html" title="E.23. Release 9.5.14">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="RELEASE-9-5-15"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.22. Release 9.5.15</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-9-5-15.html#id-1.11.6.26.4">E.22.1. Migration to Version 9.5.15</a></span></dt><dt><span class="sect2"><a href="release-9-5-15.html#id-1.11.6.26.5">E.22.2. Changes</a></span></dt></dl></div><p><strong>Release date: </strong>2018-11-08</p><p> This release contains a variety of fixes from 9.5.14. For information about new features in the 9.5 major release, see <a class="xref" href="release-9-5.html" title="E.37. Release 9.5">Section E.37</a>. </p><div class="sect2" id="id-1.11.6.26.4"><div class="titlepage"><div><div><h3 class="title">E.22.1. Migration to Version 9.5.15</h3></div></div></div><p> A dump/restore is not required for those running 9.5.X. </p><p> However, if you are upgrading from a version earlier than 9.5.13, see <a class="xref" href="release-9-5-13.html" title="E.24. Release 9.5.13">Section E.24</a>. </p></div><div class="sect2" id="id-1.11.6.26.5"><div class="titlepage"><div><div><h3 class="title">E.22.2. Changes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> Fix corner-case failures in <code class="function">has_<em class="replaceable"><code>foo</code></em>_privilege()</code> family of functions (Tom Lane) </p><p> Return NULL rather than throwing an error when an invalid object OID is provided. Some of these functions got that right already, but not all. <code class="function">has_column_privilege()</code> was additionally capable of crashing on some platforms. </p></li><li class="listitem"><p> Avoid O(N^2) slowdown in regular expression match/split functions on long strings (Andrew Gierth) </p></li><li class="listitem"><p> Fix parsing of standard multi-character operators that are immediately followed by a comment or <code class="literal">+</code> or <code class="literal">-</code> (Andrew Gierth) </p><p> This oversight could lead to parse errors, or to incorrect assignment of precedence. </p></li><li class="listitem"><p> Avoid O(N^3) slowdown in lexer for long strings of <code class="literal">+</code> or <code class="literal">-</code> characters (Andrew Gierth) </p></li><li class="listitem"><p> Fix mis-execution of SubPlans when the outer query is being scanned backwards (Andrew Gierth) </p></li><li class="listitem"><p> Fix failure of <code class="command">UPDATE/DELETE ... WHERE CURRENT OF ...</code> after rewinding the referenced cursor (Tom Lane) </p><p> A cursor that scans multiple relations (particularly an inheritance tree) could produce wrong behavior if rewound to an earlier relation. </p></li><li class="listitem"><p> Fix <code class="function">EvalPlanQual</code> to handle conditionally-executed InitPlans properly (Andrew Gierth, Tom Lane) </p><p> This resulted in hard-to-reproduce crashes or wrong answers in concurrent updates, if they contained code such as an uncorrelated sub-<code class="literal">SELECT</code> inside a <code class="literal">CASE</code> construct. </p></li><li class="listitem"><p> Fix character-class checks to not fail on Windows for Unicode characters above U+FFFF (Tom Lane, Kenji Uno) </p><p> This bug affected full-text-search operations, as well as <code class="filename">contrib/ltree</code> and <code class="filename">contrib/pg_trgm</code>. </p></li><li class="listitem"><p> Ensure that sequences owned by a foreign table are processed by <code class="literal">ALTER OWNER</code> on the table (Peter Eisentraut) </p><p> The ownership change should propagate to such sequences as well, but this was missed for foreign tables. </p></li><li class="listitem"><p> Ensure that the server will process already-received <code class="literal">NOTIFY</code> and <code class="literal">SIGTERM</code> interrupts before waiting for client input (Jeff Janes, Tom Lane) </p></li><li class="listitem"><p> Fix over-allocation of space for <code class="function">array_out()</code>'s result string (Keiichi Hirobe) </p></li><li class="listitem"><p> Fix memory leak in repeated SP-GiST index scans (Tom Lane) </p><p> This is only known to amount to anything significant in cases where an exclusion constraint using SP-GiST receives many new index entries in a single command. </p></li><li class="listitem"><p> Ensure that <code class="function">ApplyLogicalMappingFile()</code> closes the mapping file when done with it (Tomas Vondra) </p><p> Previously, the file descriptor was leaked, eventually resulting in failures during logical decoding. </p></li><li class="listitem"><p> Fix logical decoding to handle cases where a mapped catalog table is repeatedly rewritten, e.g. by <code class="literal">VACUUM FULL</code> (Andres Freund) </p></li><li class="listitem"><p> Prevent starting the server with <code class="varname">wal_level</code> set to too low a value to support an existing replication slot (Andres Freund) </p></li><li class="listitem"><p> Avoid crash if a utility command causes infinite recursion (Tom Lane) </p></li><li class="listitem"><p> When initializing a hot standby, cope with duplicate XIDs caused by two-phase transactions on the master (Michael Paquier, Konstantin Knizhnik) </p></li><li class="listitem"><p> Fix event triggers to handle nested <code class="command">ALTER TABLE</code> commands (Michael Paquier, Álvaro Herrera) </p></li><li class="listitem"><p> Propagate parent process's transaction and statement start timestamps to parallel workers (Konstantin Knizhnik) </p><p> This prevents misbehavior of functions such as <code class="function">transaction_timestamp()</code> when executed in a worker. </p></li><li class="listitem"><p> Fix WAL file recycling logic to work correctly on standby servers (Michael Paquier) </p><p> Depending on the setting of <code class="varname">archive_mode</code>, a standby might fail to remove some WAL files that could be removed. </p></li><li class="listitem"><p> Fix handling of commit-timestamp tracking during recovery (Masahiko Sawasa, Michael Paquier) </p><p> If commit timestamp tracking has been turned on or off, recovery might fail due to trying to fetch the commit timestamp for a transaction that did not record it. </p></li><li class="listitem"><p> Randomize the <code class="function">random()</code> seed in bootstrap and standalone backends, and in <span class="application">initdb</span> (Noah Misch) </p><p> The main practical effect of this change is that it avoids a scenario where <span class="application">initdb</span> might mistakenly conclude that POSIX shared memory is not available, due to name collisions caused by always using the same random seed. </p></li><li class="listitem"><p> Allow DSM allocation to be interrupted (Chris Travers) </p></li><li class="listitem"><p> Properly handle turning <code class="varname">full_page_writes</code> on dynamically (Kyotaro Horiguchi) </p></li><li class="listitem"><p> Avoid possible buffer overrun when replaying GIN page recompression from WAL (Alexander Korotkov, Sivasubramanian Ramasubramanian) </p></li><li class="listitem"><p> Fix missed fsync of a replication slot's directory (Konstantin Knizhnik, Michael Paquier) </p></li><li class="listitem"><p> Fix unexpected timeouts when using <code class="varname">wal_sender_timeout</code> on a slow server (Noah Misch) </p></li><li class="listitem"><p> Ensure that hot standby processes use the correct WAL consistency point (Alexander Kukushkin, Michael Paquier) </p><p> This prevents possible misbehavior just after a standby server has reached a consistent database state during WAL replay. </p></li><li class="listitem"><p> Ensure background workers are stopped properly when the postmaster receives a fast-shutdown request before completing database startup (Alexander Kukushkin) </p></li><li class="listitem"><p> Don't run atexit callbacks when servicing <code class="literal">SIGQUIT</code> (Heikki Linnakangas) </p></li><li class="listitem"><p> Don't record foreign-server user mappings as members of extensions (Tom Lane) </p><p> If <code class="command">CREATE USER MAPPING</code> is executed in an extension script, an extension dependency was created for the user mapping, which is unexpected. Roles can't be extension members, so user mappings shouldn't be either. </p></li><li class="listitem"><p> Make syslogger more robust against failures in opening CSV log files (Tom Lane) </p></li><li class="listitem"><p> Fix <span class="application">psql</span>, as well as documentation examples, to call <code class="function">PQconsumeInput()</code> before each <code class="function">PQnotifies()</code> call (Tom Lane) </p><p> This fixes cases in which <span class="application">psql</span> would not report receipt of a <code class="literal">NOTIFY</code> message until after the next command. </p></li><li class="listitem"><p> Fix possible inconsistency in <span class="application">pg_dump</span>'s sorting of dissimilar object names (Jacob Champion) </p></li><li class="listitem"><p> Ensure that <span class="application">pg_restore</span> will schema-qualify the table name when emitting <code class="literal">DISABLE</code>/<code class="literal">ENABLE TRIGGER</code> commands (Tom Lane) </p><p> This avoids failures due to the new policy of running restores with restrictive search path. </p></li><li class="listitem"><p> Fix <span class="application">pg_upgrade</span> to handle event triggers in extensions correctly (Haribabu Kommi) </p><p> <span class="application">pg_upgrade</span> failed to preserve an event trigger's extension-membership status. </p></li><li class="listitem"><p> Fix <span class="application">pg_upgrade</span>'s cluster state check to work correctly on a standby server (Bruce Momjian) </p></li><li class="listitem"><p> Enforce type <code class="type">cube</code>'s dimension limit in all <code class="filename">contrib/cube</code> functions (Andrey Borodin) </p><p> Previously, some cube-related functions could construct values that would be rejected by <code class="function">cube_in()</code>, leading to dump/reload failures. </p></li><li class="listitem"><p> Fix <code class="filename">contrib/unaccent</code>'s <code class="function">unaccent()</code> function to use the <code class="literal">unaccent</code> text search dictionary that is in the same schema as the function (Tom Lane) </p><p> Previously it tried to look up the dictionary using the search path, which could fail if the search path has a restrictive value. </p></li><li class="listitem"><p> Fix build problems on macOS 10.14 (Mojave) (Tom Lane) </p><p> Adjust <span class="application">configure</span> to add an <code class="option">-isysroot</code> switch to <code class="varname">CPPFLAGS</code>; without this, PL/Perl and PL/Tcl fail to configure or build on macOS 10.14. The specific sysroot used can be overridden at configure time or build time by setting the <code class="varname">PG_SYSROOT</code> variable in the arguments of <span class="application">configure</span> or <span class="application">make</span>. </p><p> It is now recommended that Perl-related extensions write <code class="literal">$(perl_includespec)</code> rather than <code class="literal">-I$(perl_archlibexp)/CORE</code> in their compiler flags. The latter continues to work on most platforms, but not recent macOS. </p><p> Also, it should no longer be necessary to specify <code class="option">--with-tclconfig</code> manually to get PL/Tcl to build on recent macOS releases. </p></li><li class="listitem"><p> Fix MSVC build and regression-test scripts to work on recent Perl versions (Andrew Dunstan) </p><p> Perl no longer includes the current directory in its search path by default; work around that. </p></li><li class="listitem"><p> On Windows, allow the regression tests to be run by an Administrator account (Andrew Dunstan) </p><p> To do this safely, <span class="application">pg_regress</span> now gives up any such privileges at startup. </p></li><li class="listitem"><p> Support building on Windows with Visual Studio 2015 or Visual Studio 2017 (Michael Paquier, Haribabu Kommi) </p></li><li class="listitem"><p> Allow btree comparison functions to return <code class="literal">INT_MIN</code> (Tom Lane) </p><p> Up to now, we've forbidden datatype-specific comparison functions from returning <code class="literal">INT_MIN</code>, which allows callers to invert the sort order just by negating the comparison result. However, this was never safe for comparison functions that directly return the result of <code class="function">memcmp()</code>, <code class="function">strcmp()</code>, etc, as POSIX doesn't place any such restriction on those functions. At least some recent versions of <code class="function">memcmp()</code> can return <code class="literal">INT_MIN</code>, causing incorrect sort ordering. Hence, we've removed this restriction. Callers must now use the <code class="literal">INVERT_COMPARE_RESULT()</code> macro if they wish to invert the sort order. </p></li><li class="listitem"><p> Fix recursion hazard in shared-invalidation message processing (Tom Lane) </p><p> This error could, for example, result in failure to access a system catalog or index that had just been processed by <code class="command">VACUUM FULL</code>. </p><p> This change adds a new result code for <code class="function">LockAcquire</code>, which might possibly affect external callers of that function, though only very unusual usage patterns would have an issue with it. The API of <code class="function">LockAcquireExtended</code> is also changed. </p></li><li class="listitem"><p> Save and restore SPI's global variables during <code class="function">SPI_connect()</code> and <code class="function">SPI_finish()</code> (Chapman Flack, Tom Lane) </p><p> This prevents possible interference when one SPI-using function calls another. </p></li><li class="listitem"><p> Provide <code class="literal">ALLOCSET_DEFAULT_SIZES</code> and sibling macros in back branches (Tom Lane) </p><p> These macros have existed since 9.6, but there were requests to add them to older branches to allow extensions to rely on them without branch-specific coding. </p></li><li class="listitem"><p> Avoid using potentially-under-aligned page buffers (Tom Lane) </p><p> Invent new union types <code class="type">PGAlignedBlock</code> and <code class="type">PGAlignedXLogBlock</code>, and use these in place of plain char arrays, ensuring that the compiler can't place the buffer at a misaligned start address. This fixes potential core dumps on alignment-picky platforms, and may improve performance even on platforms that allow misalignment. </p></li><li class="listitem"><p> Make <code class="filename">src/port/snprintf.c</code> follow the C99 standard's definition of <code class="function">snprintf()</code>'s result value (Tom Lane) </p><p> On platforms where this code is used (mostly Windows), its pre-C99 behavior could lead to failure to detect buffer overrun, if the calling code assumed C99 semantics. </p></li><li class="listitem"><p> When building on i386 with the <span class="application">clang</span> compiler, require <code class="option">-msse2</code> to be used (Andres Freund) </p><p> This avoids problems with missed floating point overflow checks. </p></li><li class="listitem"><p> Fix <span class="application">configure</span>'s detection of the result type of <code class="function">strerror_r()</code> (Tom Lane) </p><p> The previous coding got the wrong answer when building with <span class="application">icc</span> on Linux (and perhaps in other cases), leading to <span class="application">libpq</span> not returning useful error messages for system-reported errors. </p></li><li class="listitem"><p> Update time zone data files to <span class="application">tzdata</span> release 2018g for DST law changes in Chile, Fiji, Morocco, and Russia (Volgograd), plus historical corrections for China, Hawaii, Japan, Macau, and North Korea. </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-9-6.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="release.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="release-9-5-14.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.21. Release 9.6 </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> E.23. Release 9.5.14</td></tr></table></div></body></html>