关于rails上的ruby:从Navicat或Induction连接到本地Postgres.app时出错

Errors when connecting to local Postgres.app from Navicat or Induction

好的,所以我的Mac上有Postgres.app。

据我所知,它在本地运行。 (顶栏中的小象图标)

创建了一个非常基本的rails应用程序,它工作正常,即它出现在浏览器中。

尝试将其连接到Navicat Lite http://www.navicat.com/。它不断出现这个错误:FATAL: role"postgres" does not exist.

无法弄清楚如何解决这个问题,所以我偶然遇到了感应http://inductionapp.com/并尝试再次使用它连接到Postgres,这就是它出现的错误:

1
2
3
Connection 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"?

不确定如何解决这个问题。

已经搜索过这个,有些修复看起来有点复杂,而且现在,不想做我不太理解的修复,也不想回滚。

HALP?

编辑(包括我的bash信息)

1
2
3
4
5
6
7
export PGHOST=localhost
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
export PATH=/usr/LOCAL/bin:$PATH
PATH=$PATH:$HOME/.rvm/bin # ADD RVM TO PATH FOR scripting

### Added BY the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"

编辑二

好的,不知道这是怎么发生的。

是否再次随机运行Navicat(有点像跑步轮中的鼠标?),并更改了"连接属性"页面上输入的一些数据,即用户名和密码 - 将其设置为我的笔记本电脑的信息。

有效。

那么,耶?

但是当我用Induction尝试它时,得到的错误与本文中列出的相同。

所以,不确定发生了什么,为什么简单它适用于Navicat而不是Induction?

编辑三

嗯...好吧,刚刚再次尝试了归纳,实际上这次输入了localhost,而不是将它保留为默认值127.0.0.0 ......它有效!

嗯,这是个好消息吗?

另外,'psql'的结果是:/usr/bin/psql对我来说似乎不对,考虑到我在bash配置文件中添加的内容。

嗯,不是试图延长这篇文章,也不添加可以为另一篇文章保存的问题。我从技术上讲,既然我已经让Navicat和Induction一起工作,那么这篇文章现在无效了吗?

我应该对psql路径提出另一个帖子的问题吗?

请告诉我。

谢谢。

删除了echo $ PATH的结果。


看起来你的rails应用程序试图连接到OSX与postgresapp一起提供的标准postgres安装。

您是否已将这些步骤作为postgresapp设置的一部分(http://postgresapp.com/documentation)?

PostgreSQL ships with a constellation of useful binaries, like pg_dump or pg_restore, that you will likely want to use. Go ahead and add the /bin directory that ships with Postgres.app to your PATH (preferably in .profile, .bashrc, .zshrc, or the like to make sure this gets set for every Terminal session):

PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"

Once your path is correctly set up, you should be able to run psql without a host. (If not, check that the correct version is being loaded in the PATH by doing which psql)

另外,重新安装你的pg gem。