---
title: "Migração de banco de dados: converta um dump"
description: "Migre entre MySQL, MariaDB, PostgreSQL, SQL Server, SQLite e Oracle: converta um dump em um script com as mesmas tabelas, chaves e dados, e um relatório das mudanças."
canonical: https://intosql.com/pt-br/migracao-de-banco-de-dados
last_updated: 2026-10-15
---

# Migração de banco de dados: converta um dump

Solte um dump do mysqldump, mariadb-dump, pg_dump, SSMS, SQL Developer ou SQLcl, ou um arquivo .db do SQLite, e baixe um script para PostgreSQL, MySQL, MariaDB, SQLite, SQL Server ou Oracle com as mesmas tabelas, chaves, índices e dados. Cada mudança é listada em um relatório, e o dump nunca sai do seu computador.

## Todos os pares de bancos de dados

As linhas são o banco de dados de onde vem o dump, as colunas o banco de dados para o qual é o script. Cada par tem sua própria página com o conversor preparado para ele, as regras que aplica e como carregar o script.

- MySQL: [MySQL para PostgreSQL](https://intosql.com/pt-br/mysql-para-postgresql), [MySQL para MySQL](https://intosql.com/pt-br/mysql-para-mysql), [MySQL para MariaDB](https://intosql.com/pt-br/mysql-para-mariadb), [MySQL para SQLite](https://intosql.com/pt-br/mysql-para-sqlite), [MySQL para SQL Server](https://intosql.com/pt-br/mysql-para-sql-server), [MySQL para Oracle](https://intosql.com/pt-br/mysql-para-oracle)
- MariaDB: [MariaDB para PostgreSQL](https://intosql.com/pt-br/mariadb-para-postgresql), [MariaDB para MySQL](https://intosql.com/pt-br/mariadb-para-mysql), [MariaDB para MariaDB](https://intosql.com/pt-br/mariadb-para-mariadb), [MariaDB para SQLite](https://intosql.com/pt-br/mariadb-para-sqlite), [MariaDB para SQL Server](https://intosql.com/pt-br/mariadb-para-sql-server), [MariaDB para Oracle](https://intosql.com/pt-br/mariadb-para-oracle)
- PostgreSQL: [PostgreSQL para PostgreSQL](https://intosql.com/pt-br/postgresql-para-postgresql), [PostgreSQL para MySQL](https://intosql.com/pt-br/postgresql-para-mysql), [PostgreSQL para MariaDB](https://intosql.com/pt-br/postgresql-para-mariadb), [PostgreSQL para SQLite](https://intosql.com/pt-br/postgresql-para-sqlite), [PostgreSQL para SQL Server](https://intosql.com/pt-br/postgresql-para-sql-server), [PostgreSQL para Oracle](https://intosql.com/pt-br/postgresql-para-oracle)
- SQL Server: [SQL Server para PostgreSQL](https://intosql.com/pt-br/sql-server-para-postgresql), [SQL Server para MySQL](https://intosql.com/pt-br/sql-server-para-mysql), [SQL Server para MariaDB](https://intosql.com/pt-br/sql-server-para-mariadb), [SQL Server para SQLite](https://intosql.com/pt-br/sql-server-para-sqlite), [SQL Server para SQL Server](https://intosql.com/pt-br/sql-server-para-sql-server), [SQL Server para Oracle](https://intosql.com/pt-br/sql-server-para-oracle)
- SQLite: [SQLite para PostgreSQL](https://intosql.com/pt-br/sqlite-para-postgresql), [SQLite para MySQL](https://intosql.com/pt-br/sqlite-para-mysql), [SQLite para MariaDB](https://intosql.com/pt-br/sqlite-para-mariadb), [SQLite para SQLite](https://intosql.com/pt-br/sqlite-para-sqlite), [SQLite para SQL Server](https://intosql.com/pt-br/sqlite-para-sql-server), [SQLite para Oracle](https://intosql.com/pt-br/sqlite-para-oracle)
- Oracle: [Oracle para PostgreSQL](https://intosql.com/pt-br/oracle-para-postgresql), [Oracle para MySQL](https://intosql.com/pt-br/oracle-para-mysql), [Oracle para MariaDB](https://intosql.com/pt-br/oracle-para-mariadb), [Oracle para SQLite](https://intosql.com/pt-br/oracle-para-sqlite), [Oracle para SQL Server](https://intosql.com/pt-br/oracle-para-sql-server), [Oracle para Oracle](https://intosql.com/pt-br/oracle-para-oracle)

[Tipos de dados de cada par](https://intosql.com/docs/types#from-one-database-to-another)

## O que é mantido e o que é relatado

O conversor lê o próprio dump, sem um servidor de banco de dados, e escreve o script a partir do que ele contém. A página de cada par lista as regras que aplica, entre 25 e 67 por par, com a linha do relatório que cada uma escreve.

### Mantido no script

- Tabelas e colunas, cada uma com o tipo mais próximo que o destino tem, com seu tamanho e precisão.
- Chaves primárias, únicas e estrangeiras, índices e valores padrão.
- Colunas AUTO_INCREMENT, identity e serial, com o id de cada linha e o contador continuando de onde o dump parou.
- Cada linha, com datas, decimais, texto e valores binários como o dump os guarda.

### Listado no relatório

- Valores que o destino não aceita como estão, como uma data 0000-00-00 no PostgreSQL, com a coluna e quantos são. (`invalid_date_null`)
- Tipos que o destino não tem, como ENUM ou INET6, com o tipo em que cada um se tornou. (`type_replaced`)
- Views, triggers, procedures, funções e eventos, pelo nome: são escritos na própria linguagem de cada banco de dados, então não são convertidos. (`not_converted_objects`)
- Texto que não é válido no seu conjunto de caracteres, e dumps que já perderam seus caracteres de 4 bytes. (`invalid_utf8_replaced`)

## Comparado com o pgloader

Os mesmos dumps, convertidos e carregados pelo IntoSQL e pelo pgloader 3.6.7 em uma única máquina (um i9-10900K de 10 núcleos com SATA SSD), em outubro de 2026.

- Uma coluna TINYINT(1) com 2, -1 e -5: o pgloader carrega true para cada um, sem aviso. O IntoSQL mantém os números e o relatório explica o motivo.
- Um dump com um valor padrão 'it's', uma tabela com crase no nome, um ENUM com o valor vazio e um TIME acima de 24 horas: o pgloader para. O IntoSQL o converte e o carrega.
- O que o pgloader carrega perdeu as chaves primárias, únicas e estrangeiras e as colunas identity. O IntoSQL mantém todas.
- Um dump de 5.3 GB com 30 milhões de linhas: o pgloader exige restaurá-lo antes em um MySQL em execução, o que leva 18 minutos, e depois fica sem memória com as configurações padrão. O IntoSQL converte o dump em 10 segundos, e o psql carrega o script em cerca de 3 minutos.
- Em 476 dumps do MySQL 5.5 ao 9 e do MariaDB 10.3 ao 12, carregados no PostgreSQL 13 e 18: nenhum erro de carga e nenhum valor alterado sem uma linha no relatório.

[A página de MySQL para PostgreSQL](https://intosql.com/pt-br/mysql-para-postgresql)

## Exporte o banco de dados que você tem

O conversor lê um arquivo, não um servidor rodando. Cada banco de dados escreve um com suas próprias ferramentas:

### MySQL

Um dump do mysqldump, mysqlpump, phpMyAdmin ou Adminer, como .sql ou .sql.gz. --default-character-set=utf8mb4 --hex-blob --routines --triggers --events mantêm o máximo. [Guia de migração de MySQL para PostgreSQL](https://intosql.com/docs/migrations/mysql-to-postgresql)

### MariaDB

Um dump do mariadb-dump, mysqldump, phpMyAdmin ou Adminer, como .sql ou .sql.gz, com as mesmas opções do MySQL. [Guia de migração de MariaDB para PostgreSQL](https://intosql.com/docs/migrations/mariadb-to-postgresql)

### PostgreSQL

Um dump simples do pg_dump ou pg_dumpall. Um arquivo custom (-Fc) vira um com pg_restore -f dump.sql, sem servidor. [Guia de migração de PostgreSQL para MySQL](https://intosql.com/docs/migrations/postgresql-to-mysql)

### SQL Server

O script que o Generate Scripts do SSMS escreve, com Types of data to script em Schema and data. dbatools e mssql-scripter escrevem o mesmo. [Guia de migração de SQL Server para PostgreSQL](https://intosql.com/docs/migrations/sql-server-to-postgresql)

### SQLite

O próprio arquivo do banco de dados (.db, .sqlite, .sqlite3), ou o SQL que sqlite3 app.db .dump escreve. [Guia de migração de SQLite para PostgreSQL](https://intosql.com/docs/migrations/sqlite-to-postgresql)

### Oracle

O arquivo .sql que o Database Export do SQL Developer ou o SQLcl escreve, com DDL e Insert. Um arquivo .dmp do exp ou expdp precisa ser importado e exportado de novo antes. [Guia de migração de Oracle para PostgreSQL](https://intosql.com/docs/migrations/oracle-to-postgresql)

## Perguntas sobre migração de banco de dados

### Meu dump é enviado?

Não. O conversor roda no seu navegador e lê o dump do seu disco em partes, então ele nunca sai do seu computador. O app para desktop e a linha de comando também convertem no seu computador.

### Qual o tamanho máximo do dump?

O conversor nunca guarda o dump inteiro na memória: ele lê o arquivo duas vezes, por intervalos, e escreve o script à medida que avança. Dumps de vários gigabytes são convertidos no navegador, no app para desktop e com a linha de comando.

### De quais versões o dump pode vir?

MySQL 5.5 ao 9, MariaDB 10.3 ao 12, PostgreSQL 10 ou posterior, SQL Server 2017 ou posterior, SQLite 3.0 ou posterior, e Oracle 11g ou posterior. A página de cada par diz em quais versões seu script carrega.

### Preciso de um servidor de banco de dados rodando?

Não. O conversor lê o próprio arquivo de dump, então o banco de dados de origem não precisa rodar em lugar nenhum. O script carrega com o cliente do próprio destino, como psql, mysql ou sqlcmd.

### O que não é convertido?

Views, triggers, stored procedures, funções e eventos são escritos na própria linguagem de cada banco de dados, então aparecem no relatório pelo nome. As tabelas, chaves, índices e linhas estão todos no script.

### Ele pode carregar o script direto no meu banco de dados?

O app para desktop e o comando intosql load escrevem direto no SQLite de graça, e no PostgreSQL, MySQL e MariaDB com o IntoSQL Pro. Para SQL Server e Oracle, rode o script com sqlcmd ou sqlplus.
