PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Exporter uniquement les vues dans Postgres

Il n'y a pas d'indicateur direct pour le faire, mais en utilisant notre technique préférée d'interrogation du schéma pour générer une commande :

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');

Cela générera une chaîne qui peut être utilisée avec une commande pg_dump, par exemple :

 -t media.duplicated_component -t adv.advert_view_distribution 

Que vous pourriez ensuite insérer directement dans une ligne de commande :

pg_dump $(psql -c "select string_agg(...etc...)" db) db