La distribution PostgreSQL™ inclut les classes d'opérateur GIN affichées dans Tableau 61.1, « Classes d'opérateur GIN internes ». (Certains des modules optionnels décrits dans Annexe F, Modules supplémentaires fournis fournissent des classes d'opérateurs GIN supplémentaires.)
Tableau 61.1. Classes d'opérateur GIN internes
Nom | Type de données indexé | Opérateurs indexables |
---|---|---|
_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 | @@ @@@ |
Des deux classes d'opérateur pour le type jsonb, jsonb_ops est l'opérateur par défaut. jsonb_path_ops supporte moins d'opérateurs mais offre de meilleures performances pour ces opérateurs. Voir Section 8.14.4, « Indexation jsonb » pour plus de détails.