我的mac锁定了所以我不得不做一个硬关机(按住电源键直到它关闭,然后重新打开)。现在当我尝试启动我的本地rails应用程序(在崩溃之前运行正常)时,我得到以下Action Controller异常:
PG::ConnectionBad
could not connect to server: No such file or directory Is the server
running locally and accepting connections on Unix domain socket
"/var/pgsql_socket/.s.PGSQL.5432"?
一个月前,当我的计算机崩溃时,我遇到了类似的问题,最终找到了解决方案。但是我今天一直在寻找和研究几个小时但没有运气。
我几乎是一个菜鸟,但是为了它的价值,我使用foreman start
并使用Redis启动服务器。但说实话,我不确切知道那些人做了什么。
感谢。
答案 0 :(得分:1)
这通常适合我。
$ launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
$ pg_ctl restart -D /usr/local/var/postgres
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
答案 1 :(得分:1)
最终我最终卸载并重新安装了postgresql:
brew remove postgresql
brew install postgresql
也许有一个不那么激烈的解决方案,但它非常快速和轻松,我回到了公司。
我在开发环境中工作,并准备丢失我的数据并重新设置数据库,但所有数据仍然存在。
答案 2 :(得分:0)
PostgreSQL的数据目录中有一个文件,用于存储PostgreSQL服务器的进程ID:
“ postmaster.pid”
在系统崩溃的情况下,该文件可能仍指向旧进程,或者文件可能已损坏。可以通过删除文件并启动PostgreSQL服务器来解决该问题。
在Mac中,文件位于:
/usr/local/var/postgresql@[version of postgresql]
e.g. /usr/local/var/postgresql@9.6
Mac中PostgreSQL 9.6版的命令摘要:
cd /usr/local/var/postgresql@9.6$
mv postmaster.pid postmaster.pid.bk
brew services start postgres@9.6