最新 最热

Oracle/Mysql迁移到Postgresql事务回滚行为差异及改造方法

Mysql或Oracle迁移到Postgresql系产品后,经常会发生事务回滚导致的问题,具体问题一般都是类似于:

2022-05-12
1

Postgresql存储结构

如果阅读过手册一定听过postgresql cluster的概念,第一次听到这个概念可能都会有一些困惑。cluster在安装数据库时,由initdb工具生成,initdb后产生的pgdata文件夹可以理解为cluster的物理存储结构。数据库启动、停止时pg...

2022-05-12
1

Postgresql中的MVCC与并发

ACID中的C即一致性在PG内部使用MVCC机制来保证。MVCC多版本并发控制为数据加上时间戳,读写需要额外的根据自身时间戳与数据时间戳对比,按照既定的规则可以知道这条数据对当前的SQL是否可见。MVCC避免了传统的锁方法,将锁...

2022-05-12
1

Postgresql内部缓存与OS缓存的关系

mysql通常使用odirect使数据绕过OS缓冲区落盘,wal还是使用系统缓冲。这样数据的写盘不会造成系统刷脏抖动。在pgsql中数据是与OS缓冲绑定的,自己没有做字节对齐,也不使用odirect的方式直写设备,社区对数据直写的态度也一...

2022-05-12
1

Postgresql垃圾回收原理分析

间隔删除数据,使用ctid(页面号,lp号)作为条件,发现数据并没有真正的从页面中删除

2022-05-12
1

Postgresql中xlog生成和清理逻辑

checkpoint_segments + wal_keep_segments + 1个文件。

2022-05-12
0

Postgresql源码(36)Latch的原理分析和应用场景

本篇需要一点背景支持:《Postgresql的latch实现中self-pipe trick解决什么问题》

2022-05-12
1

Postgresql源码(35)备库startup启动和redo流程分析

下面分析中涉及的集中lsn表示形式: Postgresql中lsn的三种记录形式与相关代码

2022-05-12
1

Postgresql源码(28)Btree索引分裂前后结构差异对比

《Postgresql源码(30)Postgresql索引基础B-linked-tree》

2022-05-12
1

Postgresql源码(27)Btree索引相关系统表和整体结构

《Postgresql源码(30)Postgresql索引基础B-linked-tree》

2022-05-12
1