自由空间映射

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 59. 数据库物理存储 | 下一页

# 59.3. 自由空间映射

每个堆和索引关系，除了哈希索引， 都有一个空闲空间映射(FSM) 来跟踪关系中的可用空间。 FSM文件与关系的主数据文件放置在一起，有一个单独的分支与之对应， 以关系的filenode 值，加一个`_fsm`后缀来命名。 例如，如果一个关系的filenode是12345， 其FSM将存储在一个名为`12345_fsm`的文件中， 与主关系文件在相同的目录中。

空闲空间映射被组织为一个FSM页树。 底层的FSM页存储每个堆（或索引）页上可用的空闲空间， 使用一个字节来表示。 高层的页从底层的页中聚合信息。

每个FSM页是一个二叉树，存储在一个数组中， 数组中每个节点对应一个字节。每个叶节点代表一个堆页，或低级别的FSM页。 在每个非叶节点中，存储其所有孩子中最大的值。 因此叶节点中最大的值存储在根节点中。

参阅`src/backend/storage/freespace/README`了解FSM结构的详细信息， 以及更新和搜索策略。pg_freespacemap模块可以用来检测存储在空闲空间映射中的信息。

上一页 | 起始页 | 下一页
TOAST | 上一级 | 可见映射