# 52.4.pg_amop

目录pg_amop存储有关与访问方法运算符系列相关的运算符的信息。作为操作员系列的成员的每个操作员都有一行。家庭成员可以是搜索运营商或订购操作员。一个算子可以出现在多个家族中,但不能出现在一个家族中的多个搜索位置或多个排序位置。(虽然不太可能,但允许将运算符用于搜索和排序目的。)

表 52.4.pg_amop

列类型

描述
样的 样的

行标识符
安培科 样的(参考pg_opfamily.样的)

此条目用于的操作员系列
amoplefttype 样的(参考pg_type.样的)

运算符的左输入数据类型
amorighttype 样的(参考pg_type.样的)

运算符的右手输入数据类型
战略 整数2

运营商策略编号
非目的 字符

运营商的目的,要么s用于搜索或订购
安泊泊 样的(参考pg_operator.样的)

运营商OID
方法 样的(参考pg_am.样的)

索引访问方法运算符系列适用于
amopsortfamily 样的(参考pg_opfamily.样的)

如果是排序运算符,则此条目根据 B-tree 运算符族进行排序;如果是搜索运算符,则为零

“搜索”运算符条目表示可以搜索此运算符族的索引以找到满足的所有行在哪里 索引列 操作员 持续的.显然,这样的运算符必须返回布尔值,并且其左侧输入类型必须与索引的列数据类型匹配。

“排序”操作符条目表示可以扫描此操作符系列的索引,以按照下式表示的顺序返回行订购方式 索引列 操作员 持续的.这样的运算符可以返回任何可排序的数据类型,尽管它的左侧输入类型必须与索引的列数据类型匹配。的确切语义订购方式由指定的amopsortfamily列,它必须为运算符的结果类型引用 B 树运算符族。

# 笔记

目前,假设排序运算符的排序顺序是引用运算符族的默认值,即ASC NULLS LAST.有朝一日,这可能会通过添加额外的列来明确指定排序选项来放松。

一个条目方法必须匹配方法其包含的运营商家族(包括方法这是出于性能原因对目录结构的有意非规范化)。还,amoplefttypeamorighttype必须匹配左派正确的引用的字段pg_operator入口。