2012-07-25 534 views
12

我試圖安裝postgresql 8.4在我的Windows 7(64位)。但它失敗postgresql安裝失敗

 
Initialising the database cluster (this may take a few minutes)... 
Executing cscript //NoLogo "C:\PostgreSQL\8.4/installer/server/initcluster.vbs" "postgres" "postgres" "****" "C:\PostgreSQL\8.4" "C:\PostgreSQL\data" 5432 "DEFAULT" 
Script exit code: 1 

Script output: 
CScript Error: Can't find script engine "VBScript" for script "C:\PostgreSQL\8.4\installer\server\initcluster.vbs". 

Script stderr: 
Program ended with an error exit code 

Error running cscript //NoLogo "C:\PostgreSQL\8.4/installer/server/initcluster.vbs" "postgres" "postgres" "****" "C:\PostgreSQL\8.4" "C:\PostgreSQL\data" 5432 "DEFAULT" : Program ended with an error exit code 
Problem running post-install step. Installation may not complete correctly 
The database cluster initialisation failed. 
Creating Uninstaller 
Creating uninstaller 25% 
Creating uninstaller 50% 
Creating uninstaller 75% 

我用Google搜索這個,然後運行命令「REGSVR32的vbscript.dll」在日誌下面的消息,它顯示消息「中的DllRegisterServer vbscript.dll中是成功的」,但它沒有解決了我的問題。

此外,我在註冊表中設置{B54F3741-5B07-11cf-A4B0-00AA004A55E8}的默認值爲vbscript.dll的文件路徑,但它也沒有解決我的問題。

如何解決這個問題?

+1

你能從命令行手動運行.vbs腳本嗎?你爲什麼要安裝即將過時的版本?目前的版本是9.1和9.2,在門口 – 2012-07-25 21:34:21

+0

8.4。*什麼*順便說一句?對安裝人員進行了一系列改進。 [8.4.12](http://www.enterprisedb.com/products-services-training/pgdownload#windows)是最新的,這就是你正在使用的?在運行任何腳本之前,新版本應該檢查工作的VBScript環境。另外:在重新註冊vbscript之後,上面的日誌是從*開始的嗎?如果沒有,再次檢查日誌,可能會遇到不同的問題。 – 2012-07-26 04:28:41

+0

我也試過9.1,但結果相同。這是註冊vbscript之後的最新日誌。 – shin 2012-07-26 04:30:33

回答

21

以下鏈接解決我的問題

http://www.geekscribes.net/blog/2009/04/22/postgresql-database-cluster-initialisation-failed-solution/

文章全文:

我會記住這一個簡短而親切。對於那些已經在Windows Vista上嘗試 到安裝PostgreSQL(我的是8.3.7-1),並得到了 錯誤數據庫集羣初始化失敗錯誤在 安裝結束時,請閱讀本。

的問題是,Vista有與Program Files文件夾 設置權限相關聯的一些安全功能。基本上,即使 您是管理員,您也無法更改某些文件夾(如 程序文件和Windows文件夾本身)的權限。這會導致initdb爲 無法創建一些文件夾和數據庫羣集。 對您而言意味着您需要將PostgreSQL安裝在不在Program Files內的另一個文件夾 中。順便說一下,如果你忘記了你的Postgres帳戶密碼,而第一次安裝 ,只需在Vista中打開一個命令提示符(如果你不知道怎麼做,Google就知道它了)。然後輸入命令「net user」。您 會在您的計算機上看到用戶列表。查找Postgre的帳戶。 它通常是「postgres」。然後你需要改變密碼 ,輸入「net user postgres new_password」,其中new_password是...好吧,一個 帳號的新密碼。安裝期間您需要使用postgres 帳戶。但是,您需要管理員權限才能執行此更改 。

首先卸載任何安裝失敗。使用控制面板或 安裝文件夾中的PostgreSQL安裝程序。

在安裝過程中,系統會提示您選擇要 安裝程序。只需在另一個地方選擇一個位置。像 「C:\ PostgreSQL」或類似的東西。它甚至可能在你的桌面上。 但不在Program Files中。不在Windows文件夾內。但是,它的 並不容易。忍受着我。

安裝完成後,您仍然會看到該錯誤消息(或 類似非致命錯誤)。不要灰心! (對於Windows 高級用戶,我們只是在新的PostgreSQL安裝文件夾上爲Postgres 帳戶分配完全控制權限)。對於其他用戶,如果您不知道如何操作,請閱讀 。

轉到您剛安裝PostgreSQL的地方。在這種情況下,C: 驅動器。在那裏,右鍵點擊該文件夾(通常稱爲PostgreSQL), 並轉到屬性 - 安全選項卡。點擊編輯按鈕。你現在會看到一些用戶名和其他東西。點擊添加按鈕。 在「輸入要選擇的對象名稱」框中,輸入「postgres」並按 按檢查。 Postgres的用戶帳戶應該出現在那裏。點擊確定。

現在從「組或用戶名」框中選擇Postgres帳戶。在 下面的窗口中,有很多複選框,在允許列中爲其分配權限「Full Control」。請注意,如果您不想允許完全控制 ,只需對其進行讀取/寫入即可。但我只是繼續給它完全控制。 (我很累而且很煩,「世界上最先進的 開源數據庫」沒有安裝!)。點擊確定並等待 位以獲得應用權限。

然後,只需要重新安裝。不要卸載任何東西。再次運行 安裝程序。它會說一個PostgreSQL安裝文件夾已經存在 和其他的東西。只需點擊下一步,直到安裝完成。如果你 看到「文件不能被複制」的錯誤,當需要 時點擊「忽略」按鈕。

就是這樣。 PostgreSQL現在應該在Vista上運行。希望它 也適用於你,因爲它對我來說也是如此,而且我的指南對任何人都有幫助 。如果它有效,或者您有其他解決方案,請告訴我們。 感謝您的閱讀! :)

