---
title: "Migrasi database: konversi dump database"
description: "Migrasi antara MySQL, MariaDB, PostgreSQL, SQL Server, SQLite, dan Oracle: konversi dump ke skrip dengan tabel, kunci, dan data yang sama, plus laporan perubahan."
canonical: https://intosql.com/id/migrasi-database
last_updated: 2026-10-15
---

# Migrasi database: konversi dump database

Letakkan dump dari mysqldump, mariadb-dump, pg_dump, SSMS, SQL Developer, atau SQLcl, atau file .db SQLite, lalu unduh satu skrip untuk PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, atau Oracle dengan tabel, kunci, indeks, dan data yang sama. Setiap perubahan dicantumkan di laporan, dan dump tidak pernah meninggalkan komputer Anda.

## Setiap pasangan database

Baris adalah database asal dump, kolom adalah database tujuan skrip. Setiap pasangan punya halaman sendiri dengan konverter yang disiapkan untuknya, aturan yang diterapkannya, dan cara memuat skripnya.

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

[Tipe data untuk setiap pasangan](https://intosql.com/docs/types#from-one-database-to-another)

## Apa yang dipertahankan dan apa yang dilaporkan

Konverter membaca dump itu sendiri, tanpa server database, dan menulis skrip dari isinya. Halaman setiap pasangan mencantumkan aturan yang diterapkannya, antara 25 dan 67 per pasangan, beserta baris laporan yang ditulis setiap aturan.

### Dipertahankan di skrip

- Tabel dan kolom, masing-masing dengan tipe terdekat yang dimiliki target beserta panjang dan presisinya.
- Primary key, unique key, dan foreign key, indeks, dan nilai default.
- Kolom AUTO_INCREMENT, identity, dan serial, dengan id setiap baris dan penghitung yang berlanjut dari posisi terakhir di dump.
- Setiap baris, dengan tanggal, desimal, teks, dan nilai biner persis seperti di dump.

### Dicantumkan di laporan

- Nilai yang tidak bisa disimpan target apa adanya, seperti tanggal 0000-00-00 di PostgreSQL, beserta kolom dan jumlahnya. (`invalid_date_null`)
- Tipe yang tidak dimiliki target, seperti ENUM atau INET6, beserta tipe hasil konversinya. (`type_replaced`)
- View, trigger, procedure, fungsi, dan event, berdasarkan nama: semuanya ditulis dalam bahasa masing-masing database, jadi tidak dikonversi. (`not_converted_objects`)
- Teks yang tidak valid dalam set karakternya, dan dump yang sudah kehilangan karakter 4 byte. (`invalid_utf8_replaced`)

## Diukur terhadap pgloader

Dump yang sama, dikonversi dan dimuat oleh IntoSQL dan oleh pgloader 3.6.7 di satu mesin (i9-10900K 10 inti dengan SATA SSD), pada Oktober 2026.

- Kolom TINYINT(1) berisi 2, -1, dan -5: pgloader memuat true untuk masing-masing, tanpa peringatan. IntoSQL mempertahankan angkanya dan laporan menjelaskan alasannya.
- Dump dengan default 'it's', tabel yang namanya memakai backtick, ENUM berisi nilai kosong, dan TIME lebih dari 24 jam: pgloader berhenti. IntoSQL mengonversi dan memuatnya.
- Yang dimuat pgloader kehilangan primary key, unique key, foreign key, dan identity-nya. IntoSQL mempertahankan semuanya.
- Dump 5.3 GB berisi 30 juta baris: pgloader memerlukan dump itu dipulihkan dulu ke MySQL yang berjalan, yang memakan 18 menit, lalu kehabisan memori dengan pengaturan bawaannya. IntoSQL mengonversi dump dalam 10 detik, dan psql memuat skripnya dalam sekitar 3 menit.
- Pada 476 dump dari MySQL 5.5 sampai 9 dan MariaDB 10.3 sampai 12, yang dimuat ke PostgreSQL 13 dan 18: tidak ada galat pemuatan, dan tidak ada nilai yang berubah tanpa satu baris di laporan.

[Halaman MySQL ke PostgreSQL](https://intosql.com/id/mysql-ke-postgresql)

## Ekspor database yang Anda miliki

Konverter membaca file, bukan server yang sedang berjalan. Setiap database menulis file itu dengan alatnya sendiri:

### MySQL

Dump dari mysqldump, mysqlpump, phpMyAdmin, atau Adminer, sebagai .sql atau .sql.gz. --default-character-set=utf8mb4 --hex-blob --routines --triggers --events mempertahankan paling banyak. [Panduan migrasi MySQL ke PostgreSQL](https://intosql.com/docs/migrations/mysql-to-postgresql)

### MariaDB

Dump dari mariadb-dump, mysqldump, phpMyAdmin, atau Adminer, sebagai .sql atau .sql.gz, dengan opsi yang sama seperti MySQL. [Panduan migrasi MariaDB ke PostgreSQL](https://intosql.com/docs/migrations/mariadb-to-postgresql)

### PostgreSQL

Dump biasa dari pg_dump atau pg_dumpall. Arsip custom (-Fc) diubah menjadi dump biasa dengan pg_restore -f dump.sql, tanpa server. [Panduan migrasi PostgreSQL ke MySQL](https://intosql.com/docs/migrations/postgresql-to-mysql)

### SQL Server

Skrip yang ditulis Generate Scripts di SSMS, dengan Types of data to script diatur ke Schema and data. dbatools dan mssql-scripter menulis hal yang sama. [Panduan migrasi SQL Server ke PostgreSQL](https://intosql.com/docs/migrations/sql-server-to-postgresql)

### SQLite

File database itu sendiri (.db, .sqlite, .sqlite3), atau SQL yang ditulis sqlite3 app.db .dump. [Panduan migrasi SQLite ke PostgreSQL](https://intosql.com/docs/migrations/sqlite-to-postgresql)

### Oracle

File .sql yang ditulis Database Export di SQL Developer atau SQLcl, dengan pernyataan DDL dan Insert. File .dmp dari exp atau expdp harus diimpor lalu diekspor ulang terlebih dahulu. [Panduan migrasi Oracle ke PostgreSQL](https://intosql.com/docs/migrations/oracle-to-postgresql)

## Pertanyaan tentang migrasi database

### Apakah dump saya diunggah?

Tidak. Konverter berjalan di browser Anda dan membaca dump dari disk Anda sepotong demi sepotong, jadi dump tidak pernah meninggalkan komputer Anda. Aplikasi desktop dan command line juga mengonversi di komputer Anda.

### Seberapa besar dump yang bisa dipakai?

Konverter tidak pernah menyimpan seluruh dump di memori: file dibaca dua kali, per rentang, dan skrip ditulis sambil berjalan. Dump berukuran beberapa gigabyte bisa dikonversi di browser, di aplikasi desktop, dan dengan command line.

### Dump bisa berasal dari versi apa saja?

MySQL 5.5 sampai 9, MariaDB 10.3 sampai 12, PostgreSQL 10 dan yang lebih baru, SQL Server 2017 dan yang lebih baru, SQLite 3.0 dan yang lebih baru, serta Oracle 11g dan yang lebih baru. Halaman setiap pasangan menyebutkan versi tempat skripnya dimuat.

### Apakah saya perlu server database yang berjalan?

Tidak. Konverter membaca file dump itu sendiri, jadi database sumber tidak perlu berjalan di mana pun. Skrip dimuat dengan klien milik target, seperti psql, mysql, atau sqlcmd.

### Apa yang tidak dikonversi?

View, trigger, stored procedure, fungsi, dan event ditulis dalam bahasa masing-masing database, jadi semuanya dicantumkan di laporan berdasarkan nama. Tabel, kunci, indeks, dan baris semuanya ada di skrip.

### Bisakah skrip dimuat langsung ke database saya?

Aplikasi desktop dan perintah intosql load menulis langsung ke SQLite secara gratis, dan ke PostgreSQL, MySQL, dan MariaDB dengan IntoSQL Pro. Untuk SQL Server dan Oracle, jalankan skrip dengan sqlcmd atau sqlplus.
