摘要:
【问题描述】 写入unlogged表,gs_ctl正常停进程后,启动进程,数据丢失,和开源pg不一致 【问题定位】 1)启动读值数据错导致走recovery流程 checkPoint.redo=decoder->main_data RecPtr=checkPointLoc = t_thrd.shem 阅读全文
摘要:
【申请调用栈】 数据结构 阅读全文
摘要:
【问题】 可重复读隔离级别右边更新成功 串行化隔离级别右边报错 【调用栈】 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 阅读全文
摘要:
【背景】 索引扫描:先获取第一个tuple位置,然后访问tuple,再获取第二个位置,访问第二个,可能导致访问tuple随机io 图片转自https://www.shangmayuan.com/a/1facf2c3b7ba4bc99f5e00e2.html 优化办法:通过位图将地址收集起来,再顺序读 阅读全文
摘要:
【参考】 https://www.cybertec-postgresql.com/en/postgresql-indexing-index-scan-vs-bitmap-scan-vs-sequential-scan-basics/ 【测试方法】 CREATE TABLE sampletable ( 阅读全文