将远程转储恢复到 RDS

Restore a remote dump to RDS

我知道如何将 pg 转储恢复到 RDS 数据库中(如果该转储在我的机器中),但是当转储在远程位置(例如 Amazon S3)可用时,我该怎么做?

我想做的是这样的:

pg_restore -h somedomain.us-east-1.rds.amazonaws.com -p 5432 -d databasename -U username https://s3.amazonaws.com/database.dump

但这当然会导致

pg_restore: [archiver] could not open input file "https://s3.amazonaws.com/database.dump"

感谢您的帮助!

如果未指定文件名,pg_restore 将从标准输入 (doc) 获取数据。所以,这会起作用:

wget -O - 'https://s3.amazonaws.com/database.dump' | pg_restore -h somedomain.us-east-1.rds.amazonaws.com -p 5432 -d databasename -U username

请注意,您可以创建一个 RDS 快照,然后从该快照创建一个新的数据库实例 (doc)。在您的特定情况下,我不知道这是否比备份到 S3 更好,但值得一提。