IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)

F.40. uuid-ossp

Le module uuid-ossp fournit des fonctions qui permettent de créer des identifiants uniques universels (UUIDs) � l'aide d'algorithmes standard. Ce module fournit aussi des fonctions pour produire certaines constantes UUID spéciales.

Ce module dépend de la biblioth�que OSSP UUID, disponible sur http://www.ossp.org/pkg/lib/uuid/.

F.40.1. Fonctions de uuid-ossp

Tableau F.30, � Fonctions pour la génération d'UUID � montre les fonctions disponibles pour générer des UUIDs. Les standards en question, ITU-T Rec. X.667, ISO/IEC 9834-8:2005 et RFC 4122, spécifient quatre algorithmes pour produire des UUID identifiés par les numéros de version 1, 3, 4 et 5. (Il n'existe pas d'algorithme version 2.) Chacun de ces algorithmes peut convenir pour un ensemble différent d'applications.

Tableau F.30. Fonctions pour la génération d'UUID

Fonction Description
uuid_generate_v1()

Cette fonction crée un UUID version 1. Ceci implique l'adresse MAC de l'ordinateur et un horodatage. Les UUID de ce type rév�lent l'identité de l'ordinateur qui a créé l'identifiant et l'heure de création de cet identifiant, ce qui peut ne pas convenir pour certaines applications sensibles � la sécurité.

uuid_generate_v1mc()

Cette fonction crée un UUID version 1, mais utilise une adresse MAC multicast � la place de la vraie adresse de l'ordinateur.

uuid_generate_v3(namespace uuid, name text)

Cette fonction crée un UUID version 3 dans l'espace de nom donné en utilisant le nom indiqué en entrée. L'espace de nom doit �tre une des constantes spéciales produites par les fonctions uuid_ns_*() indiquées dans Tableau F.31, � Fonctions renvoyant des constantes UUID �. (En théorie, cela peut �tre tout UUID.) Le nom est un identifiant dans l'espace de nom sélectionné.

Par exemple :

         SELECT uuid_generate_v3(uuid_ns_url(), 'http://www.postgresql.org');
        

Le param�tre name sera haché avec MD5, donc la version claire ne peut pas �tre récupérée � partir de l'UUID généré. La génération des UUID par cette méthode ne comprend aucun élément au hasard ou dépendant de l'environnement et est du coup reproductible.

uuid_generate_v4()

Cette fonction crée un UUID version 4 qui est enti�rement réalisé � partir de nombres aléatoires.

uuid_generate_v5(namespace uuid, name text)

Cette fonction crée un UUID version 5 qui fonctionne comme un UUID version 3 sauf que SHA-1 est utilisé comme méthode de hachage. La version 5 devrait �tre préférée � la version 3 car SHA-1 est considéré plus sécurisé que MD5.


Tableau F.31. Fonctions renvoyant des constantes UUID

uuid_nil()

Une constante UUID � nil �, qui ne correspond pas � un UUID réel.

uuid_ns_dns()

Constante désignant l'espace de nom pour les UUID.

uuid_ns_url()

Constante désignant l'espace de nom URL pour les UUID.

uuid_ns_oid()

Constante désignant l'espace de nom des identifiants d'objets ISO pour les UUIDs. (Ceci aboutit aux OID ASN.1, mais n'a pas de relation avec les OID de PostgreSQL™.)

uuid_ns_x500()

Constante désignant l'espace de nom � X.500 distinguished name � (DN) pour les UUID.


F.40.2. Auteur

Peter Eisentraut