• postgres源码目录结构


    1.第一级目录介绍

    |_postgres           

       |_aclocal.m4------------config用的文件的一部分

       |_config----------------config文件目录

       |_configure-------------configure文件

       |_contrib---------------contribution程序

       |_COPYRIGHT----------版权信息

       |_doc------------------文档目录

       |_GNUmakefile.in-------makefile雏形

       |_HISTORY-------------修改历史

       |_README-------------git说明

       |_README.git----------git文件

       |_src-------------------源代码目录

    2.src目录介绍

    |_src

       |_backend---------------后端的源码目录

       |_bcc32.mak-------------win32用的makefile(Borland C++用)

       |_bin---------------------psql等UNIX命令的代码

       |_common---------------通用的函数

       |_DEVELOPERS----------面向开发人员的注释

       |_include-----------------头文件

       |_interfaces--------------前端相关的代码

       |_Makefile----------------Makefile

       |_Makefile.global.in-------Configure使用的Makefile.global的雏形

       |_Makefile.shlib-----------共享库的makefile

       |_nls-global.mk-----------信息目录用的makefile文件的规则

       |_pl-----------------------存储过程语言的代码

       |_port--------------------平台移植相关的代码

       |_template----------------平台相关的设置模版

       |_test---------------------各种测试脚本

       |_timezone---------------时区相关的代码

       |_tools-------------------各自开发的工具和文档

       |_tutorial-----------------教程

       |_win32.bak--------------Win32用的makefile(Visual C++用)

    1.backend目录介绍

    |_backend

       |_access-----------------各种存储访问方法(在各子目录下),

           |_common(共同 函数)

           |_gin(Gerneralized Inverted Index通用逆向索引)

           |_gist(Gerneralized Search Tree通用索引)

           |_hash(哈希索引)

           |_heap(heap的访问方法)

       |_bootstrap-------------数据库的初始化处理(initdb)

       |_catalog----------------系统目录

       |_commands------------select/insert/update/delete以外的SQL命令

       |_common.mk-----------

       |_executor--------------执行器(访问的执行)

       |_foreign----------------FDW(Foreign Data Wrapper)处理

       |_lib---------------------共同的函数

       |_libpq------------------前端<->后端通信处理

       |_Makefile---------------makefile文件

       |_nls.mk----------------

       |_nodes-----------------构建树节点的相关处理函数

       |_optimizer--------------优化器

       |_parser-----------------SQL语句解析器

       |_po---------------------

       |_port-------------------平台相关的代码

       |_postmaster------------postmaster的主函数(常驻postgres)

       |_regex------------------正则处理

       |_replication-------------streaming replacation

       |_rewrite----------------规则及视图相关的重写处理

       |_snowball--------------全文检索相关(语义处理)

       |_storage---------------共享内存、磁盘上的存储、缓存等全部一次、二次记录管理

           |_buffer--------------缓存管理

           |_file-----------------文件

           |_freespace----------Free Space Map管理

           |_ipc-----------------进程间的通信

           |_large_object--------大对象的访问函数

           |_lmgr----------------锁管理

           |_page---------------页面访问相关的函数

           |_smgr---------------存储管理器

       |_tcop----------------postgres(数据库引擎的进程)的主要部分

       |_tsearch----------------全文检索

       |_utils-------------------各种模块

           |_adt-----------------嵌入的数据类型

           |_cache---------------缓存管理

           |_error----------------错误处理

           |_fmgr----------------函数管理

           |_misc-----------------其他

           |_mmgr---------------内存管理函数

           |_resowner------------查询处理中的数据(buffer bin及表锁)的管理

           |_sort-----------------排序处理

           |_time-----------------事务的MVCC管理

  • 相关阅读:
    LAMP实例搭建wordpress博客步骤
    MySQL Replication
    Mariadb源码和二进制安装
    Linux九阴真经之九阴白骨爪残卷13(LVM的备份还原,恢复最新状态)
    Linux九阴真经之九阴白骨爪残卷12(日志功能)
    Linux九阴真经之九阴白骨爪残卷11(并发访问控制和事务Transactions)
    Linux九阴真经之九阴白骨爪残卷10(MySQL架构、缓存及索引)
    Linux九阴真经之九阴白骨爪残卷9(存储引擎MyISAM、MySQL服务器变量)
    Linux九阴真经之九阴白骨爪残卷8(存储函数、存储过程、触发器)
    Linux九阴真经之九阴白骨爪残卷7(Mariadb的三种安装方法)
  • 原文地址:https://www.cnblogs.com/zhutianpeng/p/4189811.html
Copyright © 2020-2023  润新知