GIN
(Generalized Inverted Index)是一种索引类型,它支持比例如 btree
索引支持的常用键/值关系更复杂的数据类型。 GIN
的常见应用包括索引 数组 值和 全文搜索。
GIN
索引支持是在 PostgreSQL 8.2 中引入的。
函数
以下系统函数可用于 GIN
管理
Contrib 模块支持
以下 contrib 模块 提供了提供有关 GIN 索引的其他详细信息的函数
pageinspect
gin_metapage_info()
gin_page_opaque_info()
gin_leafpage_items()
pgstattuple
pgstatginindex()
btree_gin
为某些数据类型提供了对等 btree 行为的支持。
更改历史记录
- PostgreSQL 13
- PostgreSQL 12
- PostgreSQL 11
- 添加了谓词锁定(提交 43d1ed60)
- PostgreSQL 10
- 减少了真空操作期间的页面锁定(提交 218f5158)
- PostgreSQL 9.6
maintenance_work_mem
值超过1GB
可用于GIN
索引构建(提交 30bb26b5)- 立即将从 GIN 索引的挂起列表中删除的页面添加到空闲空间映射(提交 e9568083 和 dc943ad9)
- 添加了函数
gin_clean_pending_list()
(提交 7f46eaf0)
- PostgreSQL 9.5
- 添加了
gin_pending_list_limit
配置参数(提交 a1b395b6) - 以下用于检查
GIN
索引的函数已添加到pageinspect
(提交 3a82bc6f)gin_metapage_info()
gin_page_opaque_info()
gin_leafpage_items()
- 添加了
- PostgreSQL 9.4
- PostgreSQL 9.3
- 将函数
pgstatginindex()
添加到pgstattuple
(提交 357cbaae)
- 将函数
- PostgreSQL 9.1
- PostgreSQL 9.0
- 使用红黑二叉树进行索引创建(提交 5209c084)
- PostgreSQL 8.4
- PostgreSQL 8.3
- PostgreSQL 8.2
- 添加(提交 8a3631f8)
参考文献
- PostgreSQL 文档: GIN 索引
- PostgreSQL 文档: GiST 和 GIN 索引类型
有用链接
- 了解 Postgres GIN 索引:优缺点 - Lukas Fittl / pganalyze 于 2021 年 12 月发表的博文
- GIN - 仅仅是一种索引类型 - 来自 Cybertec Schönig & Schönig GmbH 的解释
- 原始开发者文档 (已过时)