PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Esporta solo visualizzazioni in Postgres

Non esiste un flag diretto per farlo, ma utilizzando la nostra tecnica preferita di query-the-schema-to-generate-a-command:

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

Questo genererà una stringa che può essere utilizzata con un comando pg_dump, ad esempio:

 -t media.duplicated_component -t adv.advert_view_distribution 

Che potresti quindi unire direttamente in una riga di comando:

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