Дамп таблицы psql с конкретными префиксами - PullRequest
4 голосов
/ 18 января 2011

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

Любая помощь в этом вопросе будет принята с благодарностью

Ответы [ 3 ]

7 голосов
/ 18 января 2011

Примеры из руководства :

Чтобы вывести все таблицы, имена которых начинаются с emp в детройтской схеме, кроме таблицы employee_log:

$ pg_dump -t 'detroit.emp *' -T detroit.employee_log mydb> db.sql

Для вывода всех схем, имена которых начинаются с востока или запада и заканчиваются в gsm, за исключением любых схем, имена которых содержат словоtest:

$ pg_dump -n 'east * gsm' -n 'west * gsm' -N ' test ' mydb> db.sql

То же самое, используязапись регулярного выражения для объединения ключей:

$ pg_dump -n '(восток | запад) * gsm' -N ' test ' mydb> db.sql

Toвыгрузить все объекты базы данных, кроме таблиц, имена которых начинаются с ts _:

$ pg_dump -T 'ts_ *' mydb> db.sql

0 голосов
/ 07 мая 2011

Вы можете использовать параметр "-t" несколько раз, если хотите создать дамп более чем одной таблицы.

$ pg_dump -t table1 -t table2 mydb> dump.sql

-t table --table = table

Dump only tables (or views or sequences) matching table. Multiple

Таблицы можно выбрать, написав несколько ключей -t.

0 голосов
/ 18 января 2011

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

...