mysql dump nach pgsql konvertieren

guten tag

kennt jemand ein tool, das mir einen etwas größeren mysql dump (ca. 700 MB) in einen Postgresql dump konvertiert ?

Hab schon 2 Programme ausprobiert. Einmal das mysql2pgsql welches bei FreeBSD in den Ports ist und ein Perl script, das ich über google gefunden habe, my2pg.pl, aber leider hats bei beiden nicht richtig geklappt.

Beim mysql2pgsql wurden sämtliche create table ausgelassen, soweit ich das gesehn hab und auch sonst sah der ziel dump etwas komisch aus.
Und beim my2pg.pl schaffte er den pgdump nur auf die größe von 74 MB und dann blieb er stehen.

Kenn sich jemand mit diesen beiden tools aus ? Oder kennt ein besseres ? Was mache ich falsch, oder muss ich beim mysql dump ziehen etwas beachten (z.B. keine extended INSERTS usw…) ?

mfg
henrik

moin,

ich hab vor kurzen daten von mysql nach postgres portiert. waren aber weniger (nur ca 450 mb).

lösung war, das ganze in mehreren schritten zu machen. hab zuerst die struktur exportiert. hier kannst du bei mysqldump postgresql kombatibilität angeben. dann musst du die datei aber immer noch konvertieren. hatte da ein kleines php skript. den dump einfach mit psql einlesen und du hast die struktur.

im zweiten schritt exportierst du nur die daten als extendet inserts. anderst ging es bei mir nicht - was ich bis heute nicht versteh… diesen dump lädst du in einem editor deiner wahl und löschsr hier die ´ raus die mysqldump bei den feldnamen einfügt.

den bearbeiteten dump kannst du dann einspielen. bei mir hat es sich als vorteilhaft herausgestellt, den dump für die daten zu segmentieren weil hier doch u.u. noch fehler auftreten können.

viel spaß beim portieren und noch schöne feiertage.

cu tb

Du meinst wohl mit --extended-insert=FALSE . Denn wenn ich nen dump mit extended inserts ziehe, dann wird kein einziger datensatz importiert und ständig fehler geschmissen beim einspielen.

Hab für die struktur immernoch kein richtig tolles program gefunden, deshalb wär ich für einen Hinweis auf das Script dankbar. Hab vorallem Probleme bei ENUM und SET Datentypen. Gibts dazu ein Gegenstück in Postgres ?

hi,

kannst du mal ein oder zwei biespieldatensätze (inserts) posten die nicht gehen? die komischen hochkommas (`) die mysqldump da immer rein macht, machen hier probleme…

enum bzw. set gibt es in postgresql nicht. das musst du mit sog. check klauseln abfangen. als “grunddatentyp” dann halt character (varying) oder integer bzw was du halt brauchst…

als konverter programm hab ich damals das perl skript “my2pg” verwendet. du findest es bei freshmeat (http://freshmeat.net/projects/my2pg/).

cu tb.

nachtrag der vollständigkeit wegen. mir ist ein fehler unterlaufen… :confused:

nicht extended inserts sondern vollständige hab ich gemeint :confused: sry.

cu tb.

Hallo,

MySQL2PostgreSQL PRO (derzeit 1.4.1) ist ein solches Werkzeug. Das Programm müßte auch größere Datenmengen bewältigen können. In der Demoversion kommen die Strukturen und jeweils die ersten 10 Datensätze mit.

Gruß Christian