2012-12-14 18 views
5

Próbowałem zainstalować PostgreSQL 9.2 przez ostatnie kilka dni. Chyba spróbowałem wszystkiego, co mogłem znaleźć w Internecie, ale usługa nadal się nie uruchamia. Aktualnie korzystam z systemu Windows 7 SP1. Kiedyś PostgreSQL 8.3 był zainstalowany i działał dobrze, ale kilka tygodni temu zdecydowałem się go odinstalować. Całkowicie go odinstalowałem (usuń użytkownika PostgreSQL i plik danych) i teraz za każdym razem, gdy próbuję zainstalować jakąkolwiek wersję, otrzymuję ten nie krytyczny błąd na końcu instalacji, gdy ma miejsce ładowanie modułów bazy danych. Udało mi się przekonać, że usługa postgresql się nie uruchamia, lub gdy system Windows uruchamia ją, a następnie zatrzymuje się. To jest odpowiednia część pliku dziennika instalacji:PostgreSQL nie zainstalował poprawki

Pomyślnie przetworzono 771 plików; Failed przetwarzanie 0 plików

initcluster.vbs pobiegł do zakończenia

Script stderr:

 
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

Szybko spróbuj zainstalować kopię 9.1 - jeśli to działa, problem występuje w instalatorze 9.2. Jeśli nie, sugeruje, że coś w twoim setupie przeszkadza. Upewnij się, że każdy program antywirusowy jest ustawiony tak, aby ignorował katalogi i procesy PostgreSQL. Warto również sprawdzić, czy serwer zostawił jakiekolwiek komunikaty dziennika po uruchomieniu. (P.S. dzięki za umieszczenie odpowiedniego fragmentu dziennika instalatora - ułatwia życie każdemu) –

+0

czy to pytanie nie byłoby lepiej dostosowane do błędu serwera? – didierc

Odpowiedz

3

miałem ten sam problem. W pewnym momencie musi uzyskać pakiet za pośrednictwem połączenia internetowego. To nie jest w porządku, ponieważ pakiet instalacyjny s/b może zostać zainstalowany bez połączenia, ale tak właśnie jest. Twoja zapora blokuje instalację. Oto co trzeba zrobić:

zamknąć Zapora systemu Windows (Panel sterowania \ All Panel sterowania Pozycje \ Zapora systemu Windows \ dostosować ustawienia)

Jeśli używasz to świetny program wyłączyć Kontrolę Firewall (Wyjdź z paska zadań lub użyj zadań Mgr zabić UI & Obsługi - 2 pozycji)

do pobrania Wybrane pakiety: Zamknij Key Protection Services: Wyłącz filtrowanie Base (pozostawia niezabezpieczony - Zależności will.restart gdy BFE zostaje wznowiona) bazy! Filtrowanie silnika IKE i klucz uwierzytelniania IPsec ng Moduły Agent zasad IPsec ICS ...

Nie zapomnij ponownie uruchomić wszystkich zabezpieczeń.

0

Rozwiązaniem jest zamknięcie zapory systemu Windows przed instalacją. Po instalacji możesz włączyć zaporę systemu Windows.

2

Napotkałem podobne problemy z instalatorem Pg 9.2.4 na Win7 x64. Okazało się, że moduł 'adminpack' nie załadował się z powodu zatrzymanej usługi postgres. Zaczyna się, a następnie kończy się niemal natychmiast. Możesz sprawdzić tę uruchomioną usługę Pg ręcznie, aby sprawdzić, czy można ją załadować. Jeśli nie może to być z brakujących plików konfiguracyjnych z katalogu "data". Polecenie initdb nie może utworzyć poprawnego klastra i skopiować odpowiednich plików * .conf. Próbowałem zagłębić się w szczegóły , a instalator ma skomplikowane kontrole uprawnień użytkownika, które mogą zawieść w twoim (i moim) przypadku.

Po prostu spróbuj zainstalować Pg z plików binarnych zip. Wymagało to tylko następujących poleceń (mniej niż 20 minut). Original article.

1) Utwórz użytkownika okien "postgres" (bez uprawnień administratora) i nadaj mu pełne uprawnienia do katalogu Twojego folderu Pg i folderu "data". Aby to zrobić z poziomu wiersza poleceń uruchom "cmd" jako administrator (naciśnij Ctrl-Shift-Enter zamiast Enter, aby uruchomić "cmd") i wydaj: "net user postgres /add".Następnie kliknij prawym przyciskiem myszy folder Pg (i folder "data", jeśli jest na zewnątrz) i nadaj wszystkie uprawnienia do "postgres".

2) Instalacja programu Microsoft Visual C++ 20xx pakiet redystrybucyjny, która pochodzi z jednego kliknij Pg instalatora (plik vcredist_x64.exe od użytkowników \ ​​"Twój użytkownika" \ AppData \ Local \ Temp \ postgresql_installer_ * *** - Folder utworzone za pomocą jednego kliknięcia instalatora Pg przy pierwszym uruchomieniu).

3) Rozpakuj pliki binarne Pg do folderu Pg, a "cmd" jako administrator do katalogu bin.

4) Run init klastra: -U postgres InitDB -A hasłem -E utf8 -W -D "Ścieżka do folderu" \ Pg dane

5) Uruchom zainstalować usługę Windows: pg_ctl zarejestrować -N "postgresql" -U ". \ postgres" -D "ścieżka do folderu/danych Pg" -w

6) Otwórz listę usług Windows i otwórz właściwości usługi "postgresql". Następnie ustaw hasło dla postgresów użytkownika Windows tam. Spróbuj uruchomić nową usługę Pg. Jeśli to się zacznie, wszystko powinno być w porządku.

7) Otwórz bin \ pgAdmin3, połącz się z lokalnym serwerem i otwórz bazę danych postgres i jej metadane. Powinieneś zobaczyć skargę dotyczącą brakujących usług administracyjnych i propozycję skorygowania tego. Po prostu naciśnij Ok - "adminpack" powinien zostać zainstalowany.

+1

Postgres 9.2 nie potrzebuje już własnego użytkownika Windows. Domyślnie używa teraz konta użytkownika "Usługa sieciowa". Możesz więc pominąć parametr '-U". \ Postgres "' podczas rejestracji usługi. –

+0

Przetestowałem to przed moim postem. Usługa nie może rozpocząć się w ramach konta usługi sieciowej. Chyba każde konto powinno mieć dostęp do katalogu "data". Jeśli przyznasz uprawnienia do usługi sieciowej - wtedy domyślam się, że to się zacznie. Przyznałem wprost użytkownikowi Postgres. – ritz14

0

miałem ten sam problem, wynikający z ograniczonymi prawami dostępu w Program Files katalogu, z uwagi na fakt, że katalog danych był C:\Program Files (x86)\PostgreSQL\9.2\data

Zmiana katalogu danych do C:\ProgramData\PostgreSQL\9.2\data rozwiązało problemu.

1

Spróbuj zainstalować poza "C: \ Program Files", który ma specjalne uprawnienia w systemie Windows. Mieliśmy podobne problemy i po prostu instalując do C: \ Postres92 wszystko działa od razu po wyjęciu z pudełka.

2

Zainstaluj tylko postgres z konta Windows napisanego w języku angielskim. Na przykład instalacja od użytkownika "Аня" zawsze kończy się niepowodzeniem.

Powiązane problemy