首页 > 解决方案 > 是否可以在 Heroku 上强制更新数据库凭据?

问题描述

Heroku 发送了一封电子邮件,内容是关于我拥有的一个爱好开发托管的 Postgres 数据库的定期维护。我收到确认计划维护已成功完成,并且我更新的数据库凭据将反映这一点。

在我的应用程序中更新环境变量以反映此更改后,我无法再连接到数据库。计划的维护更改之前已完成,没有任何问题,这是我第一次收到此错误。

Authentication failed against database server at `ec2-176-34-114-78.eu-west-1.compute.amazonaws.com`, the provided database credentials for `mydb` are not valid.

但是,当我登录 Heroku 查看数据库实例时,运行状况检查显示它可用。

我现在尝试使用新旧数据库凭据,但两者都无法连接到数据库。看来我也无法直接联系爱好开发计划的支持人员。

我还有其他选择可以尝试解决此问题吗?是否可以在 Heroku 上强制更新新的数据库凭据?

标签: herokuheroku-postgres

解决方案


是的,您可以使用它heroku pg:credentials:rotate来生成新的凭据。但你不应该这样做。

更新我的应用程序中的环境变量以反映此更改后

正如电子邮件告诉您的那样,您的凭据将自动更新。你没有什么可做的。只要您通过Heroku Postgres¹ 始终推荐的环境变量进行连接,您就可以开始使用了。DATABASE_URL

heroku pg:credentials:rotate行为方式相同,因此在不理解这一点的情况下运行该命令不太可能有太大帮助。


¹Heroku 可能会随时更新这些凭据。通过该环境变量进行连接是确保您始终可以连接的最佳方式。


推荐阅读