3

HerokuでRubyonRailsアプリを実行しています。Postgresデータベースを使用します。ローカルで作成および実行しているいくつかのスクリプトからデータベースに接続したいと思います。

ENV ['DATABASE_URL']を使用すると、接続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]

これが機能しない理由はありますか?

4

1 に答える 1

2

Heroku共有データベースインスタンスに接続することはできませんが、最近、入力を許可する新しい開発インスタンスを起動しました-詳細については、https://postgres.heroku.com/blog/past/2012/4/26/heroku_postgres_development_plan/を参照してください-おそらくこれが問題です。

于 2012-06-04T07:51:37.240 に答える