是否可以使用 Asyncpg 与 postgresql 数据库建立 SSL 连接?

问题描述

我已经尝试在 heroku 上部署一个 discord bot 好几天了,我使用了一个在 aws 上托管的 postgresql 数据库和 heroku postgres。我在尝试使用 asyncpg 将 ssl 连接到数据库时遇到了很多问题,我可以在互联网上找到一些问题的解决方案,但我现在遇到了这个错误:

2020-12-28T10:33:11.856268+00:00 app[worker.1]: raise exceptions.InterfaceError(

2020-12-28T10:33:11.856403+00:00 app[worker.1]: asyncpg.exceptions._base.InterfaceError: `ssl` parameter can only be enabled for TCP addresses,got a UNIX socket path: '/run/postgresql/.s.PGSQL.5432'

这是我连接到数据库的方式:

    ctx = ssl.create_default_context(cafile='rds-ca-2019-eu-west-1.pem')
    ctx.check_hostname = False
    ctx.verify_mode = ssl.CERT_NONE
    bot.con = await asyncpg.create_pool(dsn=DATABASE_URI,ssl=ctx)

    ...

    bot.loop.run_until_complete(create_db_pool())

当我尝试在 Heroku 上部署我的代码时,我不知道为什么会出现这个错误。从我的电脑运行它没有这个问题.. 试图阅读 asyncpg 文档,但结果并不多。我不知道为什么它使用 unix 套接字并且并没有真正理解它是如何工作的,但我读过 asyncpg 现在应该支持 ssl 连接...... 您认为有什么方法可以使这项工作正常进行,还是我应该切换到 psycopg2 ?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...