数据从mysql迁移到postgresql
需要安装一个工具pgloader
Installing pgloader — pgloader 3.6.9 documentation
windows下没有可用的exec打包,只能通过docker使用
docker pull ghcr.io/dimitri/pgloader:latest
docker run --rm -it ghcr.io/dimitri/pgloader:latest pgloader --version
迁移命令举例
docker run --rm -it --memory 4g --memory-swap 4g ghcr.io/dimitri/pgloader:latest pgloader --encoding UTF8 --set "client_encoding = 'UTF8'" mysql://用户名:密码@192.168.0.102:3357/库名 postgresql://用户名:密码@192.168.0.102:5432/库名
数据库不能太大,不然会报错oom,目前还没找到解决办法
如果不想使用pgloader或者觉得pgloader的转换有问题(比如自增字段的转换),也可以使用navicat复制数据库转换,然后自行修改自增字段数据类型。
注意,navicat15对postgresql的支持尚不完善,我升级用navicat17