当尝试使用 psycopg2 模块通过 python 连接到 redshift 时,会显示以下错误
Posted
技术标签:
【中文标题】当尝试使用 psycopg2 模块通过 python 连接到 redshift 时,会显示以下错误【英文标题】:When trying to connect to redshift through python using psycopg2 module following error is bring displayed 【发布时间】:2019-10-16 12:54:33 【问题描述】:当我尝试通过 python 连接到 redshift 并使用 psycopg2 模块时出现以下错误。
import psycopg2
my_db = 'dbname'
my_host = 'red-shift hostname'
my_port = '5439'
my_user = 'username'
my_password = 'password'
con = psycopg2.connect(dbname=my_db,host=my_host,port=my_port,user=my_user,password=my_password)
错误:
OperationalError: could not translate host name "redshift://redshift-cluster-1.cqxnjksdfndsjsdf.us-east-2.redshift.amazonaws.com" to address: Unknown host
【问题讨论】:
请分享您的代码、您尝试过的内容并改进您的格式。 请准确分享您的代码 - 而不仅仅是错误消息。例如我应该能够通过输入我的红移详细信息来复制您的问题!请检查您的 url 和端口,请检查您是否正确设置了 redshift 安全组。 【参考方案1】:我遇到了类似的问题。似乎这是尝试连接时的 SSL 问题。 使用sqlalchemy-redshift 连接到您的redshift 集群,它将工作。 这就是文档显示的连接方式
import sqlalchemy as sa
db_uri = 'redshift+psycopg2://username:password@redshift-cluster-1.cqxnxldsfjjbsdc.us-east-2.redshift.amazonaws.com:5439/dbname'
eng = sa.create_engine(db_uri)
【讨论】:
以上是关于当尝试使用 psycopg2 模块通过 python 连接到 redshift 时,会显示以下错误的主要内容,如果未能解决你的问题,请参考以下文章
ImportError:没有名为“psycopg2._psycopg”的模块
在 OS Big Sur i.c.w 上加载 psycopg2 模块时出错。苹果硅
django 应用程序的 Heroku 推送得到“没有名为 psycopg2.extensions 的模块”
Dokku 编译错误 - django.core.exceptions.ImproperlyConfigured: 加载psycopg2模块时出错,没有名为'psycopg2'的模块。