🧚 Écoute ! Beekeeper Studio est une interface de base de données rapide, moderne et open source Télécharger
27 juin 2025 Par Matthew Rathbone

Générer des identifiants uniques est un besoin courant dans les applications de base de données. Dans PostgreSQL, le type de données UUID (identifiant universellement unique) offre un moyen simple d’y parvenir. Dans cet article, on va voir comment générer des UUID dans PostgreSQL, pourquoi et quand les utiliser, avec des exemples de code et le résultat attendu.

Qu’est-ce qu’un UUID ?

UUID signifie Universally Unique Identifier (identifiant universellement unique) : un nombre de 128 bits qui sert à identifier de manière unique une information dans un système informatique. Leur principal avantage : fournir une clé unique entre différentes plateformes et bases de données, sans aucune coordination.

Pourquoi utiliser des UUID ?

  • Unicité entre systèmes : contrairement aux identifiants séquentiels classiques, les UUID peuvent être générés indépendamment sur différents systèmes.
  • Difficiles à deviner : les UUID ne sont pas séquentiels, ce qui les rend moins prévisibles.
  • Uniques au niveau mondial : ils garantissent une unicité globale et évitent les collisions d’ID lors de la fusion de jeux de données.

Générer des UUID dans PostgreSQL

PostgreSQL facilite la génération d’UUID grâce à sa prise en charge native, mais il faut activer des extensions supplémentaires.

Étape 1 : activer l’extension uuid-ossp

L’extension uuid-ossp fournit des fonctions pour générer des UUID. Tu dois l’activer dans ta base de données.

CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

Étape 2 : utiliser uuid_generate_v4()

La fonction la plus utilisée pour générer des UUID aléatoires est uuid_generate_v4(). Voici comment l’utiliser :

SELECT uuid_generate_v4() as generated_uuid;

Résultat attendu :

          generated_uuid          
--------------------------------------
 550e8400-e29b-41d4-a716-446655440000

Chaque exécution de la fonction renvoie un nouvel UUID unique.

Étape 3 : utiliser les UUID dans les tables

Tu peux utiliser les UUID comme clés primaires ou identifiants uniques dans tes tables. C’est une bonne pratique de définir le type de colonne sur UUID et de lui donner une valeur par défaut avec la fonction uuid_generate_v4().

CREATE TABLE users (
    id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
    username VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL
);

Insérer des données :

Tu peux laisser PostgreSQL générer automatiquement les UUID lors de l’insertion de nouveaux enregistrements.

INSERT INTO users (username, email) VALUES ('johndoe', 'john@example.com');
SELECT id, username, email FROM users;

Résultat attendu :

                  id                | username |       email       
-----------------------------------+----------+-------------------
 8df00d7f-6d5d-45e8-bd9c-8c5f29e6e0a7 | johndoe  | john@example.com

Autres méthodes de génération d’UUID

uuid_generate_v1()

Génère un UUID à partir de l’horodatage actuel et de l’adresse MAC. Cette méthode est déterministe et moins sûre, mais peut être utile dans certains cas.

SELECT uuid_generate_v1() as generated_uuid;

Résultat attendu :

          generated_uuid          
--------------------------------------
 6a7fede0-e1e3-11ed-b5ea-0242ac120002

uuid_generate_v1mc()

Similaire à uuid_generate_v1(), mais permet de spécifier une adresse MAC.

uuid_generate_v3(namespace UUID, name TEXT)

Génère un UUID version 3 à partir d’un espace de noms et d’un nom, avec un hachage MD5.

uuid_generate_v5(namespace UUID, name TEXT)

Similaire à uuid_generate_v3(), mais utilise un hachage SHA-1 pour créer un UUID version 5.

Conclusion

Les fonctionnalités UUID de PostgreSQL offrent un moyen robuste et flexible de générer des identifiants uniques pour tes applications de base de données. Avec les UUID, tu t’assures que tes ID sont uniques, imprévisibles et cohérents entre différents systèmes. Que tu crées une nouvelle application ou que tu en migres une existante, les UUID offrent une approche moderne de la génération d’ID.

Avec l’extension uuid-ossp et ses nombreuses fonctions, PostgreSQL te permet de choisir facilement le type d’UUID adapté à tes besoins. Commence à utiliser les UUID dans ta base de données dès aujourd’hui et profite de leur unicité globale.

Beekeeper Studio est une interface de base de données gratuite & open source

Le meilleur outil de requêtes & éditeur SQL que j’aie jamais utilisé. Il m’offre tout ce dont j’ai besoin pour gérer ma base de données. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio est rapide, intuitif et facile à utiliser. Beekeeper prend en charge plein de bases de données et fonctionne parfaitement sous Windows, Mac et Linux.

La version Linux de Beekeeper est 100% complète : rien de bâclé, aucun compromis sur les fonctionnalités.

Ce que les utilisateurs disent de Beekeeper Studio

★★★★★
« Beekeeper Studio a complètement remplacé mon ancien workflow SQL. C’est rapide, intuitif, et ça rend le travail sur les bases de données à nouveau agréable. »
— Alex K., développeur de bases de données
★★★★★
« J’ai essayé beaucoup d’interfaces de base de données, mais Beekeeper trouve l’équilibre parfait entre fonctionnalités et simplicité. Ça marche, tout simplement. »
— Sarah M., ingénieure full stack