改善Postgres连接错误「PG::ConnectionBad连接到服务器的套接字”/tmp/.s.PGSQL.5432″」

情况

在应用程序开发中,当启动服务器时,发生了以下错误。
在此之前,没有发生过服务器启动或命令错误。

PG::ConnectionBad: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such file or directory
Is the server running locally and accepting connections on that socket?

环境

    • macOS Big Sur 11.6.1

 

    • PostgreSQL 14.0

 

    Rails 6.0.3

处理

 $ brew services stop postgresql
 $ brew services start postgresql
 $ brew services restart postgresql

根据错误内容尝试了上述方法,但没有改善。
参考了这篇文章,尝试删除postmaster.pid并重新启动,但没有改善。

用以下步骤来改善

#postgresql停止
 $ brew services stop postgresql

#postgresqlのディレクトリまで移動
 $ cd /usr/local/var/

#ディレクトリの存在を確認
 $ ls -la

#postgresqlのディレクトリ削除
 $ rm -rf postgresql

#postgresqlのディレクトリを再度作成
 $ initdb /usr/local/var/postgresql

#postgresqlをスタートさせる
 $ pg_ctl -D /usr/local/var/postgresql -l logfile start 

我临时移动并确认了前半部分的步骤,同时也执行了以下内容。

 $ rails db:create
 $ rails db:migrate

我成功地解决了问题,并可以使用改进命令了?

总结

据说有时在重新启动电脑等操作后,PostgreSQL无法正常启动。
本次由于在创建应用程序之前电脑一直处于开机状态,所以不适用于此情况。
由于之前一直正常运行,看起来是文件本身崩溃了。

请提供中文版的参考。

PostgreSQL 没有在 Mac 上运行。

广告
将在 10 秒后关闭
bannerAds