技术栈

relmap

高铭杰
2 小时前
数据库·postgresql·relmap·pg_filenode.map
Postgresql源码(158)pg_filenode.map文件作用relmap和redo流程(RM_RELMAP_ID = 7)global和base下每个db都会带一个pg_filenode.map文件,用来保存基础系统表 【oid→文件名】的映射关系。因为普通表可以通过pg_class的relfilenode找到表文件,但是启动时pg_class显然无法通过查找自己来找到表文件。还有一些共享系统表,例如pg_authid,如果在一个库中执行了vacuum full,auth表的relfilenode变了,就需要更新所有库中的pg_class,这里需要跨库并且还要在一个事务内,现在实现做不到这一点,所以基础表的 【oid→文件名
我是有底线的