连接到我的RoR的Heroku Postgres数据库?

时间:2012-06-03 21:29:23

标签: postgresql heroku amazon-ec2 database-connection

我在Heroku上运行Ruby on Rails应用程序。它使用Postgres数据库。我想从我正在编写并在本地运行的一些脚本连接到数据库。

使用ENV ['DATABASE_URL']我发现我的连接网址是:

postgres的:// zugzagcaht:h-HebaxOz1_H-5uq_Olv@ec2-25-25-209-55.compute-1.amazonaws.com/zugzagcaht

(我修改了字符,所以这不是真正的字符串!)

现在我正在运行一个应该连接到数据库的Python脚本,但是在连接中发现超时:

import psycopg2

DB_NAME = 'zugzagcaht'
DB_USER = 'zugzagcaht'
DB_HOST = 'ec2-25-25-209-55.compute-1.amazonaws.com'
DB_PASSWORD = 'h-HebaxOz1_H-5uq_Olv'
TIMEOUT = 5 # seconds

conn = None
try:
  conn = psycopg2.connect("connect_timeout=%i dbname='%s' user='%s' host='%s' password='%s'" % (TIMEOUT, DB_NAME, DB_USER, DB_HOST, DB_PASSWORD))
except:
  print "I am unable to connect to the database"

if conn:
  cur = conn.cursor()
  cur.execute("SELECT datname from pg_database")
  rows = cur.fetchall()
  print "Here's the databases:\n"
  for row in rows:
      print "   ", row[0]

知道为什么这不起作用吗?

1 个答案:

答案 0 :(得分:2)

你无法连接到Heroku共享数据库实例,但是他们最近发布了一个允许进入的新开发实例 - 在https://postgres.heroku.com/blog/past/2012/4/26/heroku_postgres_development_plan/阅读更多内容 - 我怀疑这是问题所在。