如何设置 heroku postgresql 应用程序的路径?
Posted
技术标签:
【中文标题】如何设置 heroku postgresql 应用程序的路径?【英文标题】:How can i setup the path for heroku postgresql app? 【发布时间】:2012-07-25 15:02:48 【问题描述】:我刚刚安装了 heroku PSQL 应用程序 (v1.0),但无法使用 gem pg“0.1.4”连接我的 rails 应用程序。我已经将路径 PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH" 添加到我的 .profile 和 .bashrc 文件中,但似乎没有什么能让我通过调用“psql”来运行 psql。我使用“psql -h localhost”取得了成功。当我选择“psql”时,我得到:
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
我正在使用山狮。
【问题讨论】:
我也有同样的问题,苦苦挣扎了几个小时 同样的问题 - 路径不工作。我的 .bashrc 与 Diego 具有相同的 PATH 并且它没有被加载。如果我运行“source .bashrc”然后“which psql”它返回正确的版本“/Applications/Postgres.app/Contents/MacOS/bin/psql”但是如果我启动一个新的终端窗口它返回这个:“/usr/ bin/psql”这里有什么问题?该应用程序安装正确,可以使用,但不会从 PATH 加载。 这是问题吗? nextmarvel.net/blog/2011/09/… 命令 "which psql" "ls -la ~/" 和 "echo $PATH" 的结果是什么? 【参考方案1】:仍然很确定现有的两个答案都回答了错误的问题。作者在标题中提到他遇到了 PATH 问题,无法连接到他的数据库或配置 rails。这是我遇到的情况,这是我的解决方案。
在我的 .bashrc 文件中运行 postgres.app 并按照 postgress.app 文档 - http://postgresapp.com/documentation 中的指示设置 PATH 后:
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
问题是这个路径设置在重启 terminal.app 后没有生效 - 运行 which psql 正在返回“/usr/bin/psql”中的副本,这是 Lion 和 Mountain Lion 安装的副本,不是安装在“/Applications/”中的新版本。它甚至在 Postgres.app 说明中说“运行哪个 psql 以告知正在加载正确的版本”。
无论如何——我发现奇怪的是,在我跑完之后:
source .bashrc
然后命令“which psql”将返回位于 /Applications/ 中的正确版本。
此时我被难住了,不得不寻求一些额外的帮助。我点击的人也认为这很奇怪,但是他们很快发现 .bashrc 或 .profile 文件都没有被加载。这很奇怪,我没有在任何平台上看到过这个我的其他 Mac 通过狮子跑豹。
现在终于解决了-我不确定这是否正确,但它确实永久解决了我的问题。我们发现它们是一个被加载到终端的配置文件 - .bash_login 文件。最后的解决方案就是使用 .bash_login 来获取 .bashrc 文件。这是对 .bash_login 的编辑:
source $HOME/.bashrc
就这么办了。
无论如何,我不能说这正是 diego 需要/正在寻找的解决方案,但这绝对是我的问题。
【讨论】:
您也可以将 PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH" 添加到 .bash_login。 或 .bash_profile,每次重新启动控制台时都会重新加载 如果您知道自己在做什么,只需将/Applications/Postgres.app/Contents/MacOS/bin
添加到您的 bash 路径
尼克在我的情况下,当我启动 iTerm.app 时,这些文件都没有被加载。我怎样才能知道正在加载什么?
文档有误。将“Postgres.app”更改为“Postgres93.app”【参考方案2】:
您需要将host:localhost
添加到您在开发环境中使用的任何数据库配置中(阅读开发/测试/生产/等):
config/database.yml
development:
adapter: postgresql
encoding: unicode
database: my_awesome_app_development
pool: 5
host: localhost
username: my_awesome_app_development
password:
编辑:另见Repairing Postgresql after upgrading to OSX 10.7 Lion
【讨论】:
他正在寻求有关 postgres.app PATH 设置的帮助,而不是配置 rails 应用程序。 @Nick:不,他不是。前端只是找不到作为 rendez-vous 点的 unix-domain postgres-socket。这是一个与 OSX 相关的安装问题。 (已经有好几个了) 我遇到了与 OP 相同的错误,并且像在这个答案中那样对主机进行硬编码确实解决了我的问题。另一方面,我需要一个不需要我这样做的解决方案,因为这就是工作开发环境的设置方式,所以我正在寻找替代方案。我已经尝试在.bash_profile
中设置PGHOST=locahost
,我发现在某些情况下确实有效...【参考方案3】:
我知道这是一个老问题,但我也遇到了同样的问题。问题是文档中有错字。应用是 Postgres93.app,不是 Postgres.app,所以路径应该有 Postgres93.app:
PATH="/Applications/Postgres93.app/Contents/MacOS/bin:$PATH"
令人惊讶的是有多少关于此的帖子,而且似乎还没有注意到错字。改变这就是让psql
和which psql
为我正常工作所需要的。
【讨论】:
【参考方案4】:您的 PATH 可能有误。要找出 psql 脚本的 PATH(在 mac 上),请从 Applications/Postgres 安装中的 finder 打开 sql shell 脚本。这将为您提供有关其安装位置的提示。这打开了一个窗口,告诉我它位于此处:/Library/PostgreSQL/8.4/scripts/runpsql.sh
然后,我在终端窗口中输入以下内容来设置 PATH 变量: $PATH="/Library/PostgreSQL/8.4/bin:$PATH"
【讨论】:
以上是关于如何设置 heroku postgresql 应用程序的路径?的主要内容,如果未能解决你的问题,请参考以下文章
我如何将本地 PostgreSQL 数据库复制到 Heroku for Spring Boot 应用程序
如何配置 heroku.yml 以使用 Heroku PostgreSQL 插件?