- 导出 mysql 表定义(无数据)
- --no-data [dbname] >dbdef.sql
- 使用 mysql2postgres 把脚本转换为 pgsql
- 上面生成的脚本还不一定很完美,可以尝试导入 pgsql,调试错误并手动修 改之。我遇到的问题就只有一个,mysql 列定义中的 zerofill 需要手工去 掉。一些 unsinged 定义会生成 constraint,如果不需要可以去掉。另 外,trigger都有问题,只能后面手工重建
- 导出 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