ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# DROP INDEX ## Name DROP INDEX -- 删除索引 ## Synopsis ``` DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] _name_ [, ...] [ CASCADE | RESTRICT ] ``` ## 描述 `DROP INDEX` 从数据库中删除一个现存的索引。要执行这个命令,你必须是索引的所有者 ## 参数 `CONCURRENTLY` 在表上删除索引的同时不对查询,插入,更新,删除加锁。 普通的 `DROP INDEX`会使表获得独占锁,阻塞其他的访问,直到索引删除完成。使用此选项, 会由阻塞变为等待,直到其他冲突事物结束。 使用此选项时有几个注意事项。 只能指定一个索引的名称, 并且 `CASCADE` 选项不支持。 (同时, 一个索引是 `UNIQUE` or `PRIMARY KEY` 约束的时候,不能以此方式删除。) 同时,正规的 `DROP INDEX` 命令可以在事物内执行, 但是 `DROP INDEX CONCURRENTLY` 不可以在事物内执行. `IF EXISTS` 如果指定的索引不存在,那么发出一个 notice 而不是抛出一个错误 `_name_` 要删除的索引名(可以有模式名字)。 `CASCADE` 级联删除依赖于该索引的对象。 `RESTRICT` 如果有依赖对象存在,则拒绝删除该索引。这个是缺省。 ## Examples 此命令将删除 `title_idx`索引: ``` DROP INDEX title_idx; ``` ## 兼容性 `DROP INDEX` 是 PostgreSQL 语言扩展。在 SQL 标准里没有索引的规定。 ## 请参阅 [CREATE INDEX](#calibre_link-83)