PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

ALTER TABLE para adicionar nova coluna em espaço limitado em disco


O PostgreSQL pode fazer ADD COLUMN no local se a coluna não tiver DEFAULT e é nulo.

Portanto:use o mesmo método que você usaria para lidar com isso em uma situação de alta simultaneidade, mas sem os gatilhos que você usaria para lidar com isso com simultaneidade.
  • ALTER TABLE ... ADD COLUMN ... sem nenhum DEFAULT ou NOT NULL
  • ALTER TABLE ... ALTER COLUMN ... DEFAULT ... para adicionar o DEFAULT se houver
  • UPDATE a tabela em lotes de linhas para definir o valor. VACUUM a tabela entre cada lote. não use VACUUM FULL . Cada lote deve ser uma transação nova e separada que é confirmada antes do VACUUM .
  • Se desejar, ALTER TABLE ... ALTER COLUMN ... NOT NULL depois de todas as linhas terem um valor definido