Экспорт только просмотров в Postgres - PullRequest
9 голосов
/ 12 декабря 2011

Можно ли экспортировать только виды из схемы Postgres?

Я использую Postgres 8.4.

Спасибо.

Ответы [ 2 ]

19 голосов
/ 12 декабря 2011

Нет прямого флага для этого, но используется наш любимый метод запроса схемы для генерации команды:

select string_agg( '-t ' || quote_ident(nspname) || '.' || quote_ident(relname), ' ' )
  from pg_class join pg_namespace on pg_namespace.oid = pg_class.relnamespace
  where relkind = 'v' and not (nspname ~ '^pg_' or nspname = 'information_schema');

Это сгенерирует строку, которую можно использовать сКоманда pg_dump, например:

 -t media.duplicated_component -t adv.advert_view_distribution 

, которую вы можете затем напрямую объединить в командную строку:

pg_dump $(psql -c "select string_agg(...etc...)" db) db
6 голосов
/ 12 декабря 2011

Если у вас есть каждое представление с префиксом определенного префикса, вы можете использовать эту команду:

pg_dump -s -t 'prefix*' dbname > db.dump

или вы можете использовать ключ -t как можно больше с именами представлений ... См. Страницу man для pg_dump, в конце приведены примеры ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...