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.