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

Comment découvrir la requête sous-jacente d'une vue matérialisée que j'ai créée ?

Juste :

SELECT pg_get_viewdef('myview');

du client de votre choix.

par exemple. dans psql :

test=> CREATE MATERIALIZED VIEW fred AS SELECT x FROM generate_series(1,100) x;
SELECT 100
test=> \a\t
Output format is unaligned.
Showing only tuples.
test=> SELECT pg_get_viewdef('fred');
 SELECT x.x
   FROM generate_series(1, 100) x(x);

Cela fonctionne pour les vues normales et matérialisées.

Alternativement, comme le dit Richard, utilisez psql est \d+ , qui appelle pg_get_viewdef dans les coulisses.