Dumpling

Guides / When something already went wrong

Heroku deleted your app, or your account, and the database went with it.

Heroku has deleted inactive accounts since late 2022, and free Postgres plans ended the same year. If an old app has disappeared, this is usually why. Whether anything is recoverable depends on what tier the database was on and how long ago it happened.

What happened

Heroku treats an account as inactive when the owner has not logged in through the dashboard, CLI or API for 365 days and no paid resources were used in the last six months. Inactive accounts are deleted together with any unpaid apps and add-ons that belong only to them. Paid apps and add-ons are not deleted, though Heroku still asks you to log in periodically.

Heroku says that after an account is deleted for non-payment, database backups may still exist for Heroku Postgres Standard-0 and higher for up to ten days, provided the account had a positive payment history. There is no such statement for the smaller Essential and Mini plans, so assume nothing is kept for those.

What to do right now

So it does not happen again

Heroku's own pg:backups are a real logical backup (a pg_dump behind the scenes) but they live inside the app: delete the app or lose the account and they go too. Either download them on a schedule, or have the dump written somewhere Heroku cannot delete. Dumpling connects to the database's credentials from heroku pg:credentials:url, takes the dump on a schedule, verifies it, and stores it in a bucket you own. Note that Heroku rotates credentials on some maintenance events, so a failed-run alert is worth keeping on.

# restoring a Heroku dump anywhere
createdb restored_db
pg_restore --no-owner --no-acl -d restored_db heroku.dump
Keep a copy that survives the platform

Scheduled, verified dumps into a bucket you own. One database with daily backups is free, no card.

Sources

Provider facts checked on 2026-09-18. Policies change; the pages below are the authority.

Other situations