標籤:處理 mini img soft 管理員 ase 操作 window database
背景
由於項目的需要,使用PostgreSQL
資料庫,因此在Windows上安裝PostgreSQL
資料庫。但是在安裝後,無法訪問本機資料庫,這個時候查看/data
目錄,沒有任何檔案。而且安裝過程中,彈出提示框
Problem running post-install step.Installation may not complete correctly the database cluster initialisation failed.
意思是:安裝過程中,初始化資料庫叢集失敗
系統內容
- 作業系統:Windows 10 Pro
- PostgreSQL版本:10.4-1
- 帳號:非超級管理員帳號
原因
在Windows 10中,如果用的是Microsoft
帳號,則不是超級管理員,這個時候無法建立使用者,導致通過安裝包進行安裝時,無法建立相應的DB使用者。而且在帳號中無法看到postgres
這個使用者,因此可猜測出,許可權不足時,無法建立相應使用者的帳號,而無相應帳號時,無法初始化DB。
解決方案查看使用者
net user
建立Postgres使用者
net user postgres postgres /add
在資料庫根目錄建立data目錄
D:\Dev\PostgreSQL\10>md data
移除超級管理員對data目錄的許可權
D:\Dev\PostgreSQL\10>cacls data /e /t /r administrator處理目錄:D:\Dev\PostgreSQL\10\data
將data目錄的許可權賦給
postgres
使用者
D:\Dev\PostgreSQL\10>cacls data /e /t /r postgres:C處理目錄:D:\Dev\PostgreSQL\10\data
初始化資料庫
D:\Dev\PostgreSQL\10\bin>initdb.exe -D ../data -E UTF-8 --locale=chs -U postgres -W
初始化後,需要輸入新的使用者密碼,用於登入資料庫。
啟動資料庫
D:\Dev\PostgreSQL\10\bin>pg_ctl.exe -D D:\Dev\PostgreSQL\10\data -l logfile start
註冊
PostgresSQL
服務
D:\Dev\PostgreSQL\10\bin>pg_ctl.exe register -N PostgreSQL -D D:\Dev\PostgreSQL\10\data
常用命令啟動
PostgresSQL
服務
net start PostgreSQL
停止
PostgresSQL
服務
net stop PostgreSQL
刪除
PostgresSQL
服務
D:\Dev\PostgreSQL\10\bin>pg_ctl.exe unregister -N PostgreSQL
Windows安裝PostgreSQL資料庫 無法初始化資料庫問題