PostgreSQL代码结构

以PostgreSQL 12源码为例,其中主要目录及用途如下:

access: 提供各种存取方法,支持堆、索引等对数据的存取

bootstrap: 用于支持bootstrap运行模式,该模式主要用来创建初始的模板数据库

catalog: 系统表操作,包含用于操作系统表的专用函数

commands: 执行非计划查询的SQL命令,如创建表命令等

executor: 执行器,执行来自Optimizer的查询计划

foreign: 支持外部数据包装器、服务器和用户映射

 jit: just in time 支持

lib: 通用数据结构的库函数

libpq: C/C++的库函数,处理与客户端键的通信,几乎所有的模块都依赖它

main: 主程序模块,它负责将控制权转到Postmaster进程或Postgres进程

nodes: 定义系统内部所用到的节点、链表等结构,以及处理这些结构的函数

optimizer: 优化器,根据查询树创建最优的查询路径和查询计划

parser: 编译器,将SQl查询转化为内部查询树

partitioning: 支持分区的相关函数

port: 平台兼容性处理相关函数

postmaster: postmaster的辅助进程

regex: 正则表达式库以及相关函数

replication: 流复制

rewrite: 查询重写,根据规则系统对查询进行重写

snowball: 词干分析代码

statistics: 负责统计信息,用于改善计划。

storage: 管理各种类型的存储系统

tcop: Postgres服务进程的主要处理部分,它调用parser,optimizer,executor,commands中的函数来执行客户端提交的查询

tsearch: 全文检索

utils: 各种支持函数

它的代码结构还是比较清晰的,每个子目录都对应着一个模块。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值