【发布时间】:2019-10-30 05:26:59
【问题描述】:
我正在尝试使用 sqlaclhemy 使用create_engin() 方法创建引擎。在使用 ssl 之前,我使用的是命令:
conn_string = r'postgresql://root:my_pass@hostname/db_name'
self.engine = create_engine(conn_string)
但是在开始使用 ssl 后,它就停止了工作。我尝试寻找类似的问题,发现How do I connect to Postgresql using SSL from SqlAchemy+pg8000?
但是当我尝试使用答案 self.engine = create_engine(conn_string, connect_args={'sslmode': 'require'}) 时出现错误
用户“root”的密码验证失败
即使我的密码是正确的。我能够使用 psychopg2 api 连接如下:
conn = psycopg2.connect(dbname='postgres', user='root', password=my_pass,
host=host_name, port='5432', sslmode='require')
这对我有用,但不好,因为我有自己的使用 sqlalchemy 引擎的 api,我不想破坏它。 我试图找到一种方法来使用上面创建的 conn 创建引擎,但我唯一能找到的是Create a sqlalchemy engine using an existing psycopg2 connection pool,而且我不需要线程池,psycopg2 也没有 .pool 方法
在 sqlalchemy 失败的情况下 psycopg2 怎么可能成功?
【问题讨论】:
标签: python postgresql sqlalchemy