PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Exportar apenas visualizações no Postgres


Não há sinalizador direto para fazer isso, mas usando nossa técnica favorita de consulta do esquema para gerar um comando:
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');

Isso gerará uma string que pode ser usada com um comando pg_dump, por exemplo:
 -t media.duplicated_component -t adv.advert_view_distribution 

Que você poderia então emendar em uma linha de comando diretamente:
pg_dump $(psql -c "select string_agg(...etc...)" db) db