DROP INDEX — 刪除索引
DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name
[, ...] [ CASCADE | RESTRICT ]
DROP INDEX
從資料庫系統中刪除一個已存在的索引。要執行此命令,您必須是索引的所有者。
CONCURRENTLY
在不鎖定表上索引的併發 SELECT、INSERT、UPDATE 和 DELETE 的情況下刪除索引。常規的 DROP INDEX
命令會對錶獲取 ACCESS EXCLUSIVE
鎖,直到索引刪除完成才會阻塞其他訪問。使用此選項,命令將等待直到衝突的事務完成。
使用此選項時需要注意幾個事項。只能指定一個索引名稱,並且不支援 CASCADE
選項。(因此,不支援此方式刪除支援 UNIQUE
或 PRIMARY KEY
約束的索引。)此外,常規的 DROP INDEX
命令可以在事務塊內執行,但 DROP INDEX CONCURRENTLY
不能。最後,分割槽表的索引不能使用此選項刪除。
對於臨時表,DROP INDEX
始終是非併發的,因為沒有其他會話可以訪問它們,而非併發索引刪除更便宜。
IF EXISTS
如果索引不存在,則不報錯。在這種情況下會發出一個通知。
name
要刪除的索引的名稱(可以選擇是否包含模式限定)。
CASCADE
自動刪除依賴於該索引的物件,以及反過來依賴於那些物件的全部物件(參見 第 5.15 節)。
RESTRICT
如果任何物件依賴於該索引,則拒絕刪除該索引。這是預設行為。
此命令將刪除索引 title_idx
DROP INDEX title_idx;
DROP INDEX
是 PostgreSQL 的語言擴充套件。SQL 標準中沒有提供索引的規定。
如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表格 報告文件問題。