使用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 后续我们需要将测试环境的程序跑起来,看看跑起来有什么问题,代码需要进行一些修改,完成后我们就可以上线了 (编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Intel848P急先锋:昂达P4P800主板试用手记
- sql-server – 从SQL Server 2008中的INSERT语句返回值
- sql-server – SQL Server CASE语句是否评估所有条件或在第
- sql-server – 你可以使用COUNT DISTINCT和OVER子句吗?
- sql-server – 如何创建一系列连接稀疏数据的月份?
- 汉语编程欲颠覆WINDOWS 是技术还是谎言?
- sql-server-2012 – 如何卸载SQL Server Management Studio
- FBI开始介入搜捕“冲击波”病毒制造者
- sql – 如何调用Oracle MD5哈希函数?
- 关于html的表单元素详解(一)