Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
opt
/
postgresql-11.1-201812121535
/
doc
/
html
/
//opt/postgresql-11.1-201812121535/doc/html/release-9-2-20.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.89. Release 9.2.20</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-2-21.html" title="E.88. Release 9.2.21" /><link rel="next" href="release-9-2-19.html" title="E.90. Release 9.2.19" /></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.89. Release 9.2.20</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release-9-2-21.html" title="E.88. Release 9.2.21">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-2-19.html" title="E.90. Release 9.2.19">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="RELEASE-9-2-20"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.89. Release 9.2.20</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-9-2-20.html#id-1.11.6.93.4">E.89.1. Migration to Version 9.2.20</a></span></dt><dt><span class="sect2"><a href="release-9-2-20.html#id-1.11.6.93.5">E.89.2. Changes</a></span></dt></dl></div><p><strong>Release date: </strong>2017-02-09</p><p> This release contains a variety of fixes from 9.2.19. For information about new features in the 9.2 major release, see <a class="xref" href="release-9-2.html" title="E.109. Release 9.2">Section E.109</a>. </p><div class="sect2" id="id-1.11.6.93.4"><div class="titlepage"><div><div><h3 class="title">E.89.1. Migration to Version 9.2.20</h3></div></div></div><p> A dump/restore is not required for those running 9.2.X. </p><p> However, if your installation has been affected by the bug described in the first changelog entry below, then after updating you may need to take action to repair corrupted indexes. </p><p> Also, if you are upgrading from a version earlier than 9.2.11, see <a class="xref" href="release-9-2-11.html" title="E.98. Release 9.2.11">Section E.98</a>. </p></div><div class="sect2" id="id-1.11.6.93.5"><div class="titlepage"><div><div><h3 class="title">E.89.2. Changes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> Fix a race condition that could cause indexes built with <code class="command">CREATE INDEX CONCURRENTLY</code> to be corrupt (Pavan Deolasee, Tom Lane) </p><p> If <code class="command">CREATE INDEX CONCURRENTLY</code> was used to build an index that depends on a column not previously indexed, then rows updated by transactions that ran concurrently with the <code class="command">CREATE INDEX</code> command could have received incorrect index entries. If you suspect this may have happened, the most reliable solution is to rebuild affected indexes after installing this update. </p></li><li class="listitem"><p> Unconditionally WAL-log creation of the <span class="quote">“<span class="quote">init fork</span>”</span> for an unlogged table (Michael Paquier) </p><p> Previously, this was skipped when <a class="xref" href="runtime-config-wal.html#GUC-WAL-LEVEL">wal_level</a> = <code class="literal">minimal</code>, but actually it's necessary even in that case to ensure that the unlogged table is properly reset to empty after a crash. </p></li><li class="listitem"><p> Fix WAL page header validation when re-reading segments (Takayuki Tsunakawa, Amit Kapila) </p><p> In corner cases, a spurious <span class="quote">“<span class="quote">out-of-sequence TLI</span>”</span> error could be reported during recovery. </p></li><li class="listitem"><p> If the stats collector dies during hot standby, restart it (Takayuki Tsunakawa) </p></li><li class="listitem"><p> Check for interrupts while hot standby is waiting for a conflicting query (Simon Riggs) </p></li><li class="listitem"><p> Avoid constantly respawning the autovacuum launcher in a corner case (Amit Khandekar) </p><p> This fix avoids problems when autovacuum is nominally off and there are some tables that require freezing, but all such tables are already being processed by autovacuum workers. </p></li><li class="listitem"><p> Fix check for when an extension member object can be dropped (Tom Lane) </p><p> Extension upgrade scripts should be able to drop member objects, but this was disallowed for serial-column sequences, and possibly other cases. </p></li><li class="listitem"><p> Make sure <code class="command">ALTER TABLE</code> preserves index tablespace assignments when rebuilding indexes (Tom Lane, Michael Paquier) </p><p> Previously, non-default settings of <a class="xref" href="runtime-config-client.html#GUC-DEFAULT-TABLESPACE">default_tablespace</a> could result in broken indexes. </p></li><li class="listitem"><p> Prevent dropping a foreign-key constraint if there are pending trigger events for the referenced relation (Tom Lane) </p><p> This avoids <span class="quote">“<span class="quote">could not find trigger <em class="replaceable"><code>NNN</code></em></span>”</span> or <span class="quote">“<span class="quote">relation <em class="replaceable"><code>NNN</code></em> has no triggers</span>”</span> errors. </p></li><li class="listitem"><p> Fix processing of OID column when a table with OIDs is associated to a parent with OIDs via <code class="command">ALTER TABLE ... INHERIT</code> (Amit Langote) </p><p> The OID column should be treated the same as regular user columns in this case, but it wasn't, leading to odd behavior in later inheritance changes. </p></li><li class="listitem"><p> Check for serializability conflicts before reporting constraint-violation failures (Thomas Munro) </p><p> When using serializable transaction isolation, it is desirable that any error due to concurrent transactions should manifest as a serialization failure, thereby cueing the application that a retry might succeed. Unfortunately, this does not reliably happen for duplicate-key failures caused by concurrent insertions. This change ensures that such an error will be reported as a serialization error if the application explicitly checked for the presence of a conflicting key (and did not find it) earlier in the transaction. </p></li><li class="listitem"><p> Ensure that column typmods are determined accurately for multi-row <code class="literal">VALUES</code> constructs (Tom Lane) </p><p> This fixes problems occurring when the first value in a column has a determinable typmod (e.g., length for a <code class="type">varchar</code> value) but later values don't share the same limit. </p></li><li class="listitem"><p> Throw error for an unfinished Unicode surrogate pair at the end of a Unicode string (Tom Lane) </p><p> Normally, a Unicode surrogate leading character must be followed by a Unicode surrogate trailing character, but the check for this was missed if the leading character was the last character in a Unicode string literal (<code class="literal">U&'...'</code>) or Unicode identifier (<code class="literal">U&"..."</code>). </p></li><li class="listitem"><p> Ensure that a purely negative text search query, such as <code class="literal">!foo</code>, matches empty <code class="type">tsvector</code>s (Tom Dunstan) </p><p> Such matches were found by GIN index searches, but not by sequential scans or GiST index searches. </p></li><li class="listitem"><p> Prevent crash when <code class="function">ts_rewrite()</code> replaces a non-top-level subtree with an empty query (Artur Zakirov) </p></li><li class="listitem"><p> Fix performance problems in <code class="function">ts_rewrite()</code> (Tom Lane) </p></li><li class="listitem"><p> Fix <code class="function">ts_rewrite()</code>'s handling of nested NOT operators (Tom Lane) </p></li><li class="listitem"><p> Fix <code class="function">array_fill()</code> to handle empty arrays properly (Tom Lane) </p></li><li class="listitem"><p> Fix one-byte buffer overrun in <code class="function">quote_literal_cstr()</code> (Heikki Linnakangas) </p><p> The overrun occurred only if the input consisted entirely of single quotes and/or backslashes. </p></li><li class="listitem"><p> Prevent multiple calls of <code class="function">pg_start_backup()</code> and <code class="function">pg_stop_backup()</code> from running concurrently (Michael Paquier) </p><p> This avoids an assertion failure, and possibly worse things, if someone tries to run these functions in parallel. </p></li><li class="listitem"><p> Avoid discarding <code class="type">interval</code>-to-<code class="type">interval</code> casts that aren't really no-ops (Tom Lane) </p><p> In some cases, a cast that should result in zeroing out low-order <code class="type">interval</code> fields was mistakenly deemed to be a no-op and discarded. An example is that casting from <code class="type">INTERVAL MONTH</code> to <code class="type">INTERVAL YEAR</code> failed to clear the months field. </p></li><li class="listitem"><p> Fix <span class="application">pg_dump</span> to dump user-defined casts and transforms that use built-in functions (Stephen Frost) </p></li><li class="listitem"><p> Fix possible <span class="application">pg_basebackup</span> failure on standby server when including WAL files (Amit Kapila, Robert Haas) </p></li><li class="listitem"><p> Ensure that the Python exception objects we create for PL/Python are properly reference-counted (Rafa de la Torre, Tom Lane) </p><p> This avoids failures if the objects are used after a Python garbage collection cycle has occurred. </p></li><li class="listitem"><p> Fix PL/Tcl to support triggers on tables that have <code class="literal">.tupno</code> as a column name (Tom Lane) </p><p> This matches the (previously undocumented) behavior of PL/Tcl's <code class="command">spi_exec</code> and <code class="command">spi_execp</code> commands, namely that a magic <code class="literal">.tupno</code> column is inserted only if there isn't a real column named that. </p></li><li class="listitem"><p> Allow DOS-style line endings in <code class="filename">~/.pgpass</code> files, even on Unix (Vik Fearing) </p><p> This change simplifies use of the same password file across Unix and Windows machines. </p></li><li class="listitem"><p> Fix one-byte buffer overrun if <span class="application">ecpg</span> is given a file name that ends with a dot (Takayuki Tsunakawa) </p></li><li class="listitem"><p> Fix <span class="application">psql</span>'s tab completion for <code class="command">ALTER DEFAULT PRIVILEGES</code> (Gilles Darold, Stephen Frost) </p></li><li class="listitem"><p> In <span class="application">psql</span>, treat an empty or all-blank setting of the <code class="envar">PAGER</code> environment variable as meaning <span class="quote">“<span class="quote">no pager</span>”</span> (Tom Lane) </p><p> Previously, such a setting caused output intended for the pager to vanish entirely. </p></li><li class="listitem"><p> Improve <code class="filename">contrib/dblink</code>'s reporting of low-level <span class="application">libpq</span> errors, such as out-of-memory (Joe Conway) </p></li><li class="listitem"><p> On Windows, ensure that environment variable changes are propagated to DLLs built with debug options (Christian Ullrich) </p></li><li class="listitem"><p> Sync our copy of the timezone library with IANA release tzcode2016j (Tom Lane) </p><p> This fixes various issues, most notably that timezone data installation failed if the target directory didn't support hard links. </p></li><li class="listitem"><p> Update time zone data files to <span class="application">tzdata</span> release 2016j for DST law changes in northern Cyprus (adding a new zone Asia/Famagusta), Russia (adding a new zone Europe/Saratov), Tonga, and Antarctica/Casey. Historical corrections for Italy, Kazakhstan, Malta, and Palestine. Switch to preferring numeric zone abbreviations for Tonga. </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-2-21.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-2-19.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.88. Release 9.2.21 </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> E.90. Release 9.2.19</td></tr></table></div></body></html>