当 heroku 更改 DATABASE_URL 时如何处理 postgres 连接

How to handle the postgres connection when heroku changes the DATABASE_URL

Heroku Postgres 上写着:

The value of your app’s DATABASE_URL config var might change at any time. You should not rely on this value either inside or outside your Heroku app.

我正在开发一个 Node.js 服务器,它使用 node-postgres 连接和管理数据库的连接池。

但是当 Heroku 更改 DATABASE_URL 时会发生什么?应该如何管理这个问题?

您可以通过始终使用 DATABASE_URL 具有的任何值连接到 Postgres 来处理此问题。例如,您可以在创建池时将此值用作 connection string

const connectionString = process.env.DATABASE_URL

const pool = new Pool({
  connectionString: connectionString,
})

Heroku 的 dynos restart when their environment variables or addons are changed,这应该会导致您的代码在启动备份时获取新的数据库连接字符串。