postgresql部署在WINDOWS SERVER 2008問題解決方案
阿新 • • 發佈:2019-02-05
在WINDOWS SERVER 2008r2上安裝postgresql10.6 安裝後沒有服務項,解決方案如下:
- 新建一個資料夾存放程式,比如 postgresql, 右鍵點選資料夾,選擇“屬性”、“安全”、“編輯”、“Users”,把“完全控制”一行的“允許”選中。確認儲存。
- 右鍵點選 PostgreSQL 資料庫安裝程式,選擇“以管理員身份執行”。(PS:按照網上的解決方案,這一步就會自動建立windows服務,但是我在實際操作中並沒有建立成功。)
- 安裝過程中,“Data Directory ”(資料存放目錄) 選第一步建立的目錄。
- 安裝過程中,Locale 選 “Chinese (Simplified), Singapore”。這一點很重要。如果是把PostgreSQL 安裝在普通的 Windows XP 或者 Windows 7 上,使用預設的 “default” 就可以了。但是在 windows server 2008 上安裝,必須選“Chinese (Simplified), Singapore”。不然,在 SQL 用 order by , 資料中的中文不能按拼音排序。
- 安裝最後會有一個 cluster (叢集) 初始化失敗的警告,可以忽略。
- 安裝結束後,在window服務中沒有服務項。就是使用手工建立服務也會報錯:PostgreSQL 服務啟動後停止 某些服務在未由其他服務或程式使用時將自動停止,此時安裝目錄下的data資料夾為空。
- 增加使用者postgres。在啟動控制面板/管理工具/計算機管理/本地使用者和組,增加一個普通使用者,如postgres,密碼按照2008密碼管理策略設定即可。
- 設定使用者許可權。將postgres使用者新增進入users組,此時users組應該對postgresql資料夾擁有全部許可權。
- 以管理員身份執行 cmd.exe,定位到安裝目錄的bin資料夾,我的是預設安裝目錄,所以輸入:cd C:/Program Files/PostgreSQL/10/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”服務,啟動服務成功。
- 使用pgAdmin4登入,成功進入資料庫。