无法在OSX Mavericks上重启Postgres - '操作已在进行中'?

时间:2015-03-26 12:37:06

标签: macos postgresql osx-mavericks

我在我的OSX Mavericks系统上停止了Postgres(使用sudo launchctl unload /Library/LaunchDaemons/org.postgresql.postgres.plist,它似乎干净地关闭了)现在我无法重启它。

~ $ psql -U postgres
psql: could not connect to server: Connection refused
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

似乎没有正在运行的Postgres流程...

~ $ ps auxwww | grep postgres
anna            78131   0.0  0.0  2432772    648 s004  S+   12:31pm   0:00.00 grep postgres

但是当我尝试启动它时,我收到消息'操作已在进行中'。

~ $ sudo launchctl load /Library/LaunchDaemons/org.postgresql.postgres.plist
/Library/LaunchDaemons/org.postgresql.postgres.plist: Operation already in progress

我已经看到其他答案表明我应该删除postmaster.pid文件,但我无法通过此名称查看任何文件:

~ $ sudo find / -name postmaster.pid
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
~ $

Postgres是否有启动日志,如果是,我在哪里可以找到它?

1 个答案:

答案 0 :(得分:0)

您应该能够判断某些内容是否正在使用

监听Postgresql端口
netstat -an | grep -i listen | grep 5432

(如果您的端口是5432)

然后你可以通过使用来判断什么是听力:

lsof -i :5432

如果没有任何东西正在监听你设置的postgresql实例的任何端口,那么它就不会运行。 (无论出于何种原因)您应该仔细检查postgresql.conf,pg_hba.conf,并在日志文件中查看pg_log以查找错误。

如果您正在侦听非标准端口,则可能需要使用" -p" psql选项设置端口。如果您正在侦听主机名,而不是localhost,则可能需要设置" -h"选项。

即:

psql -U postgres -h 10.1.23.4 -p 12345