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

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

百科 / 运算符族 / GiST 操作符家族

gist/multirange_ops (family)

GiST 操作符家族 containing 1 classes, 18 operator strategies and 7 support functions in this source build。

当前查看 PostgreSQL 18.6。

说明

GiST 操作符家族 containing 1 classes, 18 operator strategies and 7 support functions in this source build。

对象种类
操作符家族
索引访问方法
GiST

用法

gist/multirange_ops

操作符类与家族

一个索引定义可以为索引的每一列指定一个 操作符类 。

操作符类标识该索引在该列上要使用哪些操作符。例如,类型 int4 上的一个 B-树索引会使用 int4_ops 类;这个操作符类包含对 int4 值进行比较所需的函数。实践中,列数据类型的默认操作符类通常已经足够。之所以存在操作符类,主要是因为对某些数据类型来说,可能存在多种有意义的索引行为。例如,我们可能希望按绝对值排序一种复数数据类型,也可能希望按实部排序。我们可以通过为该数据类型定义两个操作符类,并在创建索引时选择合适的那个来做到这一点。操作符类决定了基础排序顺序(之后还可以通过添加排序选项 COLLATE 、 ASC / DESC 和/或 NULLS FIRST / NULLS LAST 来修改)。

除了默认操作符类之外,还有一些内置操作符类:

家族中的操作符策略

操作符重载策略用途排序家族成员范围源码说明
<<(anymultirange,anymultirange)1搜索家族成员位于左侧
<<(anymultirange,anyrange)1搜索家族成员位于左侧
&<(anymultirange,anymultirange)2搜索家族成员重叠或位于左侧
&<(anymultirange,anyrange)2搜索家族成员重叠或位于左侧
&&(anymultirange,anymultirange)3搜索家族成员重叠
&&(anymultirange,anyrange)3搜索家族成员重叠
&>(anymultirange,anymultirange)4搜索家族成员重叠或位于右侧
&>(anymultirange,anyrange)4搜索家族成员重叠或位于右侧
>>(anymultirange,anymultirange)5搜索家族成员位于右侧
>>(anymultirange,anyrange)5搜索家族成员位于右侧
-|-(anymultirange,anymultirange)6搜索家族成员相邻
-|-(anymultirange,anyrange)6搜索家族成员相邻
@>(anymultirange,anymultirange)7搜索家族成员包含
@>(anymultirange,anyrange)7搜索家族成员包含
<@(anymultirange,anymultirange)8搜索家族成员被包含于
<@(anymultirange,anyrange)8搜索家族成员被包含于
@>(anymultirange,anyelement)16搜索家族成员包含
=(anymultirange,anymultirange)18搜索家族成员等于

家族支持函数

支持函数编号左侧类型右侧类型函数签名返回类型
1anymultirangeanymultirangemultirange_gist_consistent(internal,anymultirange,int2,oid,internal)bool
2anymultirangeanymultirangerange_gist_union(internal,internal)anyrange
3anymultirangeanymultirangemultirange_gist_compress(internal)内部
5anymultirangeanymultirangerange_gist_penalty(internal,internal,internal)内部
6anymultirangeanymultirangerange_gist_picksplit(internal,internal)内部
7anymultirangeanymultirangerange_gist_same(anyrange,anyrange,internal)内部
12anyanygist_translate_cmptype_common(int4)int2

本家族的操作符类

操作符类输入类型键类型默认值
multirange_opsanymultirangeanyrange是

相关条目

文档与源码

来源构建
版本
18.6
构建
https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
来源指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f

版本比较

PostgreSQL 13 → 14: 新增收录。

以下差异保留原始字段名与英文源描述。

