Вопросы к Поиску с Алисой
Основное отличие добавления столбца с указанием NOT VALID от обычного добавления столбца в PostgreSQL заключается в отсутствии проверки существующих строк при добавлении ограничения. postgrespro.ru www.postgresql.org
Обычно команда ADD CONSTRAINT сканирует таблицу, чтобы убедиться, что все существующие строки удовлетворяют новому ограничению. postgrespro.ru www.postgresql.org Это может занять длительное время и препятствовать внесению других изменений. postgrespro.ru
С указанием NOT VALID команда ADD CONSTRAINT не сканирует таблицу и может быть зафиксирована немедленно. postgrespro.ru Затем можно выполнить команду VALIDATE CONSTRAINT, которая проверит все существующие строки на соответствие ограничению. postgrespro.ru
Указание NOT VALID полезно в случаях, когда известно, что в таблице есть строки, нарушающие ограничения. postgrespro.ru После создания ограничения добавить новые недопустимые строки будет невозможно, а все существующие проблемы могут разрешаться в удобное время. postgrespro.ru