fsm fork
每个表和索引都存储在单独的文件中。对于普通关系,这些文件以表或索引的 文件节点 编号命名,该编号可在 pg_class . relfilenode 中找到。但对于临时关系,文件名的形式为 t BBB _ FFF ,其中 BBB 是创建该文件的后端进程号, FFF 是文件节点编号。无论哪种情况,除了主文件(也称主分支)之外,每个表和索引还有一个 空闲空间映射 (见 第 66.3 节 ),用于存储该关系可用空闲空间的信息。空闲空间映射存放在以文件节点编号加上 _fsm 后缀命名的文件中。表还拥有 …
当前查看 PostgreSQL 18.6。
说明
每个表和索引都存储在单独的文件中。对于普通关系,这些文件以表或索引的 文件节点 编号命名,该编号可在 pg_class . relfilenode 中找到。但对于临时关系,文件名的形式为 t BBB _ FFF ,其中 BBB 是创建该文件的后端进程号, FFF 是文件节点编号。无论哪种情况,除了主文件(也称主分支)之外,每个表和索引还有一个 空闲空间映射 (见 第 66.3 节 ),用于存储该关系可用空闲空间的信息。空闲空间映射存放在以文件节点编号加上 _fsm 后缀命名的文件中。表还拥有 可见性映射 ,存放在带有 _vm 后缀的分支中,用于跟踪哪些页面已知不含死元组。可见性映射在 第 66.4 节 中有进一步说明。不记录 WAL 的表和索引还有第三个分支,称为初始化分支,存放在带有 _init 后缀的分支中(见 第 66.5 节 )。
表或索引超过 1 GB 时,会拆分为以 GB 为单位的分段。第一个分段的文件名与 filenode 相同,之后依次为 filenode.1、filenode.2 等。这可避免某些平台的文件大小限制。1 GB 只是默认分段大小,可在编译 PostgreSQL 时通过 --with-segsize 配置选项调整。空闲空间映射和可见性映射分叉原则上也可能需要多个分段,但实践中很少发生。
- 关系分叉
- fsm
相关条目
文档与源码
来源构建
- 版本
- 18.6
- 构建
- https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 来源指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
版本比较
PostgreSQL 17 → 18: 无变化。
比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。
相关条目
导出 JSON · 返回存储结构 · 收录范围为 PostgreSQL 10 至 20;最早采样版本不一定是实际引入版本。