没有公共 API 可以做到这一点。
然而,它可以做到...
首先,您需要数据库的唯一名称。您可以通过它的附件名称/别名来查找它,通常DATABASE或HEROKU_POSTGRES_[COLOR]默认情况下,或者您可能使用heroku addons:{create,attach} --as NAME. 默认情况下使用别名,DATABASE以下是使用curland获取它的方法jq:
$ curl -H "Authorization: Bearer $API_KEY" \
-H "Accept: application/vnd.heroku+json; version=3" \
https://api.heroku.com/apps/$APP_NAME/addon-attachments/DATABASE \
| jq .addon.name
"postgresql-colorful-12345"
然后,假设名称保存存储在 中$DBNAME,您可以像这样轮换其凭据:
$ curl -X POST -u "x:$API_KEY" \
https://$DOMAIN/client/v11/databases/$DBNAME/credentials_rotation
{"status":"ok","url":"[REDACTED]","message":"Password reset."}
$DOMAIN将postgres-api.heroku.com用于付费计划和postgres-starter-api.heroku.com免费/爱好计划,IIRC。
此 API 可能随时更改,因为它被视为私有 API,因此请在您决定使用它时考虑到这一点。