Jak zrestartować Postgresql

106

Mam Postgresql 9.3 i 9.4 zainstalowany na moim komputerze Linux Mint. Jak mogę zrestartować Postgresql 9.4? Metoda ponownego uruchomienia obu wersji jednocześnie jest również dobra.

Tony Joseph
źródło
Przeszukałeś internet? codeproject.com/Articles/898303/…
kometen
Sugeruję migrację danych do wersji 9.4, a następnie usunięcie instalacji 9.3.
Jan Henke
1
@kometen Artykuł, do którego istnieje odwołanie, nie umożliwia wybiórczego uruchamiania i zatrzymywania każdego wystąpienia.
EnzoR
@JanHenke Nie sugerowałbym niczego poza zakresem pytania. W każdym razie, wersja 9.5 jest aktualną stabilną wersją.
EnzoR
@Enzo Powiedział, że obie wersje działają równolegle. Dlatego właśnie zasugerowałem migrację do nowszej z dwóch, co również rozwiązałoby problem, ponieważ zostałby tylko jeden postgresql.
Jan Henke

Odpowiedzi:

174

Spróbuj tego jako root (może możesz użyć sudolub su):

/etc/init.d/postgresql restart

Bez żadnego argumentu skrypt daje również wskazówkę, jak zrestartować określoną wersję

[Uqbar@Feynman ~] /etc/init.d/postgresql
Usage: /etc/init.d/postgresql {start|stop|restart|reload|force-reload|status} [version ...]

Podobnie, jeśli go masz, możesz również użyć servicenarzędzia:

[Uqbar@Feynman ~] service postgresql
Usage: /etc/init.d/postgresql {start|stop|restart|reload|force reload|status} [version ...]

Proszę zwrócić uwagę na opcjonalny [version ...]argument końcowy. Ma to na celu umożliwienie użytkownikowi działania na określonej wersji, na wypadek gdybyś miał ich kilka. Możesz więc zrestartować wersję X , pozostawiając wersje Y i Z nietknięte i uruchomione.

Wreszcie, jeśli używasz systemd , możesz użyć w systemctlten sposób:

[support@Feynman ~] systemctl status postgresql
● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2017-11-14 12:33:35 CET; 7min ago
...

Można wymienić statusz stop, startlub restart, jak również innych działań. Szczegółowe informacje można znaleźć w dokumentacji . Aby móc działać na wielu współbieżnych wersjach, składnia jest nieco inna. Na przykład, aby zatrzymać v12 i przeładować v13 , możesz uruchomić:

systemctl stop postgresql-12.service
systemctl reload postgresql-13.service

Dzięki @Jojo za wskazanie mi tego właśnie. Na koniec pamiętaj, że rootuprawnienia mogą być potrzebne do zadań nie zawierających informacji, tak jak w innych przypadkach opisanych wcześniej.

EnzoR
źródło
czy mógłbyś podać przykład? numer wersji nie wydaje się mieć żadnego wpływu.
Alex
Czy próbowałeś, na przykład, „/etc/init.d/postgresql status 10”?
EnzoR
systemctldziała na różnych wersjach Postgresql. Możesz to określić za pomocą systemctl status [email protected]. Zastąp 13 numerem wersji, który chcesz zaadresować.
Jojo
Dobry wybór, @Jojo
EnzoR
31

Możesz także zrestartować postgresql za pomocą tego polecenia, powinno działać na obu wersjach:

sudo service postgresql start

Aditi
źródło
Dla mnie, jeśli już działa, wydaje się, że to nic nie daje. (wykonanie „restartu” zamiast startu wydaje się działać)
omgponies
11

W systemie Windows:

1-Otwórz okno Uruchom według Winkey + R

2 typy services.msc

Usługa 3-Search Postgres na podstawie zainstalowanej wersji.

4-kliknij zatrzymaj, uruchom lub uruchom ponownie opcję usługi.

Sobhan
źródło
4

To powinno działać:

sudo systemctl stop postgresql

sudo systemctl start postgresql

Jankes
źródło
To działało na CentOS w wersji 8
MacGyver
0

System operacyjny Mac:

  1. W lewym górnym rogu paska menu MacOS znajduje się ikona Postgres
  2. Kliknij, aby otworzyć rozwijane menu
  3. Kliknij Stop -> następnie kliknij Start
sogu
źródło
W systemie MacOS masz górny pasek menu, który zazwyczaj przechowuje ten zegar, ikonę wyszukiwania ... i niektóre uruchomione mini aplikacje, które możesz otworzyć. I tam możesz zobaczyć ikonę słonia również dla postgresów.
sogu
Używam macOS Mojave 10.14.6 i w górnym menu nie ma takiej ikony. Ale mój menedżer bazy danych pokazuje, że serwer Postgres jest aktywny.
Akila Amarasinghe