PostgreSQL 18 is on the horizon, with beta testing now underway. Among the many improvements in this release is support for UUIDv7. A timestamp-based UUID variant that plays nicely with btree indexes. In this post, we'll discuss UUIDs in general, why UUIDv7 is so useful and how you'll want to use it in Postgres.
PostgreSQL 18
PostgreSQL 18 beta 1 was released few days ago. The release is packed with new features, improvements and bug fixes. As usual, the community is encouraged to try it out and report issues, with the goal of shipping a high quality release in September.
The highlights of the release include:
Async I/O (with io_uring) — 2-3x speedups on seq scans, vacuums
Skip scan on multi-column btree indexes + smarter OR/IN optimizations
Keep planner stats during major upgrades
UUIDv7 functions
Virtual generated columns
OAuth login + md5 deprecation warning
... continue reading