Ergebnis 1 bis 6 von 6

Thema: pg_restore - Namespaces & Sequence numbers

  1. #1
    max.p ist offline Neuer Benutzer
    Registriert seit
    03.07.2008
    Beiträge
    3

    Standard pg_restore - Namespaces & Sequence numbers

    Hallo,

    ich bin mir nicht ganz sicher, ob das hier das Richtige Forum ist, also bitte ggf. verschieben...

    Ich habe einen Dump mit "pg_dump -Fc [...]" erstellt und möchte nun nur bestimmte Teile davon wiederherstellen.

    1. Frage:
    Kennt jemand eine Möglichkeit, mit pg_restore nur die aktuellen SeqNo-Values wiederherzustellen?
    Meine SeqNo enden alle auf "_seq". In der .dump-Datei gibt es dafür also Zeilen wie "SELECT pg_catalog.setval('abc_seq', 16, true);".

    2.Frage:
    Meine Tabellen heißen alle "tab*", also müsste es doch laut Doku möglich sein, mit der Option "-n" zu arbeiten, um nur die Tabellen (ohne Funktionen etc.) wiederherzustellen, oder habe ich da einen Denkfehler?
    Jedenfalls führt "pg_restore.exe [...] -n 'tab*' abc.dump" nicht zum gewünschten Ergebnis.


    Meine PG-Version ist 8.2.9.


    Vielen Dank schonmal und viele Grüße
    max

  2. #2
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von max.p Beitrag anzeigen

    Ich habe einen Dump mit "pg_dump -Fc [...]" erstellt und möchte nun nur bestimmte Teile davon wiederherstellen.

    1. Frage:
    Kennt jemand eine Möglichkeit, mit pg_restore nur die aktuellen SeqNo-Values wiederherzustellen?
    Meine SeqNo enden alle auf "_seq". In der .dump-Datei gibt es dafür also Zeilen wie "SELECT pg_catalog.setval('abc_seq', 16, true);".
    grep existiert.

    2.Frage:
    Meine Tabellen heißen alle "tab*", also müsste es doch laut Doku möglich sein, mit der Option "-n" zu arbeiten, um nur die Tabellen (ohne Funktionen etc.) wiederherzustellen, oder habe ich da einen Denkfehler?
    Jedenfalls führt "pg_restore.exe [...] -n 'tab*' abc.dump" nicht zum gewünschten Ergebnis.
    -n stellt Objekte, und zwar alle des spezifizierten Schemas wieder her, und es erwartet IIRC keine Regex. Möglicherweise bist Du beim Studium der Man-page noch nicht bis zum Buchstaben t gelangt.



    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
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Für die Zukunft: zieh dein Backup im Custom Format (--format=c), dann kannst du bei pg_restore ganz elegant einzelne Objekte wiederherstellen.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  4. #4
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Für die Zukunft: zieh dein Backup im Custom Format (--format=c), dann kannst du bei pg_restore ganz elegant einzelne Objekte wiederherstellen.
    Hint: Zitat: "Ich habe einen Dump mit "pg_dump -Fc ".

    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

  5. #5
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Ups, überlesen.

    In dem Fall: mit pg_restore -l die Liste der Inhalte im Backup exportieren, danach auswählen, was man zurückspielen möchte. Dabei kann man ggf. auch nur die Sequenzen auswählen.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  6. #6
    max.p ist offline Neuer Benutzer
    Registriert seit
    03.07.2008
    Beiträge
    3

    Standard

    Danke für die schnellen Antworten.

    -n stellt Objekte, und zwar alle des spezifizierten Schemas wieder her, und es erwartet IIRC keine Regex. Möglicherweise bist Du beim Studium der Man-page noch nicht bis zum Buchstaben t gelangt.
    Doch (unglaublich aber wahr) ich bin bis zum Buchstaben t gelangt
    Mir ist aber leider trotzdem nicht klar, wie -n und -t kombiniert werden sollen...vll stehe ich aber auch einfach auf dem Schlauch.
    Auf der pg-dump Seite wird außerdem das Beispiel
    To dump all schemas whose names start with east or west and end in gsm, excluding any schemas whose names contain the word test:
    $ pg_dump -n 'east*gsm' -n 'west*gsm' -N '*test*' mydb > db.sql
    angegeben, deswegen bin ich davon ausgegangen, das auch bei pg_restore "... -n 'tab*' ..." funktioniert.
    Außerdem wäre es interessant zu wissen, ob das nur mit Tabellen, oder auch mit Sequenzen geht, also bei mir "... -n '*_seq' ...", da das ja auch, im Sinne von
    -n namespace

    --schema=schema

    Restore only objects that are in the named schema.
    Objekte sind(?).

    grep existiert.
    ... (leider) unter Windows

    In dem Fall: mit pg_restore -l die Liste der Inhalte im Backup exportieren, danach auswählen, was man zurückspielen möchte. Dabei kann man ggf. auch nur die Sequenzen auswählen.
    Ok, nur für die Sequenzen kann ich diesen Weg gehen. Hatte die Möglichkeit mit -l bzw. -L schon verworfen, da ich da auf ein anderes Problem mit dem Umsortieren der Zeilen gestoßen bin, siehe http://www.pg-forum.de/sonstige/2545...sortieren.html .
    Geändert von max.p (04.07.2008 um 11:43 Uhr)

Ähnliche Themen

  1. sequence zählt falsch
    Von Gilbi im Forum SQL
    Antworten: 11
    Letzter Beitrag: 21.03.2011, 17:54
  2. Antworten: 7
    Letzter Beitrag: 14.01.2009, 16:26
  3. pg_restore Dateiformat
    Von gürteltier im Forum Migration
    Antworten: 7
    Letzter Beitrag: 08.08.2008, 09:40
  4. Trigger als Sequence mit eigenem "Kriterium"?
    Von pantarhei im Forum Trigger und Funktionen
    Antworten: 4
    Letzter Beitrag: 18.07.2007, 22:01
  5. Create Sequence
    Von methusalem im Forum SQL
    Antworten: 8
    Letzter Beitrag: 25.06.2007, 11:35

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