源码结构
-
config.log:
-
contrib/:contribution 程序
-
doc/:文档目录
-
GUNMakefile:第一级目录的 Makefile
-
GUNMakefile.in:Makefile 的雏形
-
HISTORY:修改历史
-
INSTALL:安装方法简要说明
-
Makefile:Makefile模版
-
README:简单说明
-
src/:源代码目录
-
backend/:后端的源码目录
-
access/:各种存储访问方法(在各个子目录下) common(共同函数)、gin (Generalized Inverted Index通用逆向索引)、gist (Generalized Search Tree通用索引)、 hash (哈希索引)、heap (heap的访问方法)、index (通用索引函数)、 nbtree (Btree函数)、transam (事务处理)
-
bootstrap/:数据库的初始化处理(initdb的时候)
-
catalog/:系统目录
-
commands/:SELECT/INSERT/UPDATE/DELETE以为的sql文的处理
-
common.mk:
-
executor/:执行器(访问的执行)
-
foreign/:FDW(Foreign Data Wrapper)处理
-
lib/:共同函数
-
libpq/:前端/后端通信处理
-
main/:postgres的主函数
-
Makefile makefile
-
nls.mk
-
nodes/:构文树节点相关的处理函数
-
optimizer/:优化器
-
parser/:sql构文解析器
-
po
-
port/:平台相关的代码
-
postgres
-
postmaster/:postmaster的主函数 (常驻postgres)
-
regex/:正则处理
-
replication/:streaming replication
-
rewrite/:规则及视图相关的重写处理
-
snowball/:全文检索相关(语干处理)
-
storage/ 共享内存、磁盘上的存储、缓存等全部一次/二次记录管理(以下的目录)buffer/(缓存管理)、 file/(文件)、freespace/(Fee Space Map管理) ipc/(进程间通信)、large_object /(大对象的访问函数)、 lmgr/(锁管理)、page/(页面访问相关函数)、 smgr/(存储管理器)
-
tsearch/:全文检索
-
utils/ 各种模块(以下目录) adt/(嵌入的数据类型)、cache/(缓存管理)、 error/(错误处理)、fmgr/(函数管理)、hash/(hash函数)、 init/(数据库初始化、postgres的初期处理)、 mb/(多字节文字处理)、misc/(其他)、mmgr/(内存的管理函数)、 resowner/(查询处理中的数据(buffer pin及表锁)的管理)、sort/(排序处理)、time/(事务的 MVCC 管理)
-
bcc32.mak:Win32 端口用的 Makefile (Borland C++ 用)
-
common:
-
DEVELOPERS:面向开发人员的注视
-
fe_utils
-
include/:头文件
backend等的代码的头文件包含在include里面。其组织虽然与backend的目录结构类似,但是并非完全相同,基本上来说下一级的子目录不再设下一级目录。
-
interfaces/:前端相关的库的代码
-
Makefile:Makefile
-
Makefile.global.in:Configure使用的Makefile.global的雏形
-
Makefile.port:平台相关的make的设定值,实际是一个到makefile/Makefile的连接. (从configure生成的)
-
makefiles/:平台相关的make 的设置值
-
Makefile.shlib:共享库用的Makefile
-
nls-global.mk:信息目录用的Makefile文件的规则
-
pl/:存储过程语言的代码
-
port/:平台移植相关的代码
-
template/:平台相关的设置值
-
test/:各种测试脚本
-
timezone/:时区相关代码
-
tools/:各自开发工具和文档
-
tutorial/:教程
-
win32.mak Win32 端口用的 Makefile (Visual C++ 用)
模块调用关系
-
catalog:系统表操作,包含用于操作系统表的专用函数。
-
executor:执行器,执行来自Optimizer的查询计划。
-
main:主程序模块,它负责将控制权转到Postmaster进程或Postgres进程。
-
nodes:定义系统内部所用到的节点、链表等结构,以及处理这些结构的函数。
-
port:平台兼容性处理相关的函数。
-
postmaster:监听用户请求的守护进程,并控制Postgres进程的启动和终止。
-
storage:管理各种类型的存储系统(如磁盘、闪存等)。
-
tcop:Postgres服务进程的主要处理部分,它调用Parser、Optimizer、Executor和Commands中的函数来执行客户端提交的查询
-
tsearch:全文检索。
-
Initdb:初始化数据库集簇。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。