首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EC2和RDS之间的备份gem pg_dump版本不匹配

EC2和RDS之间的备份gem pg_dump版本不匹配
EN

Stack Overflow用户
提问于 2016-05-31 23:36:30
回答 1查看 1.3K关注 0票数 8

我正在配置备份gem (http://backup.github.io/backup/v4/)以在我的EC2实例上运行,将PostgreSQL数据库复制到RDS中,并将备份存储在新的S3存储桶中。

备份gem运行pg_dump命令,但是AWS不允许在EC2和RDS上安装相同版本的Postgres,导致以下错误:

代码语言:javascript
复制
pg_dump: server version: 9.4.7; pg_dump version: 9.2.13
pg_dump: aborting because of server version mismatch

这是因为EC2实例的版本:

代码语言:javascript
复制
$ pg_dump --version                                                                                                                                                                                                                                                                         
pg_dump (PostgreSQL) 9.2.13

RDS实例的版本为:

9.4.7-R1 (唯一的其他版本选项为9.5.2-R1)

在EC2上,运行yum list postgres*仅提供最高为PostgreSQL 9.3的可用软件包。

因此,我似乎既无法降级RDS,也无法将EC2升级到匹配的版本。

下面是我的备份gem模型配置,如果它有帮助的话:https://gist.github.com/anonymous/35f6f9e81846f53693fb03662c2192ad

在太多人开始提醒我RDS有内置备份之前,我已经意识到了。我的用例:我希望能够在不影响整个数据库的情况下,将单个用户的数据回滚到不同的时间段,而不是只有完整的数据库回退。我计划保留这些手动备份,并最终编写一个脚本,从其中提取以前用户特定的数据。

我的朋友推荐了另一种选择:如果用户想要回滚,我可以从自动快照启动一个新的RDS,克隆我的EC2实例,将它们彼此连接起来,从该快照收集特定于用户的数据,然后将这些更改合并回主EC2实例。

EN

回答 1

Stack Overflow用户

发布于 2018-02-27 08:22:02

在您的EC2实例上设置PostgreSQL的YUM仓库:

https://yum.postgresql.org/

并安装更新的PostgreSQL客户端版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37550001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档