首页
学习
活动
专区
工具
TVP
发布

Postgresql源码分析

专栏作者
411
文章
274881
阅读量
55
订阅数
Postgresql源码(126)TupleStore使用场景与原理分析
调用SPI_execute_plan_extended执行后,可以看到tstore中有了两条结果。
mingjie
2024-04-18
630
Postgresql源码(125)游标恢复执行的原理分析
不在执行exec_prepare_plan直接执行exec_dynquery_with_params:
mingjie
2024-04-16
710
iperf3使用记录
-l参数可以控制发包大小,默认是128KB的包,可以用tcpdump抓下应用发包大小,做下模拟。
mingjie
2024-04-09
840
Postgresql源码(124)两个事务更新同一行数据时的行为和原理分析
heap_update(Relation relation, ItemPointer otid, HeapTuple newtup, ...)
mingjie
2024-02-21
1200
Postgresql源码(123)事务提交时三段资源释放分析ResourceOwnerRelease
三阶段释放是指ResourceOwnerRelease函数在使用时需要调用三次,按固定顺序调用每次删除特定的资源:
mingjie
2024-02-20
1320
Postgresql源码(122)Listen / Notify与事务的联动机制
Notify和Listen是Postgresql提供的不同会话间异步消息通信功能,例子:
mingjie
2024-02-19
1190
Postgresql源码(121)事务状态中childXids的作用
子事务提交后,将xid记录到父事务的childXids,父事务的childXids就表示下面已经提交的子事务,这些子事务xid在后续mvcc计算中,会完全等效与当前的事务xid。
mingjie
2024-02-19
620
Postgresql源码(120)事务XID分配与主备XID同步
确保父事务有 XID,以便子事务总是拥有一个比其父事务更新的 XID。这里不能递归调用,否则如果我们处于一个巨大的子事务堆栈的底部,而这些子事务还没有分配 XID,可能会遇到栈溢出的问题。
mingjie
2024-02-05
1150
Postgresql源码(119)PL/pgSQL中ExprContext的生命周期
在PL/pgSQL语言中,执行任何SQL都需要通过SPI调用SQL层解析执行,例如在SQL层执行表达式的入口:
mingjie
2023-12-30
840
Postgresql源码(118)elog/ereport报错跳转功能分析
注意PG_CATCH和PG_FINALLY是二选一的,区别是PG_FINALLY会在最后把异常重新抛出去,而PG_CATCH自己处理完了就不在向上抛了。
mingjie
2023-12-22
2600
真正看懂TOP的进程内存(VIRT、RES、SHR)
在创建到32745个线程时,pthread框架报告没有资源创建新线程了,这个是框架自己对于内存使用的显示。
mingjie
2023-12-20
6300
Postgresql源码(117)libpq的两套实现(socket/shm_mq)
并行框架中会将子进程的libpq的通信改成mq通信,用于子进程给父进程发送错误信息。
mingjie
2023-12-19
1270
__int128类型movaps指令crash
在使用__int128时,如果__int128类型的内存起始地址不是按16字节对齐的话,有些汇编指令会抛出SIGSEGV使程序crash。
mingjie
2023-11-23
2390
Postgresql源码(116)提升子查询案例分析
对于SQL:select * from student, (select * from score where sno > 2) s where student.sno = s.sno;
mingjie
2023-11-23
1680
Oracle修改字符集记录
mingjie
2023-10-25
1811
LLVM(6)ORC实例分析:Transform in cpp
mingjie
2023-10-19
1560
Postgresql关于EOH的使用注意
EOH是一种扩展数据结构,之前有几篇博客讨论过了,最近在改相关代码加深了一些理解。
mingjie
2023-10-19
1770
LLVM(5)ORC实例分析
mingjie
2023-10-13
1660
Postgresql源码(115)LLVM JIT运行逻辑分析(上)
dlopen动态加载llvmjit.so,并调用so中的_PG_jit_provider_init初始化:
mingjie
2023-10-13
1710
关于IvorySQL和OpenGauss包SPEC与集合类型的一些思考
mingjie
2023-10-13
1230
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档