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


当前回答

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

其他回答

超级新手提醒:我正在学习web开发,我正在学习的教程中提到我必须安装Postgres,但实际上并没有提到我必须运行它……一旦我打开Postgres应用程序,一切都很好。

导致这种情况发生的另一类原因是由于Postgres的版本更新。

你可以通过查看postgres日志来确认这是一个问题:

tail -n 10000 /usr/local/var/log/postgres.log

看到这样的条目:

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

在这种情况下(假设你在Mac上使用brew),只需运行:

brew postgresql-upgrade-database

(奇怪的是,它在第一次运行时失败了,在第二次运行时工作了,所以在放弃之前尝试两次)

也许这是不相关的,但类似的错误出现当你升级postgres到一个主要版本使用brew;使用brew info postgresql发现这有助于:

To migrate existing data from a previous major version of PostgreSQL run:
brew postgresql-upgrade-database

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

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