Jag upptäckte ett enkelt sätt! Följande lägger till value3
kolumn med önskade initiala värden:
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
Den här metoden är bra när postgres har en inbyggd funktion för den beräkning du vill tillämpa på den nya kolumnen. T.ex. i det här fallet är beräkningen jag vill ha "summa", och postgres gör det via +
operatör. Denna metod kommer att vara mer komplex för operationer som inte tillhandahålls av postgres.