PostgreSQL的Storage(1)-buffer

postgreSQL源码分析——存储管理——外存管理(1) 2021SC@SDUSC 概述 源码分析 总结 阅读详情

 

上星期开始了关于数据库的兴趣小组,书是 Database System--The Complete Book
上星期讲的是硬件和文件组织形式
本星期是索引,主要是B-Tree和Hash

从今天开始,对照讲的东西,看看PostgreSQL的具体实现。

PostgreSQL的关于storage的文件在src/backend/storage里,有buffer,file,page及相关的manager.

buffer有2种访问:pin 和 lock
任何buffer都必须先pin再lock,访问过程中lock可以放掉,但pin必须保持到事务(?)结束

关于BufferManager的锁有3个LWLock
BufMappingLock , BufFreelistLock , io_in_progress locks
BufMappingLock 是用来锁buffer 的hash表的
BufFreelistLock 是用来锁buffer的freelist的

在buffer/README里对上面的内容有详细的介绍。

源代码方面,buftable 对每个buffer建了hash索引。在修改buftable前必须有相应的BufMappingLock (Buf_table.c)

 

promiseland-storage-pg:使用 pg 的 promiseland 存储适配器 promiseland-storage-pg 使用 pg 的 promiseland 存储适配器 立即下载

相关推荐

Pspice开关电源仿真:从零实现反激式电源设计实战案例

通过Pspice仿真工具,手把手实现反激式开关电源的设计与优化,深入剖析关键参数设置与波形分析,帮助掌握Pspice在电源开发中的实际应用技巧。

weixin_35756690的博客 1155

pgstgresql 分区表

pgsql 创建分区表

weixin_46061449的博客 1665

十一种室内定位传感器方案汇总介绍与对比(机器人、物联网领域)

室内定位传感器方案汇总 目录 室内定位传感器方案汇总 1、定位方案概述 1.1、内定位系统有最基本的5种算法: 1.2、常用的室内定位技术主要包括以下几种: 1.3、定位理论 1.4、不同的定位方案对比 2、各种定位方案详细介绍 2.1、单线激光定位 2.2、多线激光定位: 2.3、视觉定位: 2.4、基于射频识别(RFID)技术室内定位 2.4.1、RFID标签(不涉及...

JK-Cool的博客 3万+

PostgreSQL的Storage(2)-file 和 smgr

 smgr 做的很象一个接口,根据README的说明 只要下层实现相应的函数就能用smgr调用。现在的PostgreSQL中只剩md了。file包含两个文件,一个buffile,一个fd。fd可以说是最底层的了,函数都是直接调用open,close,read,write,lseek的。我开始还以为fd在smgr上层那。fd由于能打开的文件有限,用的是LRU的替换算法,实现得很简练。buff

ipiggg的专栏 2046

Ubuntu中 vsftpd 的安装与配置 (详细介绍)

简介 vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。 vsftpd是 UNIX 操作系统中的一个开源的、免费的 FTP 服务软件。具有以下特点: 安全性高 轻小易用 支持系统用户匿名用户和虚拟用户的权限验证和相关操作 安装步骤如下: 1.将此命令复制到终端 sudo apt-get install vsftpd 2.安装完成后启动VSFTP

qq_43299421的博客 1万+

Qt制作大数据可视化大屏展示电子看板

Qt制作大数据可视化大屏展示电子看板 解决当前最火的大数据可视化大屏展示,整个项目通过Qt开发,集成了QML/QChart/ECharts及自定义控件等模块,所有的可视化控件都可以集成到其中。可以随意增加和减少模块,各个模块可以随意拖拽,整体可以个性化布局。模块标题栏可自定义,包括标题文本信息、文本颜色、宽度/高度、背景颜色、按钮个数等功能,满足各个样式需求。 实例中主要展示了现成的一些仪表盘...

Qt自定义控件及应用开发 7707

pgsql 改变现有的表结构

ALTER TABLE Name ALTER TABLE -- 修改表的定义 Synopsis ALTER TABLE [ ONLY ] name [ * ] action [, ... ] ALTER TABLE [ ONLY ] name [ * ] RENAME [ COLUMN ] column TO new_column ALTER T...

gghhm的博客 1088

lego-loam featureAssociation 源码注释(五)

上一次我们已经看完了特征提取,这次我们进入特征匹配的内容!!!systemInitedLM的初始值为false。

Joeybee的博客 886

PostgreSQL PG15 新功能 PG_WALINSPECT

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis ,Oracle ,Oceanbase 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加微信号 liuaustin3 (共1250人左右 1 + 2 + 3 +4)新人会进入3群(即将关闭自由申请) 默认会进入4群每天感悟公平很多人一辈子追求,...

sql server的专栏 739

英飞凌ADS开发环境搭建全流程:从安装到第一个程序烧录

本文详细介绍了英飞凌ADS开发环境搭建的全流程,包括环境准备、ADS安装与配置、MemTools烧录技巧等关键步骤。针对嵌入式开发者,特别提供了从安装到第一个程序烧录的实战指南,涵盖常见问题解决方案和优化建议,帮助开发者快速上手英飞凌AURIX系列微控制器的开发工作。

qsc901234的博客 333

ican项目四汽车零件智能测量

ican项目四汽车零件智能测量

weixin_72050316的博客 561

不想被淘汰,就别做这八种人!

社会一定会淘汰不争气的人,不想被淘汰就别出现在这八种人之内。    1)八小时之外不再学习的人    胡适先生说:人与人的区别在于八小时之外如何运用。有时间的人不能成功,挤时间的人才能成功。八小时之内决定现在,八小时之外决定未来。什么样的想法什么样的生活。有学习才有选择权,没有知识,要有常识;没有常识,走进教室。不是社会发展太快,是我们思维反应太慢,为什

