zoukankan      html  css  js  c++  java
  • 如何快速将MySQL数据库转换为PostgreSQL数据库

    这一段时间在帮客户写一个小型的CRUD项目,原项目是MySQL数据库,客户有一个要求就是必须使用PostgreSQL数据库,本来以为转换非常方便,没想到还是折腾了一下。预先提醒一下,我只完成了数据库表结构、数据的转换,其他的外键、视图没有涉及。

    首先MySQL与PostgreSQL的语法还是有些差别,无法无缝转换使用。于是在网上找到了一个收费工具,MySQL to PostgreSQL,demo版本,有如下限制:

    1、数据记录,不超过50条

    2、不能转换外键及视图

    第二条限制还好办,我使用的MySQL数据库本来就没有建外键和视图,第一条就不好办了,因为部分表的数据还是超过了50条的。

    于是又查询一翻,可以使用Navicat Premium 15的数据传输功能,先将MySQL转换成PostgreSQL,有些同学可能会说,那直接用这个工具不完了,但是经过测试,有些重大问题。PostgreSQL的主键自增ID字段,是跟MySQL不太一样的,转换的时候转换不过来,另外一些字段转换过来类型不对,比如说bit、bigint等类型转到PostgreSQL就不对了,所以不能直接用他来生成建表语句,但是可以使用他生成Insert数据插入语句。

    点击“工具”-->“数据传输”。根据设置一步步来,如下图所示:

     等转换成PostgreSQL后,就可以在数据库上右键单击,“转储SQL文件”-->“结构和数据”,这样就生成了全库sql语句文件,包含了Insert语句

     

    最后使用MySQL to PostgreSQL工具,来生成数据库表结构,配合你刚才导出的可用的Insert语句,进行组合,就完整的完成了一次从MySQL到PostgreSQL连表结构到数据的完整转换,希望对各位能有帮助!

  • 相关阅读:
    PHP的垃圾回收机制
    python使用httpHandler处理请求案例
    使用python中urllib.request.Request()来构建ua
    Pillow《转载》
    python数据格式化之pprint
    使用Mechanize实现自动化表单处理
    beautifulSoup《转》
    Python3网络爬虫(四):使用User Agent和代理IP隐藏身份《转》
    python urllib和urllib3包使用
    使用Mechanize实现自动化表单处理
  • 原文地址:https://www.cnblogs.com/Rocky_/p/15684432.html
Copyright © 2011-2022 走看看