DROP INDEX — 移除一个索引
DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
DROP INDEX
从数据库系统中 移除一个已有的索引。要执行这个命令你必须是该索引的拥 有者。
CONCURRENTLY
删除索引并且不阻塞在索引基表上的并发选择、插入、更新和删除操作。一个 普通的DROP INDEX
会要求该表上的排他锁,这样会阻塞 其他访问直至索引删除完成。通过这个选项,该命令会等待直至冲突事务完成。
在使用这个选项时有一些需要注意的事情。只能指定一个索引名称,并且不支 持CASCADE
选项(因此,一个支持UNIQUE
或者 PRIMARY KEY
约束的索引不能以这种方式删除)。还有,常规 的DROP INDEX
命令可以在一个事务块内执行,而 DROP INDEX CONCURRENTLY
不能。 最后,不能使用此选项删除分区表上的索引。
对于临时表,DROP INDEX
始终是非并发的,因为没有其他会话可以访问它们,而且丢弃非并发索引更加便宜。
IF EXISTS
如果该索引不存在则不要抛出一个错误,而是发出一个提示。
name
要移除的索引的名称(可以是模式限定的)。
CASCADE
自动删除依赖于该索引的对象,然后删除所有 依赖于那些对象的对象(见第 5.14 节)。
RESTRICT
如果有任何对象依赖于该索引,则拒绝删除它。这是默认值。
这个命令将移除索引title_idx
:
DROP INDEX title_idx;
DROP INDEX
是一个 PostgreSQL语言扩展。在 SQL 标准中没有提供索引。
CREATE INDEX
备案信息: 粤ICP备15087711号-2
Copyright © 2008-2024 啊嘎哇在线工具箱 All Rights.
本站所有资料来源于网络,版权归原作者所有,仅作学习交流使用,如不慎侵犯了您的权利,请联系我们。