用Elephant连接ElephantSQL

时间:2017-01-18 18:09:12

标签: python postgresql psycopg2 urlparse

我想将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)

我做错了什么?

2 个答案:

答案 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")