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

Wie finde ich die zugrunde liegende Abfrage einer von mir erstellten materialisierten Ansicht?

Nur:

SELECT pg_get_viewdef('myview');

vom Client Ihrer Wahl.

z.B. in 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);

Dies funktioniert für normale und materialisierte Ansichten.

Alternativ können Sie, wie Richard sagt, psql verwenden 's \d+ , die pg_get_viewdef aufruft hinter den Kulissen.