Windows 系統 PostgreSQL 手工安裝設定方法

2022-09-01 12:03:27

自從2020年底開始接觸 PostgreSQL 以來就喜歡上了這個資料庫,個人感覺比 MySQL 好用,多表聯合查詢效能好很多,同時也不存在 SQLServer 的版權授權費用問題。搭配 .NET 開發很好用,目前手裡的專案全部都是採用 PostgreSQL 進行資料支撐的。

本文主要說一下在 Windows 系統中安裝 PostgreSQL 的方法,我這裡沒有采用 exe 安裝包的形式去安裝,EDB 釋出的那個 exe 安裝包形式的對於中文環境資料庫的排序規則設定有問題,所以我採用了官方 ZIP 壓縮包形式解壓後手動安裝的形式。

先說一下安裝包的獲取方式,存取 https://www.postgresql.org/download/windows/

然後點選下載頁面的 zip archive 就可以進入下載地址 https://www.enterprisedb.com/download-postgresql-binaries

 目前最新穩定版是 PostgreSQL 14.5 點選就可以獲取到我們所需要的 zip 壓縮包了

這個壓縮包原版總共有 280M 大小,但是其實裡面有很多東西我們用不到,所以我這裡經過和 exe 安裝版的進行對比分析之後,整理了一個清理方案

預設其中包含有這些資料夾,我箭頭標記的 doc,  pgAdmin 4 ,  StackBuildersymbols 四個資料夾可以直接刪除,然後進入 bin 目錄,再刪掉 stackbuilder 相關的一些檔案即可,我貼了一個 bat 命令,大家可以直接在 bin 資料夾中執行下面的命令,對相關檔案進行刪除。

del stackbuilder.exe
del libcurl.dll
del wxbase313u_vc_x64_custom.dll
del wxbase313u_xml_vc_x64_custom.dll
del wxbase313ud_net_vc_x64_custom.dll
del wxmsw313u_adv_vc_x64_custom.dll
del wxmsw313u_core_vc_x64_custom.dll
del wxmsw313ud_aui_vc_x64_custom.dll
del wxmsw313ud_html_vc_x64_custom.dll
del wxmsw313ud_xrc_vc_x64_custom.dll

 執行完清理方案之後,整個 PostgreSQL 的資料夾就只剩下 107M 大小了,壓縮為 zip 格式之後只有 34.5M

 

大家可以把清理好之後的檔案做一個壓縮包各自儲存起來,以後換別的電腦安裝 PostgreSQL 的時候可以直接用自己弄好的這個壓縮包。

接下來開始說如何進行安裝 PostgreSQL,檔案都準備好之後,首先把資料夾移動到準備安裝的位置,我這裡移動到了 D:\Software\PostgreSQL 路徑

啟動 cmd 進入我們的路徑 D:\Software\PostgreSQL 切入到 bin 資料夾中

cmd
d:
cd D:\Software\PostgreSQL
cd bin

我們的安裝,解除安裝命令都需要在 bin 資料夾中執行

首先初始化範例

initdb -D "D:\Software\PostgreSQL\data" -E UTF8 -U postgres --locale="Chinese (Simplified)_China.936" --lc-messages="Chinese_China.936" -A scram-sha-256 -W

在 windows 環境下我們採用 UTF8 編碼 Chinese (Simplified)_China.936 排序規則,賬戶加密方式採用 scram-sha-256,資料庫的存放位置指定為 D:\Software\PostgreSQL\data

初始化過程中需要輸入兩次 超級使用者口令,用於設定 postgres 使用者的密碼

資料庫初始化完成之後,就可以選擇安裝為 Windows 服務了,註冊服務命令如下

pg_ctl.exe register -D "D:\Software\PostgreSQL\data" -PostgreSQL

接下來我們調整一下 PostgreSQL 的設定資訊,預設情況下 PostgreSQL 資料庫只能本機連線,我們調整為監聽所有 IP 開啟外部連線的功能。

在 D:\Software\PostgreSQL\data 資料夾中找到 postgresql.conf

開啟 postgresql.conf 檔案,找到

#listen_addresses = 'localhost'

然後刪除掉前面的 # 修改為

listen_addresses = '*'

儲存後關閉檔案。

然後還是在 D:\Software\PostgreSQL\data 資料夾中找到 pg_hba.conf 開啟後直接情況裡面原來的內容,用如下內容進行替換

host all all 0.0.0.0/0 scram-sha-256
host all all ::/0 scram-sha-256

儲存後關閉即可,這樣就執行了所有的 ipv4 和 ipv6 地址來連線我們的 PostgreSQL 資料庫了,因為本文旨在說明 PostgreSQL 的安裝,所以對於其他的一些設定不展開進行說明。

當組態檔調整之後我們就可以啟動我們安裝好的 PostgreSQL 了,只要在 cmd 輸入

net start PostgreSQL

 也可以通過 Windows 服務來控制啟動和停止

 啟動之後就可以使用連線工具去連線資料庫了

 如果想要解除安裝 PostgreSQL 則需要先停止 服務,

net stop PostgreSQL

然後執行解除安裝命令即可

執行解除安裝命令也需要向我們開始的操作一樣進入 PostgreSQL 路徑的 bin 目錄,然後執行

pg_ctl.exe unregister -PostgreSQL

這樣就解除安裝完成了,然後直接去 D:\Software 刪掉 PostgreSQL 資料夾就可以了。

至此 Windows 系統 PostgreSQL 手工安裝設定方法 就講解完了,有任何不明白的,可以在文章下面評論或者私信我,歡迎大家積極的討論交流,有興趣的朋友可以關注我目前在維護的一個 .NET 基礎框架專案,專案地址如下