本篇文章给大家分享的是有关MySQL转移到PostgreSQL的经历是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
MySQL转移到PostgreSQL的经历
五一了,加班,闲着没事,打算把自己放在MySQL(5.0.17)上的数据转到PostgreSQL(8.0.0)上,参照网上的文章导入,结果陷入了一场麻烦之中。最后终于成功了,现在将步骤说一下,以免有其他的朋友误入歧途。
数据:做电信业务话单分析使用的两张表,每张都在200万条记录左右
步骤:
1.用mysqldump将文件导了出来,生成了两个文件bill01.sql,bill02.sql(400M左右一个文件),如果你的数据量也不较大,最好不要整库导出,否则编辑导出文件回让你的机器爽死的,俺的机器P42.8,1G内存都吃不消。
2.由于数据库服务器在远程,编辑很不方便,下载回本机。用UltraEdit32打开,将导出文件的前面的创建表的部分、文件最后的LOCK之类的都删除,仅保留数据。将数据前面Insert xxxx values(删除,文件中`号等MySQL用的符号删除。总之形成一个只有数据的文件,每行一个记录,每字段间用,号分隔。
3.在PostgreSQL上建立相应的表结构,上传数据文件到服务器。
4.用psql登陆数据库,COPY bill01 FROM '/data/bill02.txt' WITH DELIMITER AS ','
基本上就OK了。
用这个办法比导出来的SQL命令执行要快多了,俺的机器跑了10个小时才导了200多万条记录,而且导出的SQL命令需要修改才能在PostgreSQL上用,用这个办法,10分钟搞定。
要注意的问题:
如果字段为Integer且允许为NULL的话,导入之前将NULL替换成数字,否则会报错的。
一定要将`符号去掉,这个是MySQL支持的,PostgreSQL导入时可不认这个
以上就是MySQL转移到PostgreSQL的经历是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/202094.html