如何从MySQL 迁移数据 到PostgreSQL-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

如何从MySQL 迁移数据 到PostgreSQL

德哥 2015-12-22 11:02:45 8335

如何从MySQL 迁移数据 到PostgreSQL

aop数据 mysql迁移 sql迁移 pop数据 mysql数据迁移
分享到
取消 提交回答
全部回答(4)
  • xwaby
    2019-07-17 18:20:34
    1. 导出mysql表定义(无数据)
    2. --no-data [dbname] >dbdef.sql
    3. 使用mysql2postgres把脚本转换为pgsql
    4. 上面生成的脚本还不一定很完美,可以尝试导入pgsql,调试错误并手动修改之。我遇到的问题就只有一个,mysql列定义中的zerofill需要手工去掉。一些unsinged定义会生成constraint,如果不需要可以去掉。另外,trigger都有问题,只能后面手工重建
    5. 导出mysql数据:
    6. -v -nt --complete-insert=TRUE --compact --no-create-info --skip-quote-names [dbname] >dbdata.sql

    老一些版本的pgsql如果不支持批量插入的话还需要加上--extended-insert=FALSE,这个性能损失巨大。

    1. 转义符
      mysql默认字符串里的''是转义符,而pgsql默认不是,修改postgresql.conf:

    backslash_quote = on
    escape_string_warning = off
    standard_conforming_strings = off
    数据导入完成后可以改回默认值。

    0 0
  • 卓刀
    2019-07-17 18:20:34

    MYSQL迁移到PostgreSQL,可以参考使用阿里云数据库团队的开源项目rds_dbsync,其中MySQL -> PostgreSQL/Greenplum(binlog_minner binlog_loader)实现基于 MySQL binlog 解析的增量数据同步,其github地址为:

    https://github.com/aliyun/rds_dbsync/blob/master/README.md

    欢迎提交ISSUER进行讨论。

    0 0
  • 德哥
    2019-07-17 18:20:34

    可以用mysql_fdw,在PostgreSQL中创建mysql外部表,直接访问mysql的数据,用insert into local_table select * from fdw_table;的方式迁移。

    http://pgxn.org/tag/fdw

    https://wiki.postgresql.org/wiki/Fdw

    0 0
添加回答
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

相似问题
最新问题
推荐课程