使用 Python 连接 ElephantSQL

Connecting ElephantSQL with Python

我想将 ElephantSQL 与 Python 连接。

import os
import psycopg2
import urlparse

urlparse.uses_netloc.append("postgres")
url = urlparse.urlparse(os.environ["MY_DATABASE_URL"])

conn = psycopg2.connect(database=url.path[1:],
  user=url.username,
  password=url.password,
  host=url.hostname,
  port=url.port
)

但我得到错误:

Traceback (most recent call last): File "test.py", line 217, in url = urlparse.urlparse(os.environ["MY_DATABASE_URL"]) File "/usr/lib/python2.7/UserDict.py", line 23, in getitem raise KeyError(key) KeyError: 'MY_DATABASE_URL'

as my_database_url 我从 ElephantSQL 写 url (postgres://my_username:my_password@my_hostname/my_databasename)

我做错了什么?

我用过:

conn = psycopg2.connect("dbname='my_dbname' user='my_user' host='my_host' password='my_password'")

现在可以使用了。

我试过 ElephantSQL documentation 但 urllib.parse 这一步没有用。我按照 ElephantSQL 文档语法按照上面建议的解决方案直接添加了 psycopg2.connect 参数。

postgres://用户名:密码@主机名:port/database

import psycopg2

conn = psycopg2.connect(database="database", user="username", password="password", host="hostname", port="port")

我使用了这个代码

url = up.urlparse("DATABASE_URL")

而不是您找到的 url = up.urlparse(os.environ["DATABASE_URL"]) 代码 ElephantSQL documentation

然后我用了

conn = psycopg2.connect(database=url.path[1:], user=url.username, password=url.password, host=url.hostname, port=url.port )

之后,我就可以连接 elephantsql 实例了