uuidv7()

PostgreSQL 🟡 Mid

Définition

Fonction native ajoutée en PostgreSQL 18 (25 septembre 2025) qui génère des UUID version 7 : contrairement a UUIDv4 (aléatoire), les premiers bits d'un UUIDv7 encodent un timestamp, ce qui les rend triables chronologiquement et limite la fragmentation des index B-tree observée avec UUIDv4.

Analogie

Comme numéroter des tickets dans l'ordre d'arrivée (uuidv7) plutôt que de tirer un numéro au hasard dans un sac (uuidv4) : le tri redevient naturel.

Exemple de code

CREATE TABLE events (
  id uuid PRIMARY KEY DEFAULT uuidv7(),
  payload jsonb
);
-- Les id inseres restent ordonnes
-- chronologiquement dans l'index

Cas d'usage

Remplacer un UUIDv4 comme clé primaire quand l'ordre d'insertion doit rester exploitable, sans revenir a un SERIAL prévisible.

Anti-pattern

Garder uuidv4() par défaut sur une table a très fort volume d'écriture alors que la fragmentation d'index dégrade les performances.

Termes liés

#sgbd#interview#database#postgresql#pg18

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre