postgresql - 使用 pg_dump 和 pg_restore 在 2 个 RDS 实例之间恢复数据库时出现问题
问题描述
我很难将数据库还原到 AWS RDS Postgresql 实例。上下文是我正在从一个 RDS 实例备份并恢复到另一个 RDS 保险。它们都具有相同版本的 Postgresql 9.6.5。
我能够使用以下命令进行转储:
./pg_dump.exe -U dbuser -W -h prod-pgsql-rds.3ft5coqxjdnq.eu-west-2.rds.amazonaws.com -d devdb > c:\tmp\backup.sql
然后,从生成的 .sql 文件中,我尝试使用以下命令还原到另一个同样使用 Postgresql 9.6.5 的 RDS 实例:
./pg_restore.exe -U dbuser -d testdevdb -h dev-pgsql-rds.cym8coqx52lq.eu-west-2.rds.amazonaws.com "c:\tmp\backup.sql"
*我还尝试了上述恢复命令中的 -f 开关,而不是文件名之前/之后的“”引号
但是当我尝试将其还原到新创建的数据库时,出现以下错误:
pg_restore: [archiver] 输入文件似乎不是有效的存档
任何人都可以帮忙吗?仅供参考,我正在通过 Windows PowerShell 使用 PGAdmin 4。由于数据敏感性,我必须编辑上面字符串中的一些值。
解决方案
pg_restore
仅用于其他pg_dump
可以输出的非纯文本输出格式。对于 .sql 转储,您只需使用 psql。请参阅有关从备份恢复的文档。
在 Unix 环境中,你会这样做psql [yourflags] < /tmp/backup.sql
,但我不熟悉 powershell,不知道它是否支持<
输入重定向;希望它存在或者您知道等效的 PowerShell 语法。
推荐阅读
- qt - QProcess中如何处理输入参数
- javascript - Javascript:为 Thymeleaf 转义双方括号
- html - SVG 百分比坐标已关闭
- scala - 使用它自己的一些参数实例化一个 Scala 案例类参数
- c++ - OpenGL 4x4 矩阵通过 X 轴移动对象
- python - 如何使用 selenium python 抓取雅虎财经搜索自动建议结果?
- javascript - ckeditor更改html代码结构
- batch-file - 在 Windows 脚本中将文件添加到存档
- c# - web api服务随机死亡而不抛出异常?
- c++ - 变量“std::ofstream outfile”具有初始化程序但类型不完整