I know how to restore a pg dump into a RDS database if that dump is in my machine, but how could I do it when the dump is available at a remote location, say Amazon S3?
What I want to do is something like this:
pg_restore -h somedomain.us-east-1.rds.amazonaws.com -p 5432 -d databasename -U username https://s3.amazonaws.com/database.dump
But of course this results in
pg_restore: [archiver] could not open input file "https://s3.amazonaws.com/database.dump"
Thanks for your help!
If a filename is not specified, pg_restore
will take data from standard input (doc). So, this would work:
wget -O - 'https://s3.amazonaws.com/database.dump' | pg_restore -h somedomain.us-east-1.rds.amazonaws.com -p 5432 -d databasename -U username
Note that you can create an RDS snapshot, then create a new DB instance from that snapshot (doc). In your particular situation, I don't know if that would work better than backing up to S3, but it's worth mentioning.
来源:https://stackoverflow.com/questions/34139559/restore-a-remote-dump-to-rds