MINI MINI MANI MO
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Release 9.2.18</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REV="MADE"
HREF="mailto:pgsql-docs@postgresql.org"><LINK
REL="HOME"
TITLE="PostgreSQL 9.2.24 Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="Release Notes"
HREF="release.html"><LINK
REL="PREVIOUS"
TITLE="Release 9.2.19"
HREF="release-9-2-19.html"><LINK
REL="NEXT"
TITLE="Release 9.2.17"
HREF="release-9-2-17.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="stylesheet.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=ISO-8859-1"><META
NAME="creation"
CONTENT="2017-11-06T22:43:11"></HEAD
><BODY
CLASS="SECT1"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="5"
ALIGN="center"
VALIGN="bottom"
><A
HREF="index.html"
>PostgreSQL 9.2.24 Documentation</A
></TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
TITLE="Release 9.2.19"
HREF="release-9-2-19.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="release.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="60%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. Release Notes</TD
><TD
WIDTH="20%"
ALIGN="right"
VALIGN="top"
><A
TITLE="Release 9.2.17"
HREF="release-9-2-17.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="RELEASE-9-2-18"
>E.7. Release 9.2.18</A
></H1
><DIV
CLASS="FORMALPARA"
><P
><B
>Release date: </B
>2016-08-11</P
></DIV
><P
> This release contains a variety of fixes from 9.2.17.
For information about new features in the 9.2 major release, see
<A
HREF="release-9-2.html"
>Section E.25</A
>.
</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN111500"
>E.7.1. Migration to Version 9.2.18</A
></H2
><P
> A dump/restore is not required for those running 9.2.X.
</P
><P
> However, if you are upgrading from a version earlier than 9.2.11,
see <A
HREF="release-9-2-11.html"
>Section E.14</A
>.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN111505"
>E.7.2. Changes</A
></H2
><P
></P
><UL
><LI
><P
> Fix possible mis-evaluation of
nested <TT
CLASS="LITERAL"
>CASE</TT
>-<TT
CLASS="LITERAL"
>WHEN</TT
> expressions (Heikki
Linnakangas, Michael Paquier, Tom Lane)
</P
><P
> A <TT
CLASS="LITERAL"
>CASE</TT
> expression appearing within the test value
subexpression of another <TT
CLASS="LITERAL"
>CASE</TT
> could become confused about
whether its own test value was null or not. Also, inlining of a SQL
function implementing the equality operator used by
a <TT
CLASS="LITERAL"
>CASE</TT
> expression could result in passing the wrong test
value to functions called within a <TT
CLASS="LITERAL"
>CASE</TT
> expression in the
SQL function's body. If the test values were of different data
types, a crash might result; moreover such situations could be abused
to allow disclosure of portions of server memory. (CVE-2016-5423)
</P
></LI
><LI
><P
> Fix client programs' handling of special characters in database and
role names (Noah Misch, Nathan Bossart, Michael Paquier)
</P
><P
> Numerous places in <SPAN
CLASS="APPLICATION"
>vacuumdb</SPAN
> and other client programs
could become confused by database and role names containing double
quotes or backslashes. Tighten up quoting rules to make that safe.
Also, ensure that when a conninfo string is used as a database name
parameter to these programs, it is correctly treated as such throughout.
</P
><P
> Fix handling of paired double quotes
in <SPAN
CLASS="APPLICATION"
>psql</SPAN
>'s <TT
CLASS="COMMAND"
>\connect</TT
>
and <TT
CLASS="COMMAND"
>\password</TT
> commands to match the documentation.
</P
><P
> Introduce a new <TT
CLASS="OPTION"
>-reuse-previous</TT
> option
in <SPAN
CLASS="APPLICATION"
>psql</SPAN
>'s <TT
CLASS="COMMAND"
>\connect</TT
> command to allow
explicit control of whether to re-use connection parameters from a
previous connection. (Without this, the choice is based on whether
the database name looks like a conninfo string, as before.) This
allows secure handling of database names containing special
characters in <SPAN
CLASS="APPLICATION"
>pg_dumpall</SPAN
> scripts.
</P
><P
> <SPAN
CLASS="APPLICATION"
>pg_dumpall</SPAN
> now refuses to deal with database and role
names containing carriage returns or newlines, as it seems impractical
to quote those characters safely on Windows. In future we may reject
such names on the server side, but that step has not been taken yet.
</P
><P
> These are considered security fixes because crafted object names
containing special characters could have been used to execute
commands with superuser privileges the next time a superuser
executes <SPAN
CLASS="APPLICATION"
>pg_dumpall</SPAN
> or other routine maintenance
operations. (CVE-2016-5424)
</P
></LI
><LI
><P
> Fix corner-case misbehaviors for <TT
CLASS="LITERAL"
>IS NULL</TT
>/<TT
CLASS="LITERAL"
>IS NOT
NULL</TT
> applied to nested composite values (Andrew Gierth, Tom Lane)
</P
><P
> The SQL standard specifies that <TT
CLASS="LITERAL"
>IS NULL</TT
> should return
TRUE for a row of all null values (thus <TT
CLASS="LITERAL"
>ROW(NULL,NULL) IS
NULL</TT
> yields TRUE), but this is not meant to apply recursively
(thus <TT
CLASS="LITERAL"
>ROW(NULL, ROW(NULL,NULL)) IS NULL</TT
> yields FALSE).
The core executor got this right, but certain planner optimizations
treated the test as recursive (thus producing TRUE in both cases),
and <TT
CLASS="FILENAME"
>contrib/postgres_fdw</TT
> could produce remote queries
that misbehaved similarly.
</P
></LI
><LI
><P
> Make the <TT
CLASS="TYPE"
>inet</TT
> and <TT
CLASS="TYPE"
>cidr</TT
> data types properly reject
IPv6 addresses with too many colon-separated fields (Tom Lane)
</P
></LI
><LI
><P
> Prevent crash in <CODE
CLASS="FUNCTION"
>close_ps()</CODE
>
(the <TT
CLASS="TYPE"
>point</TT
> <TT
CLASS="LITERAL"
>##</TT
> <TT
CLASS="TYPE"
>lseg</TT
> operator)
for NaN input coordinates (Tom Lane)
</P
><P
> Make it return NULL instead of crashing.
</P
></LI
><LI
><P
> Fix several one-byte buffer over-reads in <CODE
CLASS="FUNCTION"
>to_number()</CODE
>
(Peter Eisentraut)
</P
><P
> In several cases the <CODE
CLASS="FUNCTION"
>to_number()</CODE
> function would read one
more character than it should from the input string. There is a
small chance of a crash, if the input happens to be adjacent to the
end of memory.
</P
></LI
><LI
><P
> Avoid unsafe intermediate state during expensive paths
through <CODE
CLASS="FUNCTION"
>heap_update()</CODE
> (Masahiko Sawada, Andres Freund)
</P
><P
> Previously, these cases locked the target tuple (by setting its XMAX)
but did not WAL-log that action, thus risking data integrity problems
if the page were spilled to disk and then a database crash occurred
before the tuple update could be completed.
</P
></LI
><LI
><P
> Avoid crash in <TT
CLASS="LITERAL"
>postgres -C</TT
> when the specified variable
has a null string value (Michael Paquier)
</P
></LI
><LI
><P
> Avoid consuming a transaction ID during <TT
CLASS="COMMAND"
>VACUUM</TT
>
(Alexander Korotkov)
</P
><P
> Some cases in <TT
CLASS="COMMAND"
>VACUUM</TT
> unnecessarily caused an XID to be
assigned to the current transaction. Normally this is negligible,
but if one is up against the XID wraparound limit, consuming more
XIDs during anti-wraparound vacuums is a very bad thing.
</P
></LI
><LI
><P
> Avoid canceling hot-standby queries during <TT
CLASS="COMMAND"
>VACUUM FREEZE</TT
>
(Simon Riggs, Álvaro Herrera)
</P
><P
> <TT
CLASS="COMMAND"
>VACUUM FREEZE</TT
> on an otherwise-idle master server could
result in unnecessary cancellations of queries on its standby
servers.
</P
></LI
><LI
><P
> When a manual <TT
CLASS="COMMAND"
>ANALYZE</TT
> specifies a column list, don't
reset the table's <TT
CLASS="LITERAL"
>changes_since_analyze</TT
> counter
(Tom Lane)
</P
><P
> If we're only analyzing some columns, we should not prevent routine
auto-analyze from happening for the other columns.
</P
></LI
><LI
><P
> Fix <TT
CLASS="COMMAND"
>ANALYZE</TT
>'s overestimation of <TT
CLASS="LITERAL"
>n_distinct</TT
>
for a unique or nearly-unique column with many null entries (Tom
Lane)
</P
><P
> The nulls could get counted as though they were themselves distinct
values, leading to serious planner misestimates in some types of
queries.
</P
></LI
><LI
><P
> Prevent autovacuum from starting multiple workers for the same shared
catalog (Álvaro Herrera)
</P
><P
> Normally this isn't much of a problem because the vacuum doesn't take
long anyway; but in the case of a severely bloated catalog, it could
result in all but one worker uselessly waiting instead of doing
useful work on other tables.
</P
></LI
><LI
><P
> Prevent infinite loop in GiST index build for geometric columns
containing NaN component values (Tom Lane)
</P
></LI
><LI
><P
> Fix <TT
CLASS="FILENAME"
>contrib/btree_gin</TT
> to handle the smallest
possible <TT
CLASS="TYPE"
>bigint</TT
> value correctly (Peter Eisentraut)
</P
></LI
><LI
><P
> Teach libpq to correctly decode server version from future servers
(Peter Eisentraut)
</P
><P
> It's planned to switch to two-part instead of three-part server
version numbers for releases after 9.6. Make sure
that <CODE
CLASS="FUNCTION"
>PQserverVersion()</CODE
> returns the correct value for
such cases.
</P
></LI
><LI
><P
> Fix <SPAN
CLASS="APPLICATION"
>ecpg</SPAN
>'s code for <TT
CLASS="LITERAL"
>unsigned long long</TT
>
array elements (Michael Meskes)
</P
></LI
><LI
><P
> In <SPAN
CLASS="APPLICATION"
>pg_dump</SPAN
> with both <TT
CLASS="OPTION"
>-c</TT
> and <TT
CLASS="OPTION"
>-C</TT
>
options, avoid emitting an unwanted <TT
CLASS="LITERAL"
>CREATE SCHEMA public</TT
>
command (David Johnston, Tom Lane)
</P
></LI
><LI
><P
> Make <SPAN
CLASS="APPLICATION"
>pg_basebackup</SPAN
> accept <TT
CLASS="LITERAL"
>-Z 0</TT
> as
specifying no compression (Fujii Masao)
</P
></LI
><LI
><P
> Fix makefiles' rule for building AIX shared libraries to be safe for
parallel make (Noah Misch)
</P
></LI
><LI
><P
> Fix TAP tests and MSVC scripts to work when build directory's path
name contains spaces (Michael Paquier, Kyotaro Horiguchi)
</P
></LI
><LI
><P
> Make regression tests safe for Danish and Welsh locales (Jeff Janes,
Tom Lane)
</P
><P
> Change some test data that triggered the unusual sorting rules of
these locales.
</P
></LI
><LI
><P
> Update our copy of the timezone code to match
IANA's <SPAN
CLASS="APPLICATION"
>tzcode</SPAN
> release 2016c (Tom Lane)
</P
><P
> This is needed to cope with anticipated future changes in the time
zone data files. It also fixes some corner-case bugs in coping with
unusual time zones.
</P
></LI
><LI
><P
> Update time zone data files to <SPAN
CLASS="APPLICATION"
>tzdata</SPAN
> release 2016f
for DST law changes in Kemerovo and Novosibirsk, plus historical
corrections for Azerbaijan, Belarus, and Morocco.
</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="release-9-2-19.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="release-9-2-17.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Release 9.2.19</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="release.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Release 9.2.17</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>
OHA YOOOO