您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)解決postgresql初始化失敗的方法,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
背景
由于項目的需要,使用PostgreSQL數(shù)據(jù)庫,因此在Windows上安裝PostgreSQL數(shù)據(jù)庫。但是在安裝后,無法訪問本地數(shù)據(jù)庫,這個時候查看/data目錄,沒有任何文件。而且安裝過程中,彈出提示框。
Problem running post-install step.Installation may not complete correctly the database cluster initialisation failed.
意思是:安裝過程中,初始化數(shù)據(jù)庫集群失敗。
系統(tǒng)環(huán)境
·操作系統(tǒng):Windows 10 Pro
·PostgreSQL版本:10.4-1
·賬號:非超級管理員賬號
原因
在Windows 10中,如果用的是Microsoft賬號,則不是超級管理員,這個時候無法創(chuàng)建用戶,導(dǎo)致通過安裝包進(jìn)行安裝時,無法創(chuàng)建相應(yīng)的DB用戶。而且在賬號中無法看到postgres這個用戶,因此可猜測出,權(quán)限不足時,無法創(chuàng)建相應(yīng)用戶的賬號,而無相應(yīng)賬號時,無法初始化DB。
解決方案
查看用戶
net user
創(chuàng)建Postgres用戶
net user postgres postgres /add
在數(shù)據(jù)庫根目錄建立data目錄
D:\Dev\PostgreSQL\10>md data
移除超級管理員對data目錄的權(quán)限
D:\Dev\PostgreSQL\10>cacls data /e /t /r administrator 處理目錄:D:\Dev\PostgreSQL\10\data
將data目錄的權(quán)限賦給postgres用戶
D:\Dev\PostgreSQL\10>cacls data /e /t /r postgres:C 處理目錄:D:\Dev\PostgreSQL\10\data
初始化數(shù)據(jù)庫
D:\Dev\PostgreSQL\10\bin>initdb.exe -D ../data -E UTF-8 --locale=chs -U postgres -W
初始化后,需要輸入新的用戶密碼,用于登錄數(shù)據(jù)庫。
啟動數(shù)據(jù)庫
D:\Dev\PostgreSQL\10\bin>pg_ctl.exe -D D:\Dev\PostgreSQL\10\data -l logfile start
注冊PostgresSQL服務(wù)
D:\Dev\PostgreSQL\10\bin>pg_ctl.exe register -N PostgreSQL -D D:\Dev\PostgreSQL\10\data
常用命令
啟動PostgresSQL服務(wù)
net start PostgreSQL
停止PostgresSQL服務(wù)
net stop PostgreSQL
刪除PostgresSQL服務(wù)
D:\Dev\PostgreSQL\10\bin>pg_ctl.exe unregister -N PostgreSQL
關(guān)于解決postgresql初始化失敗的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。