Postgresql 中文操作指南

DROP INDEX

DROP INDEX — 删除索引

Synopsis

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

Description

DROP INDEX 从数据库系统中删除现有索引。要执行此命令,您必须是索引的所有者。

Parameters

  • CONCURRENTLY

    • 删除索引而不锁定索引表中的并发选择、插入、更新和删除。正常 DROP INDEX 获取表上的 ACCESS EXCLUSIVE 锁,阻塞其他访问,直至索引删除完成。使用此选项时,该命令会等待冲突事务完成。

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

    • 对于临时表, DROP INDEX 始终是非并发的,因为没有其他会话可以访问它们,并且非并发索引删除成本较低。

  • IF EXISTS

    • 如果索引不存在,请不要抛出错误。这种情况下会发出通知。

  • name

    • 要删除的索引的名称(可选的模式限定)。

  • CASCADE

    • 自动删除依赖于该索引的对象,以及依次删除依赖于这些对象的全部对象(请参阅 Section 5.14 )。

  • RESTRICT

    • 如果任何对象依赖于索引,则拒绝删除该索引。这是默认设置。

Examples

此命令将删除索引 title_idx :

DROP INDEX title_idx;

Compatibility

DROP INDEX 是一个 PostgreSQL 语言扩展。SQL 标准中没有关于索引的规定。

See Also