PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 18 beta 2 » Langage SQL » Fonctions et opérateurs » Fonctions UUID

9.14. Fonctions UUID #

Tableau 9.45 montre les fonctions PostgreSQL qui peuvent être utilisées pour générer des UUID.

Tableau 9.45. UUID Generation Functions

Fonction

Description

Exemple

gen_random_uuiduuid

uuidv4uuid

Génère un UUID version 4 (aléatoire).

gen_random_uuid()5b30857f-0bfa-48b5-ac0b-5c64e28078d1

uuidv4()b42410ee-132f-42ee-9e4f-09a6485c95b8

uuidv7 ( [ shift interval ] ) → uuid

Génère un UUID version 7 (trié par date). L'horodatage est calculé en utilisant l'horodatage UNIX avec une précision à la milliseconde + horodatage inférieur à la milliseconde + aléatoire. Le paramètre optionnel shift décalera l'horloge calculée en utilisant l'interval.

uuidv7()019535d9-3df7-79fb-b466-fa907fa17f9e


Note

Le module uuid-ossp fournit des fonctions supplémentaires qui implémentent d'autres algorithmes standards pour générer les UUID.

Tableau 9.46 montre les fonctions PostgreSQL qui peuvent être utilisées pour extraire des informations des UUID.

Tableau 9.46. Fonctions d'extraction des UUID

Fonction

Description

Exemple

uuid_extract_timestamp ( uuid ) → timestamp with time zone

Extrait un timestamp with time zone à partir des versions 1 et 7 d'UUID. Pour les autres versions, cette fonction renvoit NULL. Notez que l'horodatage extrait n'est pas nécessairement identique à l'heure où l'UUID a été généré ; ceci dépend de l'implémentation qui a généré l'UUID.

uuid_extract_timestamp('019535d9-3df7-79fb-b466-​fa907fa17f9e'::uuid)2025-02-23 21:46:24.503-05

uuid_extract_version ( uuid ) → smallint

Extrait la version d'un UUID de la variante décrite dans RFC 9562. Pour les autres variantes, cette fonction renvoie NULL. Par exemple, pour un UUID généré par gen_random_uuid, cette fonction renverra 4.

uuid_extract_version('41db1265-8bc1-4ab3-992f-​885799a4af1d'::uuid)4

uuid_extract_version('019535d9-3df7-79fb-b466-​fa907fa17f9e'::uuid)7


PostgreSQL fournit aussi les opérateurs de comparaison habituels affichés dans Tableau 9.1 pour les UUID.

Voir Section 8.12 pour les détails sur les types de données uuid dans PostgreSQL.