2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4

F.7. btree_gin — 具有 B-tree 行为的 GIN 操作符类 #

btree_gin 提供了 GIN 操作符类,它们为数据类型 int2int4int8float4float8timestamp with time zonetimestamp without time zonetime with time zonetime without time zonedateintervaloidmoney"char"varchartextbyteabitvarbitmacaddrmacaddr8inetcidruuidnameboolbpchar 以及所有 enum 类型实现了等同于 B-tree 的行为。

总的来说,这些操作符类在性能上可能不会超过等效的标准 B-tree 索引方法,并且它们缺少标准 B-tree 代码的一个主要功能:强制唯一性的能力。然而,它们对于 GIN 的测试以及作为开发其他 GIN 操作符类的基础很有用。此外,对于同时测试 GIN 可索引列和 B-tree 可索引列的查询,创建一个使用其中一个操作符类的多列 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 () 和 Oleg Bartunov ()。更多信息请参阅 http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin

提交更正

如果您在文档中发现任何不正确、与您在使用特定功能时的经验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。