您现在的位置是:主页 > 数据库技术 > 数据库技术

pg源码src/backend/目录下的结构是怎样的

IDCBT2021-12-28服务器技术人已围观

简介pg源码src/backend/目录下的结构是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 1. src\backend\aces

pg源码src/backend/目录下的结构是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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

2.         src\backend\bootstrap:初始化数据库时要使用的代码。和src\bin\initdb下的initdb工具紧密相关。

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

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

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

6.         src\backend\lib:字符串处理和链表处理辅助函数。

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

8.         src\backend\main:PG的main函数所在。PG启动入口。

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

10.     src\backend\optimizer:实现查询优化的代码。

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

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

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

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

15.     src\backend\regex:对正则表达式的处理代码。

16.     src\backend\rewrite:PG的查询重写系统代码。

17.     src\backend\snowball:支持全文检索的代码。

标签:

很赞哦! ()

本栏推荐