Eu estou querendo saber como consultar a definição de uma visão materializada no Postgres. Para referência, o que eu esperava fazer é muito semelhante ao que você pode fazer para uma visualização regular:
SELECT * FROM information_schema.views WHERE table_name = 'some_view';
que lhe dá as seguintes colunas:
table_catalog
table_schema
table_name
view_definition
check_option
is_updatable
is_insertable_into
is_trigger_updatable
is_trigger_deletable
is_trigger_insertable_into
Isso é possível para visualizações materializadas?
Da minha pesquisa até agora, parece que as visões materializadas são deliberadamente excluídas do information_schema, porque
O information_schema só pode mostrar objetos que existem no padrão SQL.
( http://www.postgresql.org/message-id/[email protected] )
Como eles parecem estar totalmente excluídos do information_schema, não tenho certeza de como fazer isso, mas o que eu gostaria de fazer é duplo:
- Consultar se existe uma visão materializada específica. (Até agora, a única maneira que encontrei de fazer isso é tentar criar uma visualização de esteira com o mesmo nome e ver se ela explode.)
- E, em seguida, consulte a definição da visualização materializada (semelhante à
view_definition
coluna eminformation_schema.views
).