问题描述
我已经尝试在 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 (将#修改为@)