A year after its previous major 17 release, the PostgreSQL Global Development Group announced PostgreSQL 18, the newest iteration of the world’s most advanced open-source database, with a set of improvements, most notably a brand-new asynchronous I/O subsystem that can deliver up to three times faster performance on certain workloads.
Until now, PostgreSQL relied on operating system readahead for storage access, which often couldn’t fully anticipate database needs. With asynchronous I/O, PostgreSQL 18 can issue multiple I/O requests simultaneously, reducing wait times and enhancing throughput. It’s a change that affects sequential scans, bitmap heap scans, and even vacuum operations.
Administrators can choose between worker and io_uring methods, or stick to the traditional synchronous mode if they prefer.
Upgrades are another important area in this release. PostgreSQL 18 carries over planner statistics across major version upgrades, which means systems won’t suffer the same slowdowns while waiting for ANALYZE to finish rebuilding data. The pg_upgrade
tool has also been enhanced with faster object handling, support for parallel checks using --jobs
, and a new --swap
option that reduces file operations.
Regarding performance, this release introduces “skip scan” lookups for multicolumn indexes, making queries that omit leading index columns run faster. Queries that use OR conditions in WHERE clauses can also now benefit from index optimizations. Hash joins, merge joins, and GIN index builds all received tuning, while hardware users get added support for ARM NEON and SVE instructions.
On the developer side, PostgreSQL 18 introduces virtual generated columns, which calculate values at query time instead of storing them, as well as UUIDv7 support for timestamp-ordered identifiers. Logical replication is more flexible too, with stored generated columns now replicable and new reporting options for write conflicts.
Additionally, it’s worth noting the added support for OAuth 2.0 authentication, validation for FIPS mode, and enhanced TLS 1.3 cipher configuration. The release also deprecates MD5 password authentication, urging users to move to SCRAM. Replication improvements include parallel streaming by default and the option to drop idle replication slots automatically.
Finally, observability and maintenance tools received upgrades, from more detailed EXPLAIN outputs to improved vacuum behavior that freezes more pages proactively. PostgreSQL 18 also enables page checksums by default on fresh clusters and introduces version 3.2 of the PostgreSQL wire protocol—the first protocol update since 2003.
Visit the official announcement to review them, or check out the release notes for a detailed view of all novelties. Comprehensive documentation is also available in both HTML and PDF formats.
PostgreSQL Gains a Built-in UUIDv7 Generation Function for Primary Keys
https://habr.com/en/news/950340/