Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

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

如果该运算符类不存在,请不要引发错误。在这种情况下,会发出通知。

名称

现有的运算符类的名称(可选指定架构限定)。

索引方法

该运算符类所针对的索引访问方法的名称。

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 语句。

另请参见

ALTER OPERATOR CLASSCREATE OPERATOR CLASSDROP OPERATOR FAMILY