Como migrar um banco de dados de MySQL para PostgreSQL imprimir

  • 0

Migrando de MySQL para PostgreSQL: o guia completo (sem sustos)

Oi! Aqui é a Sensei da GeHost 🌱 Se você chegou até aqui, provavelmente seu sistema, loja ou aplicação está crescendo e alguém recomendou trocar o MySQL pelo PostgreSQL. Respira fundo: migração de banco de dados parece assustador, mas seguindo o passo a passo certo, com calma e com backup na mão, dá pra fazer com segurança. Vamos juntos!

Por que migrar de MySQL para PostgreSQL?

MySQL e PostgreSQL são os dois bancos relacionais mais usados do mundo, mas têm filosofias diferentes. O PostgreSQL costuma ser escolhido quando o projeto precisa de recursos mais avançados de consultas, tipos de dados mais ricos (como JSON estruturado, arrays, campos geográficos) ou regras de integridade mais rígidas. Nenhum dos dois é "melhor" — o importante é que a migração seja feita com cuidado, testando tudo antes de trocar de vez.

Dica da Sensei: antes de decidir migrar, confirme com nosso suporte se o seu plano de hospedagem já possui um banco PostgreSQL disponível ou se será necessário um ambiente adicional para isso. Assim você evita surpresas no meio do caminho.

Passo 1: Faça um backup completo antes de tocar em qualquer coisa

Essa é a regra de ouro: nunca comece uma migração sem um backup fresquinho. Se algo sair diferente do esperado, você volta pro ponto de partida sem perder nada.

  1. Acesse o cPanel do seu plano em painel.gehost.com.br.
  2. Vá até a área de Bancos de Dados MySQL para conferir quais bancos e usuários existem hoje.
  3. Use a ferramenta de Backup do cPanel para gerar um backup completo da conta (ou pelo menos um backup parcial do banco de dados).
  4. Guarde esse arquivo de backup em um local seguro fora do servidor (seu computador, um serviço de nuvem etc.).
Tela de Bancos de Dados MySQL no cPanel, mostrando criação e gerenciamento de bancos Tela de Backup do cPanel com opções de backup completo e backups parciais

Passo 2: Exporte os dados do MySQL

Com o backup garantido, é hora de tirar uma "fotografia" limpa dos dados que serão migrados:

  1. No phpMyAdmin (disponível a partir da tela de Bancos de Dados MySQL do cPanel), selecione o banco que deseja migrar.
  2. Use a opção Exportar e escolha o formato SQL.
  3. Salve o arquivo gerado — ele contém a estrutura das tabelas e todos os registros.

Passo 3: Prepare o banco PostgreSQL de destino

Antes de importar qualquer coisa, o banco PostgreSQL precisa existir e estar pronto para receber os dados:

  1. Crie o banco de dados PostgreSQL de destino e um usuário com as permissões adequadas.
  2. Anote o nome do banco, o usuário e a senha — você vai precisar deles na hora de conectar sua aplicação.
Dica da Sensei: se você não sabe como criar um banco PostgreSQL no seu ambiente, fale com o suporte da GeHost. Cada estrutura de hospedagem tem seu próprio caminho para isso.

Passo 4: Converta e importe os dados

Aqui está o pulo do gato: MySQL e PostgreSQL não falam exatamente a mesma "língua" em termos de sintaxe SQL, então um export puro do MySQL raramente entra direto no PostgreSQL. Algumas formas comuns de fazer essa conversão:

  • Ferramentas de conversão automática, como o pgloader, que lê diretamente do MySQL e já grava no PostgreSQL, cuidando de boa parte da tradução de tipos.
  • Ajuste manual do arquivo SQL exportado, quando o banco é pequeno e simples — trocando comandos e tipos específicos do MySQL pelos equivalentes do PostgreSQL.

Depois de convertido, importe o resultado no banco PostgreSQL de destino usando um cliente como o pgAdmin ou a linha de comando psql.

Passo 5: Ajuste os tipos de dados e a sintaxe

Alguns pontos que costumam pedir atenção na conversão:

  • Auto incremento: o AUTO_INCREMENT do MySQL vira SERIAL ou IDENTITY no PostgreSQL.
  • Aspas: o MySQL aceita aspas duplas e simples de forma mais flexível; o PostgreSQL é mais rígido com o padrão SQL.
  • Tipos de texto e datas: alguns tipos (como ENUM, TINYINT usado como booleano) precisam ser adaptados para os tipos equivalentes do PostgreSQL.
  • Nomes sensíveis a maiúsculas/minúsculas: o PostgreSQL, por padrão, trata nomes de tabelas e colunas em minúsculas — fique de olho se sua aplicação usa nomes com maiúsculas.

Passo 6: Atualize a conexão da sua aplicação

Depois que os dados estiverem no PostgreSQL, atualize o arquivo de configuração da sua aplicação (ou CMS) com os novos dados de conexão: host, nome do banco, usuário e senha. Cada sistema guarda isso em um lugar diferente, então, se tiver dúvida, veja a documentação da sua aplicação ou fale com nosso suporte.

Passo 7: Teste tudo antes de trocar de vez

Não desligue o banco antigo ainda! Antes disso:

  1. Rode sua aplicação apontando para o novo banco PostgreSQL em um ambiente de teste, se possível.
  2. Confira se os dados aparecem corretamente (contagem de registros, campos importantes, relacionamentos).
  3. Teste as principais funcionalidades: login, cadastro, pedidos, buscas — o que for crítico para o seu negócio.
Dica da Sensei: mantenha o banco MySQL antigo intacto (sem apagar) por um tempo, mesmo depois de migrar. Ele é sua rede de segurança caso algo precise ser conferido depois.

Passo 8: Coloque em produção

Com tudo testado e validado, é hora do "grande dia":

  1. Escolha um horário de menor movimento para reduzir o impacto.
  2. Coloque a aplicação em manutenção por alguns instantes, se possível.
  3. Faça uma última exportação do MySQL (para garantir que nenhum dado recente ficou de fora) e repita a importação no PostgreSQL.
  4. Aponte a aplicação para o banco PostgreSQL definitivamente e tire do modo manutenção.
  5. Acompanhe de perto nas primeiras horas para garantir que está tudo redondo.

Precisa de ajuda no caminho?

Migração de banco de dados envolve detalhes técnicos que variam bastante de sistema para sistema. Se em algum ponto você sentir insegurança, é sempre melhor parar e chamar a gente antes de seguir. Você pode acompanhar seus dados de contrato e falar com o suporte diretamente pelo painel.gehost.com.br.

Lembrete final da Sensei: backup, teste, e só depois troque de vez. Migração feita com calma é migração que não dói. 💚

Esta resposta lhe foi útil?

« Retornar