it-swarm.asia

Bagaimana cara mengubah database MySQL ke PostgreSQL?

Apakah ada alat baris perintah untuk mengubah database MySQL ke PostgreSQL? Saya juga ingin tahu apakah ada cara untuk mengkonversi database menggunakan perintah mysqldump normal.

20
Mughil

sudahkah anda mencoba:

mysqldump --compatible=postgresql dbname > export.sql

kemudian lakukan ini untuk menghindari kutip

sed "s/\\\'/\'\'/g" export.sql > export1.sql

mungkin perlu dipijat lagi jadi lihat mysqldump doco lebih dekat.

14
Nick Kavadias

Berikut adalah beberapa alat sumber terbuka, yang bisa sangat membantu:

FromMySqlToPostgreSql adalah alat jangkauan fitur dan sangat mudah digunakan.
Memetakan tipe data, memigrasi batasan, indeks, PK, dan FK persis seperti yang ada di db MySQL Anda.
Di bawah tenda menggunakan PostgreSQL COPY, jadi transfer data sangat cepat.
FromMySqlToPostgreSql ditulis dalam PHP (> = 5.4).

pgloader adalah alat pemuatan data untuk PostgreSQL, menggunakan perintah COPY. Keuntungan utamanya dibandingkan hanya menggunakan

COPY
\copy
NULL



7
AnatolyUss

Sebenarnya ada alat migrasi gratis yang cukup mudah digunakan, dikembangkan oleh EnterpriseDB sendiri. Itu dapat diinstal melalui StackBuilder: Migration Toolkit

3
uygar.raf

Anda dapat menggunakan EnterpriseDB Migration Wizard, misalnya.

Itu dapat dengan mudah melakukan migrasi OracleDB. Tetapi untuk Mysql, ia memiliki beberapa keterbatasan, misalnya, tidak mendukung tampilan, pemicu, prosedur tersimpan.

Untuk lebih lanjut, lihat EDB Migration Toolkit . Tidak yakin, tetapi dimungkinkan untuk melakukan migrasi mysql-> Oracle-> postgresql menyimpan prosedur tersimpan Anda (kalau-kalau ada).

Grep ini: Basis Data dan Alat Migrasi SQL

3
shcherbak

Baru-baru ini saya menggunakan alat yang tidak bebas dari DBConvert untuk mengonversi basis data akses ke postgres, dan menemukan bahwa itu sepadan dengan uang dibandingkan dengan jumlah waktu yang saya sia-siakan untuk melakukannya dengan andal gratis. Jual alat serupa ntuk MySQL <-> postgres , yang belum pernah saya gunakan, tetapi mungkin patut dipertimbangkan kecuali Anda hanya tertarik pada alat-alat baris perintah.

Jika Anda bertanya-tanya saya tidak berafiliasi dengan mereka dengan cara apa pun :-)

Ini hanya untuk menambah jawaban yang ada, yang membantu saya menemukan solusi ini. Saya menggunakan FromMySqlToPostgreSql . Yang perlu Anda lakukan adalah mengunduh dan mengekstrak FromMySqlToPostgreSql , buat salinan file contoh konfigurasi, tetapkan nilai koneksi db di dalamnya, dan jalankan file indeks dengan perintah berikut:

php index.php config.xml

Sederhana namun efektif!

1
toing_toing

Ada alat opensource yang menyediakan fungsionalitas untuk mengubah MySQL db menjadi Postgresql db termasuk dalam indeks, fks, dan data.

https://github.com/ggarri/mysql2psql

Alat ini juga memungkinkan untuk menentukan perubahan skema sehingga Anda dapat melakukan beberapa peningkatan pada skema Anda saat ini dalam waktu berjalan.

0
Gabriel Garrido