11.6. Index d'unicité
Les index peuvent aussi être utilisés pour garantir l'unicité
des valeurs d'une colonne, ou l'unicité des valeurs combinées
de plusieurs colonnes.
CREATE UNIQUE INDEX nom ON table (colonne [, ...]);
À ce jour, seuls les index B-trees peuvent être déclarés
uniques.
Lorsqu'un index est déclaré unique, il ne peut exister
plusieurs lignes d'une table qui possèdent la même valeur
indexée. Les valeurs NULL ne sont pas considérées égales. Un
index d'unicité multi-colonnes ne rejette que les cas où toutes
les colonnes indexées sont égales dans plusieurs lignes.
PostgreSQL™ crée
automatiquement un index d'unicité à la déclaration d'une
contrainte d'unicité ou d'une clé primaire sur une table.
L'index porte sur les colonnes qui composent la clé primaire ou
la contrainte d'unicité (au besoin, il s'agit d'un index
multi-colonnes). C'est cet index qui assure le mécanisme de
vérification de la contrainte.
Note
Il n'est pas nécessaire de créer manuellement un index sur
les colonnes uniques. Cela duplique l'index créé
automatiquement.