- 專欄內(nèi)容:postgresql內(nèi)核源碼分析
- 個(gè)人主頁:我的主頁
- 座右銘:天行健,君子以自強(qiáng)不息;地勢坤,君子以厚德載物.
目錄
前言
源碼下載
源碼結(jié)構(gòu)
核心代碼目錄
結(jié)尾
前言
本文對postgresql源碼目錄結(jié)構(gòu)進(jìn)行介紹,以及核心代碼目錄介紹,對pg內(nèi)核感興趣的朋友請關(guān)注本專欄內(nèi)容。
源碼下載
在下面官網(wǎng)可以下載源碼包
PostgreSQL: File Browser
也可以在github/gitee/gitcode上找postgres的源碼倉庫進(jìn)行克隆到本地,這樣就可以不斷更新到最新代碼修改。
github不是很穩(wěn)定,下面是csdn的gitcode的鏡像倉庫
mirrors / postgres / postgres · GitCode
源碼結(jié)構(gòu)
postgres源碼根目錄下結(jié)構(gòu)如下
[senllang@localhost postgres]$ ll
total 1180
-rw-r--r--.? 1 senllang develops??? 490 Feb? 9? 2021 aclocal.m4
drwxr-xr-x.? 2 senllang develops?? 4096 Feb? 9? 2021 config
-rw-r--r--.? 1 senllang develops 427787 Apr 21 19:29 config.log
-rwxr-xr-x.? 1 senllang develops? 39999 Apr 21 19:29 config.status
-rwxr-xr-x.? 1 senllang develops 568656 Feb? 9? 2021 configure
-rw-r--r--.? 1 senllang develops? 82388 Feb? 9? 2021 configure.in
drwxr-xr-x. 57 senllang develops?? 4096 Feb? 9? 2021 contrib
-rw-r--r--.? 1 senllang develops?? 1192 Feb? 9? 2021 COPYRIGHT
drwxr-xr-x.? 3 senllang develops???? 87 Feb? 9? 2021 doc
-rw-r--r--.? 1 senllang develops?? 4278 Apr 21 19:29 GNUmakefile
-rw-r--r--.? 1 senllang develops?? 4278 Feb? 9? 2021 GNUmakefile.in
-rw-r--r--.? 1 senllang develops??? 277 Feb? 9? 2021 HISTORY
-rw-r--r--.? 1 senllang develops?? 1665 Feb? 9? 2021 Makefile
-rw-r--r--.? 1 senllang develops?? 1213 Feb? 9? 2021 README
-rw-r--r--.? 1 senllang develops??? 721 Feb? 9? 2021 README.git
drwxr-xr-x. 16 senllang develops?? 4096 Apr 21 19:29 src
主要目錄說明
doc |
????????文檔目錄,可以編譯出pdf,html格式的手刪文檔 |
contrib???????? |
插件源碼目錄,沒有包含在內(nèi)核代碼中,插件在使用時(shí)通過create extension進(jìn)行加載 |
src |
postgres 數(shù)據(jù)庫的源碼目錄 |
核心代碼目錄
我們看下src下的目錄結(jié)構(gòu),它里面就是postgresql內(nèi)核的代碼了。
drwxr-xr-x. 28 senllang develops? 4096 Feb? 9? 2021 backend
drwxr-xr-x. 21 senllang develops? 4096 Feb? 9? 2021 bin
drwxr-xr-x.? 3 senllang develops? 4096 Feb? 9? 2021 common
-rw-r--r--.? 1 senllang develops?? 173 Feb? 9? 2021 DEVELOPERS
drwxr-xr-x.? 2 senllang develops? 4096 Feb? 9? 2021 fe_utils
drwxr-xr-x. 31 senllang develops? 4096 Apr 21 19:29 include
drwxr-xr-x.? 4 senllang develops??? 47 Feb? 9? 2021 interfaces
-rw-r--r--.? 1 senllang develops? 1842 Feb? 9? 2021 Makefile
-rw-r--r--.? 1 senllang develops 34174 Apr 21 19:29 Makefile.global
-rw-r--r--.? 1 senllang develops 34512 Feb? 9? 2021 Makefile.global.in
lrwxrwxrwx.? 1 senllang develops??? 31 Apr 21 19:29 Makefile.port -> ../src/makefiles/Makefile.linux
drwxr-xr-x.? 2 senllang develops? 4096 Feb? 9? 2021 makefiles
-rw-r--r--.? 1 senllang develops 15338 Feb? 9? 2021 Makefile.shlib
-rw-r--r--.? 1 senllang develops? 6392 Feb? 9? 2021 nls-global.mk
drwxr-xr-x.? 6 senllang develops??? 78 Feb? 9? 2021 pl
drwxr-xr-x.? 2 senllang develops? 4096 Feb? 9? 2021 port
drwxr-xr-x.? 2 senllang develops?? 142 Feb? 9? 2021 template
drwxr-xr-x. 16 senllang develops? 4096 Feb? 9? 2021 test
drwxr-xr-x.? 4 senllang develops? 4096 Feb? 9? 2021 timezone
drwxr-xr-x. 10 senllang develops? 4096 Feb? 9? 2021 tools
drwxr-xr-x.? 2 senllang develops? 4096 Feb? 9? 2021 tutorial
主要目錄介紹:
backend |
數(shù)據(jù)庫服務(wù)端源碼 |
bin |
客戶端和服務(wù)端工具代碼 |
common |
通用算法源碼,如md5,sha2,json,base64等等 |
fe_utils |
客戶端常用結(jié)構(gòu)和處理 |
include |
頭文件目錄 |
interfaces |
提供的libpq,ecpg等開發(fā)接口庫 |
pl |
過程語言接口和語法處理,如plpgsql,plperl,plpython等開發(fā)接口 |
port |
libpgport公共庫 |
template |
提供不同編譯平臺下的編譯參數(shù) |
test |
測試程序,通過make check開始測試 |
timezone |
時(shí)區(qū)相關(guān)公共接口 |
tools |
對工具使用的使用建議或配置,如win下編譯,ci,editor,還有valgrind等等 |
tutorial |
使用postgresql的基本SQL和步驟例程 |
結(jié)尾,謝謝瀏覽!
結(jié)尾
作者郵箱:study@senllang.onaliyun.com
如有錯(cuò)誤或者疏漏歡迎指出,互相學(xué)習(xí)。大家有什么想要了解的,歡迎留言或發(fā)郵件,您的關(guān)注是我繼續(xù)分享的最大動(dòng)力。文章來源:http://www.zghlxwxcb.cn/news/detail-423215.html
注:未經(jīng)同意,不得轉(zhuǎn)載!文章來源地址http://www.zghlxwxcb.cn/news/detail-423215.html
到了這里,關(guān)于postgresql 源碼結(jié)構(gòu)分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!