63.2. Built-in Operator Classes
The core PostgreSQL distribution includes the GIN operator classes shown in Table 63.1. (Some of the optional modules described in Appendix F provide additional GIN operator classes.)
Table 63.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.