Skip to content

PostgreSQL Out-of-Cycle Emergency Minor Releases Are Out

As I noted earlier in Urgent Advisory: Pause PostgreSQL Minor-Release Installs and Upgrades, the previous batch of PostgreSQL minor releases shipped with regressions, making it wiser to hold off on deployments until the out-of-cycle fixes arrived. Right on schedule—less than ten days later—PostgreSQL 18.3, 17.9, and the rest of the minor release series are out.

PostgreSQL out-of-cycle minor release announcement

That said, the PGDG binary packages are not out yet, and mirror sites will likely take another day to catch up. I am currently wrapping up testing for Pigsty v4.2; as soon as the PGDG packages land, I will build the offline package bundles and cut the new release.

PostgreSQL 18.3, 17.9, 16.13, 15.17, and 14.22 Released!

Release Date: 2026-02-26 | PostgreSQL Global Development Group

The PostgreSQL Global Development Group has released an update to all supported versions of PostgreSQL, including 18.3, 17.9, 16.13, 15.17, and 14.22. This is an out-of-cycle release to address several regressions reported after the previous update[1].

For the full list of changes, please review the release notes[2].

Bug Fixes and Improvements

This update fixes several bugs reported since the previous release. The issues listed below affect PostgreSQL 18, and some may also affect other supported versions.

  • Fix an issue where a standby could halt with the error "could not access status of transaction".
  • Fix substring()[3] raising an "invalid byte sequence for encoding" error on non-ASCII text values when the value comes from a database column. This regression was introduced by the fix for CVE-2026-2006[4].
  • Fix an issue in the pg_trgm[5] extension where strict_word_similarity could produce incorrect output or crash, introduced by an oversight in the fix for CVE-2026-2007[6].
  • Restore the function volatility marking of json_strip_nulls() and jsonb_strip_nulls() to IMMUTABLE, matching previous releases so they can be used in indexes. If you previously upgraded to PostgreSQL 18.0 through 18.2, see the “Updating” section below for additional post-upgrade steps.
  • Fix incorrect query results caused by NOT NULL tests in LATERAL UNION ALL subqueries.
  • Prevent system-generated NOT NULL constraint names from colliding with user-specified constraint names.
  • Fix pg_stat_get_backend_wait_event() and pg_stat_get_backend_wait_event_type() so they report wait events for auxiliary processes, matching pg_stat_activity.
  • Fix an error in PL/pgSQL functions when returning a composite-type variable cast to a domain type.
  • Fix a potential crash in the hstore[7] binary input function when processing input with duplicate keys.

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[8] in order to apply this update release; you may simply shut down PostgreSQL and update its binaries.

If you have previously upgraded to PostgreSQL 18.0, 18.1, or 18.2, you need to run the following SQL as a PostgreSQL superuser in all databases to mark json_strip_nulls() and jsonb_strip_nulls() as IMMUTABLE:

UPDATE pg_catalog.pg_proc SET provolatile = 'i' WHERE oid IN ('3261','3262');

You should also execute this command in the template0 and template1 databases so that future databases created in the PostgreSQL cluster have the correct function volatility setting. See the template databases[9] documentation for more information.

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[10].

References

PostgreSQL release references

Pigsty v4.2 Preview

Pigsty v4.2 is scheduled to ship tomorrow or the day after, complete with offline installation packages for PostgreSQL 18.3.

Pigsty v4.2 preview

Beyond the minor-version bump, v4.2 packs several major additions: Pigsty now builds Cloudberry (a Greenplum 7 MPP data warehouse), AgensGraph (a native graph database kernel), and pgEdge (multi-master replication), along with repackaged builds of OpenHalo (MySQL wire compatibility) and the latest OrioleDB (OLTP storage engine, beta14).

That brings the total number of supported database kernels in this release to 12 (16+ in practice), covering nearly every PostgreSQL-ecosystem kernel with a distinct value proposition.

Pigsty v4.2 supported PostgreSQL kernels

Meanwhile, the total number of available PostgreSQL extensions has reached a record 461.

Pigsty v4.2 extension catalog

Stay tuned for the full release notes.


Originally published on WeChat Official Account