Developer tooling around UUIDs moves faster than the standards themselves. PostgreSQL 18 lands native UUID v7 support. Language runtimes add generation to the standard library. ORMs add type-aware columns. This section tracks those changes with concrete detail: what shipped, which version you need, and whether it requires any action in your project.
What we cover
Articles here focus on changes that affect how developers generate, store, and query UUIDs in real applications. A new native function in a database release gets covered if it changes the recommended approach. A library release gets covered if it adds v7 support or changes a default. We skip changelog noise and focus on engineering decisions.
How to use this as a reference
Each article stands alone as a technical reference. If you arrived from a search about PostgreSQL 18 and UUID v7, the article answers the specific question — what the function is called, how to use it, and what the migration path looks like — without assuming you have read anything else here.
If a topic here leads you to want the full background, the Guides section covers UUID versions, database storage, security, and language-specific implementation in depth.
Latest articles
PostgreSQL 18 Ships Native UUID v7 — What Changes for Developers
PostgreSQL 18 adds a built-in uuidv7() function, making time-sortable primary keys a single SQL call away. Here is what it means for your schema and migration path.
-
RFC 9562 Replaces RFC 4122 — What Changed
The current UUID standard adds v6, v7, v8, and the Max UUID sentinel. It also formally deprecates v1 and v2. Here is every change and what it means in practice.
-
UUID v7 ORM Support in 2026 — Prisma, Drizzle, GORM, SQLAlchemy
All four major ORMs now support UUID v7 natively. Here is the current state of each and how to configure application-layer vs database-level generation.
-
Python 3.13 Adds uuid.uuid7() to the Standard Library
No third-party package needed on Python 3.13+. Here is how uuid.uuid7() works, how to migrate from the uuid6 backport, and patterns for Django, SQLAlchemy, and FastAPI.
Frequently asked questions
Does PostgreSQL 18 support UUID v7 natively?
Yes. PostgreSQL 18 ships a built-in uuidv7() function that generates RFC 9562-compliant UUID v7 values directly in SQL — no extensions or application-level generation required. The values store in the existing uuid column type unchanged.
Why is UUID v7 becoming the default recommendation in 2026?
UUID v7 combines the global uniqueness of UUIDs with a millisecond-precision timestamp prefix, making inserts sequential in B-tree indexes and eliminating the page-split fragmentation that v4 causes at scale. RFC 9562 standardised it in 2024, and PostgreSQL 18 adding native support in 2026 makes it the obvious default for new projects.
Should I use v4 or v7?
Use v7 for database primary keys (time-sortable, index-friendly) and v4 for anything where creation order could leak information, like tokens or share links.