---
title: "Migration de base de données : convertir un dump"
description: "Migrez entre MySQL, MariaDB, PostgreSQL, SQL Server, SQLite et Oracle : convertissez un dump en script avec les mêmes tables, clés et données, et un rapport."
canonical: https://intosql.com/fr/migration-de-base-de-donnees
last_updated: 2026-10-15
---

# Migration de base de données : convertir un dump

Déposez un dump de mysqldump, mariadb-dump, pg_dump, SSMS, SQL Developer ou SQLcl, ou un fichier .db SQLite, et téléchargez un script pour PostgreSQL, MySQL, MariaDB, SQLite, SQL Server ou Oracle avec les mêmes tables, clés, index et données. Chaque changement figure dans un rapport, et le dump ne quitte jamais votre ordinateur.

## Toutes les paires de bases de données

Les lignes sont la base de données d'où vient le dump, les colonnes celle à laquelle le script est destiné. Chaque paire a sa propre page avec le convertisseur préparé pour elle, les règles qu'il applique et la façon de charger le script.

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

[Types de données de chaque paire](https://intosql.com/docs/types#from-one-database-to-another)

## Ce qui est conservé et ce qui est signalé

Le convertisseur lit le dump lui-même, sans serveur de base de données, et écrit le script à partir de son contenu. La page de chaque paire liste les règles appliquées, entre 25 et 67 par paire, avec la ligne de rapport que chacune écrit.

### Conservé dans le script

- Tables et colonnes, chacune avec le type le plus proche de la cible, sa longueur et sa précision.
- Clés primaires, uniques et étrangères, index et valeurs par défaut.
- Colonnes AUTO_INCREMENT, identity et serial, avec l'id de chaque ligne et le compteur qui reprend là où le dump l'a laissé.
- Chaque ligne, avec les dates, décimaux, textes et valeurs binaires tels que le dump les contient.

### Listé dans le rapport

- Les valeurs que la cible ne peut pas stocker telles quelles, comme une date 0000-00-00 dans PostgreSQL, avec la colonne et leur nombre. (`invalid_date_null`)
- Les types que la cible n'a pas, comme ENUM ou INET6, avec le type choisi pour chacun. (`type_replaced`)
- Vues, triggers, procédures, fonctions et événements, par nom : ils sont écrits dans le propre langage de chaque base, donc ils ne sont pas convertis. (`not_converted_objects`)
- Le texte qui n'est pas valide dans son jeu de caractères, et les dumps qui ont déjà perdu leurs caractères sur 4 octets. (`invalid_utf8_replaced`)

## Comparé à pgloader

Les mêmes dumps, convertis et chargés par IntoSQL et par pgloader 3.6.7 sur une même machine (un i9-10900K à 10 cœurs avec un SATA SSD), en octobre 2026.

- Une colonne TINYINT(1) contenant 2, -1 et -5 : pgloader charge true pour chacune, sans avertissement. IntoSQL garde les nombres et le rapport explique pourquoi.
- Un dump avec une valeur par défaut 'it's', une table dont le nom contient un accent grave, un ENUM contenant la valeur vide et un TIME de plus de 24 heures : pgloader s'arrête. IntoSQL le convertit et le charge.
- Ce que pgloader charge a perdu ses clés primaires, uniques et étrangères, et ses identités. IntoSQL les garde toutes.
- Un dump de 5.3 GB et 30 millions de lignes : pgloader exige qu'il soit d'abord restauré dans un MySQL en marche, ce qui prend 18 minutes, puis manque de mémoire avec ses réglages par défaut. IntoSQL convertit le dump en 10 secondes, et psql charge le script en 3 minutes environ.
- Sur 476 dumps de MySQL 5.5 à 9 et de MariaDB 10.3 à 12, chargés dans PostgreSQL 13 et 18 : aucune erreur de chargement, et aucune valeur modifiée sans une ligne dans le rapport.

[La page MySQL vers PostgreSQL](https://intosql.com/fr/mysql-en-postgresql)

## Exporter la base de données que vous avez

Le convertisseur lit un fichier, pas un serveur en marche. Chaque base de données en écrit un avec ses propres outils :

### MySQL

Un dump de mysqldump, mysqlpump, phpMyAdmin ou Adminer, en .sql ou .sql.gz. --default-character-set=utf8mb4 --hex-blob --routines --triggers --events conservent le plus. [Guide de migration de MySQL vers PostgreSQL](https://intosql.com/docs/migrations/mysql-to-postgresql)

### MariaDB

Un dump de mariadb-dump, mysqldump, phpMyAdmin ou Adminer, en .sql ou .sql.gz, avec les mêmes options que MySQL. [Guide de migration de MariaDB vers PostgreSQL](https://intosql.com/docs/migrations/mariadb-to-postgresql)

### PostgreSQL

Un dump texte de pg_dump ou pg_dumpall. Une archive custom (-Fc) devient un dump texte avec pg_restore -f dump.sql, sans serveur. [Guide de migration de PostgreSQL vers MySQL](https://intosql.com/docs/migrations/postgresql-to-mysql)

### SQL Server

Le script qu'écrit Generate Scripts de SSMS, avec Types of data to script réglé sur Schema and data. dbatools et mssql-scripter écrivent la même chose. [Guide de migration de SQL Server vers PostgreSQL](https://intosql.com/docs/migrations/sql-server-to-postgresql)

### SQLite

Le fichier de base lui-même (.db, .sqlite, .sqlite3), ou le SQL qu'écrit sqlite3 app.db .dump. [Guide de migration de SQLite vers PostgreSQL](https://intosql.com/docs/migrations/sqlite-to-postgresql)

### Oracle

Le fichier .sql qu'écrit Database Export de SQL Developer ou SQLcl, avec DDL et Insert. Un fichier .dmp de exp ou expdp doit d'abord être importé puis exporté à nouveau. [Guide de migration de Oracle vers PostgreSQL](https://intosql.com/docs/migrations/oracle-to-postgresql)

## Questions sur la migration de base de données

### Mon dump est-il envoyé ?

Non. Le convertisseur s'exécute dans votre navigateur et lit le dump depuis votre disque par morceaux ; il ne quitte donc jamais votre ordinateur. L'application de bureau et la ligne de commande convertissent aussi sur votre ordinateur.

### Quelle taille peut avoir le dump ?

Le convertisseur ne garde jamais tout le dump en mémoire : il lit le fichier deux fois, par plages, et écrit le script au fur et à mesure. Les dumps de plusieurs gigaoctets se convertissent dans le navigateur, dans l'application de bureau et avec la ligne de commande.

### De quelles versions le dump peut-il venir ?

MySQL 5.5 à 9, MariaDB 10.3 à 12, PostgreSQL 10 et suivants, SQL Server 2017 et suivants, SQLite 3.0 et suivants, et Oracle 11g et suivants. La page de chaque paire indique sur quelles versions son script se charge.

### Faut-il un serveur de base de données en marche ?

Non. Le convertisseur lit le fichier de dump lui-même, donc la base source n'a pas besoin de tourner. Le script se charge avec le client de la cible, comme psql, mysql ou sqlcmd.

### Qu'est-ce qui n'est pas converti ?

Les vues, triggers, procédures stockées, fonctions et événements sont écrits dans le propre langage de chaque base, donc ils sont listés par nom dans le rapport. Les tables, clés, index et lignes sont tous dans le script.

### Peut-il charger le script directement dans ma base de données ?

L'application de bureau et la commande intosql load écrivent directement dans SQLite gratuitement, et dans PostgreSQL, MySQL et MariaDB avec IntoSQL Pro. Pour SQL Server et Oracle, exécutez le script avec sqlcmd ou sqlplus.
