it-swarm.it

PostgreSQL: inizializzazione del cluster di database non riuscita

Tutti e due C:\PostgreSQL e C:\PostgreSQL\data hanno postgres utente con accesso completo e diritti di amministratore.

Ho eseguito postgresql-9.1.2-1-windows.exe dall'utente postgres come amministratore. Bersaglio C:\PostgreSQL

Ogni volta che provo, ottengo "L'inizializzazione del cluster di database non è riuscita."

Domande

  • È corretto eseguire tutto senza essere un servizio Windows?
  • Esiste una soluzione alternativa da installare come servizio di Windows?

Sto cercando di configurare PostGIS per lavorare con GeoDjango.

Sono stato in grado di installare manualmente PostGIS. Nuovo per PostgreSQL e sto avendo una crisi di fiducia su tutto questo. Venendo da MySQL a PostgreSQL per la prima volta.


Output del registro pertinente da C:\Users\Larry\AppData\Local\Temp\install-postgresql.log:

WScript.Network initialized...
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:6.1
    MajorVersion:6
Ensuring we can read the path C: (using icacls) to Larry:
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:6.1
    MajorVersion:6
Ensuring we can read the path C:\PostgreSQL (using icacls) to Larry:
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:6.1
    MajorVersion:6
Ensuring we can read the path C:\PostgreSQL\data (using icacls) to Larry:
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:6.1
    MajorVersion:6
Ensuring we can write to the data directory (using icacls) to  Larry:
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Failed to ensure the data directory is accessible (C:\PostgreSQL\data)
    Executing batch file 'radA3CF7.bat'...
    Output file does not exists...
Called Die(Failed to initialise the database cluster with initdb)...
Failed to initialise the database cluster with initdb

Suggerimenti?

16
Larry Eitel

Ho avuto lo stesso problema installando 9.1.4 su Windows 7. Sono riuscito a trovare una soluzione online che ha funzionato .

I passaggi che ho seguito sono:

  1. Disinstallare PostgreSQL
  2. Elimina l'utente postgres se esiste ancora.

    Net User postgres /delete
    
  3. Crea l'utente postgres con una password che ricordi

    Net User /add postgres <password>
    
  4. Aggiungi l'utente postgres al gruppo Amministratori

    net localgroup administrators postgres /add
    
  5. Aggiungi l'utente postgres al gruppo Power Users

    net localgroup "power users" postgres /add
    
  6. Esegui una finestra di comando come utente postgres

    runas /user:postgres cmd.exe
    
  7. Esegui il file di installazione dalla finestra dei comandi.

    C:\Download\postgresql-9.1.4-1-windows.exe
    

    Questo dovrebbe eseguire l'installazione correttamente.

  8. Rimuovi l'utente postgres dal gruppo Amministratori.

    net localgroup administrators postgres /delete
    
19
Imraan

Nel mio caso (come ho visto dal file postgresql.log nella cartella% temp% di Windows), è stato perché il programma di installazione non è stato in grado di trovare doskey.exe anche se il percorso alla cartella c:\windows\system32 è stato indicato nella percorso variabile d'ambiente di windows.
Quindi ho aperto un prompt dei comandi, digitato set PATH=%PATH%;c:\windows\system32 ed ha eseguito il programma di installazione dal comando Prompt stesso. Ha funzionato! :)

1
Nav

Nessuna delle precedenti ha funzionato per me. Postgres non mi serviva.

Quindi ho cancellato/disinstallato tutto. Ha funzionato cmd come amministratore.

Quindi ha eseguito il programma di installazione dalla riga di comando (come amministratore) e ha selezionato un percorso completamente nuovo per la directory dei dati.

Ora ho reinstallato con successo postgres, dopo mezza giornata di scherzi buffi.

1
NimChimpsky

Ho avuto lo stesso messaggio di errore durante il tentativo di installare 9.2.4. Il mio problema era perché anche se il server Win2k8 aveva% SYSTEMROOT%\system32 come parte del percorso, nessun programma poteva "vedere" nulla in C:\Windows\system32. Il programma di installazione utilizza pesantemente icacls.exe durante la routine init. Da quando il mio percorso è stato rovinato, l'installatore ha bombardato.

Una volta aggiunto esplicitamente C:\Windows\system32 alla variabile d'ambiente Path del SISTEMA e eseguito nuovamente il programma di installazione come amministratore, tutto ha funzionato bene.

1
Mark

Questo problema ha a che fare con l'autorizzazione alla scrittura nella cartella. Creare la cartella/i dati in PostgreSQL\9.2 per esempio, e dare piena autorizzazione all'utente. Prova a reinstallare di nuovo.

0
user37408