PostgreSQL原始碼學習 win10原始碼編譯安裝

Excel2016發表於2024-04-17

原始碼學習的第一步是原始碼安裝,只有用原始碼安裝才能之後在此基礎上閱讀、除錯、開發系統。
我這裡安裝的是PostgreSQL 13.2版本,其他版本大同小異,如有出入,以最新版本的文件為準:PostgreSQL最新版文件

一、下載原始碼

原始碼下載連結,內含各自版本的原始碼:PG原始碼
比如13.2版本的,下載這兩種壓縮包都可以,我選擇的是tar.gz的壓縮包,到windows平臺解壓。原始碼其實是針對各自作業系統平臺均適用的,只是編譯出來的可執行檔案會受限於平臺,所以這裡不區分到底什麼作業系統。

二、下載Visual Studio

雖然這東西很大,但由於是官方文件要求,只有這個可以最簡單地滿足編譯的工具要求,所以還是犧牲一點磁碟空間下載一個吧,具體版本無所謂,我這裡是2019 community版。直接在網上搜尋安裝包即可,下好就能用。
下載完以後,先不用急著執行,開啟x86_x64 Cross Tools Command Prompt for VS工具。可以直接在開始選單中尋找到這個工具。開啟之後長這個樣子。

三、編譯安裝

這一節主要是輸入一堆命令即可,文字只是解釋在幹嘛,如果不想看文字,可以直接複製紅色的命令依次輸入即可。

  1. 假設我們把解壓後的postgresql 13.2的壓縮包放在了 E:/ 這個目錄下,所以我們先要切換到所在的E盤,在第二步開啟的這個黑框中輸入:E:。如果就是安裝在C盤,就不需要這個步驟。然後輸入cd postgresql-13.2\src\tools\msvc,這就到了我們之後操作的工作目錄。
  2. 如果開啟這個目錄,可以看到很多以pl結尾的檔案,這些檔案就是我們接下來要執行的檔案。可以透過輸入 perl -v 試一下電腦上是否有perl。如果有,則下一步,如果沒有,可以看看這個:perl安裝

四、啟動資料庫

  1. 要切換目錄到我們安裝資料庫的目標資料夾,這裡是E:/pgdb,切換方式同理,如果不在一個盤,要先輸入E:,然後cd pgdb。然後再進入檔案下面的bin目錄,輸入cd bin,這裡包含我們要執行的程式。
  2. 輸入:initdb -D ../data,這一步是手動初始化資料庫。
  3. 輸入:pg_ctl start -l logfile -D ../data,這一步是啟動初始化完成的資料庫,並且把日誌記錄在logfile檔案中。
  4. 輸入:psql -d postgres,可以啟動一個資料庫,如果像下圖所示,就是成功了。至於為什麼是postgres,因為這個是init時候預設建立好的一個資料庫名稱。

五、使用入門

  1. 如果要建立其他資料庫,可以在四中第三步之後,輸入createdb + dbname,就會建立名字為dbname的一個資料庫。這裡我是建立了一個名字為“dddd”的資料庫。如果報錯,就檢查是否成功啟動了伺服器,重新輸入pg_ctl start -l logfile -D ../data
  2. 伺服器的啟動、停止、再啟動:
    啟動:pg_ctl start -l logfile -D ../data
    停止:pg_ctl stop -D ../data
    重新啟動:pg_ctl restart -l logfile -D ../data
  3. 簡單使用一下資料庫
    建立自己的第一個表
create table Student(
name varchar(20),
id int,
department varchar(30)
);

插入幾條資料

insert into Student values 
('xql',1,'info'), 
('test',2,'math'),
('temp',3, 'ai');

查詢一下資料庫Student表

select * from Student;
#結果為
 name | id | department
------+----+------------
 xql  |  1 | info
 test |  2 | math
 temp |  3 | ai
(3 rows)

退出資料庫,輸入\q或者ctrl+c。
4. 關掉這個視窗,如果下次開啟,需要重新執行:pg_ctl start -l logfile -D ../data,啟動資料庫伺服器,然後用psql命令連線自己的資料庫,但記住不需要重新執行init初始化。
如果上面這些步驟都是成功執行,那麼恭喜你,你已經成功透過原始碼安裝了PostgreSQL,可以開始折騰你的系統了。

相關文章