因为PostgreSQL的性能会优于MySQL,所以尝试做一次数据迁移,研究了挺久,因为数据量比较大,单表200万条数据使用django的命令python3 manage.py dumpdata直接可以有2.2G。我在阿里云国际的服务器是2核8g,不管是使用dumpdata或者loaddata都会跑满内存,尝试了一些网上dumpdata_thunk等其他方法,包括自己写的多线程读写,效率上都没有dumpdata这些快,最后下了个最新的navicat直接将MySQL表data transfer到PostgreSQL的表居然稳定并且效率还不错。1分钟10万条的数据传递了20分钟左右。Navicat还是数据库神器啊,可以再研究下,https://laucyun.com/navicat 看看如何破解使用。
最后还有个问题要几下,如果直接使用navicat将MySQL数据传递到PostgreSQL会失去主键的自增,需要后续自己给加上!