重新启动我的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。
我在编写psql (PostgreSQL) 9.6.11时遇到了同样的问题。
什么对我有用?
删除邮政局长。Pid——rm /usr/local/var/postgresql@9.6/postmaster.pid
重启postgres——brew服务重启postgresql@9.6
如果邮政局长。Pid不存在或上述进程不工作,则运行——
Sudo chmod 700 /usr/local/var/postgresql@9.6
这个问题有很多来源,因此也有很多答案。每一次我都经历过。
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
(奇怪的是,它在第一次运行时失败了,在第二次运行时工作了,所以在放弃之前尝试两次)
对我来说,最好但奇怪的方式是做下一步的事情。
1)下载postgres93。App或其他版本。将此应用程序添加到/Applications/文件夹中。
2)在.bash_profile文件(在我的主目录下)中添加一行(命令):
导出路径= /应用程序/ Postgres93.app /内容/ MacOS / bin /: $路径
这是Postgres93.app中psql的路径。每次启动控制台时,行(命令)都会运行。
3)启动Postgres93。app从/Applications/文件夹。它启动一个本地服务器(端口为“5432”,主机为“localhost”)。
4)在所有这些操作之后,我很高兴运行$ createuser -SRDP user_name和其他命令,并看到它工作!Postgres93。应用程序可以在每次系统启动时运行。
5)如果你想看到你的数据库图形化,你应该安装PG Commander.app。这是将postgres DB视为漂亮的数据表的好方法
当然,它只对本地服务器有帮助。如果这些说明能帮助到其他面临这个问题的人,我会很高兴。