预发布版本文档。 PostgreSQL 19beta4 为测试版本,最终发布内容可能有所不同。
F.7. btree_gin — 具有 B-树行为的 GIN 操作符类 #
btree_gin 提供了 GIN 操作符类,为以下数据类型实现 B-树等价行为:int2、int4、int8、float4、float8、timestamp with time zone、timestamp without time zone、time with time zone、time without time zone、date、interval、oid、money、"char"、varchar、text、bytea、bit、varbit、macaddr、macaddr8、inet、cidr、uuid、name、bool、bpchar,以及所有 enum 类型。
一般来说,这些操作符类的性能不会优于等价的标准 B-树索引方法,而且它们缺少标准 B-树代码的一项主要特性:强制唯一性的能力。不过,它们对于 GIN 测试以及作为开发其他 GIN 操作符类的基础很有用。此外,对于同时测试一个可由 GIN 建索引的列和一个可由 B-树建索引的列的查询,创建一个使用这些操作符类之一的多列 GIN 索引,可能比创建两个必须通过位图 AND 运算组合的独立索引更高效。
该模块被认为是“受信任的”,也就是说,它可以由在当前数据库上具有 CREATE 权限的非超级用户安装。
F.7.1. 用法示例 #
CREATE TABLE test (a int4); -- create index CREATE INDEX testidx ON test USING GIN (a); -- query SELECT * FROM test WHERE a < 10;
F.7.2. 作者 #
Teodor Sigaev(<teodor@stack.net>)和
Oleg Bartunov(<oleg@sai.msu.su>)。参阅 http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin。