加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

[PostgreSQL] pg源码src/backend/目录下的结构

发布时间:2020-12-13 17:32:04 所属栏目:百科 来源:网络整理
导读:【转载地址】http://blog.csdn.net/fly2nn/article/details/7002761 1. srcbackendacess:很重要的一个目录, 数据访问层 ,存放了和索引相关以及 事务处理相关的代码 。如“图3-事务处理和索引相关结构图”(http://blog.163.com/li_hx/blog/static/183991

【转载地址】http://blog.csdn.net/fly2nn/article/details/7002761


1. srcbackendacess:很重要的一个目录,数据访问层,存放了和索引相关以及事务处理相关的代码。如“图3-事务处理和索引相关结构图”(http://blog.163.com/li_hx/blog/static/183991413201152884321219/)。本层之下,是数据缓冲区,再下层,是真正的数据存储层

2. srcbackendbootstrap:初始化数据库时要使用的代码。和srcbininitdb下的initdb工具紧密相关。

3. srcbackendcatalog:PG提供的针对系统表的操作代码。系统表定义在incl?catalog中。

4. srcbackendcommands:SQL命令被解析后执行具体命令时对应的操作代码。

5. srcbackendexecutor:SQL命令被解析后得出语法分析树和查询计划,从形式上看,他们都是一颗多叉的树,每个子树由若干子树和节点(node)组成。不同节点的执行方式在经系统判断后各不相同,如是执行顺序扫描还是索引扫描还是嵌套循环等等。与commands目录中的代码联合完成查询处理功能。

6. srcbackendlib:字符串处理和链表处理辅助函数。

7. srcbackendlibpq:同身份认证或口令识别相关代码,以进行安全的网络通讯。如ssl,md5等等。

8. srcbackendmain:PG的main函数所在。PG启动入口。

9. srcbackendnodes:语法分析或查询计划上的节点的处理代码,如必要时对节点进行复制等。

10. srcbackendoptimizer:实现查询优化的代码。如“图4-查询优化代码结构图”(http://blog.163.com/li_hx/blog/static/183991413201152884321219/)。

11. srcbackendparser:对SQL语句进行解析的代码。注意gram.y文件。

12. srcbackenpo:实现国际化(i18n)功能的一部分。把一些数据库的提示信息国际化。

13. srcbackendport:屏蔽一些不同操作系统在一些实现上的差别。如windows上的socket、darwin系统上对system函数的支持、sunos4系统对于float类型的支持等。

14. srcbackendpostmaster:PG的主要进程。如主服务进程postmaster,归档进程pgarch等。

15. srcbackendregex:对正则表达式的处理代码。

16. srcbackendrewrite:PG的查询重写系统代码。

17. srcbackendsnowball:支持全文检索的代码。

18. srcbackendstorage:很重要的一个目录。有关物理存储系统相关代码。主要包括存储管理器(可方便提供多种存储方式的切换)、缓冲区管理、文件管理、文件空间管理、大对象管理、锁管理、使用消息队列进行cache同步等。如“图5-存储系统代码结构图”。

19. srcbackendtcop:真正的处理用户SQL的服务进程?—postgres。

20. srcbackendtserach:全文检索相关代码。

21. srcbackendutils:辅助功能代码。如adt目录下对于各种数据类型的处理代码;cache目录中提供一些缓存的支持,如查询计划缓存;error目录中提供PG系统的错误处理机制;fmgr目录有PG提供的函数管理机制;mb目录中有对国际化的支持(多字节字符);misc目录提供对于系统参数的处理机制;mmgr目录提供PG对于内存管理的代码等等。如“图6-辅助功能代码结构图”。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读