
pgsql
文章平均质量分 75
高铭杰
反思总结常态化,华为高斯PG->阿里PG->腾讯PG
展开
-
Postgresql源码(143)统计信息基础知识(带实例)
统计信息基础知识原创 2025-04-24 21:28:05 · 618 阅读 · 0 评论 -
git rebase复杂场景验证
经常面临复杂的分支管理,这里对几种场景的行为做一些验证。原创 2025-04-07 22:39:48 · 508 阅读 · 0 评论 -
C语言传参寄存器压栈流程总结
C语言传参使用寄存器+压栈的方式,这里对传参的细节流程做一些分析记录。原创 2025-04-07 19:13:02 · 593 阅读 · 0 评论 -
Citus源码(2)分布式读流程分析与基础概念梳理(shardid、placementid、groupid)
本篇尝试分析几部分内容:1. 插件挂入内核的位置。2. 插件中几个主要函数的大体功能总结。3. 一个简单的SELECT DQL查询分布式表的执行流程。原创 2025-04-01 16:35:41 · 738 阅读 · 0 评论 -
如何确认数据在citus的哪个分片上
如何确认数据在citus的哪个分片上原创 2025-03-31 16:35:13 · 193 阅读 · 0 评论 -
Citus源码(1)分布式表行为测试
1. 最近对citus的实现非常好奇,本篇对citus的行为做一些测试。2. 本篇只测行为,不分析源码。后面会继续写一系列文章分析citus源码。原创 2025-03-25 17:51:06 · 583 阅读 · 0 评论 -
Postgresql源码(142)子查询提升pull_up_sublinks
Postgresql源码(142)子查询提升pull_up_sublinks原创 2025-03-24 22:27:25 · 827 阅读 · 0 评论 -
服务端配置TCP探活,超出探活时间后的行为?
服务端配置TCP探活,超出探活时间后的行为总结。原创 2025-02-26 15:59:49 · 398 阅读 · 0 评论 -
客户端进程突然结束,服务端read是什么行为?
read网络socket返回0的行为总结。原创 2025-02-25 11:36:38 · 516 阅读 · 0 评论 -
性能观测神器strace/ltrace在Postgresql中的应用
性能观测神器strace/ltrace在Postgresql中的应用原创 2025-02-20 21:18:17 · 333 阅读 · 0 评论 -
OpenTenBase源码(1)计算分布式SQL涉及哪几个DN节点
如何根据SQL计算下发到那个DN执行。原创 2025-02-17 16:21:58 · 305 阅读 · 0 评论 -
准确理解valgrind中callgraph的结果含义
valgrind虚拟了程序的运行环境,以大幅降低程序性能为代价,提供准确的函数调用次数、调用关系、执行时间等信息,在一些需要精确分析性能的场景非常有效。原创 2025-02-07 15:24:22 · 268 阅读 · 0 评论 -
Postgresql源码(141)JIT系列分析汇总
JIT系列分析文档的汇编。原创 2025-01-21 18:04:42 · 1292 阅读 · 0 评论 -
Postgresql源码(140)理解PG的编译流程(make、Makefile、Makefile.global.in)
理解Postgresql的编译流程。原创 2025-01-21 17:57:40 · 989 阅读 · 0 评论 -
Postgresql源码(139)vim直接修改postgresql表文件的简单实例
使用vim直接修改二进制表文件的方法原创 2025-01-05 12:13:39 · 1120 阅读 · 0 评论 -
Postgresql中clog与xid对应关系计算方法(速查表)
clog与xid对应关系计算方法原创 2025-01-04 13:51:35 · 747 阅读 · 0 评论 -
Protobuf源码分析
分析protobuf-c的关键代码。原创 2024-11-21 17:29:55 · 1037 阅读 · 0 评论 -
Varints变长整数编码分析
Varints在Protobuf wire format中最重要的编码方式,整形、字符串等类型的编码底层都会使用Varints。原创 2024-11-19 21:05:33 · 671 阅读 · 0 评论 -
Postgresql源码(138)alter table增加列的执行流程分析
alter table 逻辑比较繁琐,但并不复杂,这里以增加列为例简单梳理流程。原创 2024-11-13 10:40:26 · 680 阅读 · 0 评论 -
Postgresql源码(137)执行器参数传递与使用
执行器参数的传递与使用原创 2024-10-30 10:29:53 · 1132 阅读 · 0 评论 -
Postgresql源码(136)syscache/relcache 缓存及失效机制
syscache/relcache 缓存及失效机制原创 2024-09-27 21:47:18 · 1520 阅读 · 0 评论 -
Postgresql源码(135)生成执行计划——Var的调整set_plan_references
生成执行计划中对var引用的调整set_plan_references原创 2024-06-06 15:47:53 · 1142 阅读 · 0 评论 -
Postgresql源码(134)优化器针对volatile函数的排序优化分析
优化器针对volatile函数的排序优化分析原创 2024-05-28 17:36:23 · 1171 阅读 · 0 评论 -
Postgresql源码(133)优化器动态规划生成连接路径的实例分析
物理算子的生成分为两步,基表的扫描路径生成set_base_rel_pathlists;连接路径生成(make_rel_from_joinlist动态规划)。本篇简单分析实现。原创 2024-05-22 18:05:01 · 1455 阅读 · 0 评论 -
Postgresql源码(132)分布式行锁的原理分析
PG中的行锁在上一片中做了分析,本篇对分布式PG(PGXL)中的行锁做一些分析。(版本:Postgres-XL 10alpha2)原创 2024-05-21 20:16:28 · 1374 阅读 · 2 评论 -
Postgresql源码(131)行锁的原理分析
行锁是一种用于控制并发访问的机制,可以确保同一时间只有一个事务可以修改或删除特定的行数据。本文对行锁的原理做一些分析。原创 2024-05-20 18:05:10 · 1261 阅读 · 0 评论 -
Postgresql源码(130)ExecInterpExpr转换为IR的流程
ExecInterpExpr转换为IR的流程原创 2024-05-17 23:00:00 · 1517 阅读 · 0 评论 -
Postgresql源码(129)JIT函数中如何使用PG的类型llvmjit_types
JIT函数中如何使用PG的类型llvmjit_types原创 2024-05-17 15:16:37 · 1074 阅读 · 0 评论 -
Postgresql源码(128)深入分析JIT中的函数内联llvm_inline
深入分析JIT中的函数内联llvm_inline原创 2024-05-08 22:01:25 · 1188 阅读 · 0 评论 -
Postgresql中JIT函数能否inline的依据function_inlinable
在JIT inline函数的过程中,会通过函数的bc代码,经过一系列规则、成本的判断来决定函数能否Inline,本篇重点分析这段逻辑:function_inlinable。原创 2024-05-08 18:02:14 · 1037 阅读 · 0 评论 -
LLVM的ThinLTO编译优化技术在Postgresql中的应用
LLVM的ThinLTO编译优化技术在Postgresql中的应用原创 2024-05-06 22:09:47 · 1313 阅读 · 0 评论 -
Postgresql源码(127)投影ExecProject的表达式执行分析
无论是投影还是别的计算,表达式执行的入口和计算逻辑都是统一的,这里已投影为分析表达式执行的流程。原创 2024-04-30 15:35:14 · 1207 阅读 · 1 评论 -
使用Perf诊断PostgreSQL性能问题
使用Perf诊断PostgreSQL性能问题原创 2024-04-24 22:36:47 · 1134 阅读 · 0 评论 -
Postgresql源码(126)TupleStore使用场景与原理分析
TupleStore使用场景与原理分析原创 2024-04-17 16:58:53 · 1024 阅读 · 0 评论 -
Postgresql源码(125)游标恢复执行的原理分析
为什么每次fetch游标能从上一次的位置继续?后面用一个简单用例分析原理。原创 2024-04-15 17:30:40 · 572 阅读 · 0 评论 -
Postgresql源码(124)两个事务更新同一行数据时的行为和原理分析
XactLockTableWait函数、transactionid锁的一些原理和分析。原创 2024-02-20 00:15:00 · 1023 阅读 · 1 评论 -
Postgresql源码(123)事务提交时三段资源释放分析ResourceOwnerRelease
三阶段释放是指ResourceOwnerRelease函数在使用时需要调用三次,按固定顺序调用每次删除特定的资源,本篇做一些分析总结。原创 2024-02-19 23:45:00 · 1088 阅读 · 0 评论 -
Postgresql源码(122)Listen / Notify与事务的联动机制
本文对异步消息队列与事务的联动机制做一些分析。原创 2024-02-18 23:45:00 · 1344 阅读 · 0 评论 -
Postgresql源码(121)事务状态中childXids的作用
子事务提交后,将xid记录到父事务的childXids,父事务的childXids就表示下面已经提交的子事务,这些子事务xid在后续mvcc计算中,会完全等效与当前的事务xid。原创 2024-02-18 23:15:00 · 595 阅读 · 0 评论 -
Postgresql源码(120)事务XID分配与主备XID同步
事务XID分配与主备XID同步原创 2024-02-04 18:10:38 · 1303 阅读 · 0 评论