Postgresql 如何为我的discord.py机器人在heroku上运行postgres?
因此,我正在使用heroku(目前)来托管我的discord.py机器人。 最近我开始使用postgres作为数据库,以下是连接代码: 我正在使用此代码进行连接:Postgresql 如何为我的discord.py机器人在heroku上运行postgres?,postgresql,heroku,connection,discord.py,Postgresql,Heroku,Connection,Discord.py,因此,我正在使用heroku(目前)来托管我的discord.py机器人。 最近我开始使用postgres作为数据库,以下是连接代码: 我正在使用此代码进行连接: import asyncpg async def create_db_pool(): client.pg_con = await asyncpg.create_pool(DATABASE_URL) #db url goes here client.loop.run_until_complete(create_db_pool
import asyncpg
async def create_db_pool():
client.pg_con = await asyncpg.create_pool(DATABASE_URL) #db url goes here
client.loop.run_until_complete(create_db_pool())
client.run(TOKEN)
当我在本地运行代码时,它工作得非常好,但是当我使用heroku进行同样的操作时,它显示了连接错误
我还添加了“Heroku postgres”作为附加组件,但它仍然不起作用?
请共享一个相同的解决方案
提前感谢:)
当您添加Postgres DB插件时,Heroku将向您的应用程序添加一个环境变量。它包含数据库url的值。你需要找回它。比如:
import os
DATABASE_URL = os.environ.get("ENV_VAR_NAME_HERE", None)
@ŁukaszKwieciński我不想将数据保存在heroku数据库中,我正在使用postgres的默认服务器,即pgAdmin4来保存数据
你的Heroku应用程序没有附带数据库。Heroku应用程序上保存的任何内容都将被擦除,请参阅。你的Heroku应用程序上没有“默认postgres服务器”。这就是为什么您要在应用程序中添加一个(第三方)附加组件作为数据库:postgres附加组件。您是在使用heroku数据库还是在某个地方托管它?如果是,在哪里?@ukaszKwieciński我不想将数据保存在heroku数据库中,我使用的是postgres的默认服务器,即pgAdmin4来保存数据。这就解释了一切,你在本地主机上运行服务器,除了你自己,没有人可以连接到它。您需要使用heroku数据库或托管数据库,例如在aws上
import os
DATABASE_URL = os.environ.get("ENV_VAR_NAME_HERE", None)