SQL COMMAND · 类型与运算符
CREATE OPERATOR FAMILY
定义一个新的操作符族
CREATE类型与运算符引入 10(基线)现存至 20 devel0 次语法变更
- 动词
CREATE- 对象
OPERATOR FAMILY- 分组
- 类型与运算符
- 引入版本
- 10(基线)
- 状态
- 现存
- 语法变更次数
- 0
- 手册小节数
- 4
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
语法概要
CREATE OPERATOR FAMILY name USING index_method
描述
CREATE OPERATOR FAMILY创建一个新的操作符族。操作符族定义了一组相关的操作符类,以及可能还有一些与这些操作符类兼容、但对任何单个索引的正常工作都不是必需的额外操作符和支持函数。(那些对索引必不可少的操作符和函数应归入相应的操作符类,而不是作为操作符族中的“松散”成员。通常,单一数据类型的操作符属于操作符类,而跨数据类型的操作符则可以作为操作符族中的松散成员,该操作符族包含这两种数据类型对应的操作符类。)
新的操作符族最初是空的。应当通过随后发出的 CREATE OPERATOR CLASS命令向其中添加所包含的操作符类,并可选择通过 ALTER OPERATOR FAMILY命令添加“松散”操作符及其对应的支持函数。
如果给出了模式名称,该操作符族会被创建在指定的模式中。否则,它会被创建在当前模式中。只有当同一模式中的两个操作符族用于不同的索引方法时,它们才能具有相同的名称。
定义操作符族的用户将成为其拥有者。当前,创建该对象的用户必须是超级用户。(之所以这样限制,是因为错误的操作符族定义可能会使服务器混乱,甚至导致崩溃。)
更多信息请参见第 36.16 节。
参数
name要创建的操作符族名称。该名称可以是模式限定的。
index_method该操作符族所对应的索引方法名称。
兼容性
CREATE OPERATOR FAMILY是一种 PostgreSQL扩展。SQL 标准中没有 CREATE OPERATOR FAMILY语句。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 17← 16正文更新
正文更新PostgreSQL 14← 13正文更新
正文更新PostgreSQL 12← 11正文更新
正文更新PostgreSQL 11← 10正文更新
正文更新
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
CREATE CAST | CREATE | CAST | — | |
| 定义一种新的类型转换 | 现存 | |||
DROP CAST | DROP | CAST | — | |
| 移除一个类型转换 | 现存 | |||
CREATE COLLATION | CREATE | COLLATION | 162 次 | |
| 定义一种新排序规则 | 现存 | |||
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 | 171 次 | |
| 定义一个新域 | 现存 | |||
ALTER DOMAIN | ALTER | DOMAIN | 142 次 | |
| 更改一个域的定义 | 现存 | |||
DROP DOMAIN | DROP | DOMAIN | — | |
| 移除一个域 | 现存 | |||
CREATE OPERATOR | CREATE | OPERATOR | 192 次 | |
| 定义一个新的操作符 | 现存 | |||
ALTER OPERATOR | ALTER | OPERATOR | 172 次 | |
| 更改一个操作符的定义 | 现存 | |||
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 | — | |
| 移除一个数据类型 | 现存 | |||