AWS Elastic Beanstalk 和 rails:pg_restore: [archiver] 文件头中不支持的版本 (1.13)
Posted
技术标签:
【中文标题】AWS Elastic Beanstalk 和 rails:pg_restore: [archiver] 文件头中不支持的版本 (1.13)【英文标题】:AWS Elatic Beanstalk and rails: pg_restore: [archiver] unsupported version (1.13) in file header 【发布时间】:2019-11-23 04:03:40 【问题描述】:我正在尝试从 heroku 转移到亚马逊 aws,并且在我使用以下方式转储数据库之后:
heroku pg:backups:capture
heroku pg:backups:download
我跑了:
eb ssh
cd /var/app/current
pg_restore -v -h $NAME.$ID.$DATACENTER.rds.amazonaws.com -U $RDS_ROOT_USER -d $DATABASE_NAME latest.dump
我收到以下错误:
pg_restore: [archiver] 文件头中不支持的版本 (1.13)
顺便说一句,我正在使用导轨。
我做错了什么?
【问题讨论】:
你使用的是哪个 postgres 版本? @AbhishekKushwaha 9.2.4 我遇到了同样的情况,升级你的RDS实例的postgres版本将解决这个问题。 @AbhishekKushwaha 我选择了 RDS 实例并将 postgres 版本更新为 11.4-R1 并再次尝试但没有成功 您是否遇到同样的错误?如果没有,请将您的错误放在这里。 【参考方案1】:您使用的是旧版本的 pg_restore 二进制文件,它不支持恢复提供的转储文件。请确保您使用最新的 Postgres 版本,该版本必须高于以下版本:https://www.postgresql.org/about/news/1834/(10.3、9.6.8、9.5.12、9.4.17 和 9.3.22)。
您可以通过运行 pg_restore --version 来检查您正在使用的 pg_restore 版本。
如果您使用第三方工具(例如 PgAdmin)来恢复提供的转储文件,即使安装的 Postgres 版本是最新的,恢复也可能不会成功。这是因为第三方工具经常捆绑他们自己的 pg_restore 二进制文件版本,这可能不是最新的。
点击此链接:Why am I getting pg_restore
【讨论】:
以上是关于AWS Elastic Beanstalk 和 rails:pg_restore: [archiver] 文件头中不支持的版本 (1.13)的主要内容,如果未能解决你的问题,请参考以下文章
AWS Elastic Beanstalk 上的闪亮服务器与 Docker
将 create-react-app 部署到 AWS Elastic Beanstalk