数据迁移丨借助 pg2mysql 从 PostgreSQL 到 GreatSQL
上篇《数据迁移丨借助 AI 从 PostgreSQL 到 GreatSQL》介绍了如何使用 AI + pg_dump/COPY 的方式将 PostgreSQL 迁移到 GreatSQL 中,各位同学看过之后,会发现两款数据库还是有一些差异,例如对象层次结构、数据类型等方面,如果采用人工来迁移,还是会比较麻烦,所以本篇将介绍,如何使用开源工具 pg2mysql 工具从 PostgreSQL 到 GreatSQL。
pg2mysql 简介
pg2mysql 工具是一款开源工具,由 VMware 公司提供,主要用于将数据从 PostgreSQL 迁移至 MySQL 或 GreatSQL。其核心价值在于数据兼容性检查与迁移功能。在实际迁移操作之前,该工具会仔细检查 MySQL/GreatSQL 的表结构与 PostgreSQL 中相应表结构是否兼容。若检测到诸如字段长度不足之类的潜在问题,它会向用户发出提示,以便用户进行修正。
pg2mysql 工具主要是用 Go 语言编写的,遵循 Apache - 2.0 许可证。不过需要注意的是,目前这个项目已经归档,不再进行定期更新了。但对于有能力的朋友而言,可以基于该项目进行进一步的开发:)
pg2mysql 安装
方式一:下载程序
以上链接可以直接下载 pg2mysql 最新 v0.0.6 版本,授权后可直接运行:
$ chomd 755 pg2mysql_linux
$ ./pg2mysql_linux -h
2024/10/28 14:52:40 error: Usage:
pg2mysql_linux [OPTIONS] <migrate | validate | verify>
Application Options:
-c, --config= Path to config file
Help Options:
-h, --help Show this help message
Available commands:
migrate Migrate data from PostgreSQL to MySQL
validate Validate that the data in PostgreSQL can be migrated to MySQL
verify Verify migrated data matches
方式二:源码安装
源码安装方式需要有 GO 语言环境:
$ go version
go version go1.22.5 linux/amd64
版本没有强要求,go1.22.5 版本可以正常编译运行。
新建一个文件夹,用于存放 pg2mysql 工具源码:
$ mkdir /usr/local/pg2mysql
$ cd /u