如何从 heroku 应用程序外部访问 PostgreSQL 数据库(对于 Python 应用程序)

How can I access to a PostgreSQL DB from outside of a heroku app (for a Python app)

我有一个托管在 heroku 中的 PostgreSQL 数据库,我想从其他未托管在 heroku 中的应用程序获得访问权限,但我在数据库设置中看到凭据不是永久的。

如何从始终具有更新凭据的其他应用程序获取访问权限?

Heroku recommends using the Heroku CLI to fetch fresh credentials 每次你 运行 你的外部应用程序:

Always fetch the database URL config var from the corresponding Heroku app when your application starts. For example, you may follow 12Factor application configuration principles by using the Heroku CLI and invoke your process like so:

DATABASE_URL=$(heroku config:get DATABASE_URL -a your-app) your_process

This way, you ensure your process or application always has correct database credentials.

在此示例中,your_process 将看到一个名为 DATABASE_URL 的环境变量,该变量的值设置为与 Heroku 应用程序 [=15= 上的 DATABASE_URL 配置相同的值].

由于您使用的是 Python,这是访问该值的一种方法:

import os


database_url = os.getenv("DATABASE_URL", default="some_default_for_local_development")