Tenho algumas visualizações materializadas difíceis de calcular, que quero poder fazer backup e restaurar usando os dados armazenados reais, e não recalculando.
É possível no PostgreSQL 9.4?
(a alternativa é criar tabelas reais, mas elas são mais difíceis de "atualizar")
postgresql
materialized-view
pg-dump
Ophir Yoktan
fonte
fonte
copy
para criar um dump de texto sem formatação dos dados (ou qualquer outro utilitário de exportação). Não tenho certeza de como restaurá-lo.Respostas:
Na verdade não. Você deve se lembrar que o comando pg_dump cria instruções CREATE TABLE e INSERT simples, etc. Assim, efetivamente, ao executar o pg_restore, você está executando as instruções CREATE e INSERT no servidor e inserindo os dados requerendo um comando "INSERT INTO MATERIALIZED VIEW". Isso não faria sentido, pois obter os dados por um atalho também colocaria em risco a "integridade" da exibição - você poderia inserir dados inválidos no processo de restauração manual que a exibição não retornaria de outra forma. Portanto, duvido que o PostgreSQL possa suportar a restauração manual de dados de visualizações materializadas diretamente no banco de dados.
Se você precisar fazer backup dos dados reais, eu recomendaria o uso de uma tabela em vez da visualização materializada e a execução de instruções DELETE FROM / INSERT INTO agendadas na tabela.
fonte