61.2. Встроенные классы операторов

В базовый дистрибутив PostgreSQL включены классы операторов GIN, перечисленные в Табл. 61-1. (Некоторые дополнительные модули, описанные в Прил. F, добавляют другие классы операторов GIN.)

Таблица 61-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.