Подтвердить что ты не робот

Есть ли способ заставить pg_dump исключить определенную последовательность?

Я хочу исключить последовательность из моей команды pg_dump, которая помещает вывод в простой файл.

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

Я знаю, что есть переключатели для таблиц, которые я использую выше, и что вы можете включать/отключать объекты базы данных в формате tar в сочетании с pg_restore, как указано в документации pg_dump но я не буду использовать pg_restore.

Большое спасибо

Грэхэм

4b9b3361

Ответ 1

Есть два случая:

  • Последовательность для исключения принадлежит таблице, вы также демпинг (типичный случай: столбец SERIAL).
    Смотрите: Дамп таблицы без таблицы последовательностей в postgres
    Короткий ответ: нет, последовательность не может быть оставлена ​​в стороне.

  • Последовательность не принадлежит сбрасываемой таблицей. Затем его можно исключить с помощью переключателя --exclude-table, как если бы это была таблица.

Из документации pg_dump:

-T таблица --exclude стол = таблица

Do not dump any tables matching the table pattern.

Образец интерпретируется в соответствии с теми же правилами, что и для -t

И около -t:

-t таблица
--table = таблица

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