PostgreSQLはインプレースでADD COLUMN
を実行できます 列にDEFAULT
がない場合 そしてnullbleです。
したがって、同時実行性の高い状況で処理するために使用するのと同じ方法を使用しますが、同時実行性で処理するために使用するトリガーは使用しません。
-
ALTER TABLE ... ADD COLUMN ...
DEFAULT
なし またはNOT NULL
-
ALTER TABLE ... ALTER COLUMN ... DEFAULT ...
DEFAULT
を追加します もしあれば -
UPDATE
値を設定するための行のバッチのテーブル。VACUUM
各バッチ間のテーブル。 しないVACUUM FULL
を使用します 。各バッチは、VACUUM
の前にコミットする新しい個別のトランザクションである必要があります 。 - 必要に応じて、
ALTER TABLE ... ALTER COLUMN ... NOT NULL
すべての行に値が設定された後