On this page
DROP INDEX
DROP INDEX —删除索引
Synopsis
DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
Description
DROP INDEX
从数据库系统中删除现有索引。要执行此命令,您必须是索引的所有者。
Parameters
CONCURRENTLY
- 删除索引时不会锁定并发选择,插入,更新和删除索引表。普通的
DROP INDEX
获取表的排他锁,阻止其他访问,直到可以完成索引删除。使用此选项时,命令将 await 直到冲突的事务完成为止。
- 删除索引时不会锁定并发选择,插入,更新和删除索引表。普通的
使用此选项时需要注意几个注意事项。只能指定一个索引名称,并且不支持CASCADE
选项。 (因此,不能以这种方式删除支持UNIQUE
或PRIMARY KEY
约束的索引.)而且,可以在事务块内执行常规DROP INDEX
命令,但是DROP INDEX CONCURRENTLY
不能。
对于临时表,DROP INDEX
始终是非并发的,因为没有其他会话可以访问它们,并且非并发索引的删除更便宜。
IF EXISTS
- 如果索引不存在,请不要抛出错误。在这种情况下发出通知。
name
- 要删除的索引的名称(可选的模式限定)。
CASCADE
- 自动删除依赖于索引的对象,并依次删除所有依赖于那些对象的对象(请参见Section 5.13)。
RESTRICT
- 如果有任何对象依赖该索引,则拒绝删除该索引。这是默认值。
Examples
此命令将删除索引title_idx
:
DROP INDEX title_idx;
Compatibility
DROP INDEX
是 PostgreSQL 语言扩展。 SQL 标准中没有索引的规定。