今天第一次接觸在Windows Server2008/2012 下安裝PostgreSQL,遇到的問題總結如下:
1.首先,在安裝的時候,我更改安裝目錄改為自定義的E盤,安裝時報錯:libintl.dll沒有找到。嘗試下載該文件放到指定目錄下,無果。最終用默認的C盤安裝目錄安裝成功。
2.安裝快結束時報錯:集群Cluster未知錯誤,這個錯誤可以忽略。
3.安裝結束后,服務不能啟動,報錯:PostgreSQL 服務啟動后停止 某些服務在未由其他服務或程序使用時將自動停止,最終發現安裝目錄下的data文件夾為空,
解決辦法:
①增加用戶postgres。在啟動控制面板/管理工具/計算機管理/本地用戶和組,增加一個普通用戶,如postgres,密碼123;
②設置用戶權限。由於服務器系統的默認具有最高文件權限的用戶並不是系統用戶Administrator,而是TrustedInstaller。我的辦法是:參照http://blog.sina.com.cn/u/5379679437 先將C盤的所有者更改為Administrator,把用戶postgres添加到對C盤完全控制權限用戶。
③以管理員身份運行 cmd.exe,定位到安裝目錄的bin文件夾,我的是默認安裝目錄,所以輸入:cd C:/Program Files/PostgreSQL/9.3/bin/,在用用戶postgres的身份打開cmd.exe,輸入:runas /user:postgres cmd ,如果沒有第二步用戶權限設置,會報錯訪問拒絕。成功后自動跳出用戶postgres的cmd窗口。輸入:cd C:/Program Files/PostgreSQL/10/bin/,再輸入:initdb -D "C:/Program Files/PostgreSQL/10/data" -E UTF-8 --locale=Chinese,成功后,檢查data文件夾里面填入19個文件。
④安裝PostgreSQL服務.回到Administrator啟動的cmd.exe界面中,輸入: cd C:/Program Files/PostgreSQL/10/bin,再輸入:pg_ctl register -N PostgreSQL -D "C:/Program Files/PostgreSQL/10/data/",成功后顯示:服務“PostgreSQL”已經注冊。在服務里面可以找到“PostgreSQL”服務,啟動服務成功。
是時候享受勝利的果實了,打開pgAdmin III,名稱和主機處輸入localhost,輸入用戶postgres密碼,連接成功。