选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.0 已于 2015 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

54.3. 空闲空间映射 #

每个堆关系和索引关系(哈希索引除外)都有一个空闲空间映射 (FSM),用于跟踪该关系中的可用空间。 它与主关系数据并列存放在一个独立的关系分支中,其名称由该关系的 filenode 编号加上 _fsm 后缀构成。例如,如果某关系的 filenode 是 12345, 那么 FSM 就存储在名为 12345_fsm 的文件中,与主关系文件位于同一目录。

空闲空间映射被组织成一棵由 FSM 页面构成的树。最底层的 FSM 页面存储每个堆页面(或索引页面)上的可用空闲空间, 每个这样的页面用一个字节表示。上层页面则聚合来自下层的信息。

每个 FSM 页面内部都有一棵二叉树,以数组形式存储,每个节点占一个字节。 每个叶子节点表示一个堆页面或下层 FSM 页面。每个非叶子节点中保存其子节点值 中较大的那个,因此叶子节点中的最大值会保存在根节点。

See src/backend/storage/freespace/README for more details on how the FSM is structured, and how it's updated and searched. contrib/pg_freespacemap 模块可用于检查空闲空间映射中 存储的信息(见 第 F.26 节)。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。