2012-07-05 75 views
0

我试图用postgresql设置一个新应用程序,所以我可以使用Heroku进行部署。然而,当我运行使用“轨道服务器”我欢迎轨屏幕的应用程序,让这个错误:Postgresql无法在正确的路径上识别

PG::Error

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"?

我敢肯定这是相同的问题,因为这里覆盖:

Repairing Postgresql after upgrading to OSX 10.7 Lion

但约翰王的修复不起作用。

我试过向.bash_profile,.bashrc和.zshrc添加'export PATH =/usr/local/bin:$ PATH',但都没有改变结果。调用哪个psql总是返回/ usr/bin/psql。

我在这里做错了什么?任何帮助将非常感激!

编辑

运行在/ usr/local/bin目录/ PSQL给出了同样的错误,运行echo $ PATH得出:如果你直接运行本地安装PSQL

/opt/local/bin:/opt/local/sbin:/Users/dave/.rvm/gems/ruby-1.9.3-p194/bin:/Users/dave/.rvm/gems/[email protected]/bin:/Users/dave/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/dave/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/dave/.rvm/bin

回答

2

会发生什么?

/usr/local/bin/psql ... 

如果有效,那么这是您需要更改的路径。您可以尝试在终端中运行导出,然后which psql。如果不拿起右PSQL然后检查与

echo $PATH 

工作我不知道这.xxrc文件,你将需要更新,然后出口 - 没有得到一个MAC手恐怕,但至少你会知道该命令将起作用。

哦 - 我把几个不同的版本的PostgreSQL的四周,会发现它有用有一定的别名设置:

alias psql90='/usr/local/pgsql90/bin/psql -p 5490' 
alias psql84='/usr/local/pgsql84/bin/psql -p 5484' 
alias pg_dump90=... 

$PATH只是一个目录,以检查由分隔列表“:” 。它开始/opt/local/bin而不是/usr/local/bin,如果你看得更远,你会看到/usr/bin之前/usr/local/bin。所以 - 我们需要做两件事情:

  1. 找出其中的psql我们真正想要
  2. 确保我们可以修改我们的道路

首先 - 找到你的postgresql.conf文件,并检查端口你正在跑步。有三个感兴趣的项目:listen_addresses,portunix_socket_directory。然后我们会看看那里是否有套接字。

ls -a <your unix_socket_directory> 

你应该可以看到一个“文件”像” .s.PGSQL.5432" ,其中5432是你的配置文件中的端口号。如果没有这样的文件,它没有运行,是时候让它运行。如果与Apple的现有用法相匹配,您可能需要更改配置文件中的端口号。

然后查找PSQL安装存在

find /usr -type f -name psql 
find /opt -type f -name psql 

试图找出你需要哪一个,可能要添加--version帮助。

然后,让我们看看编辑PATH。无论如何,您必须在设置文件中进行一些更改,所以我们来看看是否可以找到该设置的位置。

grep -l 'local/bin' ~/.*rc 

这应该列出包含本地/ bin的文件名 - 看看它们是否正在编辑PATH。

+0

感谢您的回复,我添加了回声$ PATH的输出,但它对我来说并没有多大意义,但它是否显示出问题? – Dave 2012-07-05 21:07:38

+0

在上面的主要答案中编辑 – 2012-07-06 08:07:36

+0

注意:最近出现了一些这些问题,这些问题都是由于OSX的unix域套接字位于不同的目录中,而不是它们的预期位置(/ var/vs/tmp /),导致前端无法连接到后端。 – wildplasser 2012-07-06 10:45:56