↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4
历史版本。 PostgreSQL 9.4 已结束支持。 2020-02-13. 请参阅 当前版本手册.

59.3. 空闲空间映射 #

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

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

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

请参见 src/backend/storage/freespace/README,了解 FSM 的结构以及如何更新和搜索它的更多细节。pg_freespacemap模块可用于检查空闲空间映射中存储的信息。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.