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

Application d'une contrainte unique de date sur la colonne TIMESTAMP dans postgresql

Si vous n'avez pas besoin de fuseau horaire pour votre date de création :créer un index unique a suit :

create unique index idx_user_review_uniq_key on  table_name (expiry_date, cast(created_at as date));

Si vous avez vraiment besoin d'avoir un fuseau horaire, vous devez utiliser une petite astuce (https:// gist.github.com/cobusc/5875282 ) :

create unique index idx_user_review_uniq_key on  table_name (expiry_date, date(created_at at TIME zone 'UTC'));