繁体   English   中英

Postgres 服务器错误 -> PGError:无法连接到服务器

[英]Postgres Server error -> PGError: could not connect to server

尝试在本地主机上启动 Rails 应用程序时出现以下错误:

PGError(无法连接到服务器:没有这样的文件或目录服务器是否在本地运行并接受 Unix 域套接字“/tmp/.s.PGSQL.5432”上的连接?

从我读过的内容来看,这很可能是连接到 Postgres 服务器时出现的问题,并且可能表明它没有启动?

这一切都始于我第一次尝试使用 git 合并(是的菜鸟!)。 有一个冲突(与 Rubymine workspace.xml 文件有关),我开始打开一个冲突解决程序。 然后似乎根本不需要跟踪workspace.xml,所以我退出了解析程序,打算在文件上运行“git rm --cached”。 我认为在退出程序时出现问题,我最终重新启动,然后取消跟踪文件,然后完成合并。 有什么东西被搞砸的进一步证据是,在我重新启动机器之前,我的终端外壳没有正确打开。

现在,据我所知,合并中的一切都进行得很顺利(无论如何,两个分支之间存在微不足道的差异),但对于我的一生,我似乎无法摆脱这个 PGError。 如果它像启动服务器一样简单,那么我很乐意帮助您了解如何做到这一点。

(其他上下文:OSx、rails 3、通过 macports 安装的 posgresql83、pg gem)。

编辑 - 我一直在尝试启动服务器,但没有成功。 例如,我试过:

pg_ctl start -D /opt/local/var/db/postgresql83/defaultdb

这似乎是数据的正确路径(它找到 postgresql.conf 文件),但我得到的响应是“无法执行二进制文件”。

并且可能表明它没有启动?

是的,听起来服务器没有在您的本地机器上运行。

参见PostgreSQL手册中对这个错误的描述:
http://www.postgresql.org/docs/8.3/static/server-start.html#CLIENT-CONNECTION-PROBLEMS

尝试sudo port load postgresql83-server - 这应该适用于来自 macports 的最新 8.3 端口。

如果这不起作用,请尝试sudo port selfupdate; sudo port upgrade outdated sudo port selfupdate; sudo port upgrade outdated ,然后重试。

注意 - 这可能需要很长时间。

要启动服务器,请尝试以下几行(针对 pgsql 版本号和日志文件进行调整):

sudo su postgres -c '/opt/local/lib/postgresql84/bin/pg_ctl -D /opt/local/var/db/postgresql8/defaultdb -l /opt/local/var/log/postgresql84/postgres.log start'

要停止服务器,

sudo su postgres -c '/opt/local/lib/postgresql84/bin/pg_ctl -D /opt/local/var/db/postgresql84/defaultdb stop'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM