Atualizar automaticamente uma visualização materializada do PostgreSQL sem usar gatilhos

11

Criei uma exibição materializada nomeada view_table_Aem uma tabela de invólucro de dados externos table_A. O que eu quero é que a visualização seja atualizada automaticamente após cada nova inserção table_A. Eu tentei fazer isso com gatilhos, mas não funcionou.

É possível atualizar uma exibição materializada automaticamente sem usar gatilhos?

James
fonte

Respostas:

11

Como a_horse_with_no_name disse em um comentário:

Não, isso não é possível. Você precisa de algum tipo de agendador que execute a exibição materializada de atualização, por exemplo, pg_cron ou algo no nível do sistema operacional - a_horse_with_no_name

Como alternativa, se você precisar de um MATERIALIZED VIEWque seja atualizado ao executar SELECT, remova MATERIALIZEDe use regularmente VIEW. A materialização adiciona apenas um cache periódico. Só é necessário quando a consulta em si é proibitivamente lenta ou quente.

Evan Carroll
fonte