---
title: "Migrazione di database: converti un dump"
description: "Migra tra MySQL, MariaDB, PostgreSQL, SQL Server, SQLite e Oracle: converti un dump in uno script con le stesse tabelle, chiavi e dati, e un report delle modifiche."
canonical: https://intosql.com/it/migrazione-database
last_updated: 2026-10-15
---

# Migrazione di database: converti un dump

Trascina un dump di mysqldump, mariadb-dump, pg_dump, SSMS, SQL Developer o SQLcl, o un file .db di SQLite, e scarica uno script per PostgreSQL, MySQL, MariaDB, SQLite, SQL Server o Oracle con le stesse tabelle, chiavi, indici e dati. Ogni modifica è elencata in un report, e il dump non lascia mai il tuo computer.

## Tutte le coppie di database

Le righe sono il database da cui viene il dump, le colonne il database per cui è lo script. Ogni coppia ha la sua pagina con il convertitore impostato per essa, le regole che applica e come caricare lo script.

- MySQL: [Da MySQL a PostgreSQL](https://intosql.com/it/mysql-in-postgresql), [Da MySQL a MySQL](https://intosql.com/it/mysql-in-mysql), [Da MySQL a MariaDB](https://intosql.com/it/mysql-in-mariadb), [Da MySQL a SQLite](https://intosql.com/it/mysql-in-sqlite), [Da MySQL a SQL Server](https://intosql.com/it/mysql-in-sql-server), [Da MySQL a Oracle](https://intosql.com/it/mysql-in-oracle)
- MariaDB: [Da MariaDB a PostgreSQL](https://intosql.com/it/mariadb-in-postgresql), [Da MariaDB a MySQL](https://intosql.com/it/mariadb-in-mysql), [Da MariaDB a MariaDB](https://intosql.com/it/mariadb-in-mariadb), [Da MariaDB a SQLite](https://intosql.com/it/mariadb-in-sqlite), [Da MariaDB a SQL Server](https://intosql.com/it/mariadb-in-sql-server), [Da MariaDB a Oracle](https://intosql.com/it/mariadb-in-oracle)
- PostgreSQL: [Da PostgreSQL a PostgreSQL](https://intosql.com/it/postgresql-in-postgresql), [Da PostgreSQL a MySQL](https://intosql.com/it/postgresql-in-mysql), [Da PostgreSQL a MariaDB](https://intosql.com/it/postgresql-in-mariadb), [Da PostgreSQL a SQLite](https://intosql.com/it/postgresql-in-sqlite), [Da PostgreSQL a SQL Server](https://intosql.com/it/postgresql-in-sql-server), [Da PostgreSQL a Oracle](https://intosql.com/it/postgresql-in-oracle)
- SQL Server: [Da SQL Server a PostgreSQL](https://intosql.com/it/sql-server-in-postgresql), [Da SQL Server a MySQL](https://intosql.com/it/sql-server-in-mysql), [Da SQL Server a MariaDB](https://intosql.com/it/sql-server-in-mariadb), [Da SQL Server a SQLite](https://intosql.com/it/sql-server-in-sqlite), [Da SQL Server a SQL Server](https://intosql.com/it/sql-server-in-sql-server), [Da SQL Server a Oracle](https://intosql.com/it/sql-server-in-oracle)
- SQLite: [Da SQLite a PostgreSQL](https://intosql.com/it/sqlite-in-postgresql), [Da SQLite a MySQL](https://intosql.com/it/sqlite-in-mysql), [Da SQLite a MariaDB](https://intosql.com/it/sqlite-in-mariadb), [Da SQLite a SQLite](https://intosql.com/it/sqlite-in-sqlite), [Da SQLite a SQL Server](https://intosql.com/it/sqlite-in-sql-server), [Da SQLite a Oracle](https://intosql.com/it/sqlite-in-oracle)
- Oracle: [Da Oracle a PostgreSQL](https://intosql.com/it/oracle-in-postgresql), [Da Oracle a MySQL](https://intosql.com/it/oracle-in-mysql), [Da Oracle a MariaDB](https://intosql.com/it/oracle-in-mariadb), [Da Oracle a SQLite](https://intosql.com/it/oracle-in-sqlite), [Da Oracle a SQL Server](https://intosql.com/it/oracle-in-sql-server), [Da Oracle a Oracle](https://intosql.com/it/oracle-in-oracle)

[Tipi di dati per ogni coppia](https://intosql.com/docs/types#from-one-database-to-another)

## Cosa viene conservato e cosa viene segnalato

Il convertitore legge direttamente il dump, senza un server di database, e scrive lo script da ciò che contiene. La pagina di ogni coppia elenca le regole che applica, tra 25 e 67 per coppia, con la riga di report che scrive ognuna.

### Conservato nello script

- Tabelle e colonne, ognuna con il tipo più vicino che ha la destinazione, con lunghezza e precisione.
- Chiavi primarie, uniche ed esterne, indici e valori predefiniti.
- Colonne AUTO_INCREMENT, identity e serial, con l'id di ogni riga e il contatore che riparte da dove lo ha lasciato il dump.
- Ogni riga, con date, decimali, testo e valori binari come li contiene il dump.

### Elencato nel report

- Valori che la destinazione non può contenere così come sono, come una data 0000-00-00 in PostgreSQL, con la colonna e quanti sono. (`invalid_date_null`)
- Tipi che la destinazione non ha, come ENUM o INET6, con il tipo in cui è diventato ognuno. (`type_replaced`)
- Viste, trigger, procedure, funzioni ed eventi, per nome: sono scritti nel linguaggio di ciascun database, quindi non vengono convertiti. (`not_converted_objects`)
- Testo non valido nel suo set di caratteri, e dump che hanno già perso i caratteri a 4 byte. (`invalid_utf8_replaced`)

## Confronto misurato con pgloader

Gli stessi dump, convertiti e caricati da IntoSQL e da pgloader 3.6.7 sulla stessa macchina (un i9-10900K a 10 core con un SATA SSD), a ottobre 2026.

- Una colonna TINYINT(1) che contiene 2, -1 e -5: pgloader carica true per ciascuno, senza un avviso. IntoSQL mantiene i numeri e il report spiega perché.
- Un dump con un valore predefinito 'it's', una tabella con un backtick nel nome, un ENUM che contiene il valore vuoto e un TIME oltre le 24 ore: pgloader si ferma. IntoSQL lo converte e lo carica.
- Ciò che pgloader carica ha perso le chiavi primarie, univoche ed esterne e le identity. IntoSQL le mantiene tutte.
- Un dump di 5.3 GB con 30 milioni di righe: pgloader richiede prima di ripristinarlo in un MySQL in esecuzione, il che richiede 18 minuti, poi esaurisce la memoria con le impostazioni predefinite. IntoSQL converte il dump in 10 secondi, e psql carica lo script in circa 3 minuti.
- Su 476 dump da MySQL 5.5 a 9 e da MariaDB 10.3 a 12, caricati in PostgreSQL 13 e 18: nessun errore di caricamento, e nessun valore modificato senza una riga nel report.

[La pagina da MySQL a PostgreSQL](https://intosql.com/it/mysql-in-postgresql)

## Esporta il database che hai

Il convertitore legge un file, non un server in esecuzione. Ogni database ne scrive uno con i propri strumenti:

### MySQL

Un dump di mysqldump, mysqlpump, phpMyAdmin o Adminer, come .sql o .sql.gz. --default-character-set=utf8mb4 --hex-blob --routines --triggers --events conservano il più possibile. [Guida alla migrazione da MySQL a PostgreSQL](https://intosql.com/docs/migrations/mysql-to-postgresql)

### MariaDB

Un dump di mariadb-dump, mysqldump, phpMyAdmin o Adminer, come .sql o .sql.gz, con le stesse opzioni di MySQL. [Guida alla migrazione da MariaDB a PostgreSQL](https://intosql.com/docs/migrations/mariadb-to-postgresql)

### PostgreSQL

Un dump in testo semplice di pg_dump o pg_dumpall. Un archivio custom (-Fc) diventa uno con pg_restore -f dump.sql, senza server. [Guida alla migrazione da PostgreSQL a MySQL](https://intosql.com/docs/migrations/postgresql-to-mysql)

### SQL Server

Lo script che scrive Generate Scripts di SSMS, con Types of data to script impostato su Schema and data. dbatools e mssql-scripter scrivono lo stesso. [Guida alla migrazione da SQL Server a PostgreSQL](https://intosql.com/docs/migrations/sql-server-to-postgresql)

### SQLite

Il file del database stesso (.db, .sqlite, .sqlite3), o l'SQL che scrive sqlite3 app.db .dump. [Guida alla migrazione da SQLite a PostgreSQL](https://intosql.com/docs/migrations/sqlite-to-postgresql)

### Oracle

Il file .sql che scrive Database Export di SQL Developer o SQLcl, con DDL e istruzioni Insert. Un file .dmp di exp o expdp va prima importato ed esportato di nuovo. [Guida alla migrazione da Oracle a PostgreSQL](https://intosql.com/docs/migrations/oracle-to-postgresql)

## Domande sulla migrazione di database

### Il mio dump viene caricato?

No. Il convertitore funziona nel tuo browser e legge il dump dal tuo disco a pezzi, quindi non lascia mai il tuo computer. Anche l'app desktop e la riga di comando convertono sul tuo computer.

### Quanto può essere grande il dump?

Il convertitore non tiene mai l'intero dump in memoria: legge il file due volte, per intervalli, e scrive lo script man mano. I dump di più gigabyte si convertono nel browser, nell'app desktop e con la riga di comando.

### Da quali versioni può venire il dump?

MySQL da 5.5 a 9, MariaDB da 10.3 a 12, PostgreSQL 10 e successivi, SQL Server 2017 e successivi, SQLite 3.0 e successivi, e Oracle 11g e successivi. La pagina di ogni coppia indica su quali versioni si carica il suo script.

### Serve un server di database in esecuzione?

No. Il convertitore legge direttamente il file di dump, quindi il database di origine non deve girare da nessuna parte. Lo script si carica con il client della destinazione, come psql, mysql o sqlcmd.

### Cosa non viene convertito?

Viste, trigger, stored procedure, funzioni ed eventi sono scritti nel linguaggio di ciascun database, quindi sono elencati per nome nel report. Tabelle, chiavi, indici e righe sono tutti nello script.

### Può caricare lo script direttamente nel mio database?

L'app desktop e il comando intosql load scrivono direttamente in SQLite gratis, e in PostgreSQL, MySQL e MariaDB con IntoSQL Pro. Per SQL Server e Oracle, esegui lo script con sqlcmd o sqlplus.
