PostgreSQL kan in-place ADD COLUMN
als de kolom geen DEFAULT
. heeft en is nullble.
Dus:gebruik dezelfde methode die u zou gebruiken om het af te handelen in een situatie met veel gelijktijdigheid, maar zonder de triggers die u zou gebruiken om het met gelijktijdigheid af te handelen.
ALTER TABLE ... ADD COLUMN ...
zonder enigeDEFAULT
ofNOT NULL
ALTER TABLE ... ALTER COLUMN ... DEFAULT ...
om deDEFAULT
. toe te voegen indien van toepassingUPDATE
de tabel in batches van rijen om de waarde in te stellen.VACUUM
de tabel tussen elke batch. Doe niet gebruikVACUUM FULL
. Elke batch moet een nieuwe, afzonderlijke transactie zijn die wordt uitgevoerd vóór deVACUUM
.- Indien gewenst,
ALTER TABLE ... ALTER COLUMN ... NOT NULL
nadat alle rijen een waarde hebben ingesteld