The core PostgreSQL™ distribution includes the GIN operator classes shown in Table 58.1, “Built-in GIN Operator Classes”. (Some of the optional modules described in Appendix F, Additional Supplied Modules provide additional GIN operator classes.)
Table 58.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 the section called “jsonb Indexing” for details.