2012-12-14 153 views
5

我一直在試圖安裝PostgreSQL 9.2的最後幾天。我想我嘗試了一切,我可以在網上找到,但該服務仍然無法啓動。我目前正在運行Windows 7 SP1。我曾經安裝過PostgreSQL 8.3並且工作正常,但幾個星期前我決定卸載它。我徹底卸載了它(刪除postgres用戶和數據文件),現在每次嘗試安裝任何版本時,都會在加載數據庫模塊時發生此安裝結束時的非致命錯誤。 我設法看到postgresql服務沒有啓動,或者當windows啓動然後停止。 這是安裝日誌文件的相關部分:Postgresql未能安裝正確

成功處理了771個文件;處理失敗0個文件

initcluster.vbs運行完成

腳本標準錯誤:

 
Configuring database server startup... 
Executing cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\startupcfg.vbs" 9.2 "NT AUTHORITY\NetworkService" "****" "C:\Program Files (x86)\PostgreSQL\9.2" "C:\Program Files (x86)\PostgreSQL\9.2\data" "postgresql-9.2" 
Script exit code: 0 

Script output: 
startupcfg.vbs ran to completion 

Script stderr: 

Creating menu shortcuts... 
Executing cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\createshortcuts.vbs" 9.2 "postgres" 5432 "PostgreSQL 9.2 (x86)" "C:\Program Files (x86)\PostgreSQL\9.2" "C:\Program Files (x86)\PostgreSQL\9.2\data" "postgresql-9.2" 
Script exit code: 0 

Script output: 
Start FixupFile(C:\Program Files (x86)\PostgreSQL\9.2\scripts\serverctl.vbs)... 
    Opening file for reading... 
    Closing file (reading)... 
    Replacing placeholders... 
    Opening file for writing... 
    Closing file... 
    End FixupFile()... 
Start FixupFile(C:\Program Files (x86)\PostgreSQL\9.2\scripts\runpsql.bat)... 
    Opening file for reading... 
    Closing file (reading)... 
    Replacing placeholders... 
    Opening file for writing... 
    Closing file... 
    End FixupFile()... 
createshortcuts.vbs ran to completion 

Script stderr: 


Starting the database server... 
Executing cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\startserver.vbs" postgresql-9.2 
Script exit code: 0 

Script output: 
Starting postgresql-9.2 
Service postgresql-9.2 started successfully 
startserver.vbs ran to completion 

Script stderr: 


Loading additional SQL modules... 
Executing cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\loadmodules.vbs" "postgres" "****" "C:\Program Files (x86)\PostgreSQL\9.2" "C:\Program Files (x86)\PostgreSQL\9.2\data" 5432 
Script exit code: 2 

Script output: 
Installing the adminpack module in the postgres database... 
    Executing 'C:\Users\George\AppData\Local\Temp\radA5996.bat'... 
psql: server closed the connection unexpectedly 
    This probably means the server terminated abnormally 
    before or while processing the request. 

Failed to install the 'adminpack' module in the 'postgres' database 
loadmodules.vbs ran to completion 

Script stderr: 
Program ended with an error exit code 

Error running cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\loadmodules.vbs" "postgres" "****" "C:\Program Files (x86)\PostgreSQL\9.2" "C:\Program Files (x86)\PostgreSQL\9.2\data" 5432 : Program ended with an error exit code 

[10:34:28] Write the data directory to the ini file... 
[10:34:28] Write the port number, service ID, locale and superuser to the ini file... 
[10:34:28] Write ServiceID(postgresql-9.2) to registry/ini... 
[10:34:28] Write Superuser to ini file and windows registry... 
[10:34:28] Write Service Account to ini file and windows registry... 
[10:34:28] Write the server description to the ini file... 
[10:34:28] Write the server branding to the ini file... 
[10:34:28] Write the 'whether stack-builder is disabled or not' to the ini file... 
[10:34:29] Finished running post-installation/upgrade tasks. 

Creating Uninstaller 
Creating uninstaller 25% 
Creating uninstaller 50% 
Creating uninstaller 75% 
Creating uninstaller 100% 
Installation completed 
+1

快速嘗試安裝9.1的副本 - 如果有效,那麼問題出現在9.2的安裝程序中。如果沒有,則表明您的設置上存在干擾。確保任何防病毒設置爲忽略PostgreSQL的目錄和進程。還值得檢查,看看服務器啓動時是否留下​​了任何日誌消息。 (P.S.感謝發佈安裝程序日誌的相關位 - 讓每個人的生活更輕鬆) –