+1

現在鏈接不再工作。這是一個完美的例子,你應該在這裏發佈答案,而不是鏈接! – 2013-03-23 09:18:56

+0

這對我來說很好。拯救生命。謝謝。 – sanjay 2015-01-02 06:04:23

+0

這麼簡單,這個答案是在2012年寫的,還沒寫完3年之後...... – 2015-11-24 11:53:15

2

您的Windows安裝是有點borked,你將需要重新註冊VBScript引擎來獲取安裝程序運行。

編輯:我瞎了,文章作者已經嘗試過這一點。

請參見:

http://wiki.postgresql.org/wiki/Running_%26_Installing_PostgreSQL_On_Native_Windows#The_installer_exits_with_a_runtime_installation_error.3F

+0

我已經通過這個鏈接並按照它在選項1中所述完成。並且它成功了。但它沒有解決我的問題。(我在我的問題中指定) – shin 2012-07-26 04:24:56

+1

@shinod該死的,我是盲人。抱歉。 – 2012-07-26 04:26:19

+0

感謝您的幫助... – shin 2012-07-26 04:31:59

6

我得到了相同的結果,在Windows 7上安裝「postgresql-9.2.3-1-windows-x64.exe」企業 ,當我改變安裝路徑的問題得到解決。

嘗試安裝到的 「c:\postgresql」,而不是 「c:\program files\Postgresql

好運

4

我拉從谷歌的緩存Shin的鏈接:

原文鏈接: http://www.geekscribes.net/blog/2009/04/22/postgresql-database-cluster-initialisation-failed-solution/

緩存鏈接: http://webcache.googleusercontent.com/search?q=cache:RXu-5-ZzfcgJ:www.geekscribes.net/blog/2009/04/22/postgresql-database-cluster-initialisation-failed-solution/+&cd=3&hl=ro&ct=clnk


PostgreSQL數據庫集羣初始化失敗解決方案

我會記住這一個簡短而親切。對於那些試圖在Windows Vista上安裝PostgreSQL(我的版本爲8.3.7-1)的用戶,在安裝結束時出現錯誤數據庫集羣初始化失敗錯誤,請閱讀本文。

問題是Vista有一些與在Program Files文件夾上設置權限相關的安全功能。基本上,即使您是管理員,也無法更改某些文件夾(如Program Files和Windows文件夾本身)的權限。這會導致initdb無法創建一些文件夾和數據庫集羣。這對您意味着什麼,您需要將PostgreSQL安裝在不在Program Files內的另一個文件夾中。順便說一下,如果您在第一次安裝時忘記了您的Postgres帳戶密碼,只需在Vista中打開一個命令提示符(如果您不知道如何,Google就可以使用它)。然後輸入命令「net user」。您會在計算機上看到用戶列表。查找Postgre的帳戶。通常是「postgres」。然後,您需要通過輸入「net user postgres new_password」來更改其密碼,其中new_password是...以及該帳戶的新密碼。您將在安裝過程中需要該postgres帳戶。但是,您需要管理員權限才能執行此更改。

首先卸載任何安裝失敗。使用安裝文件夾中的控制面板或PostgreSQL安裝程序。

在安裝過程中,系統會提示您選擇要安裝程序的位置。只需在另一個地方選擇一個位置。像「C:\ PostgreSQL」或類似的東西。它甚至可能在你的桌面上。但不在Program Files中。不在Windows文件夾內。但是,這並不容易。忍受着我。

安裝完成後,您仍然會看到該死的錯誤信息(或類似非致命錯誤發生)。不要灰心! (對於Windows Power Users,我們只需在新的PostgreSQL安裝文件夾上爲Postgres帳戶分配完全控制權限)。對於其他用戶,如果您不知道如何操作,請繼續閱讀。

轉到您剛安裝PostgreSQL的地方。在這種情況下,C:驅動器。在那裏,右鍵點擊文件夾(通常稱爲PostgreSQL),然後進入屬性 - 安全選項卡。點擊編輯按鈕。您現在將看到一些用戶名和其他內容。點擊添加按鈕。在「輸入要選擇的對象名稱」框中,輸入「postgres」並按檢查。 Postgres的用戶帳戶應該出現在那裏。點擊確定。

現在從「組或用戶名」框中選擇Postgres帳戶。在下面的窗口中,有很多複選框,在允許列中爲其分配權限「完全控制」。請注意,如果您不想完全控制,只需對其進行讀取/寫入即可。但我只是繼續前進並給予完全控制權。 (我已經厭倦和煩惱了,「世界上最先進的開源數據庫」未能安裝!)。點擊確定,等待一段時間才能應用權限。

然後,只需要重新安裝。不要卸載任何東西。再次運行安裝程序。它會說一個PostgreSQL安裝文件夾已經存在和其他的東西。只需點擊下一步,直到安裝完成。如果您看到「文件無法複製」錯誤,請在需要時單擊「忽略」按鈕。

就是這樣。 PostgreSQL現在應該在Vista上運行。希望它對你也有效,因爲它對我來說也是如此,而且我的指南對任何人都有幫助。如果它有效,或者您有其他解決方案,請告訴我們。謝謝閱讀!

1

此消息仍然出現在Postgres v9.3.1.1中。

對我來說,問題是運行安裝程序「管理員」帳戶。這不起作用。在下運行一個管理員帳戶,避免內置「管理員」帳戶。

我真的不知道它通常叫什麼,但它是全新安裝時已存在的東西;無法更改爲標準用戶的人;其個人資料存儲在C:\Users\Administrator中。原來使用這個賬戶是個不錯的主意;學會了這一難題。

(在Windows Server 2008 R2 64位)

+0

*安裝程序*應在任何管理員帳戶下運行,除非您有一些時髦的組策略設置。出於安全原因,其自身不想在具有管理權限的任何帳戶下運行的服務器。 – 2014-05-14 05:02:08

+0

@CraigRinger是的,但它沒有出於某種原因。該盒子或多或少都是香草2008 R2,沒有加入域名,沒有時髦的組策略。 – 2014-05-14 14:28:39

1

解決方案:

•卸載PostgreSQL的

•運行命令:net用戶的Postgres /刪除

•點擊:控制面板 - >用戶帳戶 - >配置高級用戶配置文件屬性 - >刪除似乎從PostgreSQL安裝中留下的所有「未知用戶」實例。

•運行:COMPMGMT.MSC - >單擊本地用戶和組 - >用戶 - >新用戶 - >用戶名:Postgres的,密碼:postgrespass - >創建

