Будет ли блокирование столбца, обнуляемого, блокировать таблицу для чтения? - PullRequest
0 голосов
/ 11 октября 2018

Я хочу сделать одно поле в моей базе данных обнуляемым.

ALTER TABLE answers ALTER COLUMN author_id DROP NOT NULL;

Проблема в том, что у меня много данных в базе данных, и я не уверен, заблокирует ли команда alter таблицудля операций записи.

Я знаю, что изменение размера или типа столбца вызовет исключительную блокировку строки https://www.postgresql.org/docs/current/static/explicit-locking.html#LOCKING-TABLES.

Будет ли изменяться блокировка таблицы для записи тоже или безопасноиспользовать?

1 Ответ

0 голосов
/ 11 октября 2018

Да, для ALTER потребуется эксклюзивная блокировка таблицы (включая блокировку доступа на запись в таблицу)

Однако продолжительность блокировки чрезвычайно мала и не зависит от размера таблицы,По сути, это только обновление внутренних системных таблиц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...