腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
Postgresql源码分析
专栏成员
举报
424
文章
331958
阅读量
62
订阅数
订阅专栏
申请加入专栏
全部文章(424)
postgresql(139)
sql(114)
编程算法(87)
云数据库 postgresql(51)
缓存(38)
linux(37)
函数(36)
源码(36)
数据库(29)
打包(21)
事务(21)
云数据库 SQL Server(19)
node.js(18)
html(18)
oracle(16)
网络安全(15)
https(15)
腾讯云测试服务(14)
内存(14)
存储(13)
数据(12)
优化(12)
java(10)
进程(10)
数据结构(9)
llvm(9)
系统(9)
javascript(8)
unix(8)
mapreduce(8)
tcp/ip(8)
数据分析(8)
jit(8)
原理(8)
css(7)
select(7)
数组(7)
腾讯技术创作特训营S9(7)
r 语言(6)
网站(6)
http(6)
backend(6)
int(6)
plpgsql(6)
遍历(6)
c++(5)
python(5)
buffer(5)
list(5)
startup(5)
state(5)
编译(5)
配置(5)
日志(5)
异常(5)
单片机(4)
ide(4)
api(4)
文件存储(4)
socket编程(4)
uml(4)
迁移(4)
data(4)
delay(4)
insert(4)
io(4)
table(4)
变量(4)
递归(4)
队列(4)
后端(4)
接口(4)
连接(4)
索引(4)
语法(4)
指针(4)
c 语言(3)
bash(3)
json(3)
android(3)
云数据库 Redis®(3)
mvc(3)
gcc(3)
mvcc(3)
block(3)
class(3)
crash(3)
flush(3)
freeze(3)
header(3)
heap(3)
kill(3)
lock(3)
max(3)
memcpy(3)
min(3)
point(3)
record(3)
return(3)
schema(3)
server(3)
target(3)
并发(3)
测试(3)
工具(3)
框架(3)
排序(3)
权限(3)
统计(3)
字符串(3)
ios(2)
xml(2)
arm(2)
嵌入式(2)
git(2)
nginx(2)
数据加密服务(2)
svg(2)
kernel(2)
安全(2)
nest(2)
unicode(2)
ascii(2)
acl(2)
clock(2)
commit(2)
exec(2)
function(2)
image(2)
include(2)
inline(2)
limit(2)
memory(2)
mq(2)
mysql(2)
pid(2)
pipe(2)
random(2)
reduce(2)
scale(2)
self(2)
set(2)
shared(2)
spi(2)
static(2)
storage(2)
store(2)
tcp(2)
transform(2)
truncate(2)
yacc(2)
编码(2)
编译器(2)
程序(2)
对象(2)
多进程(2)
集合(2)
链表(2)
性能(2)
对象存储(1)
维纳斯(1)
负载均衡(1)
其他(1)
自动驾驶(1)
c#(1)
go(1)
servlet(1)
jquery(1)
汇编语言(1)
makefile(1)
ruby on rails(1)
github(1)
jar(1)
tomcat(1)
maven(1)
windows server(1)
负载均衡缓存(1)
消息队列 CMQ 版(1)
检测工具(1)
云推荐引擎(1)
数据备份(1)
vr 视频解决方案(1)
容器(1)
游戏(1)
分布式(1)
jdk(1)
jvm(1)
ssh(1)
yum(1)
面向对象编程(1)
jdbc(1)
大数据(1)
windows(1)
nat(1)
kafka(1)
虚拟化(1)
flink(1)
app(1)
apply(1)
binary(1)
boot(1)
build(1)
builder(1)
centos7(1)
chrome(1)
command(1)
compare(1)
copy(1)
core(1)
count(1)
date(1)
debug(1)
default(1)
dump(1)
el(1)
eval(1)
exception(1)
expand(1)
fibonacci(1)
field(1)
file(1)
free(1)
func(1)
gdb(1)
glibc(1)
gnome(1)
goto(1)
import(1)
interface(1)
key(1)
lex(1)
libc(1)
location(1)
map(1)
nested(1)
object(1)
output(1)
package(1)
parent(1)
port(1)
proc(1)
procedure(1)
profiling(1)
put(1)
range(1)
relation(1)
release(1)
search(1)
sh(1)
shift(1)
size(1)
sleep(1)
snapshot(1)
socket(1)
statistics(1)
streaming(1)
subquery(1)
substitution(1)
synchronous(1)
tar(1)
this(1)
time(1)
timeout(1)
touch(1)
types(1)
union(1)
var(1)
vi(1)
vnc(1)
wait(1)
width(1)
x86(1)
博客(1)
插件(1)
磁盘(1)
存储过程(1)
动态规划(1)
反射(1)
翻译(1)
继承(1)
基础(1)
开发(1)
客户端(1)
命令行(1)
入门(1)
生命周期(1)
调试(1)
同步(1)
文件系统(1)
线程(1)
序列化(1)
异步(1)
注解(1)
字符编码(1)
搜索文章
搜索
搜索
关闭
Postgresql源码(136)syscache/relcache 缓存及失效机制
postgresql
缓存
进程
源码
腾讯技术创作特训营S9
syscache:缓存系统表的行。通用数据结构,可以缓存一切数据(hash + dlist)。可以分别缓存单行和多行查询。
mingjie
2024-09-28
109
0
Postgresql源码(135)生成执行计划— —Var的调整set_plan_references
腾讯技术创作特训营S9
postgresql
set
递归
源码
全局结构,包含了跨多个查询级别的信息。例如一个包含子查询或CTE的查询中,每个子查询都会有自己的 PlannerInfo结构,会共享同一个PlannerGlobal。包含了:
mingjie
2024-06-07
172
0
Postgresql源码(134)优化器针对volatile函数的排序优化分析
postgresql
函数
优化
源码
腾讯技术创作特训营S9
上一篇对路径的生成进行了分析,通过make_one_rel最终拿到了一个带着路径的RelOptInfo。本篇针对带volatile函数的排序场景继续分析subquery_planner的后续流程。
mingjie
2024-05-29
137
0
Postgresql源码(129)JIT函数中如何使用PG的类型llvmjit_types
postgresql
jit
types
函数
源码
llvmjit_types.c里面定义了一些类型的变量,这些变量的bitcode在初始化时(llvm_create_types),会加载到module中(llvm_types_module)。然后再通过llvm_pg_var_type函数,把类型读取出来保存到全局变量中:
mingjie
2024-05-24
86
0
Postgresql源码(130)ExecInterpExpr转换为IR的流程
优化
源码
postgresql
state
函数
表达式计算在之前做过很多相关的分析了,本篇主要关注ExecInterpExpr如何转换为IR。
mingjie
2024-05-24
108
0
Postgresql源码(131)行锁的原理分析
源码
postgresql
连接
事务
原理
行锁是一种用于控制并发访问的机制,可以确保同一时间只有一个事务可以修改或删除特定的行数据。本文对行锁的原理做一些分析。
mingjie
2024-05-24
163
0
Postgresql源码(132)分布式行锁的原理分析
源码
postgresql
分布式
函数
原理
PG中的行锁在上一片中做了分析《Postgresql源码(131)行锁的原理分析》,本篇对分布式PG(PGXL)中的行锁做一些分析。(版本:Postgres-XL 10alpha2)
mingjie
2024-05-24
141
0
Postgresql源码(133)优化器动态规划生成连接路径的实例分析
腾讯技术创作特训营S9
postgresql
动态规划
连接
优化
生成基础关系的path:set_base_rel_pathlists,执行后生成的PATH在RelOptInfo数组中保存:
mingjie
2024-05-24
105
0
Postgresql源码(128)深入分析JIT中的函数内联llvm_inline
inline
jit
llvm
源码
腾讯技术创作特训营S9
上面给的用例函数的编译执行是在投影列中的(无JIT投影列执行可以参考这篇《Postgresql源码(127)投影ExecProject的表达式执行分析》)。
mingjie
2024-05-09
150
0
Postgresql中JIT函数能否inline的依据function_inlinable
jit
函数
postgresql
function
inline
在JIT inline函数的过程中,会通过函数的bc代码,经过一系列规则、成本的判断来决定函数能否Inline,本篇重点分析这段逻辑:function_inlinable。
mingjie
2024-05-09
93
0
LLVM的ThinLTO编译优化技术在Postgresql中的应用
postgresql
llvm
函数
优化
腾讯技术创作特训营S9
链接时优化(Link-time optimization,简称LTO)是编译器在链接时对程序进行的一种优化。它适用于以文件为单位编译程序,然后将这些文件链接在一起的编程语言(如C和Fortran),而不是一次性编译(如Java的即时编译(JIT))。
mingjie
2024-05-07
237
0
Postgresql源码(127)投影ExecProject的表达式执行分析
源码
postgresql
gdb
state
函数
对于这样这一条查询来说,每扫描一行,都会调用投影函数ExecProject,完成最终结果的构造。
mingjie
2024-05-01
191
0
使用Perf诊断PostgreSQL性能问题
postgresql
函数
进程
排序
性能
但偏向于debug的参数会造成性能降低,生产上也不一定这样编,部分堆栈缺失也不妨碍整体性能分析。
mingjie
2024-04-25
233
1
Postgresql源码(126)TupleStore使用场景与原理分析
配置
原理
源码
postgresql
exec
调用SPI_execute_plan_extended执行后,可以看到tstore中有了两条结果。
mingjie
2024-04-18
175
0
Postgresql源码(125)游标恢复执行的原理分析
源码
腾讯技术创作特训营S9
postgresql
spi
遍历
不在执行exec_prepare_plan直接执行exec_dynquery_with_params:
mingjie
2024-04-16
143
0
iperf3使用记录
工具
系统
port
server
并发
-l参数可以控制发包大小,默认是128KB的包,可以用tcpdump抓下应用发包大小,做下模拟。
mingjie
2024-04-09
216
0
Postgresql源码(124)两个事务更新同一行数据时的行为和原理分析
源码
postgresql
事务
数据
原理
heap_update(Relation relation, ItemPointer otid, HeapTuple newtup, ...)
mingjie
2024-02-21
245
0
Postgresql源码(123)事务提交时三段资源释放分析ResourceOwnerRelease
源码
postgresql
release
后端
事务
三阶段释放是指ResourceOwnerRelease函数在使用时需要调用三次,按固定顺序调用每次删除特定的资源:
mingjie
2024-02-20
204
0
Postgresql源码(122)Listen / Notify与事务的联动机制
postgresql
后端
进程
事务
源码
Notify和Listen是Postgresql提供的不同会话间异步消息通信功能,例子:
mingjie
2024-02-19
211
0
Postgresql源码(121)事务状态中childXids的作用
源码
postgresql
parent
事务
原理
子事务提交后,将xid记录到父事务的childXids,父事务的childXids就表示下面已经提交的子事务,这些子事务xid在后续mvcc计算中,会完全等效与当前的事务xid。
mingjie
2024-02-19
97
0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档