

      Le type de données uuid stocke des identifiants universels
      uniques (UUID, acronyme de Universally
       Unique Identifiers) décrits dans les standards
      RFC 9562,
      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ée 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.
     
      La RFC 9562 définit 8 versions différentes d'UUID. Chaque version a des
      exigences spécifiques pour générer de nouvelles valeurs UUID, et chaque
      version offre des avantages et des inconvénients distincts.
      PostgreSQL prend en charge nativement la
      génération d'UUID en utilisant les algorithmes UUIDv4 et UUIDv7.
      Alternativement, les valeurs UUID peuvent être générées en dehors de la
      base de données en utilisant n'importe quel algorithme. Le type de
      données uuid peut être utilisé pour stocker n'importe quel
      UUID, quelle que soit son origine et sa version.
     
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 d'une partie ou de tous les tirets, ajout d'un tiret après n'importe quel groupe de quatre chiffres. Voici quelques exemples :
A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11
{a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11}
a0eebc999c0b4ef8bb6d6bb9bd380a11
a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a11
{a0eebc99-9c0b4ef8-bb6d6bb9-bd380a11}
      L'affichage est toujours dans la forme standard.
Voir Section 9.14 pour savoir comment générer un UUID dans PostgreSQL.