XML - Daten von DB auf Postgres Server einlesen

Datenbank Migration (z. B. von MySQL auf PostgreSQL)
Antworten
patpat
Neuer Benutzer
Beiträge: 1
Registriert: Mo 17. Apr 2006, 17:16
Wohnort: Schweiz

XML - Daten von DB auf Postgres Server einlesen

Beitrag von patpat »

Hallo zusammen

Ich bin neu in der Welt von *Postgre* deshalb auch meine Fragerei.
Ich habe auf einer DB XML-Daten gespeichert, diese wurden dort von einem PDA abgespeichert. Von dieser DB sollten die Daten nun auf einen externen Server überspielt und gesichert werden.
Meine Frage nun, das vorgehen für das Aus- Einlesen mittels Postre und XML ist das empfehlenswert oder würdet ihr mir davon abraten? Die Alternative ist mittels einem Oracle-Server, doch da ist die Herausforderung etwas kleiner.

Vielen Dank, Gruzz patpat

Xandrian
Erfahrener Benutzer
Beiträge: 1700
Registriert: Mi 23. Nov 2005, 09:17
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von Xandrian »

hi,

hier gibt es immer einen glaubenskrieg ;)

natürlich kannst du die xml-daten direkt in die datenbank ein ein großes textfeld einfügen. damit hast du natürlich am wenigsten arbeit allerdings ist das ja nicht das was eine relationelle datenbank auszeichnet ;)

sauber wäre es, wenn du die xml-datei "auseinander" nimmst und dann in einzele felder der entsprechenden tabelle die daten relationel ablegst. natürlich ist der aufwand größer und du benötigst eine im-/exportlogik.

was du machst musst du selber enscheiden... die lösung 1 ist halt praktisch nur ein datentopf mit irgendwas. du kannst hier also nicht so gut die vorteile einer datenbank ausnutzen weil du deine daten ja in einem eigenen format in die db legst...

cu tb.
pg-forum.de unterstützen? Meine Wunschliste

Bild

egeschwinde
Neuer Benutzer
Beiträge: 2
Registriert: Mo 6. Mär 2006, 19:02

xml2

Beitrag von egeschwinde »

Nimm aus dem contrib das xml2 modul.

Du kannst dann mit xpath direkt in den feldern suchen und sonst ncoh einiges machen

Würde mir nicht die Mühe machen das zu zerlegen - in einem Feld rein und mit xml2 drauf - spart sicher eine Menge arbeit.

Beispiel aus dem README:

SELECT * FROM
xpath_table('article_id',
'article_xml',
'articles',
'/article/author|/article/pages|/article/title',
'date_entered > ''2003-01-01'' ')
AS t(article_id integer, author text, page_count integer, title text);

Antworten