pgsql
文章平均质量分 74
高铭杰
反思总结常态化,华为高斯PG->阿里PG->腾讯PG
展开
-
Postgresql源码(135)生成执行计划——Var的调整set_plan_references
生成执行计划中对var引用的调整set_plan_references原创 2024-06-06 15:47:53 · 1024 阅读 · 0 评论 -
Postgresql源码(134)优化器针对volatile函数的排序优化分析
优化器针对volatile函数的排序优化分析原创 2024-05-28 17:36:23 · 1085 阅读 · 0 评论 -
Postgresql源码(133)优化器动态规划生成连接路径的实例分析
物理算子的生成分为两步,基表的扫描路径生成set_base_rel_pathlists;连接路径生成(make_rel_from_joinlist动态规划)。本篇简单分析实现。原创 2024-05-22 18:05:01 · 1258 阅读 · 0 评论 -
Postgresql源码(132)分布式行锁的原理分析
PG中的行锁在上一片中做了分析,本篇对分布式PG(PGXL)中的行锁做一些分析。(版本:Postgres-XL 10alpha2)原创 2024-05-21 20:16:28 · 1198 阅读 · 0 评论 -
Postgresql源码(131)行锁的原理分析
行锁是一种用于控制并发访问的机制,可以确保同一时间只有一个事务可以修改或删除特定的行数据。本文对行锁的原理做一些分析。原创 2024-05-20 18:05:10 · 1119 阅读 · 0 评论 -
Postgresql源码(130)ExecInterpExpr转换为IR的流程
ExecInterpExpr转换为IR的流程原创 2024-05-17 23:00:00 · 1401 阅读 · 0 评论 -
Postgresql源码(129)JIT函数中如何使用PG的类型llvmjit_types
JIT函数中如何使用PG的类型llvmjit_types原创 2024-05-17 15:16:37 · 969 阅读 · 0 评论 -
Postgresql源码(128)深入分析JIT中的函数内联llvm_inline
深入分析JIT中的函数内联llvm_inline原创 2024-05-08 22:01:25 · 1081 阅读 · 0 评论 -
Postgresql中JIT函数能否inline的依据function_inlinable
在JIT inline函数的过程中,会通过函数的bc代码,经过一系列规则、成本的判断来决定函数能否Inline,本篇重点分析这段逻辑:function_inlinable。原创 2024-05-08 18:02:14 · 957 阅读 · 0 评论 -
LLVM的ThinLTO编译优化技术在Postgresql中的应用
LLVM的ThinLTO编译优化技术在Postgresql中的应用原创 2024-05-06 22:09:47 · 1088 阅读 · 0 评论 -
Postgresql源码(127)投影ExecProject的表达式执行分析
无论是投影还是别的计算,表达式执行的入口和计算逻辑都是统一的,这里已投影为分析表达式执行的流程。原创 2024-04-30 15:35:14 · 1073 阅读 · 1 评论 -
使用Perf诊断PostgreSQL性能问题
使用Perf诊断PostgreSQL性能问题原创 2024-04-24 22:36:47 · 1000 阅读 · 0 评论 -
Postgresql源码(126)TupleStore使用场景与原理分析
TupleStore使用场景与原理分析原创 2024-04-17 16:58:53 · 901 阅读 · 0 评论 -
Postgresql源码(125)游标恢复执行的原理分析
为什么每次fetch游标能从上一次的位置继续?后面用一个简单用例分析原理。原创 2024-04-15 17:30:40 · 485 阅读 · 0 评论 -
Postgresql源码(124)两个事务更新同一行数据时的行为和原理分析
XactLockTableWait函数、transactionid锁的一些原理和分析。原创 2024-02-20 00:15:00 · 817 阅读 · 1 评论 -
Postgresql源码(123)事务提交时三段资源释放分析ResourceOwnerRelease
三阶段释放是指ResourceOwnerRelease函数在使用时需要调用三次,按固定顺序调用每次删除特定的资源,本篇做一些分析总结。原创 2024-02-19 23:45:00 · 1025 阅读 · 0 评论 -
Postgresql源码(122)Listen / Notify与事务的联动机制
本文对异步消息队列与事务的联动机制做一些分析。原创 2024-02-18 23:45:00 · 1137 阅读 · 0 评论 -
Postgresql源码(121)事务状态中childXids的作用
子事务提交后,将xid记录到父事务的childXids,父事务的childXids就表示下面已经提交的子事务,这些子事务xid在后续mvcc计算中,会完全等效与当前的事务xid。原创 2024-02-18 23:15:00 · 536 阅读 · 0 评论 -
Postgresql源码(120)事务XID分配与主备XID同步
事务XID分配与主备XID同步原创 2024-02-04 18:10:38 · 1144 阅读 · 0 评论 -
Postgresql源码(119)PL/pgSQL中ExprContext的生命周期
在PL/pgSQL语言中,执行任何SQL都需要通过SPI调用SQL层解析执行,表达式的运行时、内存都是在ExprContext中存放的,所以PL在调用任何函数前都会提前申请好ExprContext内存,执行表达式时可以直接使用。原创 2023-12-29 15:32:27 · 1106 阅读 · 0 评论 -
Postgresql源码(118)elog/ereport报错跳转功能分析
elog/ereport报错跳转功能分析原创 2023-12-21 23:45:00 · 1440 阅读 · 4 评论 -
真正看懂TOP的进程内存(VIRT、RES、SHR)
私有内存与共享内存实验,看懂TOP的进程内存结果原创 2023-12-19 23:45:00 · 6046 阅读 · 0 评论 -
Postgresql源码(117)libpq的两套实现(socket/shm_mq)
libpq的两套实现(socket/shm_mq)原创 2023-12-18 11:36:31 · 290 阅读 · 0 评论 -
__int128类型movaps指令crash
在使用__int128时,如果__int128类型的内存起始地址不是按16字节对齐的话,有些汇编指令会抛出SIGSEGV使程序crash原创 2023-11-22 21:10:16 · 804 阅读 · 0 评论 -
Postgresql源码(116)提升子查询案例分析
提升子查询案例源码分析原创 2023-11-22 14:44:08 · 605 阅读 · 0 评论 -
LLVM(6)ORC实例分析:Transform in cpp
llvm orc实例分析原创 2023-10-17 11:17:01 · 249 阅读 · 0 评论 -
Postgresql关于EOH的使用注意
注意通常拿到的指针不是EOH头原创 2023-10-13 17:51:55 · 182 阅读 · 0 评论 -
LLVM(5)ORC实例分析
llvm orc实例分析原创 2023-10-10 15:59:07 · 603 阅读 · 0 评论 -
Postgresql源码(115)LLVM JIT运行逻辑分析(上)
LLVM JIT运行逻辑分析原创 2023-10-09 16:43:29 · 438 阅读 · 0 评论 -
关于IvorySQL和OpenGauss包SPEC与集合类型的一些思考
关于IvorySQL和OpenGauss包SPEC处理的一些思考原创 2023-10-08 17:35:45 · 395 阅读 · 0 评论 -
Postgresql中的C/C++混编(JIT)
Postgresql中的C/C++混编(JIT)原创 2023-10-07 11:19:23 · 616 阅读 · 0 评论 -
Postgresql源码(114)视图权限授予逻辑
元数据如何记录grant信息?原创 2023-09-27 14:55:44 · 871 阅读 · 0 评论 -
Postgresql源码(113)表达式JIT计算简单分析
jit表达式计算简单分析原创 2023-09-25 15:50:27 · 373 阅读 · 0 评论 -
Postgresql并行框架随手记
并行框架使用随手记原创 2023-09-19 17:03:37 · 202 阅读 · 0 评论 -
Postgresql JIT README翻译
postgresql jit readme原创 2023-09-18 15:40:11 · 420 阅读 · 1 评论 -
Postgresql中检测内存越界或use after free的简便方法
检测内存越界的实用宏原创 2023-09-14 17:14:18 · 187 阅读 · 0 评论 -
Postgresql中ParamListInfoData的作用
ParamListInfoData是参数的统一抽象原创 2023-09-07 10:50:16 · 539 阅读 · 0 评论 -
gcc语法解析如何解决dangling else的问题?
GCC上古版本(3.4)还有yacc,学习GCC如何实现if else 嵌套的问题。原创 2023-08-18 15:20:39 · 177 阅读 · 0 评论 -
Postgresql源码(112)plpgsql执行sql时变量何时替换为值
plpgsql执行sql时变量何时替换为值原创 2023-08-15 16:03:58 · 1221 阅读 · 0 评论 -
asan内存检测工具实例
内存错误检测工具ASAN用法总结原创 2023-08-15 23:45:00 · 1727 阅读 · 0 评论