改善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 上运行。