PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgres ajoute une colonne avec les valeurs initialement calculées

J'ai découvert un moyen simple ! Ce qui suit ajoute la value3 colonne avec les valeurs initiales souhaitées :

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

Cette méthode est bonne lorsque postgres a une fonction native pour le calcul que vous souhaitez appliquer à la nouvelle colonne. Par exemple. dans ce cas, le calcul que je veux est "sum", et postgres le fait via le + opérateur. Cette méthode sera plus complexe pour les opérations non fournies nativement par postgres.