Ergebnis 1 bis 3 von 3

Thema: Wiederherstellen von Large Objects mit pg_restore

  1. #1
    batzee ist offline Neuer Benutzer
    Registriert seit
    27.08.2007
    Beiträge
    26

    Standard Wiederherstellen von Large Objects mit pg_restore

    Hi,

    bei einem Dump-Restore Zyklus mit Partitionierung einiger großen Tabellen sind leider die Large Objects verlorengegangen, weil das -b Flag bei pg_dump vergessen wurde. Nun habe ich einen großen Dump (gezippt 10GB, SQL-Format 53GB) aus dem Backup wieder herstellen lassen, in dem anscheinend die large objects enthalten sind. Es müssten so an die 20.000 LOs sein.

    Wie kann ich nun die Large Objects (und nur die large Objects) in eine bestehende Datenbank wiederherstellen, ohne den Rest zu überschreiben?

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von batzee Beitrag anzeigen
    Hi,

    bei einem Dump-Restore Zyklus mit Partitionierung einiger großen Tabellen sind leider die Large Objects verlorengegangen, weil das -b Flag bei pg_dump vergessen wurde. Nun habe ich einen großen Dump (gezippt 10GB, SQL-Format 53GB) aus dem Backup wieder herstellen lassen, in dem anscheinend die large objects enthalten sind. Es müssten so an die 20.000 LOs sein.

    Wie kann ich nun die Large Objects (und nur die large Objects) in eine bestehende Datenbank wiederherstellen, ohne den Rest zu überschreiben?
    Der man-page nach zu urteilen:

    Code:
    -b
    
           --blobs
                  Include large objects in the dump. This is the default behavior except when --schema, --table, or --schema-only is specified,  so
                  the -b switch is only useful to add large objects to selective dumps.
    hast Du mit dem weglassen von -b alles richtig gemacht, oder?

    Was Du hättest machen können/sollen: -Fc setzen, oder hast das gemacht? Falls ja, dann kannst Du ein mit pg_restore -l Listfile aller Objekte erstellen und dann dieses Listfile editieren und dann wieder als Parameter beim pg_restore mit -L angeben.

    Falls das Plain ASCII - Format ist (Dein Dump), dann brauchst halt einen $EDITOR, der mit 53GB kein Problem hat.


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    batzee ist offline Neuer Benutzer
    Registriert seit
    27.08.2007
    Beiträge
    26

    Standard

    Ähm, ich glaube ich muss das Problem nochmal genauer beschreiben (und gleich die Lösung mit).

    Beim Ziehen der Dumps wurde -t (--tables) benutzt, daher war -b nicht mehr default, und daher fehlten die Blobs.

    Nun hatte ich eine Datenbank auf Produktion laufen, bei der die Blobs fehlten, und von dem vorherigen Stand mit Blobs hatte ich aber noch einen Dump (dieser wurde ohne --tables erzeugt, daher sind die Blobs enthalten).

    Nun suchte ich nach einem Weg, aus dem alten Dump _nur_ die Blobs wiederherzustellen, ohne dabei den Rest der Datenbank anzufassen. Das geht mit pg_restore nicht. Ich habe es deshalb so gelöst:

    - Dump auf einen Testrechner kopieren
    - Dort DB wiederherstellen
    - eine leere Dummytabelle anlegen
    - pg_dump -b -Fc -t dummytabelle
    - diesen Dump auf dem Zielsystem wiederherstellen.

    Etwas kompliziert und aufwändig, aber hat geklappt.

Ähnliche Themen

  1. Frage zu: Dateien als large objects speichern
    Von overtime im Forum Programmierung
    Antworten: 1
    Letzter Beitrag: 06.12.2011, 11:33
  2. Antworten: 7
    Letzter Beitrag: 14.01.2009, 16:26
  3. bytea/Large-Object Performance
    Von oliver.schulze im Forum Programmierung
    Antworten: 10
    Letzter Beitrag: 03.09.2008, 17:25
  4. Große Datenmengen! Mit Large Objects?
    Von newvil44 im Forum Programmierung
    Antworten: 9
    Letzter Beitrag: 18.08.2007, 11:22
  5. Unlink large object with plpgsql
    Von Domski im Forum Programmierung
    Antworten: 2
    Letzter Beitrag: 01.12.2005, 13:43

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum