【问题标题】:Import MySQLdump to PostgreSQL schema将 MySQLdump 导入 PostgreSQL 模式
【发布时间】:2017-03-11 21:32:39
【问题描述】:

我有一个使用 MySQL 作为其数据库的 Web 应用程序。由于该项目的课程发生了变化,我想离开 MySQL 并使用带有模式的 PostgreSQL。具体来说,我正在构建一个多租户 Web 应用程序,其中每个租户使用 PostgreSQL 包 Django Tenant Schemas 在数据库中获取自己的架构。该项目使用 MySQL 已经使用了大约一年,但只有一个用户。这意味着 MySQL 数据库中的所有记录都可以放入 PostgreSQL 数据库中的一个模式中。

我想知道将所有用户数据从 MySQL 移动到 PostgreSQL 数据库上的单个架构中会涉及什么。

我找到了 this tool 用于将 MySQL 转储转换为 PostgreSQL 友好格式,但它并没有说明我如何将该转储导入特定架构。

您对我如何实现这一目标有任何想法吗?

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    看看 pgloader (http://pgloader.io/howto/pgloader.1.html)。以下是其工作原理的基本示例:

    createdb pagila  
    pgloader mysql://user@localhost/sakila postgresql:///pagila 
    

    【讨论】:

      【解决方案2】:

      像这样包装转换后的 MySQL 转储:

      BEGIN;
      SET LOCAL search_path = desired_schema;
      <dump goes here>
      COMMIT;
      

      然后

      1. 所有没有明确模式限定符的对象都将在desired_schema中创建。
      2. 一切都将在一个事务中完成,因此如果某些语句失败,一切都将被撤消。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-19
        • 1970-01-01
        • 2017-07-18
        • 1970-01-01
        • 2023-03-06
        • 2011-12-18
        • 2020-12-19
        • 2017-07-12
        相关资源
        最近更新 更多