选择 打开 改范围 完整检索页

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命令添加 松散操作符及其对应的支持函数。

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

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

更多信息请参见Section 36.16

参数

name

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

index_method

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

兼容性

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

另见

语法演化

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

  1. PostgreSQL 14← 13正文更新

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

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

    正文更新

同组命令

命令动词对象版本变动最近变更
TYPES & OPERATORS类型与运算符23 条
CREATE CASTCREATECAST
定义一种新的类型转换现存
DROP CASTDROPCAST
移除一个类型转换现存
CREATE COLLATIONCREATECOLLATION 142 次
定义一种新排序规则现存
ALTER COLLATIONALTERCOLLATION 141 次
更改排序规则的定义现存
DROP COLLATIONDROPCOLLATION
删除一个排序规则现存
CREATE CONVERSIONCREATECONVERSION
定义一个新的编码转换现存
ALTER CONVERSIONALTERCONVERSION 141 次
更改一个转换的定义现存
DROP CONVERSIONDROPCONVERSION
移除一个转换现存
CREATE DOMAINCREATEDOMAIN 142 次
定义一个新域现存
ALTER DOMAINALTERDOMAIN 142 次
更改一个域的定义现存
DROP DOMAINDROPDOMAIN
移除一个域现存
CREATE OPERATORCREATEOPERATOR 192 次
定义一个新的操作符现存
ALTER OPERATORALTEROPERATOR 141 次
更改一个操作符的定义现存
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
移除一个数据类型现存