Ponowne ładowanie PostgreSQL po zmianach konfiguracji
16
Wprowadziłem kilka zmian w pg_hba.conf i chcę, żeby miały wpływ. Znalazłem kilka miejsc, w których ludzie mówią, że mogę powiedzieć PostgreSQL, aby przeładował, ale jest tam kilka różnych technik i żadna z nich nie działa dla mnie.
Najbardziej wiarygodne odniesienie, jakie znalazłem, dotyczy polecenia pg_ctl, ale nie jestem pewien, gdzie jest mój folder PGDATA. Będę szukał dalej.
Chociaż pierwotna osoba zadająca pytanie sugerowała, że używa Ubuntu 8.10 wielu ludzi, użycie późniejszych wersji Ubuntu również może się tutaj potknąć. I to może faktycznie działać również z wersją 8.10. Nie wiem, nie mam żadnych instalacji 8.10 do wypróbowania ...
Ok, przejdźmy do rzeczy. Tak więc fajnym „nowym” sposobem kontrolowania usług jest użycie servicepolecenia. Możesz więc ponownie załadować konfiguracje za pomocą następującego polecenia:
service postgresql-8.3 reload
oczywiście musisz mieć odpowiednie uprawnienia, więc najprawdopodobniej konieczne jest wcześniejsze uzupełnienie polecenia o coś takiego sudolub su -c rootpodobnego:
sudo service postgresql-8.3 reload
lub su -c root 'service postgresql-8.3 reload'
PS W dokumentacji Ubuntu sugeruje się, że coś związanego z tą nową metodą zostało zrobione w tamtych czasach wraz z wydaniem wersji 6.10, jednak jeśli dobrze to zrozumiałem, nie zostało to bardziej ogólne zastosowanie do 9.10.
Użycie którejkolwiek z tych opcji nie zakłóci żadnych aktywnych zapytań ani połączeń z bazą danych, przez co zastosowanie tych zmian wydaje się być niewiarygodne.
Jeśli używasz spakowanego PostgreSQL, zalecaną techniką jest użycie skryptu pakietu - jak w tym przykładzie dla Ubuntu. Jeśli zbudowałeś ze źródła, użyj pg_ctl.
Magnus Hagander,
1
Następujące czynności powinny zrobić to za Ciebie:
su -
zamiastsu
Opcja 1: Z powłoki wiersza poleceń
Opcja 2: Korzystanie z SQL
Użycie którejkolwiek z tych opcji nie zakłóci żadnych aktywnych zapytań ani połączeń z bazą danych, przez co zastosowanie tych zmian wydaje się być niewiarygodne.
źródło
To załatwi sprawę:
źródło
Jeśli nie chcesz zrestartować serwera i po prostu wysłać sygnał do postgreSQL, po prostu wpisz polecenie:
pg_ctl reload
źródło
W końcu znalazłem technikę, która działa dla mnie z tego artykułu . Polecenie to:
Będę wdzięczny za opinie na temat zalecanej techniki.
źródło
Następujące czynności powinny zrobić to za Ciebie:
źródło
W jednej linii:
źródło
źródło