Ajouter un champs UUID comme clé primaire avec PostGreSQL

L’objectif est d’ajouter un champs UUID (Universally Unique IDentifier = Identifiant Universel Unique) comme clé primaire dans une table.

Il est tout d’abord nécessaire d’activer l’extension pgcrypto :

CREATE EXTENSION pgcrypto;

On peut dorénavant utiliser la fonction gen_random_uuid() pour créer un UUID :

SELECT gen_random_uuid(); 

Et l’intégrer comme type de champs pour un identifiant dans une table :

CREATE SCHEMA IF NOT EXISTS annuaire;
CREATE TABLE annuaire.contacts(
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name TEXT,
email TEXT
);

Sources