Postgresql fails to be recognised on the correct path
我正在尝试使用postgresql设置一个新应用程序,以便我可以使用Heroku进行部署。 但是,当我使用'rails server'运行应用程序时,我对rails屏幕的欢迎会出现此错误:
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"?
我确定这与此处涉及的问题相同:
升级到OSX 10.7 Lion后修复Postgresql
但约翰王的修复不起作用。
我尝试将'export PATH = / usr / local / bin:$ PATH'添加到.bash_profile,.bashrc和.zshrc,其中没有一个会改变结果。 调用哪个psql总是返回/ usr / bin / psql。
我在这做错了什么? 任何帮助将非常感激!
编辑
运行/ usr / local / bin / psql会出现相同的错误,并且运行echo $ PATH会给出:
/opt/local/bin:/opt/local/sbin:/Users/dave/.rvm/gems/ruby-1.9.3-p194/bin:/Users/dave/.rvm/gems/ruby-1.9.3-p194@global/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
如果直接运行本地安装的psql会发生什么?
1 | /usr/LOCAL/bin/psql ... |
如果它有用,那么它就是你需要改变的路径。您可以尝试在终端中运行导出,然后
1 | echo $PATH |
我不确定你需要更新哪个.xxrc文件 - 我不害怕,但至少你会知道命令会起作用。
哦 - 我保留了几个不同版本的PostgreSQL,并发现设置一些别名很有用:
1 2 3 | alias psql90='/usr/local/pgsql90/bin/psql -p 5490' alias psql84='/usr/local/pgsql84/bin/psql -p 5484' alias pg_dump90=... |
您的
首先 - 找到你的postgresql.conf文件并检查你正在运行的端口。有三个感兴趣的项目:
1 | ls -a <your unix_socket_directory> |
您应该看到类似".s.PGSQL.5432"的"文件",其中5432是配置文件中的端口号。如果没有这样的文件,它就没有运行,是时候让它运行了。如果配置文件中的端口号与Apple的现有用法匹配,则可能需要更改端口号。
然后找到存在的psql安装
1 2 | find /usr -TYPE f -name psql find /opt -TYPE f -name psql |
尝试找出你需要的那个,或许添加--version来帮助。
然后,让我们看看编辑你的PATH。无论如何,您必须在设置文件中进行一些更改,所以让我们看看我们是否可以找到该设置的位置。
1 | grep -l 'local/bin' ~/.*rc |
这应该列出包含local / bin的文件名 - 看一看,看看他们是否正在编辑你的PATH。