SQL COMMAND · 类型与运算符
DROP OPERATOR CLASS
移除一个操作符类
DROP类型与运算符引入 10(基线)现存至 20 devel0 次语法变更
- 动词
DROP- 对象
OPERATOR CLASS- 分组
- 类型与运算符
- 引入版本
- 10(基线)
- 状态
- 现存
- 语法变更次数
- 0
- 手册小节数
- 6
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
语法概要
DROP OPERATOR CLASS [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]
描述
DROP OPERATOR CLASS删除一个现有操作符类。 要执行此命令,你必须是该操作符类的拥有者。
DROP OPERATOR CLASS不会删除该类所引用的任何操作符或函数。 如果有索引依赖于该操作符类,你将需要指定CASCADE 才能完成删除。
参数
IF EXISTS如果该操作符类不存在,则不要抛出错误。这种情况下会发出一个提示。
name一个现有操作符类的名称(可以被模式限定)。
index_method该操作符类所属索引访问方法的名称。
CASCADE自动删除依赖于该操作符类的对象(例如索引),以及进一步依赖于这些对象的所有对象 (参见Section 5.15)。
RESTRICT如果有任何对象依赖于该操作符类,则拒绝删除它。这是默认值。
注解
DROP OPERATOR CLASS不会删除包含该类的操作符族, 即使该族中已经没有任何其他成员 (尤其是在该族由CREATE OPERATOR CLASS隐式创建的情况下)。 空的操作符族并无害处,但为了整洁起见,你也许会希望用 DROP OPERATOR FAMILY删除该族;或者更好的做法是, 一开始就直接使用DROP OPERATOR FAMILY。
示例
移除 B-tree 操作符类widget_ops:
DROP OPERATOR CLASS widget_ops USING btree;
如果仍有索引使用该操作符类,此命令将不会成功。 加上CASCADE可以在删除操作符类的同时删除这类索引。
兼容性
SQL 标准中没有DROP OPERATOR CLASS语句。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 20← 19正文更新
正文更新PostgreSQL 19← 18正文更新
正文更新PostgreSQL 14← 13正文更新
正文更新PostgreSQL 12← 11正文更新
正文更新
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
CREATE CAST | CREATE | CAST | — | |
| 定义一种新的类型转换 | 现存 | |||
DROP CAST | DROP | CAST | — | |
| 移除一个类型转换 | 现存 | |||
CREATE COLLATION | CREATE | COLLATION | 142 次 | |
| 定义一种新排序规则 | 现存 | |||
ALTER COLLATION | ALTER | COLLATION | 141 次 | |
| 更改排序规则的定义 | 现存 | |||
DROP COLLATION | DROP | COLLATION | — | |
| 删除一个排序规则 | 现存 | |||
CREATE CONVERSION | CREATE | CONVERSION | — | |
| 定义一个新的编码转换 | 现存 | |||
ALTER CONVERSION | ALTER | CONVERSION | 141 次 | |
| 更改一个转换的定义 | 现存 | |||
DROP CONVERSION | DROP | CONVERSION | — | |
| 移除一个转换 | 现存 | |||
CREATE DOMAIN | CREATE | DOMAIN | 142 次 | |
| 定义一个新域 | 现存 | |||
ALTER DOMAIN | ALTER | DOMAIN | 142 次 | |
| 更改一个域的定义 | 现存 | |||
DROP DOMAIN | DROP | DOMAIN | — | |
| 移除一个域 | 现存 | |||
CREATE OPERATOR | CREATE | OPERATOR | 192 次 | |
| 定义一个新的操作符 | 现存 | |||
ALTER OPERATOR | ALTER | OPERATOR | 141 次 | |
| 更改一个操作符的定义 | 现存 | |||
DROP OPERATOR | DROP | OPERATOR | 141 次 | |
| 移除一个操作符 | 现存 | |||
CREATE OPERATOR CLASS | CREATE | OPERATOR CLASS | — | |
| 定义一个新的操作符类 | 现存 | |||
ALTER OPERATOR CLASS | ALTER | OPERATOR CLASS | 141 次 | |
| 更改一个操作符类的定义 | 现存 | |||
DROP OPERATOR CLASS | DROP | OPERATOR CLASS | — | |
| 移除一个操作符类 | 现存 | |||
CREATE OPERATOR FAMILY | CREATE | OPERATOR FAMILY | — | |
| 定义一个新的操作符族 | 现存 | |||
ALTER OPERATOR FAMILY | ALTER | OPERATOR FAMILY | 141 次 | |
| 更改一个操作符族的定义 | 现存 | |||
DROP OPERATOR FAMILY | DROP | OPERATOR FAMILY | — | |
| 移除一个操作符族 | 现存 | |||
CREATE TYPE | CREATE | TYPE | 141 次 | |
| 定义一种新的数据类型 | 现存 | |||
ALTER TYPE | ALTER | TYPE | 142 次 | |
| 更改类型的定义 | 现存 | |||
DROP TYPE | DROP | TYPE | — | |
| 移除一个数据类型 | 现存 | |||