1

我在我的 MacOS Mojave 机器上安装了多个 Postgres。版本 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 安装的,但我不确定。

4

1 回答 1

3

这最终起作用了:

首先,获取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
于 2019-04-09T23:00:04.370 回答