安裝 PostgreSQL 8.x, non-installer version

發表於 | 10.26.2008 | 無回應

PostgreSQL 7.x 與 8.x 在安裝條件上有很大的不同.

7.x 需在 UNIX 的環境下, Windows 下則得透過 CygwinW (Linux-like environment for Windows) 實現; 而 8.x 則已支援 Windows 的系統, PostgreSQL 的網站在 8.0 以後皆提供了 win32 binaries.

選擇 non-installer version 的理由除了與 MySQL 一樣外, 主要因為是 PostgreSQL 的 installer 會自動為 Windows 新增一位在本機上受限制的使用者(postgres), 其用意是藉由他來執行在 Windows 上 PostgreSQL 所提供的服務, 以避免安全性的問題; 但以下的作法是由本機系統(Administrator\USER) 來啟動 PostgreSQL 的服務, 使用資料庫的角色(role)在本機伺服器端實際上並不存在, 而是由一個幽靈使用者(以下以 root 為例)所管理.

將 binaries-no-installer.zip 解壓縮到 PATH\TO\PostgreSQL
新增 PATH\TO\PostgreSQL 到 Windows 的 PATH 環境變數裡
新增目錄 PATH\TO\PostgreSQL\data

執行命令提示字元(cmd.exe), 進入 PATH\TO\PostgreSQL\bin, 執行以下命令

產生必要的資料庫檔案及指定格式, 並建立管理員(root), 且在後續的作業中指定密碼
> initdb.exe -D PATH\TO\PostgreSQL\data -E UTF8 --locale=C -U root -W

階段性啟動資料庫
> pg_ctl.exe -D PATH\TO\PostgreSQL\data -l logfile start

或註冊一個名為 PostgreSQL 的服務
> pg_ctl.exe register -D PATH\TO\PostgreSQL\data -N PostgreSQL

啟動服務
> net start PostgreSQL

停止服務
> net stop PostgreSQL

回應

建立迴響