如何在SQLAlchemy的create_engine中添加sslmode='require'解决Postgres连接报错
SQLAlchemy连接Heroku PostgreSQL添加sslmode参数解决方案
方案1:直接修改数据库连接URL
在现有PostgreSQL连接字符串末尾追加查询参数?sslmode=require即可,修改后的代码示例:
engine = create_engine("postgres://iykazvclamrzem:140bdec1e446a9119d4fb1c9e20d89fb17716e702de72b7be09f2b2e53b86d36@ec2-50-19-127-115.compute-1.amazonaws.com:5432/d134n6bd1767sd?sslmode=require") db = scoped_session(sessionmaker(bind=engine))
方案2:通过connect_args参数传递(推荐)
SQLAlchemy的create_engine方法支持connect_args参数,用于向底层psycopg2驱动传递额外连接参数,无需修改原有连接串:
engine = create_engine( "postgres://iykazvclamrzem:140bdec1e446a9119d4fb1c9e20d89fb17716e702de72b7be09f2b2e53b86d36@ec2-50-19-127-115.compute-1.amazonaws.com:5432/d134n6bd1767sd", connect_args={"sslmode": "require"} ) db = scoped_session(sessionmaker(bind=engine))
两种方案任选其一即可,均可解决FATAL: no pg_hba.conf entry的连接报错。
内容的提问来源于stack exchange,提问作者Russell Mckee
相关产品推荐
相关产品推荐

