重新启动我的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。


当前回答

我从LD_LIBRARY_PATH中删除了/usr/lib,它工作了。 我在dockerfile postgres:alpine中工作。

其他回答

导致此错误的原因有很多,因此首先定位您的日志文件并检查其线索。它可能在/usr/local/var/log/ postgress .log或/usr/local/var/ postgress /server.log或其他地方。如果你安装了Homebrew,你可以在~/Library/LaunchAgents/ Homebrew .mx .postgresql.plist找到这个位置。

我刚刚得到了相同的问题,因为我已经把我的机器(ubuntu)更新,并得到以下错误:

无法连接到服务器:没有这样的文件或目录是服务器吗 在Unix域套接字上本地运行并接受连接 “/ var /运行/ postgresql / .s.PGSQL.5432”?

完成更新过程后,当我重新启动系统时,我的错误消失了。它的工作就像以前一样迷人。我猜这是在pg更新和另一个进程启动时发生的。

如果你在macOS上,并通过homebrew安装了postgres,请尝试重新启动

brew services restart postgresql

如果你使用的是Ubuntu,你可以用这两个命令中的任意一个重新启动它

sudo service postgresql restart

sudo /etc/init.d/postgresql restart

对我来说,解决办法就是重启电脑。我首先尝试使用Brew服务重新启动,当它不起作用时,重新启动似乎是下一个最好的选择,然后再考虑一些更复杂的解决方案。之后一切都照常进行。

我不完全确定为什么,但我的Postgres安装有点搞砸了,一些文件被删除,导致错误OP显示。

尽管我能够运行像brew service restart postgres这样的命令并看到正确的消息,但这个错误仍然存在。

我浏览了postgres文档,发现我的文件/usr/local/var/postgres完全是空的。所以我运行了以下程序:

initdb /usr/local/var/postgres

这个命令似乎发生了一些配置。

然后它让我运行这个:

postgres -D /usr/local/var/postgres

这告诉了我一个邮政局长。Pid文件已经存在。

我只是需要知道brew是否能够拾取我刚刚运行的配置,所以我测试了它。

ls /usr/local/var/postgres

这让我想到了邮政局长。pid文件。然后我做了brew服务停止postgresql,和postmaster。Pid文件消失。然后我做了brew服务启动postgresql和VIOLA,文件重新出现。

然后我继续运行我的应用程序,它确实找到了服务器,但我的数据库似乎消失了。

尽管我知道它们可能根本没有消失——我所做的新的初始化可能创建了一个新的data_area,而旧的data_area没有被指向。我必须看看它在哪里,并把它点回来,或者只是重新创建我的数据库。

希望这能有所帮助!阅读postgres的文档对我帮助很大。我讨厌看到类似于“粘贴这个就可以了!”这样的答案,因为我不知道到底发生了什么,为什么会这样。