如何从运行在不同云服务上的其他Web应用程序连接到heroku postgres。
我有一个heroku postgres。我在EC2上运行了另一个web应用程序。当我在ec2上的webapp尝试连接到heroku应用程序时,它失败了。
我尝试从端口5432上的ec2实例telnet到heroku postgres,它失败了。
有人可以提供指针吗?
答案 0 :(得分:0)
您可以使用heroku pg:credentials
命令获取数据库的凭据。例如:
$ heroku pg:credentials DATABASE_URL
Connection info string:
"dbname=abcdefghijklmn host=ec2-1-2-3-4.compute-1.amazonaws.com port=5432 user=abcdefghijklmn password=abcdefghijklmnopqrstuvwxyz sslmode=require"
Connection URL:
postgres://abcdefghijklmn:abcdefghijklmnopqrstuvwxyz@ec2-1-2-3-4.compute-1.amazonaws.com:5432/abcdefghijklmn
然后,您可以在其他应用程序中使用连接URL或分解的凭据。注意sslmode=require
。与Heroku Postgres的连接要求您使用SSL,这是一个"高级"某些PostgreSQL客户端(例如Navicat)中的选项。例如:
$ psql postgres://abcdefghijklmn:abcdefghijklmnopqrstuvwxyz@ec2-1-2-3-4.compute-1.amazonaws.com:5432/abcdefghijklmn