ich versuch im Rahmen eines Praxisprojektes die Migration einer großen Informix-DB nach PostgreSQL (unter Linux SLES8).
Gibt es eine Möglichkeit einen bestehenden Informix-Dump (SQL-File mit Tabellen) direkt mit psql nach PostgreSQL zu portieren, bzw. kann man mit pgdump die Informix-DB entsprechend sichern und nach PostgreSQL portieren ?!
Hat jemand schon Erfahrung mit so einer Migration ?
Beim Dump von Informix stehen Kommentare z.B. in geschweiften Klammern ‘{}’ und Informix schreibt auch Metadaten wie Delimiter (hier z.B. ‘|’ gegenüber Tab bei PostgreSQL) in diese Kommentare. Des weiteren stehen in den SQL-Statements Namen in doppelten Anführungszeichen …
------- Hier steht der Anfang der Datei hub.sql (Informix) --------
{ DATABASE hub delimiter | }
grant dba to “informix”;
grant dba to “root”;
grant connect to “public”;
{ TABLE “informix”.t_eds_id row size = 46 number of columns = 8 index size = 9 }
{ unload file name = t_eds00100.unl number of rows = 8690 }
Ich weiss, das “ESF Database Convert” das angeblich können soll, aber genutzt habe ich die Software noch nie.
Ansonsten: schreib dir in einer Programmiersprache deiner Wahl einen kleinen stateful Parser, der dir die Sachen konvertiert. Dürften bloss ein, zwei Tage Arbeit sein und die Zeit, die du mit der Suche nach einer passenden Software verwendest, dürfte hier auch gut investiert sein.
Naja, wenn das Tool beides versteht, wäre das sicher ein Weg. Du könntest auch versuchen mit regular expressions das sql-Statement anzupassen. Das ist ein Weg, den ich gerne mit Ultraedit nehme. Kommt auch ein bisschen auf den Umfang an.
Ich habe inzwischen von einem Tool gelesen welches InfToPg heißt und sowohl die sql-Files als auch die .unl - Tabellen parsen und nach PostgreSQL portieren kann … ich aber nirgens einen Download finden
Viel Erfolg! Berichte mir mal, wie groß der Aufwand war.
Gibt es eine Möglichkeit einen bestehenden Informix-Dump (SQL-File mit Tabellen) direkt mit psql nach PostgreSQL zu portieren, bzw. kann man mit pgdump die Informix-DB entsprechend sichern und nach PostgreSQL portieren ?!