58.2. 内建操作符类

内核PostgreSQL分配包括表 56-1 中显示的GiST操作符类。(附录 F 中描述的一些可选模块提供了额外的GiST操作符类。)

表 58-1. 内建GIN操作符类

名字索引的数据类型可索引的操作符
_abstime_opsabstime[] && <@ = @>
_bit_opsbit[] && <@ = @>
_bool_opsboolean[] && <@ = @>
_bpchar_opscharacter[] && <@ = @>
_bytea_opsbytea[] && <@ = @>
_char_ops"char"[] && <@ = @>
_cidr_opscidr[] && <@ = @>
_date_opsdate[] && <@ = @>
_float4_opsfloat4[] && <@ = @>
_float8_opsfloat8[] && <@ = @>
_inet_opsinet[] && <@ = @>
_int2_opssmallint[] && <@ = @>
_int4_opsinteger[] && <@ = @>
_int8_opsbigint[] && <@ = @>
_interval_opsinterval[] && <@ = @>
_macaddr_opsmacaddr[] && <@ = @>
_money_opsmoney[] && <@ = @>
_name_opsname[] && <@ = @>
_numeric_opsnumeric[] && <@ = @>
_oid_opsoid[] && <@ = @>
_oidvector_opsoidvector[] && <@ = @>
_reltime_opsreltime[] && <@ = @>
_text_opstext[] && <@ = @>
_time_opstime[] && <@ = @>
_timestamp_opstimestamp[] && <@ = @>
_timestamptz_opstimestamp with time zone[] && <@ = @>
_timetz_opstime with time zone[] && <@ = @>
_tinterval_opstinterval[] && <@ = @>
_varbit_opsbit varying[] && <@ = @>
_varchar_opscharacter varying[] && <@ = @>
jsonb_opsjsonb ? ?& ?| @>
jsonb_path_opsjsonb @>
tsvector_opstsvector @@ @@@

两个操作符类:类型jsonbjsonb_ops是缺省的。 jsonb_path_ops支持少量的操作符,但是为那些操作符提供更好的性能。 参阅第 8.14.4 节获取细节。