重新启动我的Mac,我得到了可怕的Postgres错误:

psql: could not connect to server: No such file or directory
 Is the server running locally and accepting
 connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

发生这种情况的原因是由于一个无关的问题,我的macbook完全死机了,我不得不使用电源按钮进行硬重启。重启后,由于这个错误,我无法启动Postgres。


当前回答

我的问题是,我使用的是Gas Mask (Mac主机文件管理器),在我使用的hosts文件中没有localhost的条目。

我补充说:

127.0.0.1 localhost

这解决了我的问题。

其他回答

这发生在我的Mac (High Sierra)死机后,我不得不手动重启它(按住电源按钮)。我所要做的就是重新开始。

对于那些在M1 mac上遇到这个问题的人,尝试删除这个文件,然后重新启动brew服务:

rm /opt/homebrew/var/postgres/postmaster.pid

我也有同样的问题。 大多数情况下,问题在于有一个剩余的文件

/ usr / local / var / pid postgres -邮政局长。

这适用于大多数人,但我的情况是不同的-我试着在谷歌上搜索这个问题3个小时,通过brew在OSX上卸载postresql,清除数据库,没有任何工作。

最后,我注意到我有一个问题,每当我试图安装任何东西时,它会弹出:

Error: Permission denied @ rb_sysopen - /private/tmp/github_api_....

或者在安装结束时进行类似的操作。

我只是简单地执行了sudo chmod -R 777 /private/tmp,它终于工作了!

我写下来是因为这可能是别人的解

如果你是邮政局长。Pid已经消失,你不能重新启动或做任何事情,这样做:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

正如这里最初解释的那样

我在这里遇到了类似的问题,我解决了这个问题,如下所示。

实际上postgres进程已经死亡,要查看postgres的状态,请运行以下命令

sudo /etc/init.d/postgres status

它会说进程已死,只要启动进程

sudo /etc/init.d/postgres start