Import von DB2: Timestamp-Format passt nicht

Hallo,

ich möchte mehrere von DB2 zyklisch erzeugte CSV-Dateien per COPY schnell in die dazugehörigen PostgreSQL-Tabellen importieren - leider kann PostgreSQL das ‘seltsame’ Timestamp-Format (z.B. 2005-12-24-11.12.59.000000) von DB2 nicht direkt verarbeiten.
Bislang habe ich per Script mit regulären Ausdrücken die CSV-Importdateien angepasst, allerdings dauert dies bei ca. 700.000 Datensätzen einige Zeit, die ich gerne einsparen würde.
Gibt es eine Möglichkeit, dass PostgreSQL das DB2-Timestamp-Format direkt verarbeiten kann ohne das vorher eine Konvertierung notwendig ist?

Gruß, Stephan

Hallo Stephan,

jede Datenbank besitzt Formatierungsfunktion für die Darstellung ihrer Daten. Also lass Dir die Formatierung des Timestamps von der DB2 so erstellen, dass Du das Timestamp-Format ohne extra Konvertierung in PostgeSQL einlesen kannst.


mfg
fristo

Hallo fristo,

danke für Deine Antwort - leider werden die CSV-Dateien von DB2 über die EXPORT-Funktion von DB2 erzeugt und hier ist keine derartige Formatierung möglich.

Trotzdem Danke…

Gruß, Stephan

hi,

was spricht dagegen, ein kleines programm/skript zu schreiben, dass die daten unformartiert?

alternativ wäre vielleicht eine unformartierung mit exel eine lösung.

cu tb

Hallo Xandrian,

so habe ich es ja bisher auch gemacht (per eigenem Script mit einem eigentlich sehr schnellen Programm namens Minitrue für die Konvertierung) - leider dauert mir die Konvertierung von ca. 700.000 Datensätzen (~ 600 MB) immer noch zu lange, da die Daten “zeitnah” zur Verfügung gestellt werden sollen, d.h. spätestens 10 Minuten nach Anstoss des Exports…

Gruß, Stephan

moin,

ok bei 600 mb dauert ja allein das schreiben bzw der transfer über das netzwerk a weng…

kannst du den export in die csv datei nicht einfach sein lassen und ein programm/skript entwickeln, dass zu beiden db servern einen connect macht und dann in der db2 selektiert und gleich in postgres schreibt?

die performance müsste recht gut sein weil das schreiben auf die hdd weg fällt…

cu tb

Hi!

Ja, das wird mein nächster Ansatz sein - mal schauen, was das performancemäßig bringt - wäre nur schön gewesen, da die Exportdateien von DB2 eh schon für andere Zwecke bereit gestellt werden…

Die HDD’s sind dank 4-fach 512-MB-cached RAID mit 10000er Platten nicht das Nadelöhr - hier ist es das 100er Netzwerk…

Gruß, Stephan