加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 备份gem pg_dump版本EC2和RDS之间不匹配

发布时间:2020-12-13 16:14:03 所属栏目:百科 来源:网络整理
导读:我正在配置备份gem( http://backup.github.io/backup/v4/)以在我的EC2实例上运行,在RDS中复制PostgreSQL数据库,并将备份存储在新的S3存储桶中. 备份gem运行pg_dump命令,但是AWS不允许在EC2和RDS上安装相同版本的Postgres,从而导致以下错误: pg_dump: server
我正在配置备份gem( http://backup.github.io/backup/v4/)以在我的EC2实例上运行,在RDS中复制PostgreSQL数据库,并将备份存储在新的S3存储桶中.

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

pg_dump: server version: 9.4.7; pg_dump version: 9.2.13
pg_dump: aborting because of server version mismatch

这是因为EC2实例有版本:

$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升级到匹配版本.

这是我的备份宝石模型配置,如果它有帮助:https://gist.github.com/anonymous/35f6f9e81846f53693fb03662c2192ad

在我发现有太多人开始提醒我RDS有内置备份之前.我的用例:我还希望能够将个人用户的数据回滚到不同的时间段而不影响整个数据库,而不仅仅是拥有完整的数据库回退.我计划保留这些手动备份,并最终编写脚本以从中提取以前的用户特定数据.

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

在EC2实例上设置PostgreSQL的YUM存储库:

https://yum.postgresql.org/

并安装较新的PostgreSQL客户端版本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读