2013-05-13 12 views
43

Mam Postgres db 9.1 działający pod numerem AWS EC2, z ubuntu 12.04.postgres, ubuntu jak zrestartować usługę przy starcie? utknąć w klastrowaniu po ponownym uruchomieniu instancji

Dużo pomieszałem z instancją (tj. Zainstalowałem wszystkie rodzaje Postgres X.X, zanim zdecydowałem się na 9.1).

Teraz po miesiącu pracy nad tym db odkryłem, że jeśli ponownie uruchomię moją instancję postgres nie załaduje się prawidłowo, jej status mówi "Działające klastry". To będzie trwać wiecznie, dopóki nie będę mógł z niego korzystać z terminalu, a następnie zadziała ponownie.

Jak dodać ten wiersz, do uruchamiania systemu Ubuntu, aby za każdym razem, gdy się załaduje, uruchomi ponownie tę usługę i, miejmy nadzieję, rozwiąże mój problem?

Również inne rozwiązanie, które może rozwiązać ten problem.

+4

Jeśli przyszedłeś tutaj przez google (jak ja) szukając polecenia ponownego uruchomienia postgresql, w moim przypadku był to serwis postgresql-9.3 restart –

Odpowiedz

7

Myślę, że najlepiej byłoby naprawić sam skrypt startowy bazy danych. Ale jako obejście, możesz dodać tę linię do /etc/rc.local, która jest wykonywana o ostatniej w fazie początkowej.

+0

dzięki, ale albo ten rc.local nie jest uruchomiony, albo polecenie wykonane przed czymkolwiek Postgres robi, lub db go w jakiś sposób nadpisuje, zajrzyj do dzienników po informacje, ale od nietoperza, który nie działa. – yaron

+0

Może istnieje warunek wyścigu, więc rc.local zostaje wykonane przed zakończeniem zwykłego procesu postgres, prawdopodobnie z powodu błędu. Być może możesz dodać uśpienie przed ponownym uruchomieniem i sprawdzić, czy jest to poprawna praca. – TeTeT

+0

dziękuję, że rc było właściwym kierunkiem, znalazłem rozwiązanie w plikach rcX. które regulują kolejność uruchamiania – yaron