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:
Podemos também fazer o download pelo site da EnterpriseDB:
http://www.enterprisedb.com/products-services-training/products-overview/postgres-plus-solution-pack/migration-toolkit
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/employeesSRC_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.
-------
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.
Olá Emerson.
ResponderExcluirMuito bom seu artigo e o software. Me ajudou muito.
Grato e parabéns !!
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:
ResponderExcluirSource 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.
Opa, acredito que pelo tempo tenhas conseguido... Tive o mesmo problemas, ai fui reler. Tudo funcionou depois que fiz a copia dos ".jar" para o diretório onde esta a instalação do JAVA em sua maquina. (conforme a observação do final do artigo.)
ResponderExcluirBom dia,
ResponderExcluirEstou tentando fazer a migração de um banco MySQL para Postgres. Me parece que a conexão com o MySQL foi Ok. Mas quando vai para o Postgres, aparece esse erro:
2021-07-19 10:22:43 Connecting with source MySQL database server...
2021-07-19 10:22:43 Connected to MySQL, version '5.5.5-10.5.3-MariaDB-1:10.5.3+maria~focal'
2021-07-19 10:22:43 Connecting with target EDB Postgres database server...
2021-07-19 10:22:43 MTK-11009: Error Connecting Database "EDB Postgres"
java.lang.NullPointerException
2021-07-19 10:22:43 Stack Trace:
com.edb.MTKException: MTK-11009: Error Connecting Database "EDB Postgres"
at com.edb.common.MTKFactory.createMTKConnection(MTKFactory.java:253)
at com.edb.MigrationToolkit.createNewTargetConnection(MigrationToolkit.java:6691)
at com.edb.MigrationToolkit.initToolkit(MigrationToolkit.java:3619)
at com.edb.MigrationToolkit.main(MigrationToolkit.java:1876)
Caused by: java.lang.NullPointerException
at com.edb.dbhandler.enterprisedb.EnterpriseDBConnection.loadDbServerCharterSet(EnterpriseDBConnection.java:96)
at com.edb.dbhandler.enterprisedb.EnterpriseDBConnection.(EnterpriseDBConnection.java:47)
at com.edb.common.MTKFactory.createMTKConnection(MTKFactory.java:249)
... 3 more
2021-07-19 10:22:43
2021-07-19 10:22:43 One or more schema objects could not be imported during the migration process. Please review the migration output for more details.
2021-07-19 10:22:43
O meu arquivo .properties está assim:
SRC_DB_URL=jdbc:mysql://IP:Porta/na-palma
SRC_DB_USER=xxxxx
SRC_DB_PASSWORD=xxxxx
TARGET_DB_URL=jdbc:postgresql://IP:Porta/na-palma-da-mao
TARGET_DB_USER=xxxxx
TARGET_DB_PASSWORD=xxxxx
Não entendi porque ele tentou conectar com o banco EDB ao invés do na-palma-da=mao
Podem me ajudar?