sql >> Base de Datos >  >> RDS >> PostgreSQL

ALTER TABLE para agregar una nueva columna en espacio de disco limitado

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ún DEFAULT o NOT NULL
  • ALTER TABLE ... ALTER COLUMN ... DEFAULT ... para agregar el DEFAULT si alguno
  • UPDATE la tabla en lotes de filas para establecer el valor. VACUUM la mesa entre cada lote. no use VACUUM FULL . Cada lote debe ser una transacción nueva e independiente que se confirme antes del VACUUM .
  • Si lo desea, ALTER TABLE ... ALTER COLUMN ... NOT NULL después de que todas las filas tengan un valor establecido