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

时间:2019-04-12 13:26:52

标签: node.js heroku heroku-postgres node-postgres

Heroku Postgres 上写着:

  

您应用的DATABASE_URL配置变量的值可能随时更改。您不应在Heroku应用程序内部或外部依赖此值。

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

但是,当Heroku更改DATABASE_URL时会发生什么?应该如何处理此问题?

1 个答案:

答案 0 :(得分:1)

您可以通过始终使用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,它应使您的代码在备份时启动新的数据库连接字符串。