PostgreSQL kan göra ADD COLUMN
på plats om kolumnen inte har någon DEFAULT
och är nullble.
Så:Använd samma metod som du skulle använda för att hantera det i en situation med hög samtidighet, men utan de triggers du skulle använda för att hantera det samtidigt.
ALTER TABLE ... ADD COLUMN ...
utan någonDEFAULT
ellerNOT NULL
ALTER TABLE ... ALTER COLUMN ... DEFAULT ...
för att lägga tillDEFAULT
om någonUPDATE
tabellen i rader för att ställa in värdet.VACUUM
tabellen mellan varje batch. Gör inte användVACUUM FULL
. Varje batch måste vara en ny, separat transaktion som genomförs föreVACUUM
.- Om så önskas,
ALTER TABLE ... ALTER COLUMN ... NOT NULL
efter att alla rader har en värdeuppsättning