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


当前回答

我也犯过类似的错误。

所有这些都是从命令行完成的(根本没有sudo调用)

我验证我已经安装了PostgreSQL psql -V(注意这是一个大写的“V”) 我试图连接到服务器:psql postgres

这就是我在堆栈溢出问题中遇到错误的地方

在做了一些关于可能的修复的研究之后,我显然安装了PostgreSQL,但我没有一个默认的服务器。

我要做的是创建一个自定义数据目录

据我所知,创建自定义数据目录与设置默认服务器是一样的。

由于这是一台新机器(使用apple m1芯片的MacBook Pro 2021),我想找到最简单的解决方案,我相信这个自定义数据目录就是这样。修复此问题的其余步骤如下:

在主目录中,我创建了一个空目录mkdir myData 从主目录,初始化一个服务器:initdb myData(将一堆文件扔到myData目录) pg_ctl -D myData -l logfile start(启动服务器) PSQL postgres(连接到服务器)

所以,作为一个刚刚接触PostgreSQL和数据库以及SQL的人,有几点注意事项:

使用\q可以“退出”到服务器的连接(当连接到服务器时,也可以输入“帮助”) 也可以用pg_ctl -D myData stop来“停止”服务器

在这一点上,我现在确定我已经安装了PostgreSQL,有一个服务器,我可以启动和停止,并有能力连接到/断开,该服务器。

其他回答

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

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

sudo /etc/init.d/postgres status

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

sudo /etc/init.d/postgres start

对于那些在M1 mac上遇到这个问题的人,尝试删除这个文件,然后重新启动brew服务:

rm /opt/homebrew/var/postgres/postmaster.pid

这是我的方法:

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

对我来说,最好但奇怪的方式是做下一步的事情。 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视为漂亮的数据表的好方法

当然,它只对本地服务器有帮助。如果这些说明能帮助到其他面临这个问题的人,我会很高兴。

下面的命令帮助了我。问题出在PostgreSQL数据版本上。升级后,它开始为我工作良好。

brew upgrade postgresql
brew postgresql-upgrade-database
brew services restart postgresql