Documentation PostgreSQL 8.3.23 > Langage SQL > Types de données > Type UUID | |
Types de recherche plein texte | Type XML |
Le type de données uuid stocke des identifiants universels uniques (UUID, acronyme de Universally Unique Identifiers) décrits dans les standards RFC 4122, ISO/IEC 9834-8:2005, et d'autres encore. (Certains systèmes font référence à ce type de données en tant qu'identifiant unique global (ou GUID ).) Un identifiant de ce type est une quantité sur 128 bits généré par un algorithme adéquat qui a peu de chances d'être reproduit par quelqu'un d'autre utilisant le même algorithme. Du coup, pour les systèmes distribués, ces identifiants fournissent une meilleure garantie d'unicité que ce que pourrait fournir une séquence, dont la valeur est unique seulement au sein d'une base de données.
Un UUID est écrit comme une séquence de chiffres hexadécimaux en minuscule, répartis en différents groupes séparés par un tiret. Plus précisément, il s'agit d'un groupe de huit chiffres suivis de trois groupes de quatre chiffres terminés par un groupe de douze chiffres, ce qui fait un total de 32 chiffres représentant les 128 bits. Voici un exemple d'UUID dans sa forme standard :
a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
PostgreSQL accepte aussi d'autres formes en entrée : utilisation des majuscules, de crochets englobant le nombre, suppression des tirets. Voici quelques exemples :
A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11 {a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11} a0eebc999c0b4ef8bb6d6bb9bd380a11
L'affichage est toujours dans la forme standard.
Pour générer des UUID, le module contrib uuid-ossp fournit des fonctions qui implémentent les algorithmes standards. Sinon, les UUID peuvent être générés par des applications clientes ou par d'autres bibliothèques appelées par une fonction serveur.