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 標準中沒有提供索引的規定。
如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表格 報告文件問題。