网上看到有人问pg_filenode.map误删后如何恢复或重建。在解决这个问题之前,我们先了解下pg_filenode.map文件。对于PostgreSQL中的每一张表,在磁盘上都有相关的文件,这些文件的名字就是relfilenode,我们可以通过pg_class的relfilenode字段进行查询。但是对于一些特殊的表,我们会发现对应的字段是0。官方文档解释说:0表示这是一个“映射”关系,它的磁盘文件名取决于低级状态。那么哪些表的relfilenode字段将为0?如何找到relfilenode为0的表对应的文件?我们都知道对于一个普通的表来说,它的relfilenode和oid默认是一样的,比如:?
