創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
阿城網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),阿城網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為阿城上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個(gè)售后服務(wù)好的阿城做網(wǎng)站的公司定做!這篇文章將為大家詳細(xì)講解有關(guān)解決postgresql初始化失敗的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
背景
由于項(xiàng)目的需要,使用PostgreSQL數(shù)據(jù)庫,因此在Windows上安裝PostgreSQL數(shù)據(jù)庫。但是在安裝后,無法訪問本地?cái)?shù)據(jù)庫,這個(gè)時(shí)候查看/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賬號,則不是超級管理員,這個(gè)時(shí)候無法創(chuàng)建用戶,導(dǎo)致通過安裝包進(jìn)行安裝時(shí),無法創(chuàng)建相應(yīng)的DB用戶。而且在賬號中無法看到postgres這個(gè)用戶,因此可猜測出,權(quán)限不足時(shí),無法創(chuàng)建相應(yīng)用戶的賬號,而無相應(yīng)賬號時(shí),無法初始化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ù)庫。
啟動(dòng)數(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
常用命令
啟動(dòng)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é)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。