The PostgreSQL Global Development Group has released an update to all supported versions of our database system, including 13.4, 12.8, 11.13, 10.18, and 9.6.23, as well as the third beta release of PostgreSQL 14. This release closes one security vulnerability and fixes over 75 bugs reported over the last three months.
For the full list of changes, please review the release notes.
PostgreSQL 9.6 will stop receiving fixes on November 11, 2021. If you are running PostgreSQL 9.6 in a production environment, we suggest that you make plans to upgrade to a newer, supported version of PostgreSQL. Please see our versioning policy for more information.
Versions Affected: 11 - 13.
A purpose-crafted query can read arbitrary bytes of server memory. In the
default configuration, any authenticated database user can complete this
attack at will. The attack does not require the ability to create objects.
If server settings include max_worker_processes=0
, the known versions of this
attack are infeasible. However, undiscovered variants of the attack may be
independent of that setting.
This release marks the third beta release of PostgreSQL 14 and puts the community one step closer to general availability tentatively around the end of the third quarter.
In the spirit of the open source PostgreSQL community, we strongly encourage you to test the new features of PostgreSQL 14 in your database systems to help us eliminate any bugs or other issues that may exist. While we do not advise you to run PostgreSQL 14 Beta 3 in your production environments, we encourage you to find ways to run your typical application workloads against this beta release.
Your testing and feedback will help the community ensure that the PostgreSQL 14 release upholds our standards of providing a stable, reliable release of the world's most advanced open source relational database.
This update also fixes over 75 bugs that were reported in the last several months. Some of these issues affect only version 13, but many affect all supported versions.
Some of these fixes include:
COMMIT
or ROLLBACK
within a
procedure. This change fixes cases where an attempt to fetch a toasted value
immediately after COMMIT
/ROLLBACK
would fail with errors like "no known
snapshots" or "missing chunk number 0 for toast value".WITH
rewrites to just NOTIFY
, which would
cause a crash.ALTER EXTENSION
now locks the extension when adding or removing a member
object.REFRESH MATERIALIZED VIEW CONCURRENTLY
.
This command failed on materialized views containing columns with certain names,
notably mv
and newdata
.GENERATED
expressions.DROP OWNED BY
behavior in relation to row-level security
(RLS) policies.CREATE COLLATION
commands.pg_stat_activity
,
instead of just showing the latest SQL command.pg_settings.pending_restart
now shows as true
when a pertinent entry in
postgresql.conf
is removed.work_mem * hash_mem_multiplier
to exceed 2GB.psql
and other client programs, avoid overrunning the ends of strings
when dealing with invalidly-encoded data.pg_dump
to correctly handle triggers on partitioned tables whose enabled
status is different from their parent triggers' status.pg_restore
on
a file created in a different time zone.pg_upgrade
now carries forward the old installation's oldestXID
value and
no longer forces an anti-wraparound VACUUM
."pg_upgrade
to detect and warn about extensions that should be
upgraded.contrib/postgres_fdw
to better work with generated columns, so long as a
generated column in a foreign table represents a generated column in the remote
table.For the full list of changes available, please review the release notes.
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 shut down 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 for earlier versions for details.
For more details, please see the release notes.
NOTE: PostgreSQL 9.6 will stop receiving fixes on November 11, 2021. Please see our versioning policy for more information.
PostgreSQL 14 Beta 3 introduces the unnest
function for multirange types as
well as several bug fixes.
For a list of changes that are included in PostgreSQL 14 Beta 3, please review the open items page:
https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items#resolved_before_14beta3
To upgrade to PostgreSQL 14 Beta 3 from Beta 2, Beta 1, or an earlier version of
PostgreSQL, you will need to use a strategy similar to upgrading between
major versions of PostgreSQL (e.g. pg_upgrade
or pg_dump
/ pg_restore
).
For more information, please visit the documentation section on
upgrading.
The stability of each PostgreSQL release greatly depends on you, the community, to test the upcoming version with your workloads and testing tools in order to find bugs and regressions before the general availability of PostgreSQL 14. As this is a Beta, minor changes to database behaviors, feature details, and APIs are still possible. Your feedback and testing will help determine the final tweaks on the new features, so please test in the near future. The quality of user testing helps determine when we can make a final release.
A list of open issues is publicly available in the PostgreSQL wiki. You can report bugs using this form on the PostgreSQL website:
https://www.postgresql.org/account/submitbug/
This is the third beta release of version 14. The PostgreSQL Project will release additional betas as required for testing, followed by one or more release candidates, until the final release in late 2021. For further information please see the Beta Testing page.