2012-12-14 17 views
5

Ho cercato di installare PostgreSQL 9.2 per l'ultimo paio di giorni. Immagino di aver provato tutto ciò che ho trovato online ma il servizio non verrà ancora avviato. Attualmente sto facendo funzionare Windows 7 SP1. Avevo installato PostgreSQL 8.3 e funzionava bene, ma un paio di settimane fa ho deciso di disinstallarlo. Ho completamente disinstallato (eliminare l'utente postgres e il file di dati) e ora ogni volta che provo ad installare qualsiasi versione ottengo questo errore non fatale alla fine del setup quando avviene il caricamento dei moduli del database. Sono riuscito a vedere che il servizio postgresql non si avvia o, quando Windows lo avvia, si arresta. Questa è la parte rilevante del file di registro dell'installazione:Postgresql non è riuscito a installare correttamente

771 file elaborati correttamente; Impossibile elaborazione 0 file

initcluster.vbs correvano a compimento

stderr Script:

 
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

Prova rapidamente ad installare una copia di 9.1 - se funziona, il problema è nel programma di installazione di 9.2. In caso contrario, suggerisce che qualcosa sul tuo setup sta interferendo. Assicurati che qualsiasi antivirus sia impostato per ignorare le directory e i processi di PostgreSQL. Vale anche la pena controllare se il server ha lasciato messaggi di log all'avvio. (P.S., grazie per aver postato il bit pertinente del log dell'installatore - semplifica la vita per tutti) –

+0

questa domanda non sarebbe più adatta per serverfault? – didierc

risposta

3

Ho avuto lo stesso problema. A un certo punto ha bisogno di ottenere un pacchetto tramite connessione internet. Questo non è giusto perché il pacchetto di installazione s/b è in grado di installare senza una connessione, ma è così che è. Il tuo firewall sta bloccando l'installazione. Ecco cosa dovete fare:

chiudere Windows Firewall (Pannello di controllo \ Tutti Pannello di controllo Articoli \ firewall \ Personalizza impostazioni di Windows)

Se si utilizza questo grande programma arrestare Firewall Control (Uscita dalla barra delle applicazioni o utilizzare Task Mons per uccidere UI & Servizio - 2 articoli)

per scaricare pacchetti selezionati: della sessione di lavoro chiave di protezione Servizi: Chiudi sessione Filtering Base (ti lascia senza protezione - dipendenze will.restart quando BFE viene riavviato) Base! Filtering Engine IKE e AuthIP IPsec Keyi ng Moduli IPsec Policy Agent ICS ...

Non dimenticare di riavviare tutte le protezioni.

0

La soluzione è arrestare il firewall di Windows prima dell'installazione. Dopo l'installazione è possibile abilitare il firewall di Windows.

2

Ho riscontrato problemi simili di programma di installazione di Pg 9.2.4 su Win7 x64. Si è scoperto che il modulo 'adminpack' non si caricava a causa del servizio postgres interrotto. Inizia e quindi termina quasi immediatamente. È possibile controllare manualmente questo servizio Pg in esecuzione per vedere se è possibile caricare . Se non può essere da file di configurazione mancanti dalla directory "dati". Il comando initdb non può creare un cluster valido e copiare i file * .conf corrispondenti. Ho provato a scavare nei dettagli di e il programma di installazione ha complicato controllo delle autorizzazioni degli utenti che potrebbero non riuscire nel tuo caso (e nel mio).

Basta provare a installare Pg dai file binari zip. Sono stati necessari solo i seguenti comandi (meno di 20 minuti). Original article.

1) Crea utente Windows "postgres" (senza diritti di amministratore) e gli ha concesso i privilegi completi su cartella Pg e cartella "dati". Per fare ciò dalla riga di comando eseguire "cmd" come amministratore (premere Ctrl-Shift-Invio invece di Invio per eseguire "cmd") ed emettere: "net user postgres /add".Quindi fare clic con il tasto destro sulla cartella Pg (e sulla cartella "data" se è all'esterno) e concedere tutte le autorizzazioni a "postgres".

2) Installare Microsoft Visual C++ Redistributable Package 20xx che viene fornito con un solo clic Pg installazione (vcredist_x64.exe da Users \ "l'utente" \ AppData \ Local \ Temp \ postgresql_installer_* *** - cartella creato con un clic su Pg installer al primo avvio).

3) Decomprimere i file binari Pg nella cartella Pg e "cmd" come amministratore nella relativa directory bin.

4) Esegui per init cluster: initdb -U postgres -A la password -E utf8 -W -D "percorso della cartella Pg" \ data

5) Esegui per installare il servizio di Windows: pg_ctl registrare -N "postgresql" -U ". \ postgres" -D "percorso alla cartella/dati Pg" -w

6) Aprire l'elenco dei servizi di Windows e aprire le proprietà del servizio "postgresql". Quindi impostare la password per Windows Postgres utente lì. Prova ad avviare il tuo nuovo servizio Pg. Se inizia, tutto dovrebbe essere ok.

7) Aprire bin \ pgAdmin3, connettersi al server locale e aprire il database Postgres ei relativi metadati. Dovresti visualizzare un reclamo relativo alla mancanza di servizi di amministrazione e una proposta per correggere questo problema. Basta premere Ok - dovrebbe essere installato 'adminpack'.

+1

Postgres 9.2 non ha più bisogno del proprio utente Windows. Per impostazione predefinita ora utilizza l'account utente "Servizio di rete". Quindi puoi omettere il parametro '-U". \ Postgres "' quando registri il servizio. –

+0

L'ho provato prima del mio post. Il servizio non può essere avviato con l'account Servizio di rete. Immagino che qualsiasi account dovrebbe essere autorizzato ad accedere alla directory "data". Se concedi le autorizzazioni al servizio di rete, suppongo che inizierà. Ho concesso esplicitamente all'utente di Postgres. – ritz14

0

Ho avuto lo stesso problema, causato da diritti di accesso limitato nel file directory programma, a causa del fatto che la directory dei dati era C:\Program Files (x86)\PostgreSQL\9.2\data

Cambiare la directory dei dati per C:\ProgramData\PostgreSQL\9.2\data risolto il problema.

1

Provare a installare all'esterno di "C: \ Programmi" che dispone di autorizzazioni speciali su Windows. Abbiamo avuto problemi simili e semplicemente installando in C: \ Postres92 tutto funziona immediatamente.

2

Installa postgres solo dall'account Windows scritto in inglese. Ad esempio, l'installazione da parte dell'utente "Аня" fallisce sempre.

Problemi correlati