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

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

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

SQL COMMAND · 类型与运算符

CREATE OPERATOR FAMILY

定义一个新的操作符族

CREATE类型与运算符引入 10(基线)现存至 20 devel0 次语法变更

动词
CREATE
对象
OPERATOR FAMILY
引入版本
10(基线)
状态
现存
语法变更次数
0
手册小节数
4

本站手册 · 18官方文档 ↗

版本轨迹

相对 PostgreSQL 17 无变化。

语法铁道图 PostgreSQL 18

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

CREATE OPERATOR FAMILY name USING index_method

语法概要

CREATE OPERATOR FAMILY name USING index_method

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

描述

CREATE OPERATOR FAMILY创建一个新的操作符族。操作符族定义了一组相关的操作符类,以及可能还有一些与这些操作符类兼容、但对任何单个索引的正常工作都不是必需的额外操作符和支持函数。(那些对索引必不可少的操作符和函数应归入相应的操作符类,而不是作为操作符族中的“松散”成员。通常,单一数据类型的操作符属于操作符类,而跨数据类型的操作符则可以作为操作符族中的松散成员,该操作符族包含这两种数据类型对应的操作符类。)

新的操作符族最初是空的。应当通过随后发出的 CREATE OPERATOR CLASS命令向其中添加所包含的操作符类,并可选择通过 ALTER OPERATOR FAMILY命令添加“松散”操作符及其对应的支持函数。

如果给出了模式名称,该操作符族会被创建在指定的模式中。否则,它会被创建在当前模式中。只有当同一模式中的两个操作符族用于不同的索引方法时,它们才能具有相同的名称。

定义操作符族的用户将成为其拥有者。当前,创建该对象的用户必须是超级用户。(之所以这样限制,是因为错误的操作符族定义可能会使服务器混乱,甚至导致崩溃。)

更多信息请参见第 36.16 节。

参数

name

要创建的操作符族名称。该名称可以是模式限定的。

index_method

该操作符族所对应的索引方法名称。

兼容性

CREATE OPERATOR FAMILY是一种 PostgreSQL扩展。SQL 标准中没有 CREATE OPERATOR FAMILY语句。

另见

语法演化

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

  1. PostgreSQL 17← 16正文更新

    正文更新
  2. PostgreSQL 14← 13正文更新

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

    正文更新
  4. PostgreSQL 11← 10正文更新

    正文更新

同组命令

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