2014-09-09 17 views

Odpowiedz

11

Wystarczy:

SELECT pg_get_viewdef('myview'); 

od klienta do wyboru.

np. w 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); 

Działa to dla widoków normalnych i zmaterializowanych.

Alternatywnie, jak mówi Richard, użyj 's \d+, która wywołuje za kulisami pg_get_viewdef.

0
SELECT * FROM "pg_catalog"."pg_matviews" 

Oto lista wszystkich utworzonych zmaterializowanych widoków. Nigdy wcześniej nie używałam schematu pg_catalog ani go nie widziałem, a Navicat, GUI, którego używam, ukrywał "elementy systemu", które zawierały pg_catalog. Możesz wyłączyć ukrywanie skrętu w preferencjach aplikacji.

+2

Lub '\ d + widokname' z psql. Po prostu '\ d viewname' podaje definicje kolumn. –