超详细的PG数据存储结构:逻辑结构和物理存储总结
IAM的布局与GAM页相同,除IAM头外,剩下空间的每一位(bit)均对应着一个与IAM相干的Extent。若某bit位为1,则表白该bit位所关联的Extent已被分派给该IAM,反之未被分派。若一个IAM页面巨细为8K,则除IAM头(64 bytes)外,一个IAM页面所能包围的文件范畴是: (81024-64)8(88K),约4GB空间。 但与GAM也差异之处在于:IAM的呈现位置不牢靠,只在在建设数据库工具的时辰才分派。 ![]() 三、逻辑与物理存储相关 1、逻辑相关存在表空间; 2、表空间存在对应的数据文件中; 新建设的数据库对应的数据文件的名称: Catalog表空间 – databasename.dbf System表空间 – Udatabasename.dbf Temp表空间-- Tdatabasename.dbf
四、数据库文件、表空间、其他文件之间的相关 1、相关图如下: ![]() 声名: 1)每一个数据库具有一个或多个数据文件,用户存放数据库的全部数据。 2)数据库的数据文件有以下特性:
3)数据库工具与文件相关:
4)数据库工具逻辑上是存储在表空间中,物理上是存储在与表空间相干联的数据文件中。 2、数据库包括的文件种类: 1)数据库文件:data/DB 数据库工具,如:数据库、表,索引,序列等工具。 2)节制文件:data/CTL 用来记录数据库集群的状态信息,如:版本信息、集群所打点的各类文件信息、搜查点信息、事宜状态信息等。 3)日记文件:data/REDOLOG 记录数据修改操纵的日记,用于体系产生妨碍时举办数据规复。 4)姑且文件:data/DB 存放数据库举办计较的进程中,天生的各类中间工具,如排序运算的外存合并单位。 5)参数文件:data目次下 五、Postgresql 底层存储打点方法: Postgresql的每个数据库均存放在一个目次中,以db_oid定名,该目次中存放每个表对应的文件,文件名以该数据表对应的relfilenode_oid定名。当表中的数据量足够大,导致表文件的巨细大于1GB的时辰,postgresql会自动建设新的文件用于存放新插入的数据。新文件的名称为: relfilenode_iod.1, relfilenode_iod.2 等。行使该计策是为了防备在某些文件体系中,最大支持文件尺寸不能大于1GB的气象。 db_oid, relfilenode_oid可以从pg_class体系表中查询得出。 每个table对应的文件内部又凭证Page的方法组织。每个Page的巨细默以为8KB。以是每个数据库对应文件的Disk 漫衍由下图所示: ![]() 每个Page中包括Page Header以及Data段,Page Header中,pg_lower指向Free Space的起始地点,pg_upper指向Free Space的竣事地点。
【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |