Hi,

I've attached a draft of the 2026-05-14 release announcement. Please provide feedback on corrections, notable omissions, typos, etc. no later than 2026-05-14 12:00 UTC (though preferable earlier sooner! :)

Thanks!

Jonathan
The PostgreSQL Global Development Group has released an update to all
supported versions of PostgreSQL, including 18.4, 17.10, 16.14, 15.18, and 
14.23.
This release fixes over 60 bugs reported over the last several months.

For the full list of changes, please review the [release
notes](https://www.postgresql.org/docs/release/).

PostgreSQL 14 EOL Notice
------------------------

PostgreSQL 14 will stop receiving fixes on November 12, 2026. If you are
running PostgreSQL 14 in a production environment, we suggest that you make
plans to upgrade to a newer, supported version of PostgreSQL. Please see our
[versioning policy](https://www.postgresql.org/support/versioning/) for more
information.

Bug Fixes and Improvements
--------------------------

This update fixes over 60 bugs that were reported in the last several
months. The issues listed below affect PostgreSQL 18. Some of these issues may
also affect other supported versions of PostgreSQL.

* Fix queries that could return incorrect results when using a nondeterministic
collation over a unique index.
* Fix loss of deferrability of foreign-key triggers. Previously, a foreign key
defined as `DEFERRABLE INITIALLY DEFERRED` would behave as `NOT DEFERRABLE`
after being set to `NOT ENFORCED` status and then back to `ENFORCED`. If you
have a foreign key with this problem, after installing this update you can fix
it by setting it to `NOT ENFORCED` and then back to `ENFORCED`.
* Improve the planner's ability to apply partition pruning to more cases.
* Fix self-join removal to handle join clauses that are only boolean columns,
for example, `ON t1.boolcol`.
* Several fixes around virtual generated columns, including ensuring
`INSERT ... ON CONFLICT` works when `EXCLUDED` references a virtual
generated column.
* Report a serialization failure when `MERGE` encounters a concurrently-updated
tuple in "repeatable read" or "serializable"
[isolation modes](https://www.postgresql.org/docs/current/transaction-iso.html).
* Fix `CREATE TABLE ... LIKE ... INCLUDING STATISTICS` for cases where the
source table had one or more dropped columns.
* Fix `WITHOUT OVERLAPS` to allow domains.
* Disallow making a composite type be a member of itself via a `multirange`.
* Fix sometimes-incorrect results when `array_agg(anyarray)` executes in
parallel.
* Prevent bloating during restore of an incremental backup.
* Prevent stuck logical replication slot synchronization worker processes from
blocking promotion of a standby server.
* Make the `pg_aios` system view `pid` column show `NULL` instead of `0` when an
entry has no owning process.
* Fix cases where `pg_stat_replication` shows `NULL` lag even while replication
is active.
* Correctly display JOIN alias variables that are used in `GROUP BY`.
* If the startup process fails, properly shut down other child processes before
exiting the postmaster.
* Fix race condition that could cause a standby server following WAL from a
primary of an older minor version to get into a crash-and-restart loop.
* Prevent indefinite wait in shutdown of a walsender process when logical
replication is actively publishing data.
* Ensure that changes to the free space maps for tables are persisted during
recovery. This could have performance ramifications on a standby server after
promotion.
* Fix assorted bugs in backup decompression and tar-parsing code used in
`pg_basebackup` and `pg_verifybackup`.
* Ensure `pg_dumpall` doesn't skip role grants with dangling grantor OIDs,
restoring the behavior before PostgreSQL 16. Emits a warning about missing
grantor if the source server is PostgreSQL 16 or later.
* Fix `pg_upgrade` to use the correct protocol version when connecting to older
source servers.
* Fix output in `pg_overexplain` when using the `RANGE_TABLE` option.
* Fix `postgres_fdw` crash due to premature cleanup of a failed connection.

This release also updates time zone data files to tzdata release 2026b, in which
British Columbia (America/Vancouver) will be on year-round UTC-07
(effectively, permanent DST) beginning in November 2026. This release assumes
that their TZ abbreviation will be MST from that time forward (though this
could change). There is also a historical correction for Moldova, which has used
EU DST transition times since 2022.

Updating
--------

All PostgreSQL update releases are cumulative. As with other minor releases,
users are not required to dump and reload their database or use `pg_upgrade`
in order to apply this update release; you may simply stop PostgreSQL and
update its binaries.

Users who have skipped one or more update releases may need to run additional
post-update steps; please see the release notes from earlier versions for
details.

For more details, please see the [release 
notes](https://www.postgresql.org/docs/release/).

Links
-----

* [Download](https://www.postgresql.org/download/)
* [Release Notes](https://www.postgresql.org/docs/release/)
* [Security](https://www.postgresql.org/support/security/)
* [Versioning Policy](https://www.postgresql.org/support/versioning/)
* [Submit a Bug](https://www.postgresql.org/account/submitbug/)
* [Donate](https://www.postgresql.org/about/donate/)

If you have corrections or suggestions for this release announcement, please 
send them to the [email protected]_ public [mailing 
list](https://www.postgresql.org/list/).

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to