簡體   English   中英

在大表(600 萬條記錄)上創建主鍵,而不鎖定 PostgreSQL 中的表

[英]Create a Primary Key on a large table (6Million records) without locking the table in PostgreSQL

我想在一個有 600 萬條記錄的表上創建一個主鍵,但是當我執行這個時:

ALTER TABLE schema_name.table_name ADD CONSTRAINT pkey_name PRIMARY KEY (field_pkey_name);

它正在鎖定我的表,而 alter table 沒有完成執行......

嘗試分兩步進行:

CREATE UNIQUE INDEX CONCURRENTLY pkey_name
   ON schema_name.table_name (field_pkey_name);

ALTER TABLE schema_name.table_name
   ADD CONSTRAINT pkey_name PRIMARY KEY USING INDEX pkey_name;

仍然需要很長時間(甚至更長),但表不會被鎖定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM