it-swarm.com.de

Wie konvertiere ich eine MySQL-Datenbank in PostgreSQL?

Gibt es ein Befehlszeilentool zum Konvertieren der MySQL-Datenbank in PostgreSQL? Ich würde auch gerne wissen, ob es eine Möglichkeit gibt, die Datenbank mit dem normalen Befehl mysqldump zu konvertieren.

20
Mughil

hast du es versucht:

mysqldump --compatible=postgresql dbname > export.sql

tun Sie dies dann, um Anführungszeichen zu vermeiden

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

möglicherweise müssen Sie etwas mehr massieren, schauen Sie sich also mysqldump doco genauer an.

14
Nick Kavadias

Hier sind einige Open Source-Tools, die sehr hilfreich sein können:

FromMySqlToPostgreSql ist ein Tool zum Erreichen von Funktionen und sehr einfach zu verwenden.
Es ordnet Datentypen zu, migriert Einschränkungen, Indizes, PKs und FKs genau so, wie sie in Ihrer MySQL-Datenbank waren.
Unter der Haube wird PostgreSQL COPY verwendet, sodass die Datenübertragung sehr schnell ist.
FromMySqlToPostgreSql geschrieben in PHP (> = 5.4).

pgloader ist ein Datenladetool für PostgreSQL, das den Befehl COPY verwendet. Sein Hauptvorteil gegenüber der bloßen Verwendung

COPY
\copy
NULL



7
AnatolyUss

Es gibt tatsächlich ein kostenloses Migrationstool, das recht einfach zu verwenden ist und von EnterpriseDB selbst entwickelt wurde. Es kann über den StackBuilder installiert werden: Migration Toolkit

3
uygar.raf

Sie können beispielsweise den EnterpriseDB-Migrationsassistenten verwenden.

Es kann OracleDB problemlos migrieren. Für MySQL gibt es jedoch einige Einschränkungen, z. B. unterstützt es keine Ansichten, Trigger und gespeicherten Prozeduren.

Weitere Informationen finden Sie unter EDB Migration Toolkit . Nicht sicher, aber es kann möglich sein, mysql-> Oracle-> postgresql zu migrieren und Ihre gespeicherten Prozeduren zu speichern (falls vorhanden).

Grep this: Datenbank- und SQL-Migrationstools

3
shcherbak

Ich habe kürzlich ein nicht kostenloses Tool von DBConvert verwendet, um eine Zugriffsdatenbank in Postgres zu konvertieren, und fand, dass es das Geld wert ist, verglichen mit der Zeit, die ich damit verbracht habe, es zuverlässig und kostenlos zu tun. Sie verkaufen ein ähnliches Tool für MySQL <-> postgres , das ich nicht verwendet habe, das aber durchaus eine Überlegung wert sein kann, es sei denn, Sie interessieren sich nur für Befehlszeilen-Tools.

Falls Sie sich fragen, ich bin in keiner Weise mit ihnen verbunden :-)

Dies ist nur eine Ergänzung zu den vorhandenen Antworten, die mir geholfen haben, diese Lösung zu finden. Ich habe FromMySqlToPostgreSql verwendet. Sie müssen lediglich FromMySqlToPostgreSql herunterladen und extrahieren, eine Kopie der Beispielkonfigurationsdatei erstellen, die darin enthaltenen Datenbankverbindungswerte festlegen und die Indexdatei mit dem folgenden Befehl ausführen:

php index.php config.xml

Einfach und doch effektiv!

1
toing_toing

Es gibt ein OpenSource-Tool, das Funktionen zum Konvertieren einer MySQL-Datenbank in eine Postgresql-Datenbank einschließlich Indizes, FKS und Daten bietet.

https://github.com/ggarri/mysql2psql

Mit diesem Tool können Sie auch Schemaänderungen definieren, sodass Sie zur Laufzeit einige Upgrades für Ihr aktuelles Schema durchführen können.

0
Gabriel Garrido