Gibt es ein Befehlszeilentool zum Konvertieren der MySQL-Datenbank nach PostgreSQL? Ich würde auch gerne wissen, ob es eine Möglichkeit gibt, die Datenbank mit dem normalen mysqldump
Befehl zu konvertieren .
mysql
postgresql
mysqldump
Mughil
quelle
quelle
Antworten:
Hast du es versucht:
dann tun Sie dies, um Anführungszeichen zu entgehen
Möglicherweise muss noch etwas massiert werden. Schauen Sie sich mysqldump doco genauer an.
quelle
mysqldump
noch repariert.syntax error at or near "(" LINE 2: "id" int(10) NOT NULL,
--compatible
istansi
Hier sind einige Open-Source-Tools, die sehr hilfreich sein können:
FromMySqlToPostgreSql ist ein Tool mit umfangreichen Funktionen und sehr einfach zu verwenden.
Es ordnet Datentypen zu, migriert Constraints, Indizes, PKs und FKs genauso wie in Ihrer MySQL-Datenbank.
Unter der Haube wird PostgreSQL COPY verwendet, sodass die Datenübertragung sehr schnell ist.
FromMySqlToPostgreSql geschrieben in PHP (> = 5.4).
pgloader ist ein Tool zum Laden von Daten für PostgreSQL mit dem Befehl COPY. Sein Hauptvorteil gegenüber nur mit
oder und die Verwendung eines Foreign Data Wrappers ist das Transaktionsverhalten, bei dem pgloader eine separate Datei mit abgelehnten Daten aufbewahrt, aber weiterhin versucht, einwandfreie Daten in Ihre Datenbank zu kopieren. Das standardmäßige PostgreSQL-Verhalten ist transaktional, was bedeutet, dass jede fehlerhafte Zeile in den Eingabedaten (Datei oder entfernte Datenbank) das gesamte Massenladen für die Tabelle stoppt. pgloader implementiert auch die Neuformatierung von Daten. Ein typisches Beispiel hierfür ist die Umwandlung von MySQL-Datenstempeln 0000-00-00 und 0000-00-00 00:00:00 in PostgreSQL value (weil unser Kalender nie ein Jahr Null hatte).pgloader ist in LISP geschrieben und wird als Quellcode vertrieben. Sie müssen ihn also kompilieren, bevor Sie ihn verwenden können.
Hoffe es wird dir helfen ...
quelle
Es gibt tatsächlich ein kostenloses Migrationstool, das recht einfach zu verwenden ist und von EnterpriseDB selbst entwickelt wurde. Es kann über das StackBuilder: Migration Toolkit installiert werden
quelle
Ich habe kürzlich ein nicht-kostenloses Tool von DBConvert verwendet , um eine Access-Datenbank in Postgres umzuwandeln, und fand, dass es das Geld wert ist, verglichen mit der Zeit, die ich damit verbracht habe, es zuverlässig und kostenlos zu machen. Sie verkaufen ein ähnliches Tool für MySQL <-> Postgres , das ich nicht verwendet habe, aber es kann durchaus erwägenswert sein , es sei denn, Sie interessieren sich nur für Befehlszeilen-Tools.
Falls Sie sich fragen, bin ich in keiner Weise mit ihnen verbunden :-)
quelle
Sie können beispielsweise den EnterpriseDB-Migrationsassistenten verwenden.
Es kann OracleDB problemlos migrieren. Für MySQL gibt es jedoch einige Einschränkungen. Beispielsweise werden Ansichten, Trigger und gespeicherte Prozeduren nicht unterstützt.
Weitere Informationen finden Sie unter EDB Migration Toolkit . Ich bin nicht sicher, aber es kann möglich sein, mysql-> oracle-> postgresql zu migrieren, indem ich Ihre gespeicherten Prozeduren speichere (falls vorhanden).
Grep this: Datenbank- und SQL-Migrationstools
quelle
Dies ist nur eine Ergänzung der vorhandenen Antworten, die mir bei der Suche nach dieser Lösung geholfen haben. Ich habe FromMySqlToPostgreSql verwendet . Sie müssen lediglich FromMySqlToPostgreSql herunterladen und extrahieren , eine Kopie der Beispielkonfigurationsdatei erstellen, die DB-Verbindungswerte darin festlegen und die Indexdatei mit dem folgenden Befehl ausführen:
Einfach und doch effektiv!
quelle
Es gibt ein OpenSource-Tool, das Funktionen zum Konvertieren einer MySQL-Datenbank in eine Postgresql-Datenbank mit Indizes, FKS und Daten bietet.
https://github.com/ggarri/mysql2psql
Mit diesem Tool können Sie auch Schemaänderungen definieren, damit Sie zur Laufzeit einige Aktualisierungen Ihres aktuellen Schemas durchführen können.
quelle