Как закрыть Postgres 9.6.11 без pg_ctl на MacOS? - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть несколько установок Postgres на моей машине MacOS Mojave. Версия 10.7 запущена, и я хочу выключить ее, чтобы запустить 9.6.

Это определенно работает:

$ psql -h localhost -U postgres
Password for user postgres:
psql (9.6.11, server 10.7)

Но я не могу это остановить:

/Library/PostgreSQL/10 $ bin/pg_ctl stop
pg_ctl: PID file "/usr/local/var/postgresql@9.6/postmaster.pid" does not exist
Is server running?

Ни с версией 9.6 pg_ctl:

$ pg_ctl stop
pg_ctl: PID file "/usr/local/var/postgresql@9.6/postmaster.pid" does not exist
Is server running?
$ which pg_ctl
/usr/local/opt/postgresql@9.6/bin/pg_ctl

Как я могу завершить работу сервера, когда pg_ctl, похоже, не может его контролировать? Я не помню, чтобы он запускался - возможно, он автоматически запускался при последней перезагрузке машины. Я думаю, что я установил его с Homebrew, но я не уверен.

1 Ответ

0 голосов
/ 10 апреля 2019

Это сработало:

Сначала получите pid:

$ sudo lsof -i:5432
Password:
COMMAND  PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
postgres  73 postgres    4u  IPv6 0x8880707cadb2d1ab      0t0  TCP *:postgresql (LISTEN)
postgres  73 postgres    5u  IPv4 0x8880707cadac18ab      0t0  TCP *:postgresql (LISTEN)

Теперь выключите его (SIGTERM):

$ sudo kill -15 73
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...