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

Postgres adiciona coluna com valores inicialmente calculados


Eu descobri uma maneira simples! O seguinte adiciona o value3 coluna com os valores iniciais desejados:
ALTER TABLE numbers
ADD COLUMN value3 INTEGER; -- Exclude the NOT NULL constraint here

UPDATE numbers SET value3=value1+value2; -- Insert data with a regular UPDATE

ALTER TABLE numbers
ALTER COLUMN value3 SET NOT NULL; -- Now set the NOT NULL constraint

Este método é bom quando o postgres tem uma função nativa para o cálculo que você deseja aplicar à nova coluna. Por exemplo. neste caso, o cálculo que eu quero é "sum", e o postgres faz isso através do + operador. Este método será mais complexo para operações não fornecidas nativamente pelo postgres.