From 8b3bce2017b15e05f000c3c5947653a3e2c5a29f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 3 May 2019 18:27:39 -0400 Subject: [PATCH] First-draft release notes for 11.3. As usual, the release notes for other branches will be made by cutting these down, but put them up for community review first. --- doc/src/sgml/release-11.sgml | 1227 ++++++++++++++++++++++++++++++++++ 1 file changed, 1227 insertions(+) diff --git a/doc/src/sgml/release-11.sgml b/doc/src/sgml/release-11.sgml index 5c9f41a17a..3156cc7c10 100644 --- a/doc/src/sgml/release-11.sgml +++ b/doc/src/sgml/release-11.sgml @@ -1,6 +1,1228 @@ + + Release 11.3 + + + Release date: + 2019-05-09 + + + + This release contains a variety of fixes from 11.2. + For information about new features in major release 11, see + . + + + + Migration to Version 11.3 + + + 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 + + + + + + + Avoid catalog corruption when an ALTER TABLE on a + partitioned table finds that a partitioned index is reusable (Amit + Langote, Tom Lane) + + + + This occurs, for example, when ALTER COLUMN TYPE + finds that no physical table rewrite is required. + + + + + + + Avoid catalog corruption when a temporary table with ON + COMMIT DROP and an identity column is created in a + single-statement transaction (Peter Eisentraut) + + + + This hazard was overlooked because the case is not actually useful, + since the temporary table would be dropped immediately after + creation. + + + + + + + Fix failure in ALTER INDEX ... ATTACH PARTITION + if the partitioned table contains more dropped columns than its + partition does (Álvaro Herrera) + + + + + + + Fix failure to attach a partition's existing index to a newly-created + partitioned index in some cases (Amit Langote, Álvaro Herrera) + + + + This would lead to errors such as index ... not found in + partition in subsequent DDL that uses the partitioned index. + + + + + + + Avoid crash when an EPQ recheck is performed for a partitioned query + result relation (Amit Langote) + + + + This occurs when using READ COMMITTED isolation + level and another session has concurrently updated some of the + target row(s). + + + + + + + Fix tuple routing in multi-level partitioned tables that have dropped + attributes (Amit Langote, Michael Paquier) + + + + + + + Fix failure when the slow path of foreign key constraint initial + validation is applied to partitioned tables (Hadi Moshayedi, Tom + Lane, Andres Freund) + + + + This didn't manifest except in the uncommon cases where the fast + path can't be used (such as permissions problems). + + + + + + + Fix behavior for an UPDATE + or DELETE on an inheritance tree or partitioned + table in which every table can be excluded (Amit Langote, Tom Lane) + + + + In such cases, the query did not report the correct set of output + columns when a RETURNING clause was present, and + if there were any statement-level triggers that should be fired, it + didn't fire them. + + + + + + + When accessing a partition directly, + and constraint_exclusion is set + to on, use the partition's partition constraint + as well as any CHECK constraints for exclusion + checking (Amit Langote, Tom Lane) + + + + This change restores the behavior to what it was in v10. + + + + + + + Avoid server crash when an error occurs while trying to persist + a cursor query across a transaction commit (Tom Lane) + + + + If a procedure attempts to commit while it has an open explicit or + implicit cursor (for example, a PL/pgSQL FOR-loop + query), the cursor must be executed to completion and its results + saved before the transaction commit can be performed. An error + occurring during such execution led to a crash. + + + + + + + Avoid throwing incorrect errors for updates of temporary tables and + unlogged tables when a FOR ALL TABLES publication + exists (Peter Eisentraut) + + + + Such tables should be ignored for publication purposes, but some + parts of the code failed to do so. + + + + + + + Fix handling of explicit DEFAULT items in + an INSERT ... VALUES command with + multiple VALUES rows, if the target relation is + an updatable view (Amit Langote, Dean Rasheed) + + + + When the updatable view has no default for the column but its + underlying table has one, a single-row INSERT + ... VALUES will use the underlying table's default. + In the multi-row case, however, NULL was always used. Correct it to + act like the single-row case. + + + + + + + Fix CREATE VIEW to allow zero-column views + (Ashutosh Sharma) + + + + We should allow this for consistency with allowing zero-column + tables. Since a table can be converted to a view, zero-column views + could be created even with the restriction in place, leading to + dump/reload failures. + + + + + + + Add missing support for CREATE TABLE IF NOT EXISTS ... AS + EXECUTE ... (Andreas Karlsson) + + + + The combination of IF NOT EXISTS + and EXECUTE should work, but the grammar omitted + it. + + + + + + + Ensure that sub-SELECTs appearing in + row-level-security policy expressions are executed with the correct + user's permissions (Dean Rasheed) + + + + Previously, if the table having the RLS policy was accessed via a + view, such checks might be executed as the user calling the view, + not as the view owner as they should be. + + + + + + + Accept XML documents as valid values of type xml + when xmloption is set + to content, as required by SQL:2006 and later + (Chapman Flack) + + + + Previously PostgreSQL followed the + SQL:2003 definition, which doesn't allow this. But that creates a + serious problem for dump/restore: there is no setting + of xmloption that will accept all valid XML data. + Hence, switch to the 2006 definition. + + + + pg_dump is also modified to emit + SET xmloption = content while restoring data, + ensuring that dump/restore works even if the prevailing + setting is document. + + + + + + + Improve server's startup-time checks for whether a pre-existing + shared memory segment is still in use (Noah Misch) + + + + The postmaster is now more likely to detect that there are still + active processes from a previous postmaster incarnation, even if + the postmaster.pid file has been removed. + + + + + + + Avoid possible division-by-zero in btree index vacuum logic + (Piotr Stefaniak, Alexander Korotkov) + + + + This could lead to incorrect decisions about whether index cleanup is + needed. + + + + + + + Avoid counting parallel workers' transactions as separate + transactions (Haribabu Kommi) + + + + + + + Fix incompatibility of GIN-index WAL records (Alexander Korotkov) + + + + A fix applied in February's minor releases was not sufficiently + careful about backwards compatibility, leading to problems if a + standby server of that vintage reads GIN page-deletion WAL records + generated by a primary server of a previous minor release. + + + + + + + Fix possible crash while executing a SHOW command + in a replication connection (Michael Paquier) + + + + + + + Avoid server memory leak when fetching rows from a portal one at a + time (Tom Lane) + + + + + + + Avoid memory leak when a partition's relation cache entry is rebuilt + (Amit Langote, Tom Lane) + + + + + + + Tolerate EINVAL and ENOSYS + error results, where appropriate, for fsync calls (Thomas Munro, + James Sewell) + + + + The previous change to panic on fsync failures turns out to have + been excessively paranoid for certain cases where a failure is + predictable and essentially means operation not + supported. + + + + + + + Report correct relation name in + autovacuum's pg_stat_activity display + during BRIN summarize operations (Álvaro Herrera) + + + + + + + Avoid crash when trying to plan a partition-wise join when GEQO + is active (Tom Lane) + + + + + + + Fix failed to build any N-way + joins planner failures with lateral references leading out + of FULL outer joins (Tom Lane) + + + + + + + Fix misplanning of queries in which a set-returning function is + applied to a relation that is provably empty (Tom Lane, Julien + Rouhaud) + + + + In v10, this oversight only led to slightly inefficient plans, but + in v11 it could cause set-valued function called in context + that cannot accept a set errors. + + + + + + + Fix planner's parallel-safety assessment for grouped queries + (Etsuro Fujita) + + + + Previously, target-list evaluation work that could have been + parallelized might not be. + + + + + + + Fix mishandling of included index columns in + planner's unique-index logic (Tom Lane) + + + + This could result in failing to recognize that a unique index with + included columns proves uniqueness of a query result, leading to a + poor plan. + + + + + + + Fix incorrect strictness check for array coercion expressions + (Tom Lane) + + + + This might allow, for example, incorrect inlining of a strict SQL + function, leading to non-enforcement of the strictness condition. + + + + + + + Speed up planning when there are many equality conditions and many + potentially-relevant foreign key constraints (David Rowley) + + + + + + + Avoid O(N^2) performance issue when rolling back a transaction that + created many tables (Tomas Vondra) + + + + + + + Fix corner-case server crashes in dynamic shared memory + allocation (Thomas Munro, Robert Haas) + + + + + + + Fix race conditions in management of dynamic shared memory + (Thomas Munro) + + + These could lead to dsa_area could not attach to + segment or cannot unpin a segment that is not + pinned errors. + + + + + + + Fix race condition in which a hot-standby postmaster could fail to + shut down after receiving a smart-shutdown request (Tom Lane) + + + + + + + Fix possible crash + when pg_identify_object_as_address() is given + invalid input (Álvaro Herrera) + + + + + + + Fix possible could not access status of transaction + failures in txid_status() (Thomas Munro) + + + + + + + Fix authentication failure when attempting to use SCRAM + authentication with mixed OpenSSL library versions (Michael Paquier, + Peter Eisentraut) + + + + If libpq is using OpenSSL 1.0.1 or older + while the server is using OpenSSL 1.0.2 or newer, the negotiation of + which SASL mechanism to use went wrong, leading to a + confusing channel binding not supported by this build + error message. + + + + + + + Tighten validation of encoded SCRAM-SHA-256 and MD5 passwords + (Jonathan Katz) + + + + A password string that had the right initial characters could be + mistaken for one that is correctly hashed into SCRAM-SHA-256 or MD5 + format. The password would be accepted but would be unusable later. + + + + + + + Fix handling of lc_time settings that imply an + encoding different from the database's encoding (Juan José + Santamaría Flecha, Tom Lane) + + + + Localized month or day names that include non-ASCII characters + previously caused unexpected errors or wrong output in such locales. + + + + + + + Create the current_logfiles file with the same + permissions as other files in the server's data directory + (Haribabu Kommi) + + + + Previously it used the permissions specified + by log_file_mode, but that can cause problems for + backup utilities. + + + + + + + Fix incorrect operator_precedence_warning checks + involving unary minus operators (Rikard Falkeborn) + + + + + + + Disallow NaN as a value for floating-point server + parameters (Tom Lane) + + + + + + + Rearrange REINDEX processing to avoid assertion + failures when reindexing individual indexes + of pg_class (Andres Freund, Tom Lane) + + + + + + + Fix planner assertion failure for parameterized dummy paths (Tom Lane) + + + + + + + Insert correct test function in the result + of SnapBuildInitialSnapshot() (Antonin Houska) + + + + No core code cares about this, but some extensions do. + + + + + + + Fix intermittent could not reattach to shared memory + session startup failures on Windows (Noah Misch) + + + + A previously unrecognized source of these failures is creation of + thread stacks for a process's default thread pool. Arrange for such + stacks to be allocated in a different memory region. + + + + + + + Fix error detection in directory scanning on Windows (Konstantin + Knizhnik) + + + + Errors, such as lack of permissions to read the directory, were not + detected or reported correctly; instead the code silently acted as + though the directory were empty. + + + + + + + Fix grammar problems in ecpg (Tom Lane) + + + + A missing semicolon led to mistranslation + of SET variable = + DEFAULT (but + not SET variable TO + DEFAULT) in ecpg programs, + producing syntactically invalid output that the server would reject. + Additionally, in a DROP TYPE or DROP + DOMAIN command that listed multiple type names, only the + first type name was actually processed. + + + + + + + Sync ecpg's syntax for CREATE + TABLE AS with the server's (Daisuke Higuchi) + + + + + + + Fix possible buffer overruns in ecpg's + processing of include filenames (Liu Huailing, Fei Wu) + + + + + + + Make pg_dump recreate table partitions + using ATTACH PARTITION instead + of CREATE TABLE ... PARTITION OF (David Rowley) + + + + This avoids various corner-case problems, notably that dump and + restore might unexpectedly alter a partition's column ordering. + It also means that a selective restore of the partition can succeed + even if its parent partitioned table isn't restored. + (The ATTACH PARTITION will fail of course, but + the partition table itself can be created and populated.) + + + + + + + Fix pg_rewind failures due to failure to + remove some transient files in the target data directory (Michael + Paquier) + + + + + + + Make pg_verify_checksums verify that the + data directory it's pointed at is of the + right PostgreSQL version (Michael Paquier) + + + + + + + Avoid crash in contrib/postgres_fdw when a + query using remote grouping or aggregation has + a SELECT-list item that is an uncorrelated + sub-select, outer reference, or parameter symbol (Tom Lane) + + + + + + + Change contrib/postgres_fdw to report an error + when a remote partition chosen to insert a routed row into is + also an UPDATE subplan target that will be + updated later in the same command (Amit Langote, Etsuro Fujita) + + + + Previously, such situations led to server crashes or incorrect + results of the UPDATE. Allowing such cases to + work correctly is a matter for future work. + + + + + + + In contrib/pg_prewarm, avoid indefinitely + respawning background worker processes if prewarming fails for some + reason (Mithun Cy) + + + + + + + Avoid crash in contrib/vacuumlo if + an lo_unlink() call failed (Tom Lane) + + + + + + + Sync our copy of the timezone library with IANA tzcode release 2019a + (Tom Lane) + + + + This corrects a small bug in zic that + caused it to output an incorrect year-2440 transition in + the Africa/Casablanca zone, and adds support + for zic's new option. + + + + + + + Update time zone data files to tzdata + release 2019a for DST law changes in Palestine and Metlakatla, + plus historical corrections for Israel. + + + + Etc/UCT is now a backward-compatibility link + to Etc/UTC, instead of being a separate zone that + generates the abbreviation UCT, which nowadays is + typically a typo. PostgreSQL will still + accept UCT as an input zone abbreviation, but it + won't output it. + + + + + + + + Release 11.2 @@ -21,6 +1243,11 @@ A dump/restore is not required for those running 11.X. + + + However, if you are upgrading from a version earlier than 11.1, + see . +