PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Postgres aggiunge una colonna con i valori inizialmente calcolati

Ho scoperto un modo semplice! Quanto segue aggiunge il value3 colonna con i valori iniziali desiderati:

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

Questo metodo è utile quando postgres ha una funzione nativa per il calcolo che vuoi applicare alla nuova colonna. Per esempio. in questo caso il calcolo che voglio è "sum", e Postgres lo fa tramite il + operatore. Questo metodo sarà più complesso per le operazioni non fornite nativamente da postgres.