PageAddItemExtended流程

news/2024/7/9 21:03:53 标签: postgresql, 源码, 插入, 流程

学习PG写入数据,从PageAddItemExtended开始

参考文章:https://www.jianshu.com/p/e86989dbda92

源码位置:bufpage.c:190

OffsetNumber
PageAddItemExtended(Page page,
                    Item item,
                    Size size,
                    OffsetNumber offsetNumber,
                    int flags)

 

Page结构

Page 大小为8192 bytes

item从前往后写, tuple从后往前写, lower和upper相遇,那这个页就写完了。

item描述tuple的位置和长度。

每次插入新item ,最多是从lower下一个字节开始,或者使用已有空闲的item。详细流程路如下。

函数流程

画个图加深理解,继续学习PG写入数据相关源码


http://www.niftyadmin.cn/n/549211.html

相关文章

Starting MySQL...The server quit without updating PID file

首先来说下环境:操作系统:openSUSE enterprise 11MySQL版本:MySQL-server-5.6.22-1.sles11.x86_64.rpmMySQL读取配置文件的顺序:Default options are read from the following files in the given order:/etc/my.cnf ,…

11个实用但你可能不知道的Python程序库

目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们。单单PyPi上就有超过47000个包列表。 现在,越来越多的数据科学家开始使用Python,虽然他们从pandas,scikit-learn,numpy中获得了不少好处&am…

关于程序员的59条搞笑但却真实无比的编程语录

我收集了很多编程语录,基本上都跟程序员的生活有关。这些语录涉及软件开发,代码维护,调试纠错,软件bug,系统设计、文档,代码质量,测试和软件开发团队管理等方面。下面的这59条语录虽然很搞笑&am…

PG copyinsert性能对比

目录 测试环境 表结构 CASE1 结果 CASE 2 结果 CASE 3 结果 TPS修正 CASE 4 结果 结论 测试环境 Intel(R) Core(TM) i7-4790 CPU 3.60GHz 32G memory SSD harddisk. postgresql.conf max_connections 256shared_buffers 3GB # min 128kBw…

取代Exchange,TurboMail部署美林基业集团邮件系统

2019独角兽企业重金招聘Python工程师标准>>> 美林基业集团有限公司是以房地产开发为核心业务的大型现代企业集团,是以房地产开发为支柱,在建筑、商业、酒店、物业管理、教育等领域综合发展的现代大型企业集团。 自 1999年成立以来&…

使用Cython来保护Python代码库

最近,我在做一个需要使用Cython来保护整个代码库的Python项目。 起初尽管保护Python源码免受逆向工程的影响似乎是一项徒劳无功的任务,但是所有代码的cythonizing都会带来合理的安全性(二进制文件非常难以拆解,但是还可以通过程序…

tdeforpg安装步骤

虚拟机已装有postgresql 9.6.9. 设置环境变量 为了方便安装,设置一下环境变量 export PGSRC"/home/xdb/source/postgresql-9.6.9" //pg 源码 export PGHOME"/appdb/xdb" //pg path export TDEHOME"/home/xdb…

解剖SQLSERVER 第十三篇 Integers在行压缩和页压缩里的存储格式揭秘(译)

原文:解剖SQLSERVER 第十三篇 Integers在行压缩和页压缩里的存储格式揭秘(译)解剖SQLSERVER 第十三篇 Integers在行压缩和页压缩里的存储格式揭秘(译) http://improve.dk/the-anatomy-of-row-amp-page-compressed-integers/ 当…