第 61 章 索引访问方法接口定义
本章定义核心PostgreSQL系统和管理个别索引类型的索引访问方法之间的接口。除 了在这里指定的内容之外,核心系统对索引一无所知,因此可以通过编写附加代码来开发全新的索引类型。
PostgreSQL中所有的索引在技术上都叫做二级索引。也就是说,索引在物理上与它描述的表文件分离。每个索引被存储为它自己的物理关系并且被pg_class
目录中的一个项所描述。一个索引的内容完全受到其索引访问方法控制。实际上,所有索引访问方法都把索引划分成标准大小的页面, 这样它们就可以使用常规的存储管理器和缓冲区管理器来访问索引内容(所有现有的索引访问方法还使用第 68.6 节中描述的标准页面布局,并且大部分都使用相同的索引元组头部格式;但是这些决定都不是强制在访问方法上的)。
索引实际上是一些数据键值与索引父表中行版本(元组)的元组标识符或TIDs之间的映射。一个 TID 由一个块号和一个块内的项编号组成(见第 68.6 节)。 这对于从表中取一个特定行就足够了。索引并不直接知道在 MVCC下,同一个逻辑行可能有多个现存的版本;对于索引而言,每个 行都是一个独立的对象,都需要自己的索引项。因此,对一行的更新总是为该行创建全新的索引项,即使键值没有改变(HOT 元组对这段陈述来说是个异常,但是索引也不会处理这些)。死亡元组的索引项将在随着死亡元组的回收而被回收(通过清理)。
文章转载自PostgreSQL全球开发组,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
外国CTO也感兴趣的开源数据库项目——openHalo
小满未满、
1982次阅读
2025-04-21 16:58:09
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
382次阅读
2025-04-15 14:48:05
QPlus V6.3 更新,新增PostgreSQL与PolarDB PG支持,OceanBase 容灾管理重磅上线
沃趣科技
202次阅读
2025-05-13 09:39:27
4月“墨力原创作者计划”获奖名单公布!
墨天轮编辑部
191次阅读
2025-05-13 16:21:59
中国PostgreSQL培训认证体系新增PGAI应用工程师方向
开源软件联盟PostgreSQL分会
190次阅读
2025-05-06 10:21:13
华象新闻 | PostgreSQL 18 Beta 1、17.5、16.9、15.13、14.18、13.21 发布
严少安
169次阅读
2025-05-09 11:34:10
PG生态赢得资本市场青睐:Databricks收购Neon,Supabase融资两亿美元,微软财报点名PG
老冯云数
160次阅读
2025-05-07 10:06:22
SQL 优化之 OR 子句改写
xiongcc
148次阅读
2025-04-21 00:08:06
告别老旧mysql_fdw,升级正当时
NickYoung
128次阅读
2025-04-29 11:15:18
PostgreSQL中文社区亮相于第八届数字中国峰会
PostgreSQL中文社区
118次阅读
2025-05-07 10:06:20