我在 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]
知道为什么这不起作用吗?