如何解决是否可以使用 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 举报,一经查实,本站将立刻删除。