我正在通过 Heroku 和 asyncpg 运行 PostgreSQL 数据库。我的网址是:postgres://user:pass@ec2-23-21-76-49.compute-1.amazonaws.com:5432/db_name
。
当我运行它时,我收到错误:
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)
这个数据库 url 肯定有效,当我使用 psycopg2 时它是有效的。就在我使用 asyncpg 时,我得到了这个错误。
我试过不使用连接池,这也不起作用。手动传递用户、密码等也不起作用。
class Database:
"""Accessing database functions"""
def __init__(self, bot):
self.bot = bot
try:
self.dsn = os.environ["DATABASE_URL"]
except KeyError:
database_file = open('database_secret.txt', mode='r')
self.dsn = database_file.read()
database_file.close()
self.pool = None
self.prefix_conn = None
self.prefix_stmt = None
print(self.dsn)
lop = asyncio.get_event_loop()
lop.run_until_complete(self.init())
async def init(self):
self.pool = await asyncpg.create_pool(self.dsn, ssl=True)
# It fails here