Создание дампа базы данных для определенных таблиц и записей Postgres



У меня есть база данных с сотнями таблиц, что мне нужно сделать, это экспортировать таблицы и Insert данных в один sql файл.



единственное утверждение, которое я знаю, может достичь этого



pg_dump -D -a -t zones_seq interway > /tmp/zones_seq.sql


должен ли я запустить этот оператор для каждой таблицы или есть способ запустить аналогичный оператор для экспорта всех выбранных таблиц в один большой sql big. Pg_dump выше не экспортирует схему таблицы только вставляет, мне нужны оба



любая помощь будем признательны.

515   2  

2 ответов:

справа от руководство: "несколько таблиц могут быть выбраны путем записи нескольких-t переключателей"

Так что вам нужно перечислить все ваши таблицы

pg_dump -D -a -t zones_seq -t interway -t table_3 ... > /tmp/zones_seq.sql  

обратите внимание, что если у вас есть несколько таблиц с одним и тем же префиксом (или суффиксом), вы также можете использовать подстановочные знаки для их выбора с помощью :

"кроме того, параметр таблицы интерпретируется как шаблон в соответствии с теми же правилами, которые используются в psql \d команды"

Если эти конкретные таблицы соответствуют определенному регулярному выражению, вы можете использовать параметр regex in-t в pg_dump.

pg_dump -D -a -t zones_seq -t interway -t "<regex>" -f /tmp/zones_seq.sql <DBNAME>

например, чтобы сбросить таблицы, которые начались с "test", вы можете использовать

pg_dump -D -a -t zones_seq -t interway -t "^test*" -f /tmp/zones_seq.sql <DBNAME>

Comments

    Ничего не найдено.