sql >> Databasteknik >  >> RDS >> PostgreSQL

Exportera endast vyer i Postgres

Det finns ingen direkt flagga för att göra detta, men genom att använda vår favorit query-the-schema-to-generate-a-command-teknik:

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

Detta kommer att generera en sträng som kan användas med ett pg_dump-kommando, t.ex.:

 -t media.duplicated_component -t adv.advert_view_distribution 

Som du sedan kan skarva in i en kommandorad direkt:

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


  1. Hur man beräknar kumulativ totalsumma i MySQL

  2. Ignorerar tidszoner helt och hållet i Rails och PostgreSQL

  3. Hur väljer jag TOP 5 PROCENT från varje grupp?

  4. Konvertera specialtecken till vanlig text i oracle