DROP INDEX
更新时间:2026-06-25
DROP INDEX
删除索引。
语法
SQL
1 DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
2 ```
3
4
5
6## 描述
7
8`DROP INDEX`从数据库系统删除现有索引。 要执行此命令,您必须是索引的所有者。
9
10
11
12## 参数
13
14该SQL命令参数说明见下
15
16`CONCURRENTLY`
17: 删除索引而不锁定索引表上的并发选择,插入,更新和删除。 普通的`DROP INDEX`在表上获取排他锁,从而阻止其他访问,直到可以完成索引删除为止。使用此选项,命令将一直等到冲突的事务完成。
18
19 使用此选项时需要注意几个注意事项。 只能指定一个索引名称,并且不支持`CASCADE`选项。(因此,不能以这种方式删除支持`UNIQUE`或`PRIMARY KEY`约束的索引。) 而且,可以在事务块内执行常规的`DROP INDEX`命令,但不能以`DROP INDEX CONCURRENTLY`方式执行。
20
21
22`IF EXISTS`
23: 如果该索引不存在,请不要报错。在这种情况下会发出通知。
24
25`name`
26: 现有索引的名称(可以由模式指定)。
27
28`CASCADE`
29: 自动删除依赖于索引的对象。
30
31`RESTRICT`
32: 如果有任何对象依赖该索引,则拒绝删除该索引。这是默认值。
33
34
35
36## 示例
37
38删除索引`title_idx`:
39
40 ``` sql
41 DROP INDEX title_idx;
42 ```
43
44
45
46兼容性说明
47: `DROP INDEX`是PalopgMPP数据库语言的扩展。 SQL标准中没有索引的规定。
48
49
50
51相关SQL命令
52: ` ALTER INDEX ` , ` CREATE INDEX ` , ` REINDEX `
评价此篇文章
