Создание дампа базы данных для определенных таблиц и записей Postgres
У меня есть база данных с сотнями таблиц, что мне нужно сделать, это экспортировать таблицы и Insert данных в один sql файл.
единственное утверждение, которое я знаю, может достичь этого
pg_dump -D -a -t zones_seq interway > /tmp/zones_seq.sql
должен ли я запустить этот оператор для каждой таблицы или есть способ запустить аналогичный оператор для экспорта всех выбранных таблиц в один большой sql big. Pg_dump выше не экспортирует схему таблицы только вставляет, мне нужны оба
любая помощь будем признательны.
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