+0

不會更適合serverfault嗎? – didierc

回答

3

我有同樣的問題。有一點需要通過互聯網連接獲得一個包裹。這是不對的,因爲安裝軟件包s/b能夠在沒有連接的情況下進行安裝,但事實就是如此。您的防火牆阻止安裝。這裏有您需要做什麼:

關閉Windows防火牆(控制面板\所有控制面板項\ Windows防火牆\自定義設置)

如果你使用這個偉大的計劃關閉防火牆控制(從任務欄或退出使用任務經理殺死UI &服務 - 2項)

要下載選定的軟件包: 關機重點保護服務: 關機基本篩選(令你無保護 - 依賴性當BFE重啓will.restart) 基地!過濾引擎 IKE和AuthIP IPsec Keyi NG模塊 IPsec策略代理 ICS ...

不要忘了重新啓動所有的保護。

0

解決方案是在安裝之前關閉Windows防火牆。安裝後,您可以啓用Windows防火牆。

2

我在Win7 x64上面臨Pg 9.2.4安裝程序的類似問題。原來, 'adminpack'模塊由於停止postgres服務而未加載。它開始,然後 幾乎立即終止。你可以手動檢查這個正在運行的Pg服務,看它是否可以加載。如果不能,這可能是因爲缺少來自「數據」目錄的配置文件。 initdb 命令不能創建有效的羣集並複製相應的* .conf文件。我試圖深入探討 的詳細信息,安裝程序對用戶權限進行了複雜的檢查,可能會在您的(和我的)案例中失敗。

只需嘗試從zip二進制文件安裝Pg。它只用了下面的命令(小於 20分鐘)。 Original article

1)創建「postgres」windows用戶(沒有管理員權限),並授予它在您的Pg文件夾和「data」文件夾的 的完整權限。要從命令行執行此操作,以管理員身份運行「cmd」(按Ctrl-Shift-Enter而不是Enter鍵運行「cmd」)併發出:「net user postgres /add」。然後右鍵點擊你的Pg文件夾(如果它在外面,則選擇「數據」文件夾),並將所有權限授予「postgres」。

2)安裝Microsoft Visual C++ 20XX再發行組件包附帶了一個點擊PG 安裝程序(從用戶vcredist_x64.exe \ 「您的用戶」 \應用程序數據\本地的\ Temp \ postgresql_installer_ * *** - 文件夾首次運行時通過點擊Pg安裝程序創建)。

3)將Pg二進制文件解壓縮到您的Pg文件夾,並以管理員身份解壓縮到它的bin目錄。

4)運行到初始化集羣:initdb的-U的Postgres -A密碼-E UTF8 -W -D 「路徑到PG文件夾」 \數據

5)運行安裝windows服務:pg_ctl註冊-N 「postgresql」-U「。\ postgres」-D「路徑到您的Pg文件夾/數據」-w

6)打開windows服務列表並打開「postgresql」服務屬性。然後在那裏爲windows用戶postgres設置密碼。嘗試開始您的新Pg服務。如果它開始,那麼一切都應該沒問題。

7)打開bin \ pgAdmin3,連接到本地服務器並打開postgres數據庫及其元數據。您應該看到有關丟失管理服務的投訴,並提出更正此問題的建議。只需按下OK - 應該安裝'adminpack'。

+1

Postgres 9.2不再需要它自己的Windows用戶。默認情況下,它現在使用「網絡服務」用戶帳戶。因此,註冊服務時可以省略'-U「。\ postgres」'參數。 –

+0

我在我的帖子前測試過這個。服務無法啓動網絡服務帳戶下。我想任何帳戶都應該被允許訪問「數據」目錄。如果您授予網絡服務權限 - 那麼我想它會啓動。我明確授予postgres用戶。 – ritz14

0

我有同樣的問題,在Program Files文件目錄所造成的有限訪問權限,由於該數據目錄是C:\Program Files (x86)\PostgreSQL\9.2\data

更改數據目錄C:\ProgramData\PostgreSQL\9.2\data解決了這個問題。

1

嘗試在Windows上具有特殊權限的「C:\ Program Files」之外安裝。 我們遇到過類似的問題,只需安裝到C:\ Postres92中即可正常使用。

2

僅從使用英語撰寫的windows帳戶安裝postgres。例如,來自用戶「Аня」的安裝總是失敗。