Odkryłem prosty sposób! Poniższe dodaje value3
kolumna z żądanymi wartościami początkowymi:
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
Ta metoda jest dobra, gdy postgres ma natywną funkcję do obliczeń, które chcesz zastosować do nowej kolumny. Np. w tym przypadku obliczenia, które chcę, to "suma", a postgres robi to za pomocą +
operator. Ta metoda będzie bardziej złożona w przypadku operacji, które nie są dostarczane natywnie przez postgres.