•運行:COMPMGMT.MSC - >單擊本地用戶和組 - >用戶 - > postgres - >成員 - >添加... - >管理員 - >確定

•將PostgreSQL安裝程序postgresql-8.4.9-1-windows.exe複製到C:\

•運行:runas/user:postgres cmd.exe - > cd \ - > postgresql-8.4.9-1-windows.exe - >安裝成功,沒有錯誤。檢查數據文件夾和確認的文件已成功創建。

•運行:COMPMGMT.MSC - >本地用戶和組 - >用戶 - > Postgres的 - >會員 - >管理員 - >刪除

•運行:COMPMGMT.MSC - >本地用戶和組 - >用戶 - > postgres - >成員 - >添加... - >超級用戶 - >確定

+0

使用最新的Postgres版本(9.x),不再需要額外的Windows用戶'postgres'。 – 2014-04-16 16:05:02

+0

刪除「postgres」用戶可能會破壞系統上的第三方附加功能(pgagent等),因此準備重新安裝其他的東西。 – 2014-05-14 05:02:51

2

對我來說,問題是PATH變量沒有C:\ Windows \ system32,所以沒有找到ICACLS命令來改變文件夾權限。所以,解決的辦法就是添加C:\ Windows \ System32下到系統PATH變量(如果它不包含它的話):

  1. 控制面板 - >系統 - >高級系統設置 - >高級 - >環境變量
  2. 在「系統變量」查找和選擇「路徑」
  3. 點擊「編輯...」
  4. 現在,如果值不包含路徑SYSTEM32追加字符串「; C:\ Windows \ System32下」(或您的地方windows的路徑是)
+0

我一直在試圖安裝最近兩天的10.0.1版本,我很確定這個技巧。即使'C:\ WINDOWS \ system32'在我的路徑中,一旦我在其上面添加了'C:\ Windows \ System32',安裝程序就會運行而不會出現初始化錯誤。注意:我還創建了一個postgres用戶來運行安裝程序,並在第一次安裝完成後對該文件夾設置完全控制權,然後重新安裝安裝程序。 – pheeper 2017-11-02 18:33:46

2

我也一樣嘗試在Windows 7 x64計算機(未加入域)上安裝PostgreSQL 9.3.5-3時發生的問題,該文件夾在根目錄中創建,並具有對所有人的完全訪問權限。該問題已通過在我的密碼中不使用ä解決,因此請避免在密碼中使用非英文字符。

0

嘿傢伙的答案很簡單,只需在程序文件之外的另一個文件夾上安裝postgresql。它提示一個非致命錯誤,並繼續安裝...

1

我已經解決了同樣的問題,在Windows Server 2003和Postgres 9.2.9-3通過創建目錄進行安裝事先,並給它充分的訪問權限組「用戶」。

0

我知道這是不是該解決方案,但在安裝32位的Postgres,爲我工作

0

我不得不嘗試在Windows 7的32位計算機上安裝PostgreSQL 9.6.2,當同樣的問題,但我得到解決方案,首先卸載安裝的postgres,然後從'c'驅動器中刪除postgres文件夾,從位於「C:\ Users \ AppData \ Local \ Temp」中的臨時文件中刪除條目。然後再次安裝postgres 9.6.2安裝成功。

1

答案很簡單,將下載的.exe文件移動到其他文件夾。例如:c:\ postgres並嘗試安裝它。

您的問題是,由於一些管理員權限發出

0

有同樣的問題,試圖對我公司的電腦上安裝(PC運行Windows 7)。如果您的計算機不是管理員,則需要將其安裝在個人「用戶」文件夾(而不是根目錄下的「程序文件」文件夾)中。

如果您仍然無法訪問Postgres的

一旦你在你的「用戶」文件夾中安裝它,使用「運行」程序,鍵入「SERVICES.MSC」並回車。在彈出的窗口中,進入postgres安裝,右鍵單擊並轉到「屬性」。在「登錄」選項卡上,選擇「本地系統帳戶」,然後返回到「常規」選項卡並單擊「開始」。它應該在那之後啓動。

在此之後,我能夠運行「pgAdmin」並訪問數據庫(輸入安裝期間使用的密碼後)。