Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PostgreSQL > ADD CHECK без блокировки


Автор: Paher 10.8.2021, 14:15
Господа, приветствую! 

На большой таблице нужно добавить CHECK(чтобы в дальнейшем эта большая таблица юыстро стала уже партицией в новой партицированной таблице), Но нужно сделать это без блокировки. Считали, что ADD CHECK NOT VALID с последующим VALIDATE делает то, что нужно, однако даже   c NOT VALID запрос на добавление ограничения лочит таблицу и непозволительно долго работает. Кто-нибудь может подсказать решение этой задачи?

Автор: Paher 11.8.2021, 10:59
Разобрались. ADD CHECK NOT VALID выполнялся долго из-за параллельных запросов. Остановили все чтение и запись в базу - CHECK добавился  мгновенно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)