通过终端在Mac上停止postgreSQL服务

时间:2015-12-09 07:54:11

标签: macos postgresql pg launchctl

目前正在运行postgreSQL 9.4.5_2

我试过了

pg_ctl stop -W -t 1 -s -D / usr / local / var / postgres -m f

通常情况下,没有新闻是好消息,但在我开始之后

pg_ctl status -D / usr / local / var / postgres

并获取pg_ctl:服务器正在运行(PID:536)

我也试过

pg_ctl restart -w -D / usr / local / var / postgres -c -m i

回复信息是:     等待服务器关闭..........................失败     pg_ctl:服务器没有关闭

我还检查了我的/ Library / LaunchDaemons /,看看为什么服务从登录开始但到目前为止没有运气。任何人对我接下来应该检查的地方有任何想法?在活动监视器中强制退出也没有帮助我。

4 个答案:

答案 0 :(得分:4)

尝试了sudo和su,但没有这样的运气。 刚发现这个gui

https://github.com/MaccaTech/postgresql-mac-preferences

如果有人可以帮助我们非常感激的终端命令,但在此之前,gui将完成工作。

答案 1 :(得分:1)

我尝试了各种选择;终于,下面的命令起作用了。

sudo -u postgres ./pg_ctl -D /your/data/directory/path stop

示例

sudo -u postgres ./pg_ctl -D /Library/PostgreSQL/11/data stop

答案 2 :(得分:0)

您可以使用此命令停止服务器

{pg_ctl -D / usr / local / var / postgres stop -s -m fast}

答案 3 :(得分:0)

遇到了同样的问题,我在本地安装了 postgres,并希望将其包装在 docker 容器中。

我通过 1) 卸载 postgres 2) 终止 postgres 端口上的剩余进程,从根本上解决了这个问题。如果您不卸载该进程会重新启动并再次获取端口 - 查看您的 Brewfile 表单 brew bundle dump 以检查 restart_service: true 标志。

我的推理是,因为我使用的是容器,所以无论如何我都不需要本地容器,但是!!注意这将从您的系统中删除 postgres

brew uninstall postgres
...
lsof -i :5432 # this to find the PID for the process
kill - 9 <the PID you found at previous command> 

注意:如果您仍然想使用 psql,您可以 brew install libpq,并将 psql 添加到您的 PATH(命令输出显示您要添加到您的 .zshrc 或类似的内容)