CHECK-ограничение задает условие, которому должны удовлетворять значения в строке. Добавляется при создании таблицы или к существующей через ALTER TABLE … ADD CONSTRAINT.
Как добавить
- К существующей таблице:
ALTER TABLE orders ADD CONSTRAINT chk_amount CHECK (amount >= 0);
Для больших таблиц: чтобы не держать долгую блокировку на проверке всех строк, добавляйте с NOT VALID, затем проверьте отдельно:
ALTER TABLE orders ADD CONSTRAINT chk_amount CHECK (amount >= 0) NOT VALID; ALTER TABLE orders VALIDATE CONSTRAINT chk_amount;