## E.4. Release 11.1

Release date: 2018-11-08

This release contains a variety of fixes from 11.0. For information about new features in major release 11, see Section E.5.

### E.4.1. Migration to Version 11.1

A dump/restore is not required for those running 11.X.

However, if you use the `pg_stat_statements` extension, see the changelog entry below about that.

### E.4.2. Changes

- Ensure proper quoting of transition table names when pg_dump emits `CREATE TRIGGER ... REFERENCING` commands (Tom Lane)

  This oversight could be exploited by an unprivileged user to gain superuser privileges during the next dump/reload or pg_upgrade run. (CVE-2018-16850)

- Apply the tablespace specified for a partitioned index when creating a child index (Álvaro Herrera)

  Previously, child indexes were always created in the default tablespace.

- Fix NULL handling in parallel hashed multi-batch left joins (Andrew Gierth, Thomas Munro)

  Outer-relation rows with null values of the hash key were omitted from the join result.

- Fix incorrect processing of an array-type coercion expression appearing within a `CASE` clause that has a constant test expression (Tom Lane)

- Fix incorrect expansion of tuples lacking recently-added columns (Andrew Dunstan, Amit Langote)

  This is known to lead to crashes in triggers on tables with recently-added columns, and could have other symptoms as well.

- Fix bugs with named or defaulted arguments in `CALL` argument lists (Tom Lane, Pavel Stehule)

- Fix strictness check for strict aggregates with `ORDER BY` columns (Andrew Gierth, Andres Freund)

  The strictness logic incorrectly ignored rows for which the `ORDER BY` value(s) were null.

- Disable `recheck_on_update` optimization (Tom Lane)

  This new-in-v11 feature turns out not to have been ready for prime time. Disable it until something can be done about it.

- Prevent creation of a partition in a trigger attached to its parent table (Amit Langote)

  Ideally we'd allow that, but for the moment it has to be blocked to avoid crashes.

- Fix problems with applying `ON COMMIT DELETE ROWS` to a partitioned temporary table (Amit Langote)

- Fix character-class checks to not fail on Windows for Unicode characters above U+FFFF (Tom Lane, Kenji Uno)

  This bug affected full-text-search operations, as well as `contrib/ltree` and `contrib/pg_trgm`.

- Ensure that the server will process already-received `NOTIFY` and `SIGTERM` interrupts before waiting for client input (Jeff Janes, Tom Lane)

- Fix memory leak in repeated SP-GiST index scans (Tom Lane)

  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.

- Prevent starting the server with `wal_level` set to too low a value to support an existing replication slot (Andres Freund)

- Fix psql, as well as documentation examples, to call `PQconsumeInput()` before each `PQnotifies()` call (Tom Lane)

  This fixes cases in which psql would not report receipt of a `NOTIFY` message until after the next command.

- Fix pg_verify_checksums's determination of which files to check the checksums of (Michael Paquier)

  In some cases it complained about files that are not expected to have checksums.

- In `contrib/pg_stat_statements`, disallow the `pg_read_all_stats` role from executing `pg_stat_statements_reset()` (Haribabu Kommi)

  `pg_read_all_stats` is only meant to grant permission to read statistics, not to change them, so this grant was incorrect.

  To cause this change to take effect, run `ALTER EXTENSION pg_stat_statements UPDATE` in each database where `pg_stat_statements` has been installed. (A database freshly created in 11.0 should not need this, but a database upgraded from a previous release probably still contains the old version of `pg_stat_statements`. The `UPDATE` command is harmless if the module was already updated.)

- Rename red-black tree support functions to use `rbt` prefix not `rb` prefix (Tom Lane)

  This avoids name collisions with Ruby functions, which broke PL/Ruby. It's hoped that there are no other affected extensions.

- Fix build problems on macOS 10.14 (Mojave) (Tom Lane)

  Adjust configure to add an `-isysroot` switch to `CPPFLAGS`; 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 `PG_SYSROOT` variable in the arguments of configure or make.

  It is now recommended that Perl-related extensions write `$(perl_includespec)` rather than `-I$(perl_archlibexp)/CORE` in their compiler flags. The latter continues to work on most platforms, but not recent macOS.

  Also, it should no longer be necessary to specify `--with-tclconfig` manually to get PL/Tcl to build on recent macOS releases.

- Fix MSVC build and regression-test scripts to work on recent Perl versions (Andrew Dunstan)

  Perl no longer includes the current directory in its search path by default; work around that.

- On Windows, allow the regression tests to be run by an Administrator account (Andrew Dunstan)

  To do this safely, pg_regress now gives up any such privileges at startup.

- Update time zone data files to tzdata release 2018g for DST law changes in Chile, Fiji, Morocco, and Russia (Volgograd), plus historical corrections for China, Hawaii, Japan, Macau, and North Korea.