Existe alguma ferramenta de linha de comando para converter o banco de dados MySQL para PostgreSQL? Eu também gostaria de saber se existe uma maneira de converter o banco de dados usando o mysqldump
comando normal .
mysql
postgresql
mysqldump
Mughil
fonte
fonte
Respostas:
você tentou:
faça isso para escapar de aspas
pode precisar de mais massagens, então olhe o mysqldump doco mais de perto.
fonte
mysqldump
ainda.syntax error at or near "(" LINE 2: "id" int(10) NOT NULL,
--compatible
éansi
Aqui estão algumas ferramentas de código aberto, que podem ser muito úteis:
FromMySqlToPostgreSql é uma ferramenta de alcance de recursos e muito fácil de usar.
Ele mapeia tipos de dados, migra restrições, índices, PKs e FKs exatamente como estavam no seu banco de dados MySQL.
Sob o capô, ele usa o PostgreSQL COPY, portanto a transferência de dados é muito rápida.
FromMySqlToPostgreSql escrito em PHP (> = 5.4).
O pgloader é uma ferramenta de carregamento de dados para o PostgreSQL, usando o comando COPY. Sua principal vantagem sobre apenas usar
ou , e o uso excessivo de um invólucro de dados externos, é o seu comportamento de transação, em que o pgloader mantém um arquivo separado de dados rejeitados, mas continua tentando copiar bons dados no seu banco de dados. O comportamento padrão do PostgreSQL é transacional, o que significa que qualquer linha incorreta nos dados de entrada (arquivo ou banco de dados remoto) interromperá todo o carregamento em massa da tabela. O pgloader também implementa a reformatação de dados, um exemplo típico disso é a transformação dos carimbos de dados do MySQL 0000-00-00 e 0000-00-00 00:00:00 para o PostgreSQL value (porque nosso calendário nunca teve um ano zero).pgloader escrito em LISP e distribuído como código fonte, então você precisa compilá-lo antes de usar.
Espero que ajude você ...
fonte
Na verdade, existe uma ferramenta de migração gratuita bastante fácil de usar, desenvolvida pelo próprio EnterpriseDB. Pode ser instalado através do StackBuilder: Migration Toolkit
fonte
Recentemente, usei uma ferramenta não-gratuita da DBConvert para converter um banco de dados de acesso ao postgres e achei que valeu a pena o dinheiro comparado à quantidade de tempo que perdi tentando fazê-lo de forma confiável e gratuita. A vender uma ferramenta semelhante para o MySQL <-> postgres , que eu não usei, mas pode valer a pena considerar, a menos que você esteja interessado apenas em ferramentas de linha de comando.
Caso você esteja se perguntando, eu não sou afiliado a eles de nenhuma maneira :-)
fonte
Você pode usar o Assistente de Migração do EnterpriseDB, por exemplo.
Ele pode simular migrar o OracleDB. Mas para o Mysql, ele tem algumas limitações, por exemplo, não suporta visualizações, gatilhos, procedimentos armazenados.
Para mais informações, consulte EDB Migration Toolkit . Não tenho certeza, mas pode ser possível migrar o mysql-> oracle-> postgresql salvando seus procedimentos armazenados (caso existam).
Grep this: Ferramentas de migração de banco de dados e SQL
fonte
Isso é apenas para adicionar às respostas existentes, o que me ajudou a encontrar esta solução. Eu usei FromMySqlToPostgreSql . Tudo o que você precisa fazer é baixar e extrair o FromMySqlToPostgreSql , fazer uma cópia do arquivo de configuração de amostra, definir os valores de conexão db nele e executar o arquivo de índice com o seguinte comando:
Simples, mas eficaz!
fonte
Existe uma ferramenta de código-fonte aberto que fornece funcionalidades para converter um banco de dados MySQL em Postgresql db, incluindo índices, fks e dados.
https://github.com/ggarri/mysql2psql
Essa ferramenta também permite definir alterações no esquema para que você possa executar algumas atualizações no esquema atual em tempo de execução.
fonte