以windows服務方式快速部署免安裝版Postgres數據庫
1、下載Postgresql數據庫免安裝包
下載地址
https://www.enterprisedb.com/download-postgresql-binaries
如下圖:

這次我直接下載最新的12.1的免安裝的包。
文件的下載鏈接:
http://get.enterprisedb.com/postgresql/postgresql-12.1-3-windows-x64-binaries.zip
下載的文件名:
postgresql-12.1-3-windows-x64-binaries.zip
2、安裝環境准備及驗證
解壓文件
解壓下載好的安裝包至安裝目錄,我直接安裝到本機的C:\Program Files\PostgreSQL\pgsql 目錄。
最終的目錄結構如下圖:

測試環境依賴
通過cmd命令窗口進入到bin 目錄,執行如下命令
C:\Program Files\PostgreSQL\pgsql\bin>pg_ctl --help
如果成功執行不報錯,並且輸出如下,則說明本機不缺少依賴包。
注意:cmd必須以管理員身份運行

如果出現報錯,提示缺少xxx,請安裝vc的運行組件后再次嘗試。
vc_redist.x86.vc2015.14.0.23026.exe
下載鏈接:
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
3、創建並初始化數據目錄
創建數據目錄
我的環境數據目錄位於: D:\PGData,已經提前新建此目錄,確保此目錄存在
初始化數據目錄
指定超級管理員用戶名:postgres,通過cmd命令窗口進入到bin 目錄,執行如下命令,
C:\Program Files\PostgreSQL\pgsql\bin>initdb -D "D:\PGData" -E UTF-8 --locale=chs -U postgres -W
執行成功后如下圖:

通過 -W 參數會提示輸入超級用戶密碼
注意權限問題,如果數據目錄是在c盤,則需要給user添加完全控制權限
5、配置postgres數據庫
配置文件位於數據目錄:D:\PGData,如下圖

打開並修改postgresql.conf
通過文本編輯工具,打開postgresql.conf,修改listen_addresses參數
修改前:

修改后:

打開並修改pg_hba.conf
通過文本編輯工具,打開postgresql.conf,新增一條授權,允許通過遠程主機(不限制IP),通過加密密碼的方式進行數據庫訪問

修改之后,如下圖:

4、安裝服務
以管理員身份進入到C:\Program Files\PostgreSQL\pgsql\bin 目錄,運行命令將數據庫以windows服務的方式運行管理:
C:\Program Files\PostgreSQL\pgsql\bin\pg_ctl register -D "D:\PGData" -N postgresql-12_1_3-x64 -S auto -U "NT AUTHORITY\LocalService"
賬戶權限說明:
| 賬戶名稱 | 賬戶標識 |
|---|---|
| 本地服務 | NT AUTHORITY\LocalService |
| 網絡服務 | NT AUTHORITY\NetworkService |
安裝成功后如下圖:

然后進入windows服務管理器,啟動服務:

若服務啟動失敗,或者需要更換數據存放目錄可以取消注冊服務:
C:\Program Files\PostgreSQL\pgsql\bin\pg_ctl unregister -N postgresql-12_1_3-x64
6、創建用戶、數據庫
連接數據庫
打開cmd窗口,通過psql終端測試數據庫是否可用,使用超級用戶postgres連接默認的postgres數據庫,執行如下命令:
C:\Users\admin>psql -d postgres -U postgres
連接成功后如下圖:

創建用戶、數據庫
- 創建用戶
CREATE USER dba WITH PASSWORD 'dba' SUPERUSER;

- 創建數據庫
CREATE DATABASE exampledb OWNER dba;

- 切換用戶及數據庫
\c exampledb dba;

到此,postgres數據庫的搭建已經完成,接下來可以愉快的使用了。
