Quy tắc chung là sử dụng CHECK ràng buộc khi có thể.
CHECK ràng buộc nhanh hơn, đơn giản hơn, di động hơn, cần ít mã hơn và ít bị lỗi hơn. Ví dụ:các trình kích hoạt có thể dễ dàng bị các trình kích hoạt khác phá vỡ.
TRIGGER phức tạp hơn. Sử dụng nó khi bạn phải , cho các yêu cầu phức tạp hơn.
Nếu một CHECK ràng buộc quá hạn chế đối với trường hợp của bạn hoặc gây ra sự cố khi tải lại kết xuất, bạn có thể sử dụng NOT VALID bổ trợ ở dạng trung bình (Postgres 9.2+). Và, theo tùy chọn, VALIDATE trễ rồi. Xem:
- Tắt tất cả các ràng buộc và kiểm tra bảng trong khi khôi phục kết xuất