Marvin 5279

2026华为OD面试题084:贪心的商人

商人经营一家店铺,有 `number` 种商品。由于仓库限制,每件商品的最大持有数量是 `item[index]`。 每种商品每天有一个价格 `item_price[item_index][day]`。通过对商品买进和卖出获取利润,请给出商人在 `days` 天内能获取到的最大利润。 注:同一件商品可以反复买进和卖出。 输入描述: - 第一行输入商品数量 `number` - 第二行输入商人售货天数 `days` - 第三行输入 `number` 个整数,表示每件商品的最大持有数量 `item[in

琅嬛福地 273

不想被淘汰,就别做这八种人!(转)

社会一定会淘汰不争气的人,不想被淘汰就别出现在这八种人之内。    1)八小时之外不再学习 的人     胡适先生说:人与人的区别在于八小时之外如何运用。有时间的人不能成功 ,挤时间的人才能成功。八小时之内决定现在,八小时之外决定未来 。什么样的想法什么样的生活。有学习才有选择权,没有知识,要有常识;没有常识,走进教室。不是社会发展太快,是我们思维反应太慢,为什么我们思维太慢,是我们没有跟

xiaofengkuang的专栏 531

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

将要被淘汰的八种人

1》八小时之外不学习的人。胡适先生说:人与人的区别在于八小时之外如何运用。有时间的人不能成功,挤时间的人才能成功。八小时之内决定现在,八小时之外决定未来。什么样的想法什么样的生活。有学习才有选择权,没有知识,要有常识,没有常识,走进教室。不是社会发展太快,是我们思维反应太慢,为什么我们思维太慢,是我们没有跟上学习。人生有两大悲哀:结婚之后不再恋爱,毕业以后不在学习。拒绝学习,就是拒绝成长。

没有思考就没有发言权 4819

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

未来的八种人将会被淘汰

近日,国家人事部行政科学研究所副所长吴德贵指出,随着入世,在某些行业和领域高素质人才“走俏”的同时,有“八种人”将会“滞销”,他们在激烈的竞争中,将遭遇麻烦事,成为“困难户”。这“八种人”是:   第一种、知识陈旧的人。如今,知识更新的速度越来越快,知识倍增的周期越来越短。20世纪60年代,知识倍增,周期是8年,70年代减少为6年,80年代缩短成3年,进入90年代以后,更是1年就增长1倍。人类

Albert 1446

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

2014年将会被淘汰的八种人,你属于哪一种?

2014年将会被淘汰的八种人,你属于哪一种?

ZhouJoLoker的专栏 1234
上一篇: PostgreSQL的R-tree和一些空间类型
下一篇: Google的BigTable
ipiggg
博客等级 码龄21年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值