Wie migriere ich eine Datenbank von Postgres nach MySQL? [geschlossen]

9

Hallo, ich möchte einige Tabellen von einer Postgres-Datenbank in MySQL konvertieren. Idealerweise würde ich gerne ein Skript erstellen, das die Tabellen für PG in MySQL umwandelt, aber ich bin froh, wenn wir herausfinden können, wie wir es in einer nicht skriptfähigen Weise ermöglichen können.

Zunächst habe ich einen ähnlichen Beitrag hier gelesen: Datenbank von Postgres nach migrieren MySQL

Ich habe beide vorgeschlagenen Lösungen ausprobiert, aber sie haben es nicht geschafft.

Es ist wichtig zu sagen, dass Ich möchte die Struktur und die Daten migrieren.

Aber das Wichtigste zuerst, hier ist der SQL-Dump der Postgres-Datenbank:

%Vor%

1) Erster Ansatz, Verwenden von pG2Mysql : Ссылка Einfach und schnell (in der Theorie): Leider hat es mehrere Fehler beim Parsen:

Hier ist das Dokument abgerufen:

%Vor%

Wenn ich diese Datei mit einem beliebigen Database Manager in die Datenbank importiere, erhalte ich nur Fehler:

Aus irgendeinem Grund markiert der Parser Zeichen zwischen diesen Symbolen: ''. Wenn wir genau hinsehen, sind die Namen der Spalten manchmal zwischen "" und anderen nicht, WARUM?

Ich lösche diese Symbole um char und fahre fort, den gleichen Import erneut durchzuführen, aber wieder ist ein anderer Fehler aufgetaucht:

Geben Sie oid ein? was ist das? Lesen Ich sehe, dass ein Typ für Primärschlüssel verwendet wird ... An dieser Stelle entschied ich:

Ich habe genug!

2) Zweiter Ansatz, ich werde versuchen mit Mysql Workbench :

Ich habe diese Funktion in Ubuntu installiert und ich habe es versucht. Es gibt eine Option, Datenbanken zu migrieren, großartig!

1.- Ich führe die Quelle ein und teste die Verbindung:

2.- Dann das Ziel und testen Sie die Verbindung: (hey das sh - .. Ding könnte funktionieren! :))

3.- Der nächste Bildschirm, alles ist in Ordnung:

4.- Jetzt werde ich aufgefordert, das Schema auszuwählen, ich wähle die Standardoption:

5.- Und ich erhalte den folgenden Fehler, fehlgeschlagen in dem Punkt namens "Reverse Engineering ausgewählten Schemata".

%Vor%

6.- Wenn ich mit anderen Schematypen (PUNKT 4.-) versuche, schließt das Programm plötzlich:

Das ist alles, ich habe das auf verschiedene Arten mit Mysql Workbench ausprobiert, was großartig schien, aber leider hat nichts funktioniert.

Irgendwelche Ideen? Denken Sie daran, dass sich die Postgres-SQL am Anfang des Posts befindet, sodass jeder die Migration ausprobieren kann. Ich werde für jede erhaltene Hilfe sehr dankbar sein.

Jesús Redondo.

    
Jesus 24.04.2013, 10:36
quelle

1 Antwort

1

Das wird schwierig für Sie sein, fürchte ich.

  1. Sie scheinen PostgreSQL nicht zu verstehen
  2. Sie scheinen MySQL nicht zu verstehen
  3. Sie scheinen Ihr Datenbankschema nicht zu verstehen

Wenn das Ihr gesamtes Schema ist, kopieren Sie es einfach in Ihren Texteditor Ihrer Wahl und aktualisieren Sie es manuell.

Wofür die "oid" -Spalte verwendet wird, konnte ich nicht sagen, aber es hat nichts mit einem Primärschlüssel zu tun (vielleicht ein großes Objekt oder "Blob"?).

Das Zitat wird nur verwendet, wenn Sie die Groß- / Kleinschreibung identify LikeThis verwendet haben. Standardmäßig wird bei SQL nicht zwischen Groß- und Kleinschreibung unterschieden.

Mysql hat keinen echten "booleschen" Typ, wahrscheinlich möchten Sie bit oder tinyint verwenden.

Der Aufruf nextval () im Schema soll eindeutige IDs erzeugen. Dies ist eine PostgreSQL-Sache und wird in MySQL nicht unterstützt - Sie werden wahrscheinlich einen auto_increment-Modifikator benötigen.

Zwischen diesen Tipps und der pg2mysql-Ausgabe sollten Sie beginnen.

    
Richard Huxton 24.04.2013 13:18
quelle

Tags und Links