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



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

心理战2.操作错误:无法创建 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()
  • 优麒麟 v12
  • 蟒蛇版本:3.4
  • psycopg2==2.7.5
  • psycopg2-binary==2.7.5
  • 烧瓶==1.0.2

尝试从源代码构建 psycopg2

pip install -r requirements.txt

包括要求.txt

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

最后,以下安装解决了这个问题。

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

安装后,我重新安装了 psycopg2

pip3 install psycopg2

我不知道此修复程序背后的理论,为什么以及如何工作。

最新更新