PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Exportieren Sie nur Ansichten in Postgres

Es gibt kein direktes Flag, um dies zu tun, aber unsere bevorzugte Technik zum Abfragen des Schemas zum Generieren eines Befehls:

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

Dadurch wird eine Zeichenfolge generiert, die mit einem pg_dump-Befehl verwendet werden kann, z. B.:

 -t media.duplicated_component -t adv.advert_view_distribution 

Was Sie dann direkt in eine Befehlszeile einfügen könnten:

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