支持的版本:当前 (17) / 16 / 15 / 14 / 13
开发版本:开发版
不支持的版本:12 / 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 语句。

提交更正

如果您在文档中发现任何不正确、与您对特定功能的体验不符或需要进一步澄清的地方,请使用此表单报告文档问题。