首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > MySQL转移到PostgreSQL的痛苦经历
【标  题】:MySQL转移到PostgreSQL的痛苦经历
【关键字】:MySQL,PostgreSQL
【来  源】:http://www.cublog.cn/u/12409/showart.php?id=107787

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导入时可不认这个

Sql Server 常用函数:【上一篇】
开放源码嵌入式数据库 SQLite 简介:【下一篇】
【相关文章】
  • mysql5.0 Certification Study Guide DBA (1)
  • mysql增量备份及备份脚本
  • 如何在linux下启动mysql数据库?
  • 编写高性能的mysql语法
  • MySQL内部函数的使用
  • MySQL step by step...1
  • MySQL step by step...2
  • MySQL step by step...3
  • Mysql 的数据库复制功能 (Replication Database)
  • CDN(bind+mysql)结构
  • 【随机文章】
  • 三种POS接入技术对比
  • 设置GRUB管理双硬盘多系统启动
  • 操作系统探测
  • access备注字段的的错误:“所有记录中均未找到搜索关键字”
  • 实现基于IDEA算法的加密工具(4)
  • AM如果是急急的,你可以到一些素材网站搜刮一些
  • 国家地理图片展已开展
  • 不要让对象成为奴隶
  • Optional Primary Network Name的设置
  • 四会一思考
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.