随笔分类 - postgres
摘要:1)8种级别锁 2)互斥关系 转自熊灿灿的资料 3)使用示例 参考https://shiroyasha.io/understanding-postgresql-locks.html session1: BEGIN;ALTER TABLE users ADD age int; session2: SE
阅读全文
摘要:【参考】 https://zhuanlan.zhihu.com/p/72543802 【调用点】 参数: slock_t mutex; typedef unsigned int slock_t; 【逻辑】 1)加锁逻辑 1.1)当次数大于100,随机睡1ms-1s逻辑 2)放锁逻辑
阅读全文
摘要:【测试】 1)第一个session执行insert语句 2)第二个session执行select 停在这里 睡在这个对象上 【如何唤醒】 参考https://zhuanlan.zhihu.com/p/73517810
阅读全文
摘要:参考https://www.modb.pro/db/11330 【测试sql】 1)创建表 create table account ( id int, first_name varchar(100), last_name varchar(100), address varchar(100), mo
阅读全文
摘要:【参考】 https://www.cnblogs.com/flying-tiger/p/8414374.html 先写最简单的读写基本流程 【流程】 session1:drop table t1; session2:select * from t1; 1)session2进程读消息 单独的drop大
阅读全文
摘要:说明 analyze命令把每列信息写入到pg_statistic 测试 create table t1 (id int); insert into t1(id) values(1); analyze VERBOSE t1 1)执行第一次 rmgr: Heap len (rec/tot): 115/
阅读全文
摘要:【申请调用栈】 数据结构
阅读全文
摘要:【问题】 可重复读隔离级别右边更新成功 串行化隔离级别右边报错 【调用栈】 1)T6失败 (sxact)->flags & SXACT_FLAG_DOOMED) != 0#MySerializableXact.flags=8, SXACT_FLAG_DOOMED=8#&结果不等于0 T5 end时把
阅读全文
摘要:【和不可重复读区别】 https://cloud.tencent.com/developer/article/1450773 [phantom read概念] A transaction re-executes a query returning a set of rows that satisfy
阅读全文
摘要:【实验】 【逻辑】 存储数据 内存数据
阅读全文
摘要:【实验】 session1BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ; select count(1) from t1; session2 insert into t1(id) values(1); 结果:session1读不到session2
阅读全文
摘要:【pg不支持读未提交】 [session1] BEGIN;INSERT INTO my_table(id,value) VALUES (1,'something'); [session2] BEGIN TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SEL
阅读全文
摘要:1)创建文件调用栈 2)初次写文件内容 2.1)写叶子节点0页 调用栈 a)根据heapBlk=0,计算出0页的位置 addr.level = FSM_BOTTOM_LEVEL; addr.logpageno = heapblk / SlotsPerFSMPage; #0 *slot = heapb
阅读全文
摘要:【测试步骤】 session1 begin; select * from t1 for update; session2 update t1 set id=2 ; 【流程】 1)session1, 给tuple设置Xmax 2)session2,检测tuple状态 result = HeapTupl
阅读全文
摘要:【场景和触发】 初始化一个数据页后(初始化索引页时,表页重构时) drop table if exists t_index;create table t_index (id int,c1 char(8));CREATE INDEX my_pg_index ON t_index USING btree
阅读全文
摘要:【对比不带limit】 执行树结构从单独的顺序扫描 变为 1)根节点limit 2)左子树(顺序扫描) 右子树(空) 【执行过程】 【limit的状态】 https://www.bianchengquan.com/article/362640.html
阅读全文
摘要:1)原始数据 storage只有base文件 2)heap类型的xlog13个 3)btree27个
阅读全文
摘要:【select 1】 1)主要函数 2)调用栈 3)往libpq写数据调用栈 4)函数备注 【select * from t1】 1)函数备注 2)调用栈
阅读全文

浙公网安备 33010602011771号