阿里云rds的postgreSQL备份

阿里云在三个月前上线了postgreSQL的rds,我一直用python做后端,python社区中,尤其DJango的官方推荐psql;而且之前也对mysql的不同的引擎颇为不耐烦,经过一些尝试之后,我打算基本上一直使用psql来做数据库。

话说在墙的影响下,AWS的rds的速度实在是有影响,再加上国内的AWS的技术支持体系还不是太了解,我当时已经倾向于把服务器全部使用阿里云。AWS给我的印象其实是很好的,但是有次跟国内的AWS技术服务团队沟通过一次之后,发现可能他们还没有完全的本地化,我说的本地化是指那种贴心的客户服务、快速的响应时间、以及合理的市场推广模式。经过一些对比之后,我已经把AWS的服务器停掉了,换成了阿里云的。唯一的问题是rds,我不希望使用当时阿里云仅有的mysql,于是后来阿里云上了postgreSQL的rds之后,我就把AWS的rds迁移过来了。

当时迁移的方法是用了pg_dump, 把所有的数据库关系转换为文本结构的sql语句,之后再导入到aliyun rds上。

那么接着是经过了一些权衡,我认为aliyun rds的价格有些高,基础的配置每月要160元,于是准备停掉一台这样的rds。问题是我的aliyun ecs里面的psql是8.4版本的,aliyun rds上的psql是9.4版本的,我自己的本地的电脑里面有9.3版本的,结果是两个低版本的pg_dump都无法备份高版本的数据。那么我开始找方法去解决问题。

没有谷歌的情况下,只能将就着用bing,极其无奈,效果并不好。

1. 首先查到的思路是可以给pg_dump命令增加--ignore-version来忽略不同版本间的差异。尝试去用了却报错,查了文档后发现这个选项已经过期作废掉了。

2. 接着,就只好往新安装psql到电脑上的思路去走。年月久远,都不知道自己的电脑上的postgreSQL当初是怎样安装的,后来发现果然其中有曲折。我先dump出来自己之前建立的本地的一个pg的数据库,以免升级时出问题。

接着从搜索安装pg的思路,发现在mac下最好的方式是下载postgresql.app, 看了文档后决定替换掉原来的9.3,于是替换之后,发现旧的app的文件夹全部删除,竟然也没有经过Trash,估计是在内部替换时直接rm -rf掉了。也庆幸之前dump过本地的那个数据库,否则就完全没有痕迹了。

假如当时保留了两个app,我其实可以通过pg_upgrade把9.3的数据转换为9.4的数据,只是现在没有这个机会了。

接着增加了系统的PATH,把9.4的bin的路径添加了进去。发现竟然系统里面的psql命令还是指向9.3的版本的。根据我对Linux的理解,一定是在某个地方有着明确的设置的,同时也有明确的9.3版本的程序还存在。于是查看了psql指向的地址/usr/local/bin/psql, 发现它是链接到Cellar这个文件夹下面文件。查询Cellar发现是homebrew的安装文件夹。

好了,原来我的系统里面曾经装过两个psql,一个是通过brew安装的,另外一个是通过postgresql app安装的,而我系统里面一直在用的是brew安装的那个。那么接着就开始卸载brew的这个版本里面的pg。

第一次没有成功,发现是brew的script里面的ruby的路径出错了,可能是之前某次系统更新,某个路径发生了变化,改了之后就好用了。于是brew uninstall postgresql,之后因为PATH中已经添加过的路径,新版的9.4的pg已经可以使用了。

当然,为了赶在aliyun rds关停我的数据库前尽快解决问题(当时还剩一小时到期),在处理两个pg版本之前,已经通过绝对路径使用了新版的9.4的pg_dump先把数据备份了下来,之后就可以放心地去配置自己的电脑了。

涉及到的主要命令:

/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_dump --file=ali-rds-dump-v1.sql --host=xxx.pg.rds.aliyuncs.com -i --port=3432 --username=xxx dbname

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容

  • About:PostgreSQL About 《PostgreSQL 源码分析系列》 PostgreSQL 源码分...
    ty4z2008阅读 8,157评论 1 40
  • <<编程基础-语言SQL.Git.Docker>>SQL.PLSQLhttp://docs.pythontab.c...
    燕京博士阅读 423评论 0 0
  • 不知道为什么,今晚又突然开始想您。 我有很久没有想您了,因为忙,因为难过,只要是有一点小事分心我都可以不想您的。 ...
    矖軣阅读 267评论 0 0
  • 欲做精金美玉的人品,定从烈火中煅来;思立掀天揭地的事功,须向薄冰上履过。 人品像璞玉,纯天然未雕刻的固然有自然之美...
    LoganJT阅读 498评论 0 1
  • 看了新东方创始人之一王强的故事,从一开始不懂计算机到优秀的程序员,把一流的两本C语言的著作研究了两年真的是太厉害了...
    自然与大象吧阅读 143评论 0 0