REFRESH MATERIALIZED VIEW

REFRESH MATERIALIZED VIEW — substitui o conteúdo de uma visão materializada

Sinopse

REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] nome
    [ WITH [ NO ] DATA ]

Descrição

O comando REFRESH MATERIALIZED VIEW substitui inteiramente o conteúdo de uma visão materializada. Para executar este comando, é necessário ter o privilégio MAINTAIN na visão materializada. O conteúdo antigo é descartado. Se for especificado WITH DATA (o padrão), a consulta de suporte será executada para fornecer os novos dados, e a visão materializada será deixada em um estado legível. Se for especificado WITH NO DATA, nenhum novo dado será gerado, e a visão materializada será deixada em um estado não legível.

CONCURRENTLY e WITH NO DATA não podem ser especificados juntos.

Parâmetros

CONCURRENTLY

Atualiza a visão materializada sem bloquear as consultas concorrentes à visão materializada. Sem esta opção, uma atualização que afeta muitas linhas tenderá a usar menos recursos e concluir mais rapidamente, mas poderá bloquear outras conexões que estão tentando ler a visão materializada. Esta opção pode ser mais rápida nos casos em que é afetado um pequeno número de linhas.

Esta opção só é permitida se houver pelo menos um índice UNIQUE na visão materializada, que usa apenas nomes de coluna e inclui todas as linhas; ou seja, não deve ser um índice de expressão ou incluir uma cláusula WHERE.

Esta opção só poderá ser usada quando a visão materializada já estiver preenchida.

Mesmo com esta opção, pode ser executado apenas um REFRESH por vez em qualquer visão materializada.

nome

O nome (opcionalmente qualificado pelo esquema) da visão materializada a ser atualizada.

Notas

Havendo uma cláusula ORDER BY na consulta de definição da visão materializada, o conteúdo original da visão materializada será ordenado dessa forma; mas o comando REFRESH MATERIALIZED VIEW não garante a preservação dessa ordenação.

Enquanto REFRESH MATERIALIZED VIEW estiver em execução, o search_path será temporariamente mudado para pg_catalog, pg_temp.

Exemplos

Este comando substitui o conteúdo da visão materializada chamada order_summary, usando a consulta de definição da visão materializada, e a deixa no estado de legível:

REFRESH MATERIALIZED VIEW order_summary;

Este comando libera o armazenamento associado à visão materializada annual_statistics_basis, e a deixa no estado de ilegível:

REFRESH MATERIALIZED VIEW annual_statistics_basis WITH NO DATA;

Conformidade

O comando REFRESH MATERIALIZED VIEW é uma extensão do PostgreSQL ao padrão SQL.

Veja também

CREATE MATERIALIZED VIEW, ALTER MATERIALIZED VIEW, DROP MATERIALIZED VIEW