Páginas

segunda-feira, 24 de novembro de 2014

[MySQL] - Migrando MySQL para PostgreSQL


Bom pessoal, segue abaixo instruções para migração de bancos de dados MySQL para PostgreSQL com a ferramenta da EnterpriseDB.

Link para download da Ferramenta:

Migra Somente estrutura do Banco de dados sem chaves estrangeiras
cmd>runMTK.bat -schemaOnly -allTables -constraints -skipFKConst -sourcedbtype mysql employees

Migra somente os dados através de lotes de dados
cmd>runMTK.bat -dataOnly -fetchSize 1 -sourcedbtype mysql employees

Migra todo banco de dados com constraints e dados
cmd>runMTK.bat -fetchSize 1 -sourcedbtype mysql employees

-------
Configuração do arquivo "toolkit.properties":
SRC_DB_URL=jdbc:mysql://127.0.0.1/employees
SRC_DB_USER=root
SRC_DB_PASSWORD=teste

TARGET_DB_URL=jdbc:postgresql://localhost:5432/exemplo
TARGET_DB_USER=postgres
TARGET_DB_PASSWORD=teste

-------

Dentro da pasta do aplicativo, existe um arquivo chamado "mtk-readme.txt" que possui o help do utilitário.

-------

OBS:
Tendo o Java já instalado na sua maquina copie todos os .jar da pasta lib para a pasta C:\Program Files (x86)\Java\jre6\lib\ext ou lib\ext dentro da sua versão do Java que está instalada.

2 comentários:

  1. Olá Emerson.
    Muito bom seu artigo e o software. Me ajudou muito.
    Grato e parabéns !!

    ResponderExcluir
  2. Bom dia, achei interessante, porem não estou conseguindo migrar, na hora de eu inserir o código no CMD do windows, ele retorna um erro:

    Source database connectivity info…
    conn =jdbc:mysql://localhost/wordpress
    user =root
    password=******
    Target database connectivity info…
    conn =jdbc:postgresql://localhost:5432/wordpress
    user =postgres
    password=******
    Connecting with source MySQL database server…
    Error: java.lang.Exception: Following problem occurred while connecting to MySQL server.
    com.mysql.jdbc.Driver
    Stack Trace:
    java.sql.SQLException: java.lang.Exception: Following problem occurred while connecting to MySQL server.
    com.mysql.jdbc.Driver
    at com.edb.MigrationToolkit.initToolkit(MigrationToolkit.java:2624)
    at com.edb.MigrationToolkit.main(MigrationToolkit.java:1279)

    One or more schema objects could not be imported during the migration process. Please review the migration output for more details.

    Migration logs have been saved to C:\Users\FGS\.enterprisedb\migration-toolkit\logs

    ******************** Migration Summary ********************

    Total objects: 0
    Successful count: 0
    Failure count: 0

    *************************************************************
    Porquê minha base de dados MYSQL é localhost, portanto não tem senha, então não sei se o campo senha ficaria vazio. E como comecei a estudar POSTGRE hoje, não estou muito convicto que esteja funcionando.

    Desde já agradeço.

    ResponderExcluir