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 标准里没有索引的规定。