使用SSH (Putty)连接Heroku Postgres



我想能够连接到我的Heroku postgres(起重机)数据库从我的桌面使用Putty。

我最近从Webfaction搬到了Heroku。在webfaction上,这是一个非常简单的过程(通过他们的文档:http://docs.webfaction.com/user-guide/databases.html#starting-an-ssh-tunnel-with-putty)。

Heroku允许您使用heroku pg:credentials获取数据库信息和凭据。如图所示:https://devcenter.heroku.com/articles/heroku-postgresql#external-connections-ingress。我似乎不知道如何通过Putty使用此信息连接到数据库。

如果我尝试用Heroku信息设置Putty给出这个错误:Disconnected: No supported authentication methods available.

Heroku监听到数据库的SSL连接,但不提供shell帐户,这是使用Putty所必需的。他们在文档中说:

当您发现自己需要SSH访问时,请尝试使用工具恰当地解释了Heroku的分布式环境,例如heroku命令行工具和一次性dynos.

确实,这与Webfaction形成了对比,Webfaction清楚地声明他们提供shell访问:

完整的shell访问快速服务器与所有您喜欢的工具为您预先安装和维护。

不同公司,不同服务…

按字面意思使用以下命令:heroku pg:psql DATABASE

这将匹配配置字符串DATABASE_URL,并使用psql将您连接到数据库。

注意:你可能需要添加psql到你的PATH

在Mac操作系统上,使用PostGres应用程序:

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

Heroku允许直接连接到数据库,您不需要使用putty或其他ssh客户端来隧道连接到数据库服务器。

使用您的Heroku postgres凭证从命令行直接连接到psql。

最新更新