2014-11-20 4 views
2

Моей базы данных является PostgreSQL 9.3.5Где материализованные представления сохраняются в метаданных PostgreSQL

мы создали некоторые материализованные представления. мы можем видеть, что они находятся в папке с просмотром через инструмент pgadmin , но наша проблема заключается в том, что мы не можем узнать эти материализованные представления в метаданных , которые мы проверили в information_schema и во всех каталогах. мы нашли все таблицы, представления и схемы, кроме материализованные представления в метаданных

Благодарности Ragav

+1

'pg_class 'с' relkind = 'm'': http://www.postgresql.org/docs/current/static/catalog-pg-class.html –

+0

Спасибо a_horse_with_no_name.Мы нашли все материализованные имена представлений. Но нет имен столбцов и типы данных материализованных представлений – user3797729

+0

Вам нужно присоединиться к этому параметру 'pg_attributes '. Btw: есть также 'pg_matviews' для списка материализованных представлений. –

ответ

5

Запрос, как это даст вам обзор материализованных представлений и их столбцов:

select ns.nspname as schemaname, 
     mv.relname as matviewname, 
     string_agg(atr.attname ||' '||pg_catalog.format_type(atr.atttypid, NULL), ', ') as columns 
from pg_class mv 
    join pg_namespace ns on mv.relnamespace = ns.oid 
    join pg_attribute atr 
    on atr.attrelid = mv.oid 
    and atr.attnum > 0 
    and not atr.attisdropped 
where mv.relkind = 'm' 
group by ns.nspname, mv.relname; 
Смежные вопросы