Postgres 數據庫在原有示例正常運行狀況下,新增一個端口示例,主要目的解決新的項目和原有項目的數據庫部署不在衝突,能夠獨立運行,備份和還原數據互不影響,主要用的的命令有 initdb 數據庫初始化 ,pg_ctl start 進行示例的啓動,經過 pg_ctl.exe register 能夠實現將postgres 註冊成windows 服務,解決命令行沒法隨開機一塊兒啓動等問題。 本例子使用的postgres 版本是10 ,pgAdmin4.0。命令環境用的是cmder 強力推薦(https://cmder.net/)html
注意爲了避免影響原有的數據庫使用,務必要把原有的示例端口號指定,若是不指定會形成原有數據庫示例不能進行鏈接(詳見步驟2)。sql
initdb 官方文檔寫能夠用 pg_ctl
init[db]
[-D
datadir
] [-s
] [-o
initdb-options
] 代替,我沒試過,也能夠試試。數據庫
pg_ctl
start
[-D
datadir
] [-l
filename
] [-W
] [-t
seconds
] [-s
] [-o
options
] [-p
path
] [-c
] 啓動示例windows
pg_ctl
register
[-D
datadir
] [-N
servicename
] [-U
username
] [-P
password
] [-S
a[uto]
| d[emand]
] [-e
source
] [-W
] [-t
seconds
] [-s
] [-o
options
] 進行window 服務註冊app
postgres官網文檔對pg_ctl 命令詳解 連接 http://www.postgres.cn/docs/10/app-pg-ctl.htmlpost
一、 initdb -D C:\Soft\PostgreSQL\10\data2 -E UTF-8 --locale=chs -U postgres -W 如圖1 所示;測試
圖1 initdb 命令進行初始化數據庫spa
二、修改默認示例data 目錄 postgresql.conf 第63行端口號:5432(否則原有示例會報錯),如圖2所示。.net
圖2 修改data\postgresql.conf 默認示例端口,指定爲5432 命令行
修改新目錄 data2文件夾中配置文件 postgresql.conf 第63行端口號:5433,如圖3所示;
圖3 修改新目錄 data2文件夾中配置文件 postgresql.conf
三、 pg_ctl -D ^"C^:^\Soft^\PostgreSQL^\10^\data2^" -l logfile start 啓動服務進行測試,如圖4所示;
圖4 啓動新示例
四、客戶端鏈接測試
(1)用pgadmin 鏈接原有示例5432,配置參數如圖5所示;
圖5 pgadmin 鏈接原有示例5432
已經鏈接成功了,原有示例正常運行~~
圖6 pgadmin 展開原有數據庫示例
(2)鏈接5433 端口示例
圖6 pgadmin 鏈接實例5433
新端口鏈接成功!
圖7 pgadmin 鏈接實例5433
五、將新的端口註冊成新的服務
pg_ctl.exe register -N "pgsql5433" -D "C:\Soft\PostgreSQL\10\data2"
查看服務已經成功註冊,這樣就可設置服務隨開機一塊兒啓動了