千家信息网

PostgreSQL:源码目录结构

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,源码结构aclocal.m4:config 用的文件的一部分config/:config 用的文件的目录config.log:configure:configure 文件configure.in:co
千家信息网最后更新 2025年01月21日PostgreSQL:源码目录结构

源码结构

  • aclocal.m4:config 用的文件的一部分

  • config/:config 用的文件的目录

  • config.log:

  • configure:configure 文件

  • configure.in:configure 文件的雏形

  • contrib/:contribution 程序

  • COPYRIGHT:版权信息

  • 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/(存储管理器)

      • tcop/:postgres (数据库引擎的进程)的主要部分

      • 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++ 用)

    • bin/:psql 等 UNIX命令的代码

    • common:

    • DEVELOPERS:面向开发人员的注视

    • fe_utils

    • include/:头文件

      backend等的代码的头文件包含在include里面。其组织虽然与backend的目录结构类似,但是并非完全相同,基本上来说下一级的子目录不再设下一级目录。


    • interfaces/:前端相关的库的代码

    • Makefile:Makefile

    • Makefile.global:make 的设定值(从configure生成的)

    • 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++ 用)

模块调用关系

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

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

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

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

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

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

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

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

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

  • parser:编译器,将SQL查询转化为内部查询树。

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

  • postmaster:监听用户请求的守护进程,并控制Postgres进程的启动和终止。

  • regex:正规表达式库及相关函数,用于支持正规表达式处理。

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

  • storage:管理各种类型的存储系统(如磁盘、闪存等)。

  • tcop:Postgres服务进程的主要处理部分,它调用Parser、Optimizer、Executor和Commands中的函数来执行客户端提交的查询

  • tsearch:全文检索。

  • utils:各种支持函数,如错误报告、各种初始化操作等。

  • Initdb:初始化数据库集簇。

  • Psql:数据库交互工具。

函数 处理 目录 查询 管理 数据 文件 代码 进程 平台 数据库 系统 索引 存储 结构 方法 模块 支持 全文 全文检索 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 无锡智能化软件开发创新服务 ns代理服务器如何打开 手机装数据库 音乐 代理服务器 森创丰互联网科技 南海软件开发项目管理 方舟编译器与软件开发 数据库系统经历了哪几个阶段 学校网络安全宣传活动简讯 深圳行业软件开发咨询 宽带账号登录无法连接服务器 数据库数据量比较大怎么优化 很少软件开发macos 软件开发的售后服务是什么 网络安全实习生一般月收入 网络安全宣传名字 合发上海网络技术有限公司证券 网络安全法怎么保护个人信息 百世网络技术有限公司信用代码 软件开发有价值吗 网络安网络安全宣全宣 班加罗尔为什么软件开发迅速 长沙诺特网络技术服务有限公司 重装战姬太平洋服务器 河南数据网络技术标准 如何从服务器端口读取数据 木瓜互联网科技布沙发清洗剂 新乡友邦网络技术有限公司 天津什么是软件开发行业标准 机械控制系统软件开发毕业设计
0