PostgreSQL może wykonać w miejscu ADD COLUMN
jeśli kolumna nie ma DEFAULT
i jest nieważny.
A więc:użyj tej samej metody, której używasz do obsługi sytuacji o wysokiej współbieżności, ale bez wyzwalaczy, których używasz do obsługi ze współbieżnością.
ALTER TABLE ... ADD COLUMN ...
bezDEFAULT
lubNOT NULL
ALTER TABLE ... ALTER COLUMN ... DEFAULT ...
aby dodaćDEFAULT
jeśli w ogóleUPDATE
tabela w partiach wierszy, aby ustawić wartość.VACUUM
tabela pomiędzy każdą partią. Nie użyjVACUUM FULL
. Każda partia musi być nową, oddzielną transakcją, która zatwierdza się przedVACUUM
.- W razie potrzeby
ALTER TABLE ... ALTER COLUMN ... NOT NULL
po tym, jak wszystkie wiersze mają ustawioną wartość