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


当前回答

@Jagdish Barabari的回答给了我解决这个问题的线索。结果是安装了两个版本的postgresql,而只有一个在运行。清除所有postgresql文件并重新安装最新版本为我解决了这个问题。

其他回答

为了解决这个问题,我不得不多次查阅这篇文章。还有另一个修复程序,它也适用于其他正在运行的程序的类似问题。

我刚刚发现您可以使用以下两个命令。

美元上

这将显示当前运行的所有操作及其pid编号。当你找到postgres和相关的pid

杀死pid_number美元

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

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

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

sudo /etc/init.d/postgres status

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

sudo /etc/init.d/postgres start

这是我的方法:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
rm /usr/local/var/postgres/postmaster.pid
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

我也遇到了同样的问题,这是由于从版本11升级到13.2后版本不兼容

检查错误日志:

/usr/local/var/log/postgres.log

给我:

DETAIL:  The data directory was initialized by PostgreSQL version 11, which is not compatible with this version 13.2.

为了解决这个问题,我跑了:

brew postgresql-upgrade-database

然后用brew启动postresql:

brew services start postgresql