У меня есть вопрос о команде ALTER TABLE
на действительно большой таблице (почти 30 миллионов строк).
Один из его столбцов - varchar(255)
, и я хотел бы изменить его размер до varchar(40)
.
В принципе, я хотел бы изменить свой столбец, выполнив следующую команду:
ALTER TABLE mytable ALTER COLUMN mycolumn TYPE varchar(40);
У меня нет проблем, если процесс очень длинный, но кажется, что моя таблица не читается во время команды ALTER TABLE. Есть ли более разумный способ? Может быть, добавить новый столбец, скопировать значения из старого столбца, удалить старый столбец и, наконец, переименовать новый?
Любая подсказка будет принята с благодарностью! Спасибо заранее,
Примечание. Я использую PostgreSQL 9.0.