diff --git a/doc/src/sgml/release-11.sgml b/doc/src/sgml/release-11.sgml index 28cc7a3e6d..4bb3371eca 100644 --- a/doc/src/sgml/release-11.sgml +++ b/doc/src/sgml/release-11.sgml @@ -1,6 +1,862 @@ + + Release 11.5 + + + Release date: + 2019-08-08 + + + + This release contains a variety of fixes from 11.4. + For information about new features in major release 11, see + . + + + + Migration to Version 11.5 + + + A dump/restore is not required for those running 11.X. + + + + However, if you are upgrading from a version earlier than 11.1, + see . + + + + + Changes + + + + + + + Fix failure of ALTER TABLE ... ALTER COLUMN TYPE + when altering multiple columns' types in one command (Tom Lane) + + + + This fixes a regression introduced in June's minor releases: indexes + using the altered columns were not processed correctly, leading to + strange failures during ALTER TABLE. + + + + + + + Prevent dropping a partitioned table's trigger if there are pending + trigger events in child partitions (Álvaro Herrera) + + + + This notably applies to foreign key constraints, since those are + implemented by triggers. + + + + + + + Include user-specified trigger arguments when copying a trigger + definition from a partitioned table to one of its partitions + (Patrick McHardy) + + + + + + + Install dependencies to prevent dropping partition key columns + (Tom Lane) + + + + ALTER TABLE ... DROP COLUMN will refuse to drop + a column that is a partition key column. However, indirect drops + (such as a cascade from dropping a key column's data type) had no + such check, allowing the deletion of a key column. This resulted in + a badly broken partitioned table that could neither be accessed nor + dropped. + + + + This fix adds pg_depend entries that + enforce that the whole partitioned table, not just the key column, + will be dropped if a cascaded drop forces removal of the key column. + However, such entries will only be created when a partitioned table + is created; so this fix does not remove the risk for pre-existing + partitioned tables. The issue can only arise for partition key + columns of non-built-in data types, so it seems not to be a hazard + for most users. + + + + + + + Ensure that column numbers are correctly mapped between a partitioned + table and its default partition (Amit Langote) + + + + Some operations misbehaved if the mapping wasn't exactly one-to-one, + for example if there were dropped columns in one table and not the + other. + + + + + + + Ignore partitions that are foreign tables when creating indexes on + partitioned tables (Álvaro Herrera) + + + + Previously an error was thrown on encountering a foreign-table + partition, but that's unhelpful and doesn't protect against any + actual problem. + + + + + + + Fix possible failure to prune away partitions when there are + multiple partition key columns of boolean type + (David Rowley) + + + + This led to inefficient queries, though not any wrong answers. + + + + + + + Don't optimize away GROUP BY columns when the + table involved is an inheritance parent (David Rowley) + + + + Normally, if a table's primary key column(s) are included + in GROUP BY, it's safe to drop any other grouping + columns, since the primary key columns are enough to make the groups + unique. This rule does not work if the query is also reading + inheritance child tables, though; the parent's uniqueness does not + extend to the children. + + + + + + + Avoid incorrect use of parallel hash join for semi-join queries + (Thomas Munro) + + + + This error resulted in duplicate result rows from + some EXISTS queries. + + + + + + + Avoid using unnecessary sort steps for some queries + with GROUPING SETS (Andrew Gierth, Richard Guo) + + + + + + + Fix possible failure of planner's index endpoint probes (Tom Lane) + + + + When using a recently-created index to determine the minimum or + maximum value of a column, the planner could select a recently-dead + tuple that does not actually contain the endpoint value. In the + worst case the tuple might contain a null, resulting in a visible + error found unexpected null value in index; more + likely we would just end up using the wrong value, degrading the + quality of planning estimates. + + + + + + + Fix failure to access trigger transition tables + during EvalPlanQual rechecks (Alex Aktsipetrov) + + + + Triggers that rely on transition tables sometimes failed in the + presence of concurrent updates. + + + + + + + Fix mishandling of multi-column foreign keys when rebuilding a + foreign key constraint (Tom Lane) + + + + ALTER TABLE could make an incorrect decision about + whether revalidation of a foreign key is necessary, if not all + columns of the key are of the same type. It seems likely that the + error would always have been in the conservative direction, that is + revalidating unnecessarily. + + + + + + + Don't build extended statistics for inheritance trees (Tomas Vondra) + + + + This avoids a tuple already updated by self error + during ANALYZE. + + + + + + + Avoid spurious deadlock errors when upgrading a tuple lock + (Oleksii Kliukin) + + + + When two or more transactions are waiting for a transaction T1 to + release a tuple-level lock, and T1 upgrades its lock to a higher + level, a spurious deadlock among the waiting transactions could be + reported when T1 finishes. + + + + + + + Fix failure to resolve deadlocks involving multiple parallel worker + processes (Rui Hai Jiang) + + + + It is not clear whether this bug is reachable with non-artificial + queries, but if it did happen, the queries involved in an + otherwise-resolvable deadlock would block until canceled. + + + + + + + Prevent incorrect canonicalization of date ranges + with infinity endpoints (Laurenz Albe) + + + + It's incorrect to try to convert an open range to a closed one or + vice versa by incrementing or decrementing the endpoint value, if + the endpoint is infinite; so leave the range alone in such cases. + + + + + + + Fix loss of fractional digits when converting very + large money values to numeric (Tom Lane) + + + + + + + Fix printing of BTREE_META_CLEANUP WAL records + (Michael Paquier) + + + + + + + Prevent assertion failures due to mishandling of version-2 btree + metapages (Peter Geoghegan) + + + + + + + Fix spinlock assembly code for MIPS CPUs so that it works on + MIPS r6 (YunQiang Su) + + + + + + + Ensure that a record or row value returned from a PL/pgSQL function + is marked with the function's declared composite type (Tom Lane) + + + + This avoids problems if the result is stored directly into a table. + + + + + + + Make libpq ignore carriage return + (\r) in connection service files + (Tom Lane, Michael Paquier) + + + + In some corner cases, service files containing Windows-style + newlines could be mis-parsed, resulting in connection failures. + + + + + + + In psql, avoid offering incorrect tab + completion options + after SET variable = + (Tom Lane) + + + + + + + Fix a small memory leak in psql's + \d command (Tom Lane) + + + + + + + Fix pg_dump to ensure that custom operator + classes are dumped in the right order (Tom Lane) + + + + If a user-defined opclass is the subtype opclass of a user-defined + range type, related objects were dumped in the wrong order, + producing an unrestorable dump. (The underlying failure to handle + opclass dependencies might manifest in other cases too, but this is + the only known case.) + + + + + + + Fix possible lockup in pgbench when + using option (Fabien Coelho) + + + + + + + Improve reliability of contrib/amcheck's index + verification (Peter Geoghegan) + + + + + + + Fix contrib/passwordcheck to coexist with other + users of check_password_hook (Michael Paquier) + + + + + + + Fix contrib/sepgsql tests to work under recent + SELinux releases (Mike Palmiotto) + + + + + + + Improve stability of src/test/ldap regression + tests (Thomas Munro) + + + + + + + Improve stability of src/test/recovery + regression tests (Michael Paquier) + + + + + + + Reduce stderr output + from pg_upgrade's test script (Tom Lane) + + + + + + + Fix pgbench regression tests to work on + Windows (Fabien Coelho) + + + + + + + Fix TAP tests to work with msys Perl, in cases where the build + directory is on a non-root msys mount point (Noah Misch) + + + + + + + Support building Postgres with Microsoft Visual Studio 2019 + (Haribabu Kommi) + + + + + + + In Visual Studio builds, honor WindowsSDKVersion + environment variable, if that's set (Peifeng Qiu) + + + + This fixes build failures in some configurations. + + + + + + + Support OpenSSL 1.1.0 and newer in Visual Studio builds + (Juan José Santamaría Flecha, Michael Paquier) + + + + + + + Allow make options to be passed down + to gmake when non-GNU make is invoked at + the top level (Thomas Munro) + + + + + + + Avoid choosing localtime + or posixrules as TimeZone + during initdb (Tom Lane) + + + + In some cases initdb would choose one of + these artificial zone names over the real zone name. + Prefer any other match to the C library's timezone behavior over + these two. + + + + + + + Adjust pg_timezone_names view to show + the Factory time zone if and only if it has a + short abbreviation (Tom Lane) + + + + Historically, IANA set up this artificial zone with + an abbreviation like Local time zone must be + set--see zic manual page. Modern versions of the tzdb + database show -00 instead, but some platforms + alter the data to show one or another of the historical phrases. + Show this zone only if it uses the modern abbreviation. + + + + + + + Sync our copy of the timezone library with IANA tzcode release 2019b + (Tom Lane) + + + + This adds support for zic's new option to reduce the size of the installed zone files. + We are not currently using that, but may enable it in future. + + + + + + + Update time zone data files to tzdata + release 2019b for DST law changes in Brazil, plus + historical corrections for Hong Kong, Italy, and Palestine. + + + + + + + + Release 11.4