PostgreSQL puede hacer ADD COLUMN
en el lugar si la columna no tiene DEFAULT
y es nulo.
Entonces:use el mismo método que usaría para manejarlo en una situación de alta concurrencia, pero sin los activadores que usaría para manejarlo con concurrencia.
ALTER TABLE ... ADD COLUMN ...
sin ningúnDEFAULT
oNOT NULL
ALTER TABLE ... ALTER COLUMN ... DEFAULT ...
para agregar elDEFAULT
si algunoUPDATE
la tabla en lotes de filas para establecer el valor.VACUUM
la mesa entre cada lote. no useVACUUM FULL
. Cada lote debe ser una transacción nueva e independiente que se confirme antes delVACUUM
.- Si lo desea,
ALTER TABLE ... ALTER COLUMN ... NOT NULL
después de que todas las filas tengan un valor establecido