本篇文章给大家分享的是有关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的经历是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程之家行业资讯频道。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。