Czy jest jakieś narzędzie wiersza polecenia do konwersji bazy danych MySQL na PostgreSQL? Chciałbym również wiedzieć, czy istnieje sposób na konwersję bazy danych za pomocą zwykłego mysqldump
polecenia.
mysql
postgresql
mysqldump
Mughil
źródło
źródło
Odpowiedzi:
czy próbowałeś:
następnie zrób to, aby uniknąć cudzysłowów
może potrzebować więcej masowania, więc przyjrzyj się bliżej mysqldump doco.
źródło
mysqldump
jeszcze tego nie naprawił .syntax error at or near "(" LINE 2: "id" int(10) NOT NULL,
--compatible
jestansi
Oto kilka narzędzi typu open source, które mogą być bardzo pomocne:
FromMySqlToPostgreSql to narzędzie o szerokim zakresie funkcji i bardzo łatwe w użyciu.
Mapuje typy danych, migruje ograniczenia, indeksy, PK i FK dokładnie tak, jak w bazie danych MySQL.
Pod maską wykorzystuje PostgreSQL COPY, więc transfer danych jest bardzo szybki.
FromMySqlToPostgreSql napisany w PHP (> = 5.4).
pgloader to narzędzie do ładowania danych dla PostgreSQL, wykorzystujące polecenie COPY. Jego główna zaleta w porównaniu z samym użyciem
lub , a także nad używaniem opakowania danych obcych, to zachowanie transakcji, w którym pgloader zachowa osobny plik odrzuconych danych, ale nadal będzie próbował kopiować dobre dane w bazie danych. Domyślne zachowanie PostgreSQL ma charakter transakcyjny, co oznacza, że każda błędna linia w danych wejściowych (plik lub zdalna baza danych) zatrzyma całe masowe ładowanie tabeli. pgloader implementuje również formatowanie danych, typowym przykładem tego jest transformacja znaczników danych MySQL 0000-00-00 i 0000-00-00 00:00:00 do PostgreSQL wartość (ponieważ nasz kalendarz nigdy nie miał zerowego roku).pgloader napisany w LISP i dystrybuowany jako kod źródłowy, więc musisz go skompilować przed użyciem.
Mam nadzieję, że to ci pomoże ...
źródło
W rzeczywistości istnieje bezpłatne narzędzie do migracji, które jest dość łatwe w użyciu, opracowane przez samych EnterpriseDB. Można go zainstalować za pomocą StackBuilder: Migration Toolkit
źródło
Ostatnio korzystam z niewolnego narzędzia DBConvert do konwersji bazy danych dostępu na postgres i stwierdziłem, że jest on wart swojej ceny w porównaniu do ilości czasu, który zmarnowałem, próbując zrobić to niezawodnie za darmo. Sprzedaj podobne narzędzie do MySQL <-> postgres , z którego nie korzystałem, ale może być warte rozważenia, chyba że interesują Cię tylko narzędzia wiersza poleceń.
Jeśli zastanawiasz się, nie jestem z nimi w żaden sposób związany :-)
źródło
Możesz na przykład użyć Kreatora migracji EnterpriseDB.
Może symulować migrację OracleDB. Ale w przypadku Mysql ma pewne ograniczenia, na przykład nie obsługuje widoków, wyzwalaczy, procedur przechowywanych.
Aby uzyskać więcej informacji, zobacz Zestaw narzędzi do migracji EDB . Nie jestem pewien, ale można przeprowadzić migrację mysql-> oracle-> postgresql, zapisując procedury składowane (jeśli takie istnieją).
Grep this: Narzędzia do migracji baz danych i SQL
źródło
Wystarczy dodać do istniejących odpowiedzi, które pomogły mi znaleźć to rozwiązanie. Użyłem FromMySqlToPostgreSql . Wszystko, co musisz zrobić, to pobrać i wyodrębnić FromMySqlToPostgreSql , zrobić kopię przykładowego pliku konfiguracyjnego, ustawić w nim wartości połączenia db i uruchomić plik indeksu za pomocą następującej komendy:
Prosty, ale skuteczny!
źródło
Istnieje narzędzie typu open source, które zapewnia funkcje konwersji bazy danych MySQL na bazę danych Postgresql, w tym indeksy, fks i dane.
https://github.com/ggarri/mysql2psql
To narzędzie pozwala również definiować zmiany schematu, dzięki czemu można wykonać kilka aktualizacji bieżącego schematu w czasie wykonywania.
źródło