2015-12-07 5 views
4

Я знаю, как восстановить дамп pg в базе данных RDS, если этот дамп находится на моей машине, но как я могу это сделать, когда дамп доступен в удаленном месте, скажем, Amazon S3?Восстановить удаленный свалку до RDS

То, что я хочу сделать что-то вроде этого:

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"

Спасибо за вашу помощь!

ответ

2

Если имя файла не указано, 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, а затем создать новый экземпляр DB из этого снимка (doc). В вашей конкретной ситуации я не знаю, будет ли это работать лучше, чем резервное копирование до S3, но это стоит упомянуть.

Смежные вопросы