If I understand correctly, this allows the bulk of the transfer to happen while Discourse is running. The restoring from backup strategy requires at least read-only for the backup and moving the backup to the new server (or transfer via S3 bucket). For large sites, this can result in considerable read-only time that the rsync strategy neatly avoids.
It might be possible to squeeze a bit more uptime by avoiding shutting down PostgreSQL on the old system and “fixing” the problem on the new system with pg_resetwal
. NB: I haven’t tried this and letting the database shutdown gracefully is almost certainly a better idea.
I wonder if there’s a way to start Discourse is read-only? I suspect the fastest way is via the command line after the container is running.
At any rate, thanks for reporting back your experience! Seems like a useful process to have in your back pocket.