58.4. 可见映射

每个堆关系有个可见映射(VM)来保持跟踪那些包含行的页, 对于所有活动的事务可见。同时在独立的关系叉文件存储主关系数据, 以关系的filenode号,加上一个_vm后缀命名。例如, 如果一个关系的filenode是12345,存储VM在一个叫12345_vm文件里, 与主关系文件在同一目录。请注意索引没有VM。

可见映射在简单的在每个堆页存储1位。 一个设置位意味着在页上所有的行对于所有事务可见的。 这意味着不包含任何行的页,需要清理;使用index-only scans 回答仅仅使用索引元的查询也可以使用这些信息。

这个意义上的映射是保守的,我们要确定每当设置位, 我们知道条件是真,但是如果没有设置位,它可能是真,也可能不是真。 通过清理设置可见映射位,但是通过页上的任何数据修改操作进行清理。