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命令添加 “松散”操作符及其对应的支持函数。
如果给出了模式名称,该操作符族会被创建在指定的模式中。否则,它会被 创建在当前模式中。只有当同一模式中的两个操作符族用于不同的索引方法时, 它们才能具有相同的名称。
定义操作符族的用户将成为其拥有者。当前,创建该对象的用户必须是超级用户。 (之所以这样限制,是因为错误的操作符族定义可能会使服务器混乱,甚至导致 崩溃。)
更多信息请参见Section 36.16。
参数
name要创建的操作符族名称。该名称可以是模式限定的。
index_method该操作符族所对应的索引方法名称。
兼容性
CREATE OPERATOR FAMILY是一种 PostgreSQL扩展。SQL 标准中没有 CREATE OPERATOR FAMILY语句。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 14← 13正文更新
正文更新PostgreSQL 12← 11正文更新
正文更新PostgreSQL 11← 10正文更新
正文更新
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
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 | — | |
| 移除一个数据类型 | 现存 | |||