Python 我想使用gino和asyncpg将我的应用程序连接到heroku Postgress数据库

Python 我想使用gino和asyncpg将我的应用程序连接到heroku Postgress数据库,python,heroku-postgres,asyncpg,gino,Python,Heroku Postgres,Asyncpg,Gino,我想使用gino和asyncpg将我的应用程序连接到heroku Postgress数据库。我已经指定了ssl模式,但它仍然给出错误 代码 导入异步pg 导入异步 进口证书 从吉诺进口吉诺 db=Gino() aa类(db.型号): __tablename_uuu='aa' id=db.Column(db.Integer(),主键=True) 昵称=db.Column(db.Unicode(),默认值为'noname') 数据库URL=”postgres://wglubqaksikdhr:a82

我想使用gino和asyncpg将我的应用程序连接到heroku Postgress数据库。我已经指定了ssl模式,但它仍然给出错误

代码

导入异步pg
导入异步
进口证书
从吉诺进口吉诺
db=Gino()
aa类(db.型号):
__tablename_uuu='aa'
id=db.Column(db.Integer(),主键=True)
昵称=db.Column(db.Unicode(),默认值为'noname')
数据库URL=”postgres://wglubqaksikdhr:a821fe4468ce05cd7e82da39cdb1e80a552cf295c01abdac88f1b155e6be3cec@ec2-54-247-89-181.eu-west-1.compute.amazonaws.com:5432/D6079UFD72JT6L“
异步def main():
wait db.set_bind(数据库_URL,ssl=certifi.where(),sslmode='require')
等待db.gino.create_all()
asyncio.get_event_loop()。运行_直到完成(main())```
错误
asyncpg.exceptions.\u base.InterfaceError:`sslmode`参数必须是以下参数之一:禁用、允许、首选、要求、验证ca、验证完整

函数
set\u bind
没有关键字
sslmode
。如果要将此关键字解析为
asyncpg
,可以在
DB\u DSN
中进行设置。这是。例如:

DATABASE_URL = "postgres://user:pass@locahost:5432/schema?sslmode=require"
但这对我来说并不管用D添加此选项后,我无法连接到Heroku数据库

无论如何,这对我来说是有效的:

导入ssl
ctx=ssl。创建默认上下文(cafile=”“)
ctx.check_hostname=False
ctx.verify_mode=ssl.CERT_NONE
wait db.set\u bind(数据库URL,echo=True,ssl=ctx)
等待db.gino.create_all()

我还建议您阅读有关psycopg2的
psycopg2
。因为Heroku支持这一点,这里是函数
set\u bind
没有关键字
sslmode
。如果要将此关键字解析为
asyncpg
,可以在
DB\u DSN
中进行设置。这是。例如:

DATABASE_URL = "postgres://user:pass@locahost:5432/schema?sslmode=require"
但这对我来说并不管用D添加此选项后,我无法连接到Heroku数据库

无论如何,这对我来说是有效的:

导入ssl
ctx=ssl。创建默认上下文(cafile=”“)
ctx.check_hostname=False
ctx.verify_mode=ssl.CERT_NONE
wait db.set\u bind(数据库URL,echo=True,ssl=ctx)
等待db.gino.create_all()
我还建议您阅读有关psycopg2的
psycopg2
。因为Heroku支持这个,下面是