最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

PostgreSQL中page页结构源码解析

来源:动视网 责编:小采 时间:2020-11-09 14:55:48
文档

PostgreSQL中page页结构源码解析

PostgreSQL中page页结构源码解析:PostgreSQL中page页结构源码解析,在PG中,磁盘存储和内存中的最小管理单位都是page,也是通常所说的block。一般PG页的大小为8K, PostgreSQL中page页结构源码解析 在PG中,磁盘存储和内存中的最小管理单位都是page,也是通常所说的block。一般PG
推荐度:
导读PostgreSQL中page页结构源码解析:PostgreSQL中page页结构源码解析,在PG中,磁盘存储和内存中的最小管理单位都是page,也是通常所说的block。一般PG页的大小为8K, PostgreSQL中page页结构源码解析 在PG中,磁盘存储和内存中的最小管理单位都是page,也是通常所说的block。一般PG


PostgreSQL中page页结构源码解析,在PG中,磁盘存储和内存中的最小管理单位都是page,也是通常所说的block。一般PG页的大小为8K,

PostgreSQL中page页结构源码解析

在PG中,磁盘存储和内存中的最小管理单位都是page,也是通常所说的block。一般PG页的大小为8K,在源码编译时可以设置。此后都不可更改,,因为许多PG内存结构设计都是以此为基础的。

在一个page中,表的记录是从page的底部开始存储,然后慢慢向上涨。Page结构图如下:

上图为一个page的结构,主要由5个部分组成:

Page Header:为页头,主要存储LSN,page中空闲空间的开始offset和结束offset等。下面再展开讲。

ItemId data:是page中表记录的索引条目。一个索引条目4个字节,由两部分组成:此记录在page中的offset和记录长度length。

Free space:是此page中剩余可用的空间,不算标记为delete后的空间;是指完全没有被使用的空间,也相当于page中没有被分配的空间。

Item:就是指表实际存储的记录。

Special space: 存储索引访问方法(AM: Access Method)信息,不同的索引访问方法,内容不一样。但如果是表的page,那么这里是空的,没有任何信息。

源码在src/backend/storage/page/bufpage.c中,以下为Page的初始化:

Page header 24个字节说明如下:

PageHeader 源码定义如下:

其中,PageXLogRecPtr为一个结构体,64位。记录xlog信息的原因:

保证buffer manger WAL原则,即写日志先于写数据

脏块checkpoint时,日志先刷出到disk

总的来讲,PG中页的结构大体上Oracle的Block结构是比较类似的,都是采用向上涨的方式来存储记录。但是在小细节上还是分别比较大的。Oracle的Block中还有ITL等事务相关信息等。

------------------------------------华丽丽的分割线------------------------------------

CentOS 6.3环境下yum安装PostgreSQL 9.3

PostgreSQL缓存详述

Windows平台编译 PostgreSQL

Ubuntu下LAPP(Linux+Apache+PostgreSQL+PHP)环境的配置与安装

Ubuntu上的phppgAdmin安装及配置

CentOS平台下安装PostgreSQL9.3

PostgreSQL配置Streaming Replication集群

如何在CentOS 7/6.5/6.4 下安装PostgreSQL 9.3 与 phpPgAdmin

------------------------------------华丽丽的分割线------------------------------------

PostgreSQL 的详细介绍:请点这里
PostgreSQL 的下载地址:请点这里

本文永久更新链接地址:

文档

PostgreSQL中page页结构源码解析

PostgreSQL中page页结构源码解析:PostgreSQL中page页结构源码解析,在PG中,磁盘存储和内存中的最小管理单位都是page,也是通常所说的block。一般PG页的大小为8K, PostgreSQL中page页结构源码解析 在PG中,磁盘存储和内存中的最小管理单位都是page,也是通常所说的block。一般PG
推荐度:
标签: 代码 解析 分析
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top