heroku pg:wait to check on progress of a Heroku Postgres fork or follower, you observed the progress percentage reset or go backwards.
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.