Man page - create_operator_class(7)

Manual

CREATE OPERATOR CLASS

NAME
SYNOPSIS
DESCRIPTION 描 述
PARAMETERS 参 数
EXAMPLES 例 子
COMPATIBILITY 兼 容 性
SEE ALSO 参 见
译 者


NAME

CREATE OPERATOR CLASS - 定 义 一 个 新 的 操 作 符 类

SYNOPSIS

CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type USING index_method AS
{ OPERATOR strategy_number operator_name [ ( op_type , op_type ) ] [ RECHECK ]
| FUNCTION support_number funcname ( argument_type [, ...] )
| STORAGE storage_type
} [, ... ]

DESCRIPTION 描 述

CREATE OPERATOR CLASS 定 义 一 个 新 的 操 作 符 表 。 一 个 操 作 符 表 定 义 一 种 特 定 的 数 据 类 型 可 以 如 何 与 一 种 索 引 一 起 使 用 。 操 作 符 表 声 明 特 定 的 操 作 符 可 以 为 这 种 数 据 类 型 以 及 这 种 索 引 方 法 填 充 特 定 角 色 或 者 "策 略 "。 操 作 符 表 还 声 明 索 引 方 法 在 为 一 个 索 引 字 段 选 定 该 操 作 符 表 的 时 候 要 使 用 的 支 持 过 程 。 所 有 操 作 符 表 使 用 的 函 数 和 操 作 符 都 必 须 在 创 建 操 作 符 表 之 前 定 义 。

如 果 给 出 了 模 式 名 字 , 那 么 操 作 符 表 就 在 指 定 的 模 式 中 创 建 。 否 则 就 在 当 前 模 式 中 创 建 ( 在 搜 索 路 径 前 面 的 那 个 ; 参 阅 CURRENT_SCHEMA()) 。 在 同 一 个 模 式 中 的 两 个 操 作 符 表 可 以 有 同 样 的 名 字 , 但 它 们 必 须 用 于 不 同 的 索 引 方 法 。

定 义 操 作 符 表 的 用 户 成 为 其 所 有 者 。 目 前 , 创 造 者 必 须 是 超 级 用 户 。 ( 作 这 样 的 限 制 是 因 为 一 个 有 问 题 的 操 作 符 表 定 义 会 让 服 务 器 困 惑 , 甚 至 崩 溃 。 )

CREATE OPERATOR CLASS 目 前 并 不 检 查 这 个 类 定 义 是 否 包 含 所 有 索 引 方 法 需 要 操 作 符 以 及 函 数 。 定 义 一 个 合 法 的 操 作 符 表 是 用 户 的 责 任 。

参 考 ‘‘Interfacing Extensions to Indexes’’ 获 取 更 多 信 息 。

PARAMETERS 参 数

name

将 要 创 建 的 操 作 符 表 的 名 字 。 名 字 可 以 用 模 式 修 饰 。

DEFAULT

如 果 出 现 了 这 个 键 字 , 那 么 该 操 作 符 表 将 成 为 它 的 数 据 类 型 的 缺 省 操 作 符 表 。 对 于 某 个 数 据 类 型 和 访 问 方 式 而 言 , 最 多 可 以 有 一 个 操 作 符 表 是 缺 省 的 。

data_type

这 个 操 作 符 表 处 理 的 字 段 数 据 类 型 。

index_method

这 个 操 作 符 表 处 理 的 索 引 访 问 方 式 的 名 字 。

strategy_number

一 个 操 作 符 和 这 个 操 作 符 表 关 联 的 索 引 访 问 方 式 的 策 略 数 。

operator_name

一 个 和 该 操 作 符 表 关 联 的 操 作 符 的 名 字 ( 可 以 用 模 式 修 饰 ) 。

op_type

一 个 操 作 符 的 输 入 数 据 类 型 , 或 者 是 NONE 表 示 左 目 或 者 右 目 操 作 符 。 通 常 情 况 下 可 以 省 略 输 入 数 据 类 型 , 因 为 这 个 时 候 它 们 和 操 作 符 表 的 数 据 类 型 相 同 。

RECHECK

如 果 出 现 , 那 么 索 引 对 这 个 操 作 符 是 "lossy"( 有 损 耗 的 ) , 因 此 , 使 用 这 个 索 引 检 索 的 行 必 须 重 新 检 查 , 以 保 证 它 们 真 正 满 足 和 此 操 作 符 相 关 的 条 件 子 句 。

support_number

索 引 方 法 对 一 个 与 操 作 符 表 关 联 的 函 数 的 支 持 过 程 数 。

funcname

一 个 函 数 的 名 字 ( 可 以 有 模 式 修 饰 ) , 这 个 函 数 是 索 引 访 问 方 式 对 此 操 作 符 表 的 支 持 过 程 。

argument_types

函 数 的 参 数 数 据 类 型 。

storage_type

实 际 存 储 在 索 引 里 的 数 据 类 型 。 通 常 它 和 字 段 数 据 类 型 相 同 , 但 是 一 些 索 引 方 法 ( 到 目 前 为 止 只 有 GIST) 允 许 它 是 不 同 的 。 除 非 索 引 方 法 允 许 使 用 一 种 不 同 的 类 型 , 否 则 必 须 省 略 STORAGE 子 句 。

OPERATOR, FUNCTION, 和 STORAGE 子 句 可 以 按 照 任 意 顺 序 出 现 。

EXAMPLES 例 子

下 面 的 例 子 命 令 为 数 据 类 型 _int4( int4 的 数 组 ) 定 义 了 一 个 GiST 索 引 操 作 符 表 。 参 阅 contrib/intarray/ 获 取 完 整 的 例 子 。

CREATE OPERATOR CLASS gist__int_ops
DEFAULT FOR TYPE _int4 USING gist AS
OPERATOR 3 &&,
OPERATOR 6 = RECHECK,
OPERATOR 7 @,
OPERATOR 8 ˜,
OPERATOR 20 @@ (_int4, query_int),
FUNCTION 1 g_int_consistent (internal, _int4, int4),
FUNCTION 2 g_int_union (bytea, internal),
FUNCTION 3 g_int_compress (internal),
FUNCTION 4 g_int_decompress (internal),
FUNCTION 5 g_int_penalty (internal, internal, internal),
FUNCTION 6 g_int_picksplit (internal, internal),
FUNCTION 7 g_int_same (_int4, _int4, internal);

COMPATIBILITY 兼 容 性

CREATE OPERATOR CLASS 是 一 个 PostgreSQL 扩 展 。 在 SQL 标 准 中 没 有 CREATE OPERATOR CLASS。

SEE ALSO 参 见

ALTER OPERATOR CLASS [ alter_operator_class (7)], DROP OPERATOR CLASS [ drop_operator_class (l)]

译 者

Postgresql 中 文 网 站 何 伟 平 <laser@pgsqldb.org>

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。
中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh