Would a unique index, or a trigger doing a: IF ( SELECT COUNT(*) where _index_condition_ ) THEN CRY MOMMA and GO HOME.
pgsql-general by date:
Соглашаюсь с условиями обработки персональных данных