DROP INDEX

名称

DROP INDEX -- 删除索引

大纲

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 INDEXPostgreSQL 语言扩展。在 SQL 标准里没有索引的规定。

请参阅

CREATE INDEX