Çok farklı iki DBMS arasında geçiş yapmak , verileri taşımaktan çok daha fazlasını gerektirir . Ancak verilerin taşınması genellikle en kolay kısımdır.
Ben denedim yolu, hangi ücretsiz ve çalıştığını onaylamak:
- mysql şeması oluştur sadece dökümü
- Bir metin düzenleyici ve çok sayıda arama ve değiştirme kullanarak SQL'i ayarlayın
- dönüştürülmüş SQL'i Postgres'de çalıştır
- MySQL'den düz bir metin dökümü oluşturun (örn. CSV veya başka bir sınırlı format)
- PostgreSQL'in COPY komutunu kullanarak verileri içe aktarın
MySQL'in yasa dışı verileri kabul etme davranışına güveniyorsanız verileri içe aktarmak gerçekten zor olabilir (31 Şubat gibi)
Benim tahminim, bunun bir araç aramaktan, bir demetini değerlendirmekten ve sonra seçtiğiniz aracı anlamaya çalışmaktan daha hızlı olacağıdır. Ama ne tür bir "büyük" den bahsettiğinize bağlıdır. Büyük yüzlerce tablo ise bu mümkün olmayabilir. Büyük yalnızca satır sayısına atıfta bulunuyorsa, bu muhtemelen bunu yapmanın en hızlı yoludur.
Liquibase , SchemaSpy veya WbSchemaReport gibi bir veritabanı şemasını DBMS bağımsız (XML) biçiminde dökebilen bazı araçlar vardır . Liquibase muhtemelen kullanımı en kolay olanıdır. Diğerleri, oluşturulan XML'i dönüştürmek için XSLT'yi yazmak / genişletmek için bazı manuel çalışma gerektirecektir.
MySQL'de tetikleyiciler ve saklı yordamlar kullanıyorsanız, daha sonra büyük bir manuel sabitleme gerektirmeden bunları çevirebilecek herhangi bir otomatik araç olacağına inanmıyorum - ve sonra oluşturulan prosedürler muhtemelen hedef DBMS'nin gelişmiş özelliklerini kullanmaz .