使用pgadmin连接到heroku数据库


180

我想用pgadmin客户端管理我的heroku数据库。到目前为止,我一直在使用psql。当我使用中的数据heroku pg:credentials来连接de DB时pgadmin,我获得:

发生了错误:

连接到服务器时出错:FATAL:对数据库“ postgres”的权限被拒绝详细信息:用户没有CONNECT特权。

关于如何实现连接的任何指南?


1
谢谢你问这个问题,我只是不知道这是可能的
慢哈利

Answers:


327

在pgAdminIII中打开Heroku服务器的“属性”,然后将“维护数据库”值更改为要连接的数据库的名称。

pgAdmin III-新服务器注册

默认设置适用于可以连接到服务器上任何数据库的DBA等人,但是显然这不是您的情况。


9
另一个答案中建议,您还需要通过在连接对话框中选择“ SSL | SSL | require”来启用SSL,否则它将仍然无法连接。
布拉德·帕克斯

如果您有Rails App,则可以使用github.com/igorkasyanchuk/rails_db
Igor

我在pgadmin 3上收到错误消息,您尝试连接的服务器不在8.4和9.3之间,并且它连接但始终显示159个带有错误弹出窗口的数据库的列表。
阿比舍克(Abhishek)

3
这才停止为我工作吗?它仍然适用于任何人吗?
符文耶普森

@Ced是的,我也是-Windows已决定打开我的防火墙并阻止该端口:-/
Rune Jeppesen

101

根据上述araqnid的答案建议更改维护数据库名称后,还应该将数据库添加到“数据库限制”字段中,因为如果没有此操作,您将看到成千上万个数据库,并且如果列表是太长。

此处有更多详细信息- 如何隐藏不允许访问的数据库


5
+1并添加数据库名称时,请确保将其用单引号引起来,因为它将用于动态生成一个IN子句以过滤数据库列表。
Glenn 2015年

20

对于heroku外部的连接,我们需要SSL。请验证您是否在客户端中强制使用SSL。

编辑:

在此处更全面地回答:https : //dba.stackexchange.com/questions/21869/connecting-pgadmin3-to-postgres-on-heroku

我们不允许连接到 postgres数据库,因此请确保将Maintenance DB设置为您的数据库名称,并确保使用SSL。

希望这样就足够了。


2
我是否需要任何类型的文件/密钥来强制使用SSL?(请原谅我的无知)
托马斯·罗梅罗

通常,图形界面在某处具有SSL复选框。我不使用pgadmin,但是基于docs [1],它似乎在连接配置对话框中有一个SSL选项卡。[1] pgadmin.org/docs/dev/connect.html
hgmnz 2012年

当我单击SSL选项卡时,它询问我证书和密钥,但我不知道它们的值。尽管将维护数据库名称设置为我的heroku数据库名称,但我可以只配置“属性”选项卡,而无需指定SSL(显然是自动完成)
Tomas Romero

10

将维护数据库更改为数据库的名称,例如dva70000p0090。这应该工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.