Migrasi antara dua DBMS sangat berbeda membutuhkan banyak lebih dari sekedar migrasi data. Tetapi migrasi data biasanya merupakan bagian yang paling mudah.
Cara yang saya coba, yang gratis dan saya dapat mengkonfirmasi bahwa itu berfungsi:
- buat dump skema hanya mysql
- Sesuaikan SQL menggunakan editor teks dan banyak pencarian dan ganti
- jalankan SQL yang dikonversi di Postgres
- Buat dump teks biasa dari MySQL (mis. CSV, atau format terbatas lainnya)
- impor data menggunakan perintah COPY PostgreSQL
Mengimpor data mungkin sebenarnya sulit jika Anda mengandalkan perilaku MySQL untuk menerima data ilegal (seperti 31 Februari)
Dugaan saya adalah, bahwa ini akan lebih cepat daripada mencari alat, mengevaluasi banyak dari mereka dan kemudian mencoba memahami yang Anda pilih. Tapi itu tergantung pada "besar" macam apa yang Anda maksud. Jika besar beberapa ratus tabel ini mungkin tidak layak. Jika besar hanya merujuk pada jumlah baris, maka ini mungkin cara tercepat untuk melakukannya.
Ada beberapa alat di luar sana yang dapat membuang skema basis data dalam format DBMS independen (XML), seperti Liquibase , SchemaSpy atau WbSchemaReport . Dengan Liquibase mungkin menjadi yang paling mudah digunakan. Yang lain akan membutuhkan beberapa pekerjaan manual menulis / memperluas XSLT untuk mengubah XML yang dihasilkan.
Jika Anda menggunakan pemicu dan prosedur tersimpan di MySQL, saya tidak percaya akan ada alat otomatis yang dapat menerjemahkannya tanpa memerlukan perbaikan manual besar sesudahnya - dan kemudian prosedur yang dihasilkan mungkin tidak akan menggunakan fitur canggih apa pun dari target DBMS .