brin/float8_minmax_multi_ops (class)
float8 类型的 BRIN 操作符类,属于 float_minmax_multi_ops 家族。
当前查看 PostgreSQL 18.6。
说明
float8 类型的 BRIN 操作符类,属于 float_minmax_multi_ops 家族。
- 对象种类
- 操作符类
- 索引访问方法
- BRIN
- 输入类型
- float8
- 存储键类型
- float8
- 默认操作符类
- 否
用法
brin/float8_minmax_multi_ops操作符类与家族
一个索引定义可以为索引的每一列指定一个 操作符类 。
操作符类标识该索引在该列上要使用哪些操作符。例如,类型 int4 上的一个 B-树索引会使用 int4_ops 类;这个操作符类包含对 int4 值进行比较所需的函数。实践中,列数据类型的默认操作符类通常已经足够。之所以存在操作符类,主要是因为对某些数据类型来说,可能存在多种有意义的索引行为。例如,我们可能希望按绝对值排序一种复数数据类型,也可能希望按实部排序。我们可以通过为该数据类型定义两个操作符类,并在创建索引时选择合适的那个来做到这一点。操作符类决定了基础排序顺序(之后还可以通过添加排序选项 COLLATE 、 ASC / DESC 和/或 NULLS FIRST / NULLS LAST 来修改)。
除了默认操作符类之外,还有一些内置操作符类:
家族中的操作符策略
| 操作符重载 | 策略 | 用途 | 排序家族 | 成员范围 | 源码说明 |
|---|---|---|---|---|---|
| <(float4,float4) | 1 | 搜索 | 家族成员 | 小于 | |
| <=(float4,float4) | 2 | 搜索 | 家族成员 | 小于等于 | |
| =(float4,float4) | 3 | 搜索 | 家族成员 | 等于 | |
| >=(float4,float4) | 4 | 搜索 | 家族成员 | 大于等于 | |
| >(float4,float4) | 5 | 搜索 | 家族成员 | 大于 | |
| <(float4,float8) | 1 | 搜索 | 家族成员 | 小于 | |
| <=(float4,float8) | 2 | 搜索 | 家族成员 | 小于等于 | |
| =(float4,float8) | 3 | 搜索 | 家族成员 | 等于 | |
| >=(float4,float8) | 4 | 搜索 | 家族成员 | 大于等于 | |
| >(float4,float8) | 5 | 搜索 | 家族成员 | 大于 | |
| <(float8,float4) | 1 | 搜索 | 家族成员 | 小于 | |
| <=(float8,float4) | 2 | 搜索 | 家族成员 | 小于等于 | |
| =(float8,float4) | 3 | 搜索 | 家族成员 | 等于 | |
| >=(float8,float4) | 4 | 搜索 | 家族成员 | 大于等于 | |
| >(float8,float4) | 5 | 搜索 | 家族成员 | 大于 | |
| <(float8,float8) | 1 | 搜索 | 操作符类输入类型对 | 小于 | |
| <=(float8,float8) | 2 | 搜索 | 操作符类输入类型对 | 小于等于 | |
| =(float8,float8) | 3 | 搜索 | 操作符类输入类型对 | 等于 | |
| >=(float8,float8) | 4 | 搜索 | 操作符类输入类型对 | 大于等于 | |
| >(float8,float8) | 5 | 搜索 | 操作符类输入类型对 | 大于 |
家族支持函数
| 支持函数编号 | 左侧类型 | 右侧类型 | 函数签名 | 返回类型 |
|---|---|---|---|---|
| 1 | float4 | float4 | brin_minmax_multi_opcinfo(internal) | 内部 |
| 2 | float4 | float4 | brin_minmax_multi_add_value(internal,internal,internal,internal) | bool |
| 3 | float4 | float4 | brin_minmax_multi_consistent(internal,internal,internal,int4) | bool |
| 4 | float4 | float4 | brin_minmax_multi_union(internal,internal,internal) | bool |
| 5 | float4 | float4 | brin_minmax_multi_options(internal) | void |
| 11 | float4 | float4 | brin_minmax_multi_distance_float4(internal,internal) | float8 |
| 1 | float8 | float8 | brin_minmax_multi_opcinfo(internal) | 内部 |
| 2 | float8 | float8 | brin_minmax_multi_add_value(internal,internal,internal,internal) | bool |
| 3 | float8 | float8 | brin_minmax_multi_consistent(internal,internal,internal,int4) | bool |
| 4 | float8 | float8 | brin_minmax_multi_union(internal,internal,internal) | bool |
| 5 | float8 | float8 | brin_minmax_multi_options(internal) | void |
| 11 | float8 | float8 | brin_minmax_multi_distance_float8(internal,internal) | float8 |
本家族的操作符类
相关条目
文档与源码
- Matching PostgreSQL source archive
- PostgreSQL 18 English manual: indexes-opclass.html
- PostgreSQL 18 English manual: catalog-pg-opclass.html
- PostgreSQL 18 English manual: catalog-pg-amop.html
- PostgreSQL 18 English manual: catalog-pg-amproc.html
来源构建
- 版本
- 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,341 @@
-该版未收录
+{
+ "attributes": {
+ "default": "f",
+ "family": "float_minmax_multi_ops",
+ "input_type": "float8",
+ "key_type": "float8",
+ "method": "brin",
+ "name": "float8_minmax_multi_ops"
+ },
+ "classes": [
+ {
+ "default": "f",
+ "family": "float_minmax_multi_ops",
+ "input_type": "float4",
+ "key_type": "float4",
+ "method": "brin",
+ "name": "float4_minmax_multi_ops"
+ },
+ {
+ "default": "f",
+ "family": "float_minmax_multi_ops",
+ "input_type": "float8",
+ "key_type": "float8",
+ "method": "brin",
+ "name": "float8_minmax_multi_ops"
+ }
+ ],
+ "kind": "class",
+ "operators": [
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float4",
+ "method": "brin",
+ "operator": "<(float4,float4)",
+ "purpose": "search",
+ "right_type": "float4",
+ "sort_family": "",
+ "strategy": "1"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float4",
+ "method": "brin",
+ "operator": "<=(float4,float4)",
+ "purpose": "search",
+ "right_type": "float4",
+ "sort_family": "",
+ "strategy": "2"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float4",
+ "method": "brin",
+ "operator": "=(float4,float4)",
+ "purpose": "search",
+ "right_type": "float4",
+ "sort_family": "",
+ "strategy": "3"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float4",
+ "method": "brin",
+ "operator": ">=(float4,float4)",
+ "purpose": "search",
+ "right_type": "float4",
+ "sort_family": "",
+ "strategy": "4"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float4",
+ "method": "brin",
+ "operator": ">(float4,float4)",
+ "purpose": "search",
+ "right_type": "float4",
+ "sort_family": "",
+ "strategy": "5"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float4",
+ "method": "brin",
+ "operator": "<(float4,float8)",
+ "purpose": "search",
+ "right_type": "float8",
+ "sort_family": "",
+ "strategy": "1"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float4",
+ "method": "brin",
+ "operator": "<=(float4,float8)",
+ "purpose": "search",
+ "right_type": "float8",
+ "sort_family": "",
+ "strategy": "2"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float4",
+ "method": "brin",
+ "operator": "=(float4,float8)",
+ "purpose": "search",
+ "right_type": "float8",
+ "sort_family": "",
+ "strategy": "3"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float4",
+ "method": "brin",
+ "operator": ">=(float4,float8)",
+ "purpose": "search",
+ "right_type": "float8",
+ "sort_family": "",
+ "strategy": "4"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float4",
+ "method": "brin",
+ "operator": ">(float4,float8)",
+ "purpose": "search",
+ "right_type": "float8",
+ "sort_family": "",
+ "strategy": "5"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float8",
+ "method": "brin",
+ "operator": "<(float8,float4)",
+ "purpose": "search",
+ "right_type": "float4",
+ "sort_family": "",
+ "strategy": "1"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float8",
+ "method": "brin",
+ "operator": "<=(float8,float4)",
+ "purpose": "search",
+ "right_type": "float4",
+ "sort_family": "",
+ "strategy": "2"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float8",
+ "method": "brin",
+ "operator": "=(float8,float4)",
+ "purpose": "search",
+ "right_type": "float4",
+ "sort_family": "",
+ "strategy": "3"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float8",
+ "method": "brin",
+ "operator": ">=(float8,float4)",
+ "purpose": "search",
+ "right_type": "float4",
+ "sort_family": "",
+ "strategy": "4"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float8",
+ "method": "brin",
+ "operator": ">(float8,float4)",
+ "purpose": "search",
+ "right_type": "float4",
+ "sort_family": "",
+ "strategy": "5"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float8",
+ "method": "brin",
+ "operator": "<(float8,float8)",
+ "purpose": "search",
+ "right_type": "float8",
+ "sort_family": "",
+ "strategy": "1"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float8",
+ "method": "brin",
+ "operator": "<=(float8,float8)",
+ "purpose": "search",
+ "right_type": "float8",
+ "sort_family": "",
+ "strategy": "2"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float8",
+ "method": "brin",
+ "operator": "=(float8,float8)",
+ "purpose": "search",
+ "right_type": "float8",
+ "sort_family": "",
+ "strategy": "3"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float8",
+ "method": "brin",
+ "operator": ">=(float8,float8)",
+ "purpose": "search",
+ "right_type": "float8",
+ "sort_family": "",
+ "strategy": "4"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "left_type": "float8",
+ "method": "brin",
+ "operator": ">(float8,float8)",
+ "purpose": "search",
+ "right_type": "float8",
+ "sort_family": "",
+ "strategy": "5"
+ }
+ ],
+ "support_functions": [
+ {
+ "family": "float_minmax_multi_ops",
+ "function": "brin_minmax_multi_opcinfo(internal)",
+ "left_type": "float4",
+ "method": "brin",
+ "number": "1",
+ "result_type": "internal",
+ "right_type": "float4"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "function": "brin_minmax_multi_opcinfo(internal)",
+ "left_type": "float8",
+ "method": "brin",
+ "number": "1",
+ "result_type": "internal",
+ "right_type": "float8"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "function": "brin_minmax_multi_distance_float4(internal,internal)",
+ "left_type": "float4",
+ "method": "brin",
+ "number": "11",
+ "result_type": "float8",
+ "right_type": "float4"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "function": "brin_minmax_multi_distance_float8(internal,internal)",
+ "left_type": "float8",
+ "method": "brin",
+ "number": "11",
+ "result_type": "float8",
+ "right_type": "float8"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "function": "brin_minmax_multi_add_value(internal,internal,internal,internal)",
+ "left_type": "float4",
+ "method": "brin",
+ "number": "2",
+ "result_type": "bool",
+ "right_type": "float4"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "function": "brin_minmax_multi_add_value(internal,internal,internal,internal)",
+ "left_type": "float8",
+ "method": "brin",
+ "number": "2",
+ "result_type": "bool",
+ "right_type": "float8"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "function": "brin_minmax_multi_consistent(internal,internal,internal,int4)",
+ "left_type": "float4",
+ "method": "brin",
+ "number": "3",
+ "result_type": "bool",
+ "right_type": "float4"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "function": "brin_minmax_multi_consistent(internal,internal,internal,int4)",
+ "left_type": "float8",
+ "method": "brin",
+ "number": "3",
+ "result_type": "bool",
+ "right_type": "float8"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "function": "brin_minmax_multi_union(internal,internal,internal)",
+ "left_type": "float4",
+ "method": "brin",
+ "number": "4",
+ "result_type": "bool",
+ "right_type": "float4"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "function": "brin_minmax_multi_union(internal,internal,internal)",
+ "left_type": "float8",
+ "method": "brin",
+ "number": "4",
+ "result_type": "bool",
+ "right_type": "float8"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "function": "brin_minmax_multi_options(internal)",
+ "left_type": "float4",
+ "method": "brin",
+ "number": "5",
+ "result_type": "void",
+ "right_type": "float4"
+ },
+ {
+ "family": "float_minmax_multi_ops",
+ "function": "brin_minmax_multi_options(internal)",
+ "left_type": "float8",
+ "method": "brin",
+ "number": "5",
+ "result_type": "void",
+ "right_type": "float8"
+ }
+ ]
+}
比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。
相关条目
brin/bit_minmax_ops (class)brin/box_inclusion_ops (class)brin/bpchar_bloom_ops (class)brin/bpchar_minmax_ops (class)brin/bytea_bloom_ops (class)brin/bytea_minmax_ops (class)brin/char_bloom_ops (class)brin/char_minmax_ops (class)brin/date_bloom_ops (class)brin/date_minmax_multi_ops (class)brin/date_minmax_ops (class)brin/float4_bloom_ops (class)
导出 JSON · 返回运算符族 · 收录范围为 PostgreSQL 14 至 20;最早采样版本不一定是实际引入版本。