What's New in PostgreSQL 18

A
Author
18 Apr, 2026 2 min read 287 views

PostgreSQL 18 was released in September 2025. Here are the changes most relevant to application developers and operators.

Asynchronous I/O

A new asynchronous I/O subsystem lets PostgreSQL issue several reads at once instead of waiting for each one. Sequential scans, bitmap heap scans and vacuum can be noticeably faster, especially on cloud storage with higher latency. It's controlled by the io_method setting.

uuidv7()

CREATE TABLE events (
  id   UUID PRIMARY KEY DEFAULT uuidv7(),
  body JSONB NOT NULL
);

UUIDv7 values start with a timestamp, so new rows land at the end of the primary key index instead of random places. You get globally unique IDs with much better insert performance and index locality than random UUIDv4.

Virtual generated columns

ALTER TABLE orders
  ADD COLUMN total_rupees NUMERIC GENERATED ALWAYS AS (total_paise / 100.0);  -- virtual by default

Virtual generated columns are computed when read, taking no disk space. They are now the default; add STORED to keep the old behaviour of computing on write.

OLD and NEW in RETURNING

UPDATE products SET price = price * 1.1
WHERE category = 'books'
RETURNING id, old.price AS before, new.price AS after;

Other notable improvements

  • Skip scan for multicolumn B-tree indexes: queries that don't filter on the first column can still use the index in more cases.
  • Faster major upgrades: pg_upgrade keeps planner statistics, so performance is normal right after upgrading instead of waiting for ANALYZE.
  • Temporal constraints: WITHOUT OVERLAPS in primary and unique keys for range-based data, such as bookings that must not overlap.
  • OAuth authentication support for client logins.
  • Better EXPLAIN: buffer usage is shown by default with EXPLAIN ANALYZE.

Upgrading

Read the release notes' incompatibilities section, test your application against 18 in staging, and check that your extensions (pgvector, PostGIS and others) have compatible releases. Managed providers typically add new major versions a few weeks to months after release.

Was this article helpful?

Comments

No comments yet. Have a question or a tip? Be the first to share it.

Leave a comment

Comments are reviewed before they appear.