使用pgloader快速迁移,从MySQL 到 PostgreSQL
需求背景
PostgreSQL 是现在增长很快的开源数据库,相比MySQL拥有更多的数据结构支持,也有更多的索引类型,性能还是很不错的,之前有一个项目使用的是MySQL,考虑到使用PostgreSQL更适合
需求背景 PostgreSQL 是现在增长很快的开源数据库,相比MySQL拥有更多的数据结构支持,也有更多的索引类型,性能还是很不错的,之前有一个项目使用的是MySQL,考虑到使用PostgreSQL更适合,也更方便进行索引优化,所以有这么一个需求。 使用pgloader进行迁移 编写代码迁移,可能后续还有很多项目需要迁移,整体成本较高,经过搜索引擎查询到这个工具可以快速迁移,于是开始尝试使用这个工具迁移 前置要求 我们现在是all in 阿里云的情况,那么这种情况下,RDS的权限并不是最高的superuser的,所以就比较尴尬mssql数据库迁移,如果进行迁移,那么需要在本地搭建一个PostgreSQL数据库,建议使用ubuntu 20.04操作系统进行操作,因为内置的PostgreSQL数据库是12版本非常方便
使用pgloader进行转换迁移 pgloader这个项目你去到github看,会给你一个命令告诉你如何迁移,我想你肯定看到了,我想说的是,不要使用这种方式,会有一些问题,首先要创建一个loader的文件,就叫mypg.loader吧,将下面内容放进去
上面最后一行很关键,是用来处理迁移后有可能relation和sequence位置不对导致数据有问题的 注意,这一部分操作都在postgres用户下进行,比较方便,然后执行下面的命令
等那么一会儿,我的数据库就迁移好了,然后再dump出来导入到RDS 就可以了,记得RDS也要用pg12啊 整体迁移进度虽然还算是顺利,但是时间还是比较长的,4核4G的ECS,从MySQL到pg,2.5G数据量大概需要20min这样的,然后还需要一段时间导入到RDS 后续我们需要将测试环境的程序跑起来,看看跑起来有什么问题,代码需要进行一些修改,完成后我们就可以上线了 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |