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/:系統(tǒng)目錄
commands/:SELECT/INSERT/UPDATE/DELETE以為的SQL文的處理
common.mk:
executor/:執(zhí)行器(訪問的執(zhí)行)
foreign/:FDW(Foreign Data Wrapper)處理
lib/:共同函數
libpq/:前端/后端通信處理
main/:postgres的主函數
Makefile makefile
nls.mk
nodes/:構文樹節(jié)點相關的處理函數
optimizer/:優(yōu)化器
parser/:SQL構文解析器
po
port/:平臺相關的代碼
postgres
postmaster/:postmaster的主函數 (常駐postgres)
regex/:正則處理
replication/:streaming replication
rewrite/:規(guī)則及視圖相關的重寫處理
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/(多字節(jié)文字處理)、misc/(其他)、mmgr/(內存的管理函數)、 resowner/(查詢處理中的數據(buffer pin及表鎖)的管理)、sort/(排序處理)、time/(事務的 MVCC 管理)
bcc32.mak:Win32 端口用的 Makefile (Borland C++ 用)
bin/:psql 等 UNIX命令的代碼
common:
DEVELOPERS:面向開發(fā)人員的注視
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文件的規(guī)則
pl/:存儲過程語言的代碼
port/:平臺移植相關的代碼
template/:平臺相關的設置值
test/:各種測試腳本
timezone/:時區(qū)相關代碼
tools/:各自開發(fā)工具和文檔
tutorial/:教程
win32.mak Win32 端口用的 Makefile (Visual C++ 用)
access:提供各種存取方法,支持堆、索引等對數據的存取。
bootstrap:用于支持Bootstrap運行模式,該模式主要用來創(chuàng)建初始的模板數據庫。
catalog:系統(tǒng)表操作,包含用于操作系統(tǒng)表的專用函數。
commands:執(zhí)行非計劃查詢的SQL命令,如創(chuàng)建表命令等。
executor:執(zhí)行器,執(zhí)行來自Optimizer的查詢計劃。
libpq:C/C++的庫函數,處理與客戶端間的通信,幾乎所有的模塊都依賴它。
main:主程序模塊,它負責將控制權轉到Postmaster進程或Postgres進程。
nodes:定義系統(tǒng)內部所用到的節(jié)點、鏈表等結構,以及處理這些結構的函數。
optimizer:優(yōu)化器,根據查詢樹創(chuàng)建最優(yōu)的查詢路徑和查詢計劃。
parser:編譯器,將SQL查詢轉化為內部查詢樹。
port:平臺兼容性處理相關的函數。
postmaster:監(jiān)聽用戶請求的守護進程,并控制Postgres進程的啟動和終止。
regex:正規(guī)表達式庫及相關函數,用于支持正規(guī)表達式處理。
rewrite:查詢重寫,根據規(guī)則系統(tǒng)對查詢進行重寫。
storage:管理各種類型的存儲系統(tǒng)(如磁盤、閃存等)。
tcop:Postgres服務進程的主要處理部分,它調用Parser、Optimizer、Executor和Commands中的函數來執(zhí)行客戶端提交的查詢
tsearch:全文檢索。
utils:各種支持函數,如錯誤報告、各種初始化操作等。
Initdb:初始化數據庫集簇。
Psql:數據庫交互工具。
文章名稱:PostgreSQL:源碼目錄結構-創(chuàng)新互聯(lián)
本文地址:http://jinyejixie.com/article36/egipg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、移動網站建設、網站建設、外貿建站、虛擬主機、網站維護
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容