Man page - create_operator_class(7)
Manual
CREATE OPERATOR CLASS
NAMESYNOPSIS
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