psql: 错误: 连接到套接字 "/tmp/.s.PGSQL.5432" 上的服务器失败: 没有此文件或目录
psql: 错误: 连接到套接字 "/tmp/.s.PGSQL.5432" 上的服务器失败: 没有此文件或目录
不是很确定是什么原因导致的,但最有可能是在我的Rails服务器关闭时退出终端(我知道这不是一个好习惯,但我已经吸取了教训!)
我已经尝试了以下几种方法:
- 重启我的机器(使用MBA M1 2020)
- 使用Homebrew重新启动PostgreSQL
brew services restart postgresql
- 使用Homebrew重新安装PostgreSQL
- 更新PostgreSQL使用Homebrew
- 我也尝试了跟着这个链接,但是当我运行
cd Library/Application\\ Support/Postgres
时,终端告诉我Postgres文件夹不存在,所以我已经有点迷失了。虽然我有一种删除postmaster.pid就可以解决我的问题的感觉。任何帮助都将不胜感激!
admin 更改状态以发布 2023年5月24日
如果您使用的是 macOS 而不是 M1
rm /usr/local/var/postgres/postmaster.pid brew services restart postgresql
详情
- 尝试执行命令
brew info postgresql
- 尝试执行命令
/usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres
- 错误信息:
FATAL: lock file "postmaster.pid" already exists
- 进入目录
/usr/local/var/postgres
,删除文件postmaster.pid
- 重启即可
如果你想保留v13.3版本,以下是解决方法,如果你已经升级到了14.2,你可以简单地更改PostgreSQL监听的端口。 阅读他们的文档在这里。
请注意,此解决方案适用于我安装PostgreSQL和使用的操作系统的设置(查看原始帖子获取我的设置详细信息)
- 使用任何文本编辑器打开以下目录中的postgresql.conf文件,以下使用vscode / vim。
vscode
sudo code . /usr/local/var/postgres/postgresql.conf
vim
sudo vi /usr/local/var/postgres/postgresql.conf
- 将端口更改为5432,并重新启动计算机。
v13.3解决方案
看起来升级真的搞乱了我的Postgres,因为根据Nagev的回答,它正在监听端口5433而不是5432。我降级到v13.3以解决此问题。
brew uninstall postgresql brew install postgresql@13 brew services start postgresql@13 brew link postgresql@13 --force