What's New in PostgreSQL 18
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_upgradekeeps planner statistics, so performance is normal right after upgrading instead of waiting forANALYZE. - Temporal constraints:
WITHOUT OVERLAPSin 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.
Comments
No comments yet. Have a question or a tip? Be the first to share it.