网站开发报告搜索引擎主要包括三个部分
1. RelFileNode的角色
RelFileNode 是一个结构体数据类型,声明于relfilenode.h
(src\include\storage )头文件中,该数据类型十分重要,因为它 “提供所有我们需要知道的物理访问关系表的信息。” smgr要访问磁盘上面的数据表文件,则需要此RelFileNode提供必要信息。 可以说,没有RelFileNode提供的信息,PG内核中smgr就无法去访问、读写磁盘上面的对应表文件。
RelFileNode 必须提供所有我们需要知道的物理访问关系表的信息,但后端ID(backend ID
)除外,它可以单独提供。但是请注意,“物理”关系表是由文件系统上的多个文件组成的,因为每个fork存储为一个单独的文件,并且每个fork可以划分为多个段。请参见md.c。
1.1 RelFileNode声明
RelFileNode 数据类型共有三个成员变量,分别是:spcNode、dbNode 和 relNode。
typedef struct RelFileNode
{Oid spcNode