PostgreSQL: Inicjalizacja klastra bazy danych nie powiodła się


15

Zarówno C:\PostgreSQLi C:\PostgreSQL\datamieć postgresużytkownika z pełnym dostępem i uprawnieniami administratora.

Uruchomiłem postgresql-9.1.2-1-windows.exe od użytkownika postgres jako administrator. CelC:\PostgreSQL

Za każdym razem, gdy próbuję, pojawia się komunikat „Inicjalizacja klastra bazy danych nie powiodła się”.

pytania

  • Czy można uruchamiać wszystko bez usługi Windows?
  • Czy istnieje obejście, które należy zainstalować jako usługę systemu Windows?

Próbuję skonfigurować PostGIS do pracy z GeoDjango.

Byłem w stanie ręcznie zainstalować PostGIS. Nowy w PostgreSQL i mam kryzys zaufania do tego wszystkiego. Po raz pierwszy z MySQL do PostgreSQL.


Odpowiednie dane wyjściowe dziennika z 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

Propozycje?


zobacz dziennik instalacji (powinien być gdzieś na dysku, prawdopodobnie w% TEMP%)
filiprem

Proszę zobaczyć odpowiednie dane wyjściowe dziennika.
Larry Eitel

Czy użytkownik systemu Windows postgres ma pełne uprawnienia do odczytu i zapisu w C: \ PostgreSQL \ data?
a_horse_w_no_name

Tak, ORAZ zgodnie z sugestią w innym miejscu, nadałem użytkownikom modyfikację uprawnień do tego katalogu.
Larry Eitel

@ LarryEitel: ale „ Nie udało się zapewnić dostępu do katalogu danych (C: \ PostgreSQL \ data) ” wydaje się wskazywać inaczej.
a_horse_w_no_name

Odpowiedzi:


17

Miałem ten sam problem z instalacją 9.1.4 w systemie Windows 7. Udało mi się znaleźć rozwiązanie online, które działało .

Kroki, które wykonałem to:

  1. Odinstaluj PostgreSQL
  2. Usuń użytkownika postgres, jeśli nadal istnieje.

    net user postgres /delete
  3. Utwórz użytkownika postgres z hasłem, które możesz zapamiętać

    net user /add postgres <password>
  4. Dodaj użytkownika postgres do grupy Administratorzy

    net localgroup administrators postgres /add
  5. Dodaj użytkownika postgres do grupy Użytkownicy zaawansowani

    net localgroup "power users" postgres /add
  6. Uruchom okno poleceń jako użytkownik postgres

    runas /user:postgres cmd.exe
  7. Uruchom plik instalacyjny z poziomu okna poleceń.

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

    To powinno uruchomić instalację pomyślnie.

  8. Usuń użytkownika postgres z grupy Administratorzy.

    net localgroup administrators postgres /delete

Dziękuję za zwrotną informację. Niestety od tego czasu przeniosłem ten projekt na Mongodb. W tej chwili nie jestem w stanie potwierdzić twojej sugestii.
Larry Eitel,

Chcę potwierdzić, że rozwiązanie zadziałało dla mnie. Konfiguracja: Postgres 9.1 64-bitowy i PostGIS 2.0.1 x64
Chris,

1
Jest to dobrze znany problem z ponowną instalacją PostgreSQL działającego jako usługa, a ja osobiście natknąłem się na sytuację, której dotyczy ta odpowiedź. Instalator pozostawia konto po usunięciu lub aktualizacji, ale druga instalacja nie uwzględnia tego; wynikająca z tego rozbieżność poświadczeń między instalacjami powoduje spustoszenie. Najczęstszą odpowiedzią jest ta, którą daje Imraan; odinstaluj, usuń naruszające konto, a następnie zainstaluj ponownie.
Avery Payne,

@AveryPayne: alternatywnie: pamiętaj poprawne hasło do konta usługi Postgres. Zainstalowałem Postgres dużo na systemach, na których był już zainstalowany i nigdy nie miałem problemu z istniejącym kontem usługi. Można jednak poprawić brzmienie w instalatorze (w wersji 9.2 Postgres nie używa już jawnego konta btw)
a_horse_w_na_nazwa

Pamiętaj, że dla kroku 4 administratorszależy od ustawień regionalnych. Na przykład w PT-BR tak jest administradores. I w kroku 5 "power users"jest "usuários avançados".
GuiRitter,

1

W moim przypadku (jak widziałem z pliku postgresql.log w folderze% temp% systemu Windows) było to spowodowane tym, że instalator nie mógł znaleźć pliku doskey.exe, mimo że ścieżka do folderu c: \ windows \ system32 została podana w pliku ścieżka zmiennej środowiska Windows.
Więc otworzyłem wiersz polecenia, wpisałem set PATH=%PATH%;c:\windows\system32i uruchomiłem instalator z samego wiersza polecenia. Zadziałało! :)


1

Żadne z powyższych nie działało dla mnie. Nie wykorzystałem postgresu.

Więc wszystko usunąłem / odinstalowałem. Ran cmd jako administrator.

Następnie uruchomił instalator z wiersza poleceń (jako administrator) i wybrał zupełnie nową lokalizację dla katalogu danych.

Udało mi się ponownie zainstalować postgres, po pół dnia jiggery pokery.


Zrobiłem to i nadal nie działało dla mnie.
EKanadily

1

Miałem ten sam komunikat o błędzie podczas próby instalacji 9.2.4. Mój problem polegał na tym, że chociaż serwer Win2k8 miał% SYSTEMROOT% \ system32 jako część ścieżki, żaden program nie mógł „zobaczyć” niczego w C: \ Windows \ system32. Instalator intensywnie używa programu icacls.exe podczas procedury inicjowania. Ponieważ moja ścieżka była zepsuta, instalator zbombardował.

Po jawnym dodaniu C: \ Windows \ system32 do zmiennej środowiskowej SYSTEM's Path i ponownym uruchomieniu instalatora jako administrator wszystko działało dobrze.


0

Ten problem dotyczy uprawnień do zapisu w folderze. Utwórz folder / dane na przykład w PostgreSQL \ 9.2 i daj pełne uprawnienia użytkownikowi. Spróbuj ponownie zainstalować.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.