PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Contrainte unique reportable, insensible à la casse

Vous pouvez contourner la restriction en utilisant le type spécial citext fournies par le module complémentaire du même nom. Citant le manuel :

Il répond exactement à votre cas. Exécuter une fois par base de données :

CREATE EXTENSION citext;

Ensuite, vous pouvez :

CREATE TABLE sample_table ( 
   my_column citext
  ,CONSTRAINT my_unique_constraint UNIQUE(my_column)
   DEFERRABLE INITIALLY IMMEDIATE
);