【问题标题】:How to dump data from mysql database to postgresql database?如何将数据从mysql数据库转储到postgresql数据库?
【发布时间】:2010-10-21 09:55:48
【问题描述】:

我已经使用mysql完成了depot应用程序......现在我需要使用postgres......所以我需要将数据从mysql数据库“depot_development”转储到postgres数据库“depot_develop”......

【问题讨论】:

    标签: ruby-on-rails postgresql mysqldump


    【解决方案1】:

    【讨论】:

    • 我确实尝试过,但语法与 psql 不匹配......所以有很多错误......它没有很好地工作......谢谢......
    【解决方案2】:

    您是否尝试将表从一个数据库复制到另一个:

    a) 将 MySQL 中的数据导出为 CSV 文件,例如:

    $> mysql -e "SELECT * FROM table" -h HOST -u USER -p PWD -D DB > /file/path.csv'
    

    然后,

    b) 将其导入 Postgres,如:

    COPY table FROM '/file/path.csv' WITH CSV;
    

    【讨论】:

    • 我遇到了在用户表中没有数据的情况下登录的问题...所以我没有选择插入从现有表中复制的数据...所以在 psql 中手动插入数据...所以可以工作..谢谢..
    • 上面的 mysql 查询不会在 CSV 中创建输出。
    【解决方案3】:

    这个问题有点老了,但几天前我正在处理这种情况并找到了pgloader.io。

    这是迄今为止最简单的方法,您需要安装它,然后运行一个简单的 lisp 脚本 (script.lips),其中包含以下 3 行代码:

    /* content of the script.lisp */
    LOAD DATABASE
    FROM mysql://dbuser@localhost/dbname
    INTO postgresql://dbuser@localhost/dbname;
    
    
    /*run this in the terminal*/
    pgload sctipt.lisp
    

    之后,您的 postgresql 数据库将拥有您在 MySQL SB 中拥有的所有信息

    附带说明,让您编译 pgloader,因为在本文发布时,安装程​​序存在错误。 (版本 3.2.0)

    【讨论】:

    猜你喜欢
    • 2011-07-22
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多