Konvertieren dauert ewig

Darian

Erfahrenes Mitglied
Hallo Leute,

da ich gerade dabei bin größere Daten von PostGre zu MySQL zu konvertieren, und die Files zu groß sind um sie mit dem Browser zu senden, habe ich mir ein Programm einfaches Programm geschrieben was das direkt von File zum File macht.

Dieses Programm läuft aber auch bei kleineren Datenbanken ewig, und hat noch nie ein File erstellt.

Hier nun der Code:

PHP:
<?php

include "pg2mysql.inc.php";

$input = file_get_contents("dantlinger.dump.sql");

//echo $input;

$output = pg2mysql(stripslashes($input));

//echo $output;

//echo "<textarea>$output</textarea>";

file_put_contents("dantlinger.mysql.sql", $output);

echo "File erstellst";

?>

Am file_put_contents liegt es nicht, weil das echo $output auch nichts ausgibt.

Fehler kommen keine. mit dem original programm von pg2mysql funktioniert es bei der kleinen db, bei größeren dumps spielt der browser aber nicht mehr mit.

Wäre fein wenn jemand ein paar Ideen hätte was man da machen könnte.

lg Darian
 
Warum machst du es nicht an der Console? Dump aus Postgre-SQL-Server ziehen auf lokale Festplatte => Konverter ausführen => SQL in MySQL-Server importieren

Vielleicht habe ich dich auch falsch verstanden.

BTW: Ich stelle mir grade die Frage, warum man eine existierende PGSQL nach MySQL konvertiert. Umgekehrt sehe ich ja echt ein, aber warum will man ein System verschlechtern?
 
Hi,

Warum machst du es nicht an der Console? Dump aus Postgre-SQL-Server ziehen auf lokale Festplatte => Konverter ausführen => SQL in MySQL-Server importieren

ich glaube, genau das versucht er gerade, nur der Teil "Konverter ausführen" hängt. ;)

@Darian: Wie groß ist denn groß und wie lange ist ewig? Läuft es denn durch?
Ich habe das mal mit dem Dump probiert, der die Copy-Befehle enthält, das liefert innerhalb von einer halben Sekunde die erwarteten CREATE-Statements.

LG
 
Hallo,

na ja, eine DB hat so um die 53Mb und eine andere die ich auch zum Testen nehme 684kb.

Denke das dürfte nicht so das Problem sein. Zum durchlaufen bin ich nicht gekommen, das die kleine DB sicher in ein paar Sek haben müsste, und darum habe ich abgebrochen. Ich habe es aber auch schon ca. 1h laufen gelassen.

Ohne Erfolg.

lg Darian
 
Hi,

tja, aus der Ferne lässt sich da nichts sagen. Die 684KB-Datenbank darf aber keine Stunde dauern.
Vielleicht machst Du das besser in 2 Schritten. Lass PostgreSQL nur die CREATE-Statements erzeugen und konvertiere die mit dem Tool. Bei den Timestamps musst Du dann wohl noch nachbessern. Das importierst Du in MySQL, damit Du schon mal die Tabellen hast.
Dann exportierst Du die reinen Daten tabellenweise (sind hoffentlich nicht zu viele?) in CSV-Dateien und importierst die jeweils über LOAD DATA INFILE.

LG
 
Hallo,

bei einer Datenbank handelt es sich um gallery2, und das sind schon ziemlich viel.

Aber ich werde jetzt mal sehen ob die INSERTS nicht doch gleich sind, dann würde das einiges an Problemen lösen.

lg Darian

<edit> Ich brauche nur die Struktur konvertieren, die Daten kann ich einfach 1 zu 1 importieren. Ich denke somit wäre das Problem gelöst. :-)
Danke für die Infos
 
Zuletzt bearbeitet:
Zurück