PostgreSQL có thể thực hiện ADD COLUMN
tại chỗ nếu cột không có DEFAULT
và không có giá trị.
Vì vậy:Hãy sử dụng cùng một phương pháp bạn sử dụng để xử lý nó trong tình huống đồng thời cao, nhưng không có trình kích hoạt mà bạn sẽ sử dụng để xử lý nó với tình huống đồng thời.
-
ALTER TABLE ... ADD COLUMN ...
không cóDEFAULT
nào hoặcNOT NULL
-
ALTER TABLE ... ALTER COLUMN ... DEFAULT ...
để thêmDEFAULT
nếu có -
UPDATE
bảng theo lô hàng để đặt giá trị.VACUUM
bảng giữa mỗi đợt. Đ ừng sử dụngVACUUM FULL
. Mỗi lô phải là một giao dịch mới, riêng biệt được cam kết trướcVACUUM
. - Nếu muốn,
ALTER TABLE ... ALTER COLUMN ... NOT NULL
sau khi tất cả các hàng có một bộ giá trị