我刚刚更新了我的宝石。现在我连接到postgresql数据库时遇到问题。我收到错误:
PGError
could not connect to server: Permission denied
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
我尝试卸载gem并重新安装,我也尝试更改路径文件并将'/ usr / local / bin /'放在顶部。我从帖子中尝试了一些东西:
Repairing Postgresql after upgrading to OSX 10.7 Lion
此应用程序在更新我的宝石之前工作正常,其他应用程序仍然可以正常连接到同一台服务器。我的database.yml文件中有相同的设置..可能出错?
答案 0 :(得分:1)
错误来自PostgreSQL服务器,我已多次看到它。它告诉您,您正尝试通过Unix域套接字(而不是通过TCP / IP!)连接到运行本地并在端口5432 监听的服务器。但是找不到可以接受类似连接的服务器。
您没有提到PostgreSQL服务器所在的位置 - 我假设您实际上是指连接到本地计算机上的数据库服务器。
检查您的设置,尤其是您的pg_hba.conf
文件。你需要一行:
local mydb myuser md5
或
local all all peer
或包含您的用户和数据库的其他一些连接方法。
在您的情况下,这些不帮助:
host ...
或
hostssl ...
它们涉及TCP / IP连接,而不是通过UNIX域套接字的本地连接。当您连接到 localhost
时,您实际上通过本地循环使用TCP / IP并应用这些设置。
请务必在修改pg_hba.conf
后重新加载。我引用链接网站上的手册:
如果您在活动系统上编辑文件,则需要发出信号 postmaster(使用pg_ctl reload或kill -HUP)使其重新读取 文件。