文档

DROP INDEX

更新时间:

DROP INDEX用于从数据库系统中移除一个已有的索引。

简介

DROP INDEX从数据库系统中移除一个已有的索引。要执行这个命令你必须是该索引的拥有者。

语法

    DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]

参数

CONCURRENTLY删除索引并且不阻塞在索引基表上的并发选择、插入、更新和删除操作。一个普通的DROP INDEX会要求该表上的排他锁,这样会阻塞其他访问直至索引删除完成。通过这个选项,该命令会等待直至冲突事务完成。

在使用这个选项时有一些需要注意的事情。只能指定一个索引名称,并且不支持CASCADE选项(因此,一个支持UNIQUE或者 PRIMARY KEY约束的索引不能以这种方式删除)。还有,常规的DROP INDEX命令可以在一个事务块内执行,而 DROP INDEX CONCURRENTLY不能。 最后,不能使用此选项删除分区表上的索引。

对于临时表,DROP INDEX始终是非并发的,因为没有其他会话可以访问它们,而且丢弃非并发索引更加便宜。

IF EXISTS如果该索引不存在则不要抛出一个错误,而是发出一个提示。

name要移除的索引的名称(可以是模式限定的)。

CASCADE自动删除依赖于该索引的对象,然后删除所有依赖于那些对象的对象。

RESTRICT如果有任何对象依赖于该索引,则拒绝删除它。这是默认值。

示例

移除索引title_idx

    DROP INDEX title_idx;
  • 本页导读 (0)
文档反馈