我想将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
)
但我收到错误:
追踪(最近一次通话): 文件“test.py”,第217行,in url = urlparse.urlparse(os.environ [“MY_DATABASE_URL”]) 文件“/usr/lib/python2.7/UserDict.py”,第23行, getitem 提出KeyError(键) KeyError:'MY_DATABASE_URL'
as my_database_url我写了来自ElephantSQL的url(postgres:// my_username:my_password @ my_hostname / my_databasename)
我做错了什么?
答案 0 :(得分:1)
我用过:
conn = psycopg2.connect("dbname='my_dbname' user='my_user' host='my_host' password='my_password'")
它现在正在工作。
答案 1 :(得分:0)
我尝试过 ElephantSQL documentation,但 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")