Migracja między dwoma bardzo różnymi DBMS wymaga znacznie więcej niż tylko migracji danych. Ale migracja danych jest zwykle najłatwiejsza.
Sposób, który wypróbowałem, który jest bezpłatny i mogę potwierdzić, że działa:
- utwórz zrzut tylko schematu mysql
- Dostosuj SQL za pomocą edytora tekstu i wielu wyszukiwań i zamień
- uruchom przekonwertowany SQL w Postgres
- Utwórz zrzut zwykłego tekstu z MySQL (np. CSV lub inny format rozdzielany)
- zaimportuj dane za pomocą polecenia COPY PostgreSQL
Import danych może być trudny, jeśli polegasz na zachowaniu MySQL w celu zaakceptowania nielegalnych danych (np. 31 lutego)
Domyślam się, że będzie to szybsze niż szukanie narzędzia, ocenianie kilku z nich, a następnie próba zrozumienia tego, który wybrałeś. Ale to zależy od tego, do jakiego „dużego” masz na myśli. Jeśli duże jest kilkaset tabel, może to nie być możliwe. Jeśli duży odnosi się tylko do liczby wierszy, to prawdopodobnie jest to najszybszy sposób na zrobienie tego.
Istnieje kilka narzędzi, które mogą zrzucić schemat bazy danych w formacie niezależnym od DBMS (XML), takich jak Liquibase , SchemaSpy lub WbSchemaReport . Liquibase jest prawdopodobnie najłatwiejszym w użyciu. Inne będą wymagały ręcznej pracy przy pisaniu / rozszerzaniu XSLT w celu przekształcenia wygenerowanego XML.
Jeśli używasz wyzwalaczy i procedur przechowywanych w MySQL, nie sądzę, aby istniało jakieś zautomatyzowane narzędzie, które może je przetłumaczyć bez konieczności późniejszego poważnego ręcznego ustawiania - a wtedy wygenerowane procedury prawdopodobnie nie wykorzystałyby żadnych zaawansowanych funkcji docelowego DBMS .