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.
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.
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.
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.
-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 ‘eastgsm’ -n 'westgsm’ -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.