September 26, 2024: PostgreSQL 17 Released!
Supported Versions: 16 / 15 / 14 / 13 / 12
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

61.2. Built-in Operator Classes

The core PostgreSQL distribution includes the GIN operator classes shown in Table 61-1. (Some of the optional modules described in Appendix F provide additional GIN operator classes.)

Table 61-1. Built-in GIN Operator Classes

Name Indexed Data Type Indexable Operators
_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 @@ @@@

Of the two operator classes for type jsonb, jsonb_ops is the default. jsonb_path_ops supports fewer operators but offers better performance for those operators. See Section 8.14.4 for details.