Why did my Heroku Postgres fork or follower progress reset/go backwards?

Issue

While using heroku pg:wait to check on progress of a Heroku Postgres fork or follower, you observed the progress percentage reset or go backwards.

Resolution

When a fork or follower is created on Heroku Postgres, Heroku must first load a base backup of the database, then play back the write-ahead logs to the latest point in time.

Should the size of the data being restored be greater than the capacity of the target plan (e.g. trying to fork a 1TB standard-5 to a 512 GiB standard-3), the restore process will be cancelled when the disk fills up. The disk will be modified to accommodate the target data size, then the restore will restart.

This will result in the progress percentage reported by heroku pg:wait restarting or going backwards, and the time to fork or create the follower will be significantly increased.

Please note that base backups are taken every ~24 hours, so if you have reduced data volume recently, this may still occur.

Ask on Stack Overflow

Engage with a community of passionate experts to get the answers you need

Ask on Stack Overflow

Heroku Support

Create a support ticket and our support experts will get back to you

Contact Heroku Support