↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / SQL 命令 / 类型与运算符

SQL COMMAND · 类型与运算符

DROP OPERATOR CLASS

移除一个操作符类

remove an operator class

DROP类型与运算符引入 7.3现存至 20 devel2 次语法变更

动词
DROP
对象
OPERATOR CLASS
引入版本
7.3
状态
现存
语法变更次数
2
手册小节数
6

本站手册 · 18官方文档 ↗

版本轨迹

相对 PostgreSQL 17 无变化。

语法铁道图 PostgreSQL 18

沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。

DROP OPERATOR CLASS IF EXISTS name USING index_method CASCADE RESTRICT

语法概要

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

PostgreSQL 18 手册 · 查看完整参考页

描述

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

另见

语法演化

相邻大版本之间的差异,新的在前。版本号链接到对应快照。

  1. PostgreSQL 19← 18正文更新

    正文更新
  2. PostgreSQL 17← 16正文更新

    正文更新
  3. PostgreSQL 12← 11正文更新

    正文更新
  4. PostgreSQL 9.6← 9.5正文更新

    正文更新
  5. PostgreSQL 8.3← 8.2正文更新

    正文更新
  6. PostgreSQL 8.2← 8.1语法变化

    + DROP OPERATOR CLASS [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]正文更新
  7. PostgreSQL 7.4← 7.3语法变化

    + DROP OPERATOR CLASS name USING index_method [ CASCADE | RESTRICT ]− DROP OPERATOR CLASS name USING access_method [ CASCADE | RESTRICT ]正文更新
  8. PostgreSQL 7.3← 7.2新增此命令

同组命令

命令动词对象版本变动最近变更
TYPES & OPERATORS类型与运算符23 条↑
CREATE CASTCREATECAST 104 次
定义一种新的类型转换现存
DROP CASTDROPCAST 9.02 次
移除一个类型转换现存
CREATE COLLATIONCREATECOLLATION 163 次
定义一种新排序规则现存
ALTER COLLATIONALTERCOLLATION 143 次
更改排序规则的定义现存
DROP COLLATIONDROPCOLLATION —
删除一个排序规则现存
CREATE CONVERSIONCREATECONVERSION 9.02 次
定义一个新的编码转换现存
ALTER CONVERSIONALTERCONVERSION 145 次
更改一个转换的定义现存
DROP CONVERSIONDROPCONVERSION 8.22 次
移除一个转换现存
CREATE DOMAINCREATEDOMAIN 174 次
定义一个新域现存
ALTER DOMAINALTERDOMAIN 145 次
更改一个域的定义现存
DROP DOMAINDROPDOMAIN 8.22 次
移除一个域现存
CREATE OPERATORCREATEOPERATOR 198 次
定义一个新的操作符现存
ALTER OPERATORALTEROPERATOR 176 次
更改一个操作符的定义现存
DROP OPERATORDROPOPERATOR 148 次
移除一个操作符现存
CREATE OPERATOR CLASSCREATEOPERATOR CLASS 9.15 次
定义一个新的操作符类现存
ALTER OPERATOR CLASSALTEROPERATOR CLASS 145 次
更改一个操作符类的定义现存
DROP OPERATOR CLASSDROPOPERATOR CLASS 8.22 次
移除一个操作符类现存
CREATE OPERATOR FAMILYCREATEOPERATOR FAMILY —
定义一个新的操作符族现存
ALTER OPERATOR FAMILYALTEROPERATOR FAMILY 146 次
更改一个操作符族的定义现存
DROP OPERATOR FAMILYDROPOPERATOR FAMILY —
移除一个操作符族现存
CREATE TYPECREATETYPE 1413 次
定义一种新数据类型现存
ALTER TYPEALTERTYPE 148 次
更改类型的定义现存
DROP TYPEDROPTYPE 8.24 次
移除一个数据类型现存