大约 1 分钟
DROP INDEX
DROP INDEX — 移除一个索引
大纲
DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
描述
DROP INDEX从数据库系统中 移除一个已有的索引。要执行这个命令你必须是该索引的拥 有者。
参数
CONCURRENTLY : 删除索引并且不阻塞在索引基表上的并发选择、插入、更新和删除操作。一个 普通的DROP INDEX会要求该表上的排他锁,这样会阻塞 其他访问直至索引删除完成。通过这个选项,该命令会等待直至冲突事务完成。
在使用这个选项时有一些需要注意的事情。只能指定一个索引名称,并且不支
持`CASCADE`选项(因此,一个支持`UNIQUE`或者
`PRIMARY KEY`约束的索引不能以这种方式删除)。还有,常规
的`DROP INDEX`命令可以在一个事务块内执行,而
`DROP INDEX CONCURRENTLY`不能。
IF EXISTS : 如果该索引不存在则不要抛出一个错误,而是发出一个提示。
name : 要移除的索引的名称(可以是模式限定的)。
CASCADE : 自动删除依赖于该索引的对象,然后删除所有 依赖于那些对象的对象(见第 5.13 节)。
RESTRICT : 如果有任何对象依赖于该索引,则拒绝删除它。这是默认值。
示例
这个命令将移除索引title_idx:
DROP INDEX title_idx;
兼容性
DROP INDEX是一个 PostgreSQL语言扩展。在 SQL 标准中没有提供索引。
