问题
I want to exclude a sequence from my pg_dump command which is putting the output into a plain file.
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
I know there are switches for tables which i am using above and that you can enable/disable database objects in the tar format in combination with pg_restore as stated in the pg_dump documentation but I will not be using pg_restore.
Many Thanks
Graham
回答1:
There are two cases:
The sequence to exclude is owned by a table you're also dumping (typical case:
SERIAL
column).
See: Dump a table without sequence table in postgres
Short answer: no, the sequence can't be left aside.The sequence is not owned by a dumped table. Then it can be excluded with the
--exclude-table
switch as if it was a table.
From pg_dump documentation:
-T table --exclude-table=table
Do not dump any tables matching the table pattern.
The pattern is interpreted according to the same rules as for -t
And about -t
:
-t table
--table=tableDump only tables (or views or sequences or foreign tables) matching table
来源:https://stackoverflow.com/questions/20216673/is-there-a-way-to-get-pg-dump-to-exclude-a-specific-sequence