2013-11-26 10 views
13

Ich möchte eine Sequenz von meinem pg_dump-Befehl ausschließen, die die Ausgabe in eine einfache Datei setzt.Gibt es eine Möglichkeit, pg_dump dazu zu bringen, eine bestimmte Sequenz auszuschließen?

Command: /Library/PostgreSQL/8.4/bin/pg_dump --host localhost --port 5433 --username xxx --format plain --clean --inserts --verbose --file /Users/xxx/documents/output/SYSTEM_admin_20131126015325.sql --exclude-table public.table1 --exclude-table public.table2 mydatabase 

Ich weiß, es sind Schalter für Tabellen, die ich oben bin mit, und dass Sie Datenbankobjekte im tar-Format in Kombination mit pg_restore im pg_dump documentation wie angegeben aktivieren/deaktivieren kann, aber ich werde nicht mit pg_restore sein.

Vielen Dank

Graham

Antwort

23

gibt es zwei Fälle:

  1. Die Sequenz durch eine Tabelle im Besitz auszuschließen ist Sie auch (typischer Fall: SERIAL Spalte) Dumping .
    Siehe: Dump a table without sequence table in postgres
    Kurze Antwort: Nein, die Reihenfolge kann nicht beiseite gelassen werden.

  2. Die Sequenz ist nicht im Besitz von einer gedumpten Tabelle. Dann kann es mit dem --exclude-table Switch ausgeschlossen werden, als wäre es eine Tabelle.

Von pg_dump Dokumentation:

-T Tabelle --exclude-table = Tabelle

Do not dump any tables matching the table pattern. 

Das Muster nach den gleichen Regeln interpretiert wird, wie für -t

Und über -t:

-t Tabelle
--table = Tabelle

Dump only tables (or views or sequences or foreign tables) matching table 
+0

Es ist eine Sequenz, die nicht von der Tabelle gehört, so dass die Ausschluss-Tabellenoption funktioniert super. – Graham