将MySQLdump导入PostgreSQL架构

将MySQLdump导入PostgreSQL架构,postgresql,Postgresql,我有一个web应用程序,它的数据库使用MySQL。由于该项目的进程发生了变化,我想离开MySQL,使用带有模式的PostgreSQL。具体地说,我正在构建一个多租户web应用程序,其中每个租户使用PostgreSQL包在数据库中获得自己的模式。该项目已经使用MySQL使用了大约一年,但是只有一个用户。这意味着MySQL数据库中的所有记录都可以放入PostgreSQL数据库中的一个模式中 我想知道将用户的所有数据从MySQL移动到PostgreSQL数据库上的单个模式中涉及到什么 我已经找到了将M

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

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

我已经找到了将MySQL转储转换为PostgreSQL友好格式的方法,但它没有说明如何将该转储导入到特定的模式中


您对如何实现这一点有什么想法吗?

将转换后的MySQL转储打包如下:

BEGIN;
SET LOCAL search_path = desired_schema;
<dump goes here>
COMMIT;
开始;
设置本地搜索路径=所需的搜索模式;
犯罪
然后

  • 所有未使用显式架构限定符创建的对象都将在
    所需的\u架构中创建
  • 所有操作都将在单个事务中完成,因此如果某个语句失败,所有操作都将撤消
  • 看看pgloader()。下面是它工作原理的一个基本示例:

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