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:資料庫互動工具。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2665631/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PostgreSQL 目錄結構SQL
- Apache原始碼目錄結構Apache原始碼
- EOS原始碼分析(7)目錄結構原始碼
- Android原始碼目錄結構詳解Android原始碼
- 程式碼目錄結構記錄
- libevent原始碼初識及目錄結構分析原始碼
- 人人都能懂的Vue原始碼系列(一)—Vue原始碼目錄結構Vue原始碼
- Kubernetes原始碼系列:Kubernetes目錄結構原始碼
- 【PG結構】Postgresql資料庫資料目錄說明SQL資料庫
- vue 原始碼學習(一) 目錄結構和構建過程簡介Vue原始碼
- fabric 目錄結構
- dedecms 目錄結構
- vue@2.0原始碼學習---目錄結構分析與準備工作Vue原始碼
- Tomcat目錄結構Tomcat
- 分析Angular目錄結構Angular
- Jmeter之目錄結構JMeter
- ecos框架目錄結構框架
- linux 目錄結構Linux
- 系統目錄結構
- django的目錄結構Django
- 鴻蒙原始碼目錄整理鴻蒙原始碼
- 【Zookeeper】原始碼分析目錄原始碼
- 深入Vue - 原始碼目錄及構建過程分析Vue原始碼
- DiscuzX2.5完整目錄結構【模板目錄template】
- 2.3 sqlmap目錄及結構SQL
- postgre目錄結構簡介
- ThinkPHP5.0目錄結構PHP
- linux的目錄結構Linux
- Android 目錄結構分析Android
- Helm目錄結構講解
- Tomcat目錄結構解析Tomcat
- golang開發目錄結構Golang
- linux下目錄結構Linux
- springboot 目錄結構Spring Boot
- iOS基礎:目錄結構iOS
- Goldengate_目錄結構Go
- Linux目錄結構-轉Linux
- Laravel的目錄結構分析Laravel