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
                
               
              
                
                  La méthode la plus appropriée pour ajouter une contrainte à
                  une table est ALTER TABLE ... ADD
                  CONSTRAINT. L'utilisation des index pour vérifier les
                  contraintes d'unicité peut être considérée comme un détail
                  d'implantation qui ne doit pas être utilisé directement. Il
                  n'est pas nécessaire de créer manuellement un index sur les
                  colonnes uniques. Cela duplique l'index créé
                  automatiquement.