Разница между командами ALTER TABLE и REWRITE TABLE в PostgreSQL заключается в том, что ALTER TABLE позволяет вносить изменения в структуру таблицы, а REWRITE TABLE — принудительно перезаписывать её. 25
ALTER TABLE позволяет добавлять новые столбцы, удалять старые и изменять типы данных столбцов. 2 При этом некоторые изменения могут потребовать полной перезаписи таблицы, когда создаётся её новая копия, а старая сбрасывается. 2
REWRITE TABLE используется для принудительной перезаписи таблицы, когда это необходимо, например, при изменении типа данных столбца или сбросе одного из них. 12 В результате каждой строке восстанавливается структура, а удалённый столбец заменяется нулевым значением. 1