重新启动我的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。
这个问题有很多来源,因此也有很多答案。每一次我都经历过。
1)如果你有某种类型的崩溃,删除/usr/local/var/postgres/postmaster。Pid文件可能是必需的,因为postgres可能没有正确处理它。但是确保没有进程正在运行。
2) Craig Ringer在其他文章中指出,苹果捆绑postgreSQL导致pg gem安装问题,设置PATH环境变量是一个解决方案。
3)另一个解决方案是卸载并重新安装gem。酿造更新可能也是必要的。
如果你偶然发现了这篇文章,如果你能找到其中一个来源,你将节省时间……
导致这种情况发生的另一类原因是由于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
(奇怪的是,它在第一次运行时失败了,在第二次运行时工作了,所以在放弃之前尝试两次)