2024 年 9 月 26 日:PostgreSQL 17 发布!
支持版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不支持的版本:11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3

DROP OPERATOR CLASS

DROP OPERATOR CLASS — 删除操作符类

概要

DROP OPERATOR CLASS [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]

描述

DROP OPERATOR CLASS 删除现有操作符类。要执行此命令,您必须是操作符类的所有者。

DROP OPERATOR CLASS 不会删除类引用的任何操作符或函数。如果有任何依赖于操作符类的索引,您需要指定 CASCADE 以完成删除。

参数

IF EXISTS

如果操作符类不存在,则不抛出错误。在这种情况下会发出通知。

name

现有操作符类的名称(可选地限定为模式)。

index_method

操作符类所属的索引访问方法的名称。

CASCADE

自动删除依赖于操作符类的对象(如索引),以及依次删除所有依赖于这些对象的其它对象(参见 第 5.15 节)。

RESTRICT

如果任何对象依赖于操作符类,则拒绝删除它。这是默认值。

备注

DROP OPERATOR CLASS 不会删除包含该类的操作符族,即使族中没有其它内容(特别是,在 CREATE OPERATOR CLASS 隐式创建族的情况下)。空的运算符族是无害的,但为了整洁起见,您可能希望使用 DROP OPERATOR FAMILY 删除族;或者,最好还是从一开始就使用 DROP OPERATOR FAMILY

示例

删除 B 树操作符类 widget_ops

DROP OPERATOR CLASS widget_ops USING btree;

如果存在任何使用该操作符类的现有索引,则此命令将无法成功。添加 CASCADE 以删除此类索引以及操作符类。

兼容性

SQL 标准中没有 DROP OPERATOR CLASS 语句。

提交更正

如果您在文档中发现任何不正确的内容,与您对特定功能的体验不符,或者需要进一步说明,请使用 此表格 报告文档问题。