自從2020年底開始接觸 PostgreSQL 以來就喜歡上了這個資料庫,個人感覺比 MySQL 好用,多表聯合查詢性能好很多,同時也不存在 SQLServer 的版權授權費用問題。搭配 .NET 開發很好用,目前手裡的項目全部都是採用 PostgreSQL 進行數據支撐的。 本文主要說一下在 Wi ...
自從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 , StackBuilder ,symbols 四個文件夾可以直接刪除,然後進入 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 基礎框架項目,項目地址如下 https://github.com/berkerdong/NetEngine.git https://gitee.com/berkerdong/NetEngine.git