Разница между VALIDATE CONSTRAINT и DROP CONSTRAINT в PostgreSQL заключается в их функциях:
- VALIDATE CONSTRAINT проверяет, что ранее созданный внешний ключ или ограничение проверки (NOT VALID) действительно для всех строк таблицы. 1 Для этого команда сканирует таблицу и убеждается, что нет строк, для которых ограничение не выполняется. 1 Если ограничение уже отмечено как действительное, то ничего не происходит. 1
- DROP CONSTRAINT удаляет указанное ограничение из таблицы вместе с любым индексом, лежащим в основе ограничения. 14 Если указано IF EXISTS и ограничение не существует, то вместо ошибки выдаётся уведомление. 1
Таким образом, VALIDATE CONSTRAINT используется для проверки соответствия ограничений, а DROP CONSTRAINT — для их удаления.