1

我想将 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(最近一次调用最后):文件“test.py”,第 217 行,在 url = urlparse.urlparse(os.environ["MY_DATABASE_URL"]) 文件“/usr/lib/python2.7/UserDict.py”中,第 23 行,在getitem raise KeyError (key) KeyError: 'MY_DATABASE_URL'

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

我究竟做错了什么?

4

3 回答 3

1

我用了:

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

它现在正在工作。

于 2017-01-18T19:43:20.907 回答
0

我已经尝试过 ElephantSQL文档,但 urllib.parse 步骤不起作用。我直接添加了psycopg2.connect参数,因为上面的解决方案建议遵循 ElephantSQL 文档语法。

postgres://username:password@hostname:port/database

import psycopg2

conn = psycopg2.connect(database="database", user="username", password="password", host="hostname", port="port")
于 2021-05-08T03:13:23.923 回答
0

我用了这段代码

url = up.urlparse("DATABASE_URL")

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

然后我用

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

之后,我可以连接大象SQL实例

于 2021-08-17T13:59:12.937 回答