Como migrar banco de dados MySQL para PostgreSQL

Postgres é um sistema de gerenciamento de banco de dados com ênfase na extensibilidade e na conformidade de padrões. Como servidor de banco de dados, suas principais funções são armazenar dados de forma segura e devolver esses dados em resposta a solicitações de outros aplicativos de software.

MySQL é um sistema extensivamente utilizado, no entanto, o fork MariaDB tem conquistado seu espaço dentro do meio empresarial e por desenvolvedores de softwares livres no mundo todo. Tal fato tem permitido que o seu desenvolvimento fosse mais acelerado do que o MySQL. Mas outras soluções robustas e de custo 0, são oferecidas e com vantagens no gerenciamento e usabilidade.

O banco de dados Postgres tem muitas características desejáveis que esses sistemas ainda estão em desenvolvimento. Sua comunidade tem se mostrado atuante no desenvolvimento de novas funcionalidades. Uma de suas características marcantes é o gerenciamento de schemas dentro de uma database, especificamente.

Ainda que muitas empresas e desenvolvedores matem bases de dados MySQL pela praticidade e por ofertas de sistemas ou hosts de hospedagem. Entretanto, com advento de hosts dedicados, esse cenário tem sofrido levemente alterações e tendências futuras de uso de banco de dados de cunho específico tornará uma realidade.

Certamente, empresas e grandes organizações tendem a migrar seus bancos de dados para tecnologias capazes de armazenar grandes volumes de dados na ordem de TB. Atualmente, postgres suporta 32TB de dados.

A seguir, são apresentados na prática uma forma simples e rápida de realizar a migração de bancos de dados MySQL para PostgreSQL. Para realizar esse procedimento nós iremos utilizar o script de Lanyrd’s (MySQL to PostgreSQLconversion script), por favor, não deixe de visitar a página:
GitHub – lanyrd/mysql-postgresql-converter: Lanyrd’s MySQL to PostgreSQL conversion script

Download de Mysql-postgresql-converter:

git clone https://github.com/lanyrd/mysql-postgresql-converter.git

cd mysql-postgresql-converter

Extrair banco de dados compatível com Postgres:

mysqldump –compatible=postgresql –default-character-set=utf8 -r plant_data.mysql -u root p d plant_data

Converter padrão de MySQL para Postgres:

python db_converter.py plant_data.mysql plant_data.psql

Crie um banco de dados no Postgres e, em seguida, faça a importação dos dados:

su postgres
psql
cretate database plant_data

Sair do banco de dados:

q

Importar a base de dados:

psql d plant_data -f plant_data.psql

Sua base de dados será importada para o banco de dados Postgres.

Conclusão
Esse é um processo simples e fácil de migrar de um banco de dados de MySQL para Postgres, sem complicações.

Outras maneiras de realizar o mesmo procedimento são oferecidos e podem ser sugeridos nos comentários abaixo. Esse procedimento foi utilizado para migrar uma modesta base de dados de 6 GB com sucesso e atendeu às necessidades para o momento.

Sobre o autor José Cleydson Ferreira Silva, possui mestrado em Ciência da Computação e atualmente doutorando em Genética e Melhoramento pela Universidade Federal de Viçosa/UFV. É usuário do Linux por filosofia.

[Voltar]