63.2. Встроенные классы операторов
В базовый дистрибутив PostgreSQL включены классы операторов GIN, перечисленные в Таблице 63.1. (Некоторые дополнительные модули, описанные в Приложении F, добавляют другие классы операторов GIN.)
Таблица 63.1. Встроенные классы операторов GIN
Имя | Индексируемый тип данных | Индексируемые операторы |
---|---|---|
_abstime_ops | abstime[] | && <@ = @> |
_bit_ops | bit[] | && <@ = @> |
_bool_ops | boolean[] | && <@ = @> |
_bpchar_ops | character[] | && <@ = @> |
_bytea_ops | bytea[] | && <@ = @> |
_char_ops | "char"[] | && <@ = @> |
_cidr_ops | cidr[] | && <@ = @> |
_date_ops | date[] | && <@ = @> |
_float4_ops | float4[] | && <@ = @> |
_float8_ops | float8[] | && <@ = @> |
_inet_ops | inet[] | && <@ = @> |
_int2_ops | smallint[] | && <@ = @> |
_int4_ops | integer[] | && <@ = @> |
_int8_ops | bigint[] | && <@ = @> |
_interval_ops | interval[] | && <@ = @> |
_macaddr_ops | macaddr[] | && <@ = @> |
_money_ops | money[] | && <@ = @> |
_name_ops | name[] | && <@ = @> |
_numeric_ops | numeric[] | && <@ = @> |
_oid_ops | oid[] | && <@ = @> |
_oidvector_ops | oidvector[] | && <@ = @> |
_reltime_ops | reltime[] | && <@ = @> |
_text_ops | text[] | && <@ = @> |
_time_ops | time[] | && <@ = @> |
_timestamp_ops | timestamp[] | && <@ = @> |
_timestamptz_ops | timestamp with time zone[] | && <@ = @> |
_timetz_ops | time with time zone[] | && <@ = @> |
_tinterval_ops | tinterval[] | && <@ = @> |
_varbit_ops | bit varying[] | && <@ = @> |
_varchar_ops | character varying[] | && <@ = @> |
jsonb_ops | jsonb | ? ?& ?| @> |
jsonb_path_ops | jsonb | @> |
tsvector_ops | tsvector | @@ @@@ |
Из двух классов операторов для типа jsonb
классом по умолчанию является jsonb_ops
. Класс jsonb_path_ops
поддерживает меньше операторов, но обеспечивает для них большую производительность. За подробностями обратитесь к Подразделу 8.14.4.
51.5. pg_amproc
#
The catalog pg_amproc
stores information about support functions associated with access method operator families. There is one row for each support function belonging to an operator family.
Table 51.5. pg_amproc
Columns
Column Type Description |
---|
Row identifier |
The operator family this entry is for |
Left-hand input data type of associated operator |
Right-hand input data type of associated operator |
Support function number |
OID of the function |
The usual interpretation of the amproclefttype
and amprocrighttype
fields is that they identify the left and right input types of the operator(s) that a particular support function supports. For some access methods these match the input data type(s) of the support function itself, for others not. There is a notion of “default” support functions for an index, which are those with amproclefttype
and amprocrighttype
both equal to the index operator class's opcintype
.