Python Flask应用程序无法连接到Redshift数据库

时间:2018-10-20 14:07:40

标签: python-3.x postgresql flask amazon-redshift psycopg2

我的简单python flask应用程序无法连接到redshift数据库。记录的错误:

  

psycopg2.OperationalError:无法创建SSL上下文:库具有   没有密码致命:主机“ :: ffff:0.0.0.0”没有pg_hba.conf条目,   用户“ admin”,数据库“ redshiftdb”,SSL关闭

但是当我尝试使用不带烧瓶的简单python(simple.py)进行相同连接时,效果很好。

import psycopg2

conn = psycopg2.connect(database="redshiftdb", user = "admin", password = "admin!pwd", host = "remotehost", port = "5439")

print ("Opened database successfully")

,但是对于烧瓶而言,它不起作用( init .py)。

from flask import Flask
import psycopg2

@app.route("/service")
def service():
    conn = psycopg2.connect(database="redshiftdb", user = "admin", password = "admin!pwd", host = "remotehost", port = "5439")
    return "Service is running!"

if __name__ == "__main__":
    app.run()
  • ubuntu v12
  • Python版本:3.4
  • psycopg2 == 2.7.5
  • psycopg2-binary == 2.7.5
  • 烧瓶== 1.0.2

2 个答案:

答案 0 :(得分:2)

尝试从源代码构建psycopg2

pip install -r requirements.txt

包含在requirements.txt中

psycopg2==2.7.5 --no-binary :all:

答案 1 :(得分:0)

最后进行的安装解决了该问题。

sudo apt-get install  libpq-dev python-dev
sudo apt-get install python3-psycopg2

此安装后,我重新安装了psycopg2

pip3 install psycopg2

我不知道此修复程序背后的理论,原因以及工作原理。