--- PostgreSQL 13
+++ PostgreSQL 14
@@ -1 +1,255 @@
-该版未收录
+{
+  "attributes": {
+    "method": "gist",
+    "name": "multirange_ops"
+  },
+  "classes": [
+    {
+      "default": "t",
+      "family": "multirange_ops",
+      "input_type": "anymultirange",
+      "key_type": "anyrange",
+      "method": "gist",
+      "name": "multirange_ops"
+    }
+  ],
+  "kind": "family",
+  "operators": [
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "@>(anymultirange,anyelement)",
+      "purpose": "search",
+      "right_type": "anyelement",
+      "sort_family": "",
+      "strategy": "16"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "<<(anymultirange,anymultirange)",
+      "purpose": "search",
+      "right_type": "anymultirange",
+      "sort_family": "",
+      "strategy": "1"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "=(anymultirange,anymultirange)",
+      "purpose": "search",
+      "right_type": "anymultirange",
+      "sort_family": "",
+      "strategy": "18"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "&<(anymultirange,anymultirange)",
+      "purpose": "search",
+      "right_type": "anymultirange",
+      "sort_family": "",
+      "strategy": "2"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "&&(anymultirange,anymultirange)",
+      "purpose": "search",
+      "right_type": "anymultirange",
+      "sort_family": "",
+      "strategy": "3"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "&>(anymultirange,anymultirange)",
+      "purpose": "search",
+      "right_type": "anymultirange",
+      "sort_family": "",
+      "strategy": "4"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": ">>(anymultirange,anymultirange)",
+      "purpose": "search",
+      "right_type": "anymultirange",
+      "sort_family": "",
+      "strategy": "5"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "-|-(anymultirange,anymultirange)",
+      "purpose": "search",
+      "right_type": "anymultirange",
+      "sort_family": "",
+      "strategy": "6"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "@>(anymultirange,anymultirange)",
+      "purpose": "search",
+      "right_type": "anymultirange",
+      "sort_family": "",
+      "strategy": "7"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "<@(anymultirange,anymultirange)",
+      "purpose": "search",
+      "right_type": "anymultirange",
+      "sort_family": "",
+      "strategy": "8"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "<<(anymultirange,anyrange)",
+      "purpose": "search",
+      "right_type": "anyrange",
+      "sort_family": "",
+      "strategy": "1"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "&<(anymultirange,anyrange)",
+      "purpose": "search",
+      "right_type": "anyrange",
+      "sort_family": "",
+      "strategy": "2"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "&&(anymultirange,anyrange)",
+      "purpose": "search",
+      "right_type": "anyrange",
+      "sort_family": "",
+      "strategy": "3"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "&>(anymultirange,anyrange)",
+      "purpose": "search",
+      "right_type": "anyrange",
+      "sort_family": "",
+      "strategy": "4"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": ">>(anymultirange,anyrange)",
+      "purpose": "search",
+      "right_type": "anyrange",
+      "sort_family": "",
+      "strategy": "5"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "-|-(anymultirange,anyrange)",
+      "purpose": "search",
+      "right_type": "anyrange",
+      "sort_family": "",
+      "strategy": "6"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "@>(anymultirange,anyrange)",
+      "purpose": "search",
+      "right_type": "anyrange",
+      "sort_family": "",
+      "strategy": "7"
+    },
+    {
+      "family": "multirange_ops",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "operator": "<@(anymultirange,anyrange)",
+      "purpose": "search",
+      "right_type": "anyrange",
+      "sort_family": "",
+      "strategy": "8"
+    }
+  ],
+  "support_functions": [
+    {
+      "family": "multirange_ops",
+      "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "number": "1",
+      "result_type": "bool",
+      "right_type": "anymultirange"
+    },
+    {
+      "family": "multirange_ops",
+      "function": "range_gist_union(internal,internal)",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "number": "2",
+      "result_type": "anyrange",
+      "right_type": "anymultirange"
+    },
+    {
+      "family": "multirange_ops",
+      "function": "multirange_gist_compress(internal)",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "number": "3",
+      "result_type": "internal",
+      "right_type": "anymultirange"
+    },
+    {
+      "family": "multirange_ops",
+      "function": "range_gist_penalty(internal,internal,internal)",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "number": "5",
+      "result_type": "internal",
+      "right_type": "anymultirange"
+    },
+    {
+      "family": "multirange_ops",
+      "function": "range_gist_picksplit(internal,internal)",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "number": "6",
+      "result_type": "internal",
+      "right_type": "anymultirange"
+    },
+    {
+      "family": "multirange_ops",
+      "function": "range_gist_same(anyrange,anyrange,internal)",
+      "left_type": "anymultirange",
+      "method": "gist",
+      "number": "7",
+      "result_type": "internal",
+      "right_type": "anymultirange"
+    }
+  ]
+}

比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。

相关条目

导出 JSON · 返回运算符族 · 收录范围为 PostgreSQL 14 至 20;最早采样版本不一定是实际引入版本。