diff options
author | Tom Lane | 2018-11-04 21:57:15 +0000 |
---|---|---|
committer | Tom Lane | 2018-11-04 21:57:15 +0000 |
commit | 89c563f1bbc0540e38d6c81680c4caa1bb20545b (patch) | |
tree | 1fe7faba78295d669da2f1d45fa05cb29a1cac4f | |
parent | 33c697e9d4a0ace1429ae88ae584935d9d6faada (diff) |
Release notes for 11.1, 10.6, 9.6.11, 9.5.15, 9.4.20, 9.3.25.
-rw-r--r-- | doc/src/sgml/release-9.3.sgml | 466 |
1 files changed, 466 insertions, 0 deletions
diff --git a/doc/src/sgml/release-9.3.sgml b/doc/src/sgml/release-9.3.sgml index b0b46b4b39..1b770447da 100644 --- a/doc/src/sgml/release-9.3.sgml +++ b/doc/src/sgml/release-9.3.sgml @@ -1,6 +1,472 @@ <!-- doc/src/sgml/release-9.3.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-3-25"> + <title>Release 9.3.25</title> + + <formalpara> + <title>Release date:</title> + <para>2018-11-08</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.3.24. + For information about new features in the 9.3 major release, see + <xref linkend="release-9-3">. + </para> + + <para> + This is expected to be the last <productname>PostgreSQL</productname> + release in the 9.3.X series. Users are encouraged to update to a newer + release branch soon. + </para> + + <sect2> + <title>Migration to Version 9.3.25</title> + + <para> + A dump/restore is not required for those running 9.3.X. + </para> + + <para> + However, if you are upgrading from a version earlier than 9.3.23, + see <xref linkend="release-9-3-23">. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix corner-case failures + in <function>has_<replaceable>foo</replaceable>_privilege()</function> + family of functions (Tom Lane) + </para> + + <para> + 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. <function>has_column_privilege()</function> was additionally + capable of crashing on some platforms. + </para> + </listitem> + + <listitem> + <para> + Avoid O(N^2) slowdown in regular expression match/split functions on + long strings (Andrew Gierth) + </para> + </listitem> + + <listitem> + <para> + Avoid O(N^3) slowdown in lexer for long strings + of <literal>+</literal> or <literal>-</literal> characters + (Andrew Gierth) + </para> + </listitem> + + <listitem> + <para> + Fix mis-execution of SubPlans when the outer query is being scanned + backwards (Andrew Gierth) + </para> + </listitem> + + <listitem> + <para> + Fix failure of <command>UPDATE/DELETE ... WHERE CURRENT OF ...</command> + after rewinding the referenced cursor (Tom Lane) + </para> + + <para> + A cursor that scans multiple relations (particularly an inheritance + tree) could produce wrong behavior if rewound to an earlier relation. + </para> + </listitem> + + <listitem> + <para> + Fix <function>EvalPlanQual</function> to handle conditionally-executed + InitPlans properly (Andrew Gierth, Tom Lane) + </para> + + <para> + This resulted in hard-to-reproduce crashes or wrong answers in + concurrent updates, if they contained code such as an uncorrelated + sub-<literal>SELECT</literal> inside a <literal>CASE</literal> + construct. + </para> + </listitem> + + <listitem> + <para> + Fix character-class checks to not fail on Windows for Unicode + characters above U+FFFF (Tom Lane, Kenji Uno) + </para> + + <para> + This bug affected full-text-search operations, as well + as <filename>contrib/ltree</filename> + and <filename>contrib/pg_trgm</filename>. + </para> + </listitem> + + <listitem> + <para> + Ensure that sequences owned by a foreign table are processed + by <literal>ALTER OWNER</literal> on the table (Peter Eisentraut) + </para> + + <para> + The ownership change should propagate to such sequences as well, but + this was missed for foreign tables. + </para> + </listitem> + + <listitem> + <para> + Fix over-allocation of space for <function>array_out()</function>'s + result string (Keiichi Hirobe) + </para> + </listitem> + + <listitem> + <para> + Fix memory leak in repeated SP-GiST index scans (Tom Lane) + </para> + + <para> + 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. + </para> + </listitem> + + <listitem> + <para> + Avoid crash if a utility command causes infinite recursion (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + When initializing a hot standby, cope with duplicate XIDs caused by + two-phase transactions on the master + (Michael Paquier, Konstantin Knizhnik) + </para> + </listitem> + + <listitem> + <para> + Randomize the <function>random()</function> seed in bootstrap and + standalone backends, and in <application>initdb</application> + (Noah Misch) + </para> + + <para> + The main practical effect of this change is that it avoids a scenario + where <application>initdb</application> might mistakenly conclude that + POSIX shared memory is not available, due to name collisions caused by + always using the same random seed. + </para> + </listitem> + + <listitem> + <para> + Ensure that hot standby processes use the correct WAL consistency + point (Alexander Kukushkin, Michael Paquier) + </para> + + <para> + This prevents possible misbehavior just after a standby server has + reached a consistent database state during WAL replay. + </para> + </listitem> + + <listitem> + <para> + Don't run atexit callbacks when servicing <literal>SIGQUIT</literal> + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Don't record foreign-server user mappings as members of extensions + (Tom Lane) + </para> + + <para> + If <command>CREATE USER MAPPING</command> 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. + </para> + </listitem> + + <listitem> + <para> + Make syslogger more robust against failures in opening CSV log files + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible inconsistency in <application>pg_dump</application>'s + sorting of dissimilar object names (Jacob Champion) + </para> + </listitem> + + <listitem> + <para> + Ensure that <application>pg_restore</application> will schema-qualify + the table name when + emitting <literal>DISABLE</literal>/<literal>ENABLE TRIGGER</literal> + commands (Tom Lane) + </para> + + <para> + This avoids failures due to the new policy of running restores with + restrictive search path. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_upgrade</application> to handle event triggers in + extensions correctly (Haribabu Kommi) + </para> + + <para> + <application>pg_upgrade</application> failed to preserve an event + trigger's extension-membership status. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_upgrade</application>'s cluster state check to + work correctly on a standby server (Bruce Momjian) + </para> + </listitem> + + <listitem> + <para> + Enforce type <type>cube</type>'s dimension limit in + all <filename>contrib/cube</filename> functions (Andrey Borodin) + </para> + + <para> + Previously, some cube-related functions could construct values that + would be rejected by <function>cube_in()</function>, leading to + dump/reload failures. + </para> + </listitem> + + <listitem> + <para> + Fix <filename>contrib/unaccent</filename>'s + <function>unaccent()</function> function to use + the <literal>unaccent</literal> text search dictionary that is in the + same schema as the function (Tom Lane) + </para> + + <para> + Previously it tried to look up the dictionary using the search path, + which could fail if the search path has a restrictive value. + </para> + </listitem> + + <listitem> + <para> + Fix build problems on macOS 10.14 (Mojave) (Tom Lane) + </para> + + <para> + Adjust <application>configure</application> to add + an <option>-isysroot</option> switch to <varname>CPPFLAGS</varname>; + 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 <varname>PG_SYSROOT</varname> variable in + the arguments of <application>configure</application> + or <application>make</application>. + </para> + + <para> + It is now recommended that Perl-related extensions + write <literal>$(perl_includespec)</literal> rather + than <literal>-I$(perl_archlibexp)/CORE</literal> in their compiler + flags. The latter continues to work on most platforms, but not recent + macOS. + </para> + + <para> + Also, it should no longer be necessary to + specify <option>--with-tclconfig</option> manually to get PL/Tcl to + build on recent macOS releases. + </para> + </listitem> + + <listitem> + <para> + Fix MSVC build and regression-test scripts to work on recent Perl + versions (Andrew Dunstan) + </para> + + <para> + Perl no longer includes the current directory in its search path + by default; work around that. + </para> + </listitem> + + <listitem> + <para> + Support building on Windows with Visual Studio 2015 or Visual Studio 2017 + (Michael Paquier, Haribabu Kommi) + </para> + </listitem> + + <listitem> + <para> + Allow btree comparison functions to return <literal>INT_MIN</literal> + (Tom Lane) + </para> + + <para> + Up to now, we've forbidden datatype-specific comparison functions from + returning <literal>INT_MIN</literal>, 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 <function>memcmp()</function>, <function>strcmp()</function>, + etc, as POSIX doesn't place any such restriction on those functions. + At least some recent versions of <function>memcmp()</function> can + return <literal>INT_MIN</literal>, causing incorrect sort ordering. + Hence, we've removed this restriction. Callers must now use + the <literal>INVERT_COMPARE_RESULT()</literal> macro if they wish to + invert the sort order. + </para> + </listitem> + + <listitem> + <para> + Fix recursion hazard in shared-invalidation message processing + (Tom Lane) + </para> + + <para> + This error could, for example, result in failure to access a system + catalog or index that had just been processed by <command>VACUUM + FULL</command>. + </para> + + <para> + This change adds a new result code + for <function>LockAcquire</function>, which might possibly affect + external callers of that function, though only very unusual usage + patterns would have an issue with it. The API + of <function>LockAcquireExtended</function> is also changed. + </para> + </listitem> + + <listitem> + <para> + Save and restore SPI's global variables + during <function>SPI_connect()</function> + and <function>SPI_finish()</function> (Chapman Flack, Tom Lane) + </para> + + <para> + This prevents possible interference when one SPI-using function calls + another. + </para> + </listitem> + + <listitem> + <para> + Provide <literal>ALLOCSET_DEFAULT_SIZES</literal> and sibling macros + in back branches (Tom Lane) + </para> + + <para> + 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. + </para> + </listitem> + + <listitem> + <para> + Avoid using potentially-under-aligned page buffers (Tom Lane) + </para> + + <para> + Invent new union types <type>PGAlignedBlock</type> + and <type>PGAlignedXLogBlock</type>, 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. + </para> + </listitem> + + <listitem> + <para> + Make <filename>src/port/snprintf.c</filename> follow the C99 + standard's definition of <function>snprintf()</function>'s result + value (Tom Lane) + </para> + + <para> + 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. + </para> + </listitem> + + <listitem> + <para> + When building on i386 with the <application>clang</application> + compiler, require <option>-msse2</option> to be used (Andres Freund) + </para> + + <para> + This avoids problems with missed floating point overflow checks. + </para> + </listitem> + + <listitem> + <para> + Fix <application>configure</application>'s detection of the result + type of <function>strerror_r()</function> (Tom Lane) + </para> + + <para> + The previous coding got the wrong answer when building + with <application>icc</application> on Linux (and perhaps in other + cases), leading to <application>libpq</application> not returning + useful error messages for system-reported errors. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018g for DST law changes in Chile, Fiji, Morocco, and Russia + (Volgograd), plus historical corrections for China, Hawaii, Japan, + Macau, and North Korea. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-3-24"> <title>Release 9.3.24</title> |