开发者社区> 问答> 正文

如何从 MySQL 迁移数据到 PostgreSQL?

如何从 MySQL 迁移数据到 PostgreSQL?

展开
收起
游客4skzfvnrxrzbi 2022-01-04 11:22:01 1039 0
1 条回答
写回答
取消 提交回答
    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,这个性能损失巨大。 转义符 mysql 默认字符串里的''是转义符,而 pgsql 默认不是,修改 postgresql.conf: backslash_quote = on escape_string_warning = off standard_conforming_strings = off 数据导入完成后可以改回默认值。

    资源来源于《阿里云数据库运维实战问题改》

    https://developer.aliyun.com/topic/download?spm=a2c6h.20345107.J_6399686890.1.2e1e17dbzKUX5r&id=8198

    2022-01-04 17:04:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
2023云栖大会:PolarDB for AI 立即下载

相关镜像