当前位置: 首页 > MySQL数据库

MySQL转移到PostgreSQL的经历是怎样的

时间:2026-01-28 14:11:05

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优化WHERE子句
下一篇:MYSQL修改后新版本的操作类是怎样的
mysql postgresql
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素