We're currently struggling with moving our Aurora Database to an RDS Postgres DB. Our database is quite huge with 80GB and some tables having up to 85 million entries.
The problem is currently our dump and restore time.
Dumping the database takes around 1 hour but the restore time is beyond 24h, due to some indexes taking up to 12 hours to create. Even with changing those indexes its quite the time for a production downtime.
My question would be is there any way to dump the DB an initial first time which we can take anytime during the day. Then during go-live we take a second dump, and we restore it again, with it only restoring/adding the delta from the first dump and this dump.
I've looked into AWS DMS, but here is the problem that it dies after 2 days due to memory issues and additionally it doesn't add views, indexes etc.
Any feedback is welcome.
We ended up removing some index creations from the sql restore, those took a few hours. Also we used the AWS RDS recommended settings for importing data. This helped reduce the overall by a few hours.
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html