pg-restore : Segmentation fault

Hi, ich hab ein pg-duimp angelegegt (für Server-Umzug). Die Datenbank war 50 GB groß, das Dump ca. 2.5 GB (pg_dump -F c … ).

So, nach einiger Zeit wunderbar … dump war fertig.

Problem

postgres@server1:/home/testuser/backups/30-03-08$ pg_restore -F c -d db_dump customer_tasks
Segmentation fault

Hab mal ein wenig im Internet recherchiert, und hab gefunden, dass es eine spezifikation gibt:

file too large, segmentation fault

Die frage ist, ist das hier der Fall und wenn ja wie kann ich das unter Linux (ubuntU) beheben.
Und wenn nicht, was könnte es sonst sein? :confused:

Gruß
Centext

Hi,

steht denn was in den serverlogs ?

Oder hast du einen coredump bekommen? Damit können dann wahrscheinlich aber nur die pg-hacker was anfangen.

Welche version eigentlich ?

Freundliche Grüße

hkocam

sind beides die identischen versionen 8.2

Also eine Spezifikation sollte der Crash nun wahrlich nicht sein …

Daher auch von mir die Frage: was taucht denn im Server Log auf?

Oh, und warum ist deine DB 50 GB groß, aber der Dump nur 2-3? Das ist selbst für Kompression etwas viel Verlust …

Eine Antwort kenn ich auch nicht, aber:

  • es gibt Filesystemabhängige Limits, daher die Frage: welches Filesystem? Aber halbwegs aktuelle Systeme sollten da keine Probleme machen, bei ext3 liegt das bei 16 GByte-2TB ext3 - Wikipedia, the free encyclopedia

Daß der Dump ‘nur’ 2-3 GByte hat, mag Gründe haben:

  • gut komprimierbare Daten, Faktor 10 und mehr ist da wohl u.U. realistisch
  • der Rest:
  • dead tuples
  • Indexe


    Frage an den Fragesteller: lief das pg_dump ohne Fehler durch? Kann es sein, daß auf dem Transport zwischen den Servern der Dump in der Länge verkürzt wurde? Wurde der Dump vielleicht via FTP transportiert, ohne auf binary zu schalten?

Andreas

Das mit der Komprimierung sollte richtig sein. Meine Datenbank ist vom Dateninhalt relativ gut komprimierbar. Generell bei einer 30 GB Datenbank ähnlicher Struktur hat das wunderbar und ohne weitere Probleme funktioniert.

Ich gehe auch von der Annahme aus, dass moderne Linux-System mit diesen Größen ohne Weiteres arbeiten kann.

pg-dump hat nach einer Laufzeit von knapp 1h keine Fehler gemeldet.

ServerLogs?, wo find ich diese?

PS: Ich versuche gerade einen Import mit Plain-Text. Hier ist das Backup ca. 32 GB, import läuft gerade.

Hi,

kommt auf deine Distri an.
Und deine Konfiguration, aber da hast du (wahrscheinlich) nichts dran getan, sonst wüßtest du wo sie liegen :~)

Also wichtig zu wissen wäre:
Welche Distribution
welche version von pg (8.2.??)

Vieleicht bist du nicht ganz auf dem neuesten Patchstand…

Unter ubuntu/debian liegen die PostgreSQL-Logs unter
/var/log/postgresql/postgresql-deine.version-main.log

Freundliche Grüße

hkocam

also meine Log-Datei heißt -8.2-main…

Hab über das Format “Plain-Text” alles wunderbar ex & importieren können. Ohne weitere Probs. Die Dumps waren aber unangenehm groß. Werde hier weiter am Ball bleiben und hier mehr posten wenn ich ein paar Fehlerquellen / Ergebnisse gefunden habe.

Erstmal Danke für die Tipps.