Não há nenhuma ferramenta embutida no PostgreSQL para persistir as estatísticas do coletor periodicamente. Eles são considerados substituíveis. Tenha em mente que há uma diferença entre as estatísticas da tabela coletadas pelo analisador e as estatísticas coletadas pelo coletor de estatísticas . O último é o que acontece no stats_temp_directory.
Portanto, sua resposta aqui dependerá do motivo pelo qual você deseja persistir no caso de uma falha. Existem duas razões:
- Você não quer que o Autovacuum perca tabelas porque perdeu a contagem de atualizações;
- Você está usando as contagens de atualização da tabela como parte de seu monitoramento em algum lugar.
Eu diria que a primeira razão é provavelmente irrelevante a menos que você tenha alguma razão pela qual o PostgreSQL esteja sendo desligado inesperadamente todos os dias, e nesse caso você deve consertar isso. Além disso, você pode consertar as coisas apenas executando um VACUUM de banco de dados depois de reiniciar o Postgres.
Pela segunda razão, apenas acumular contadores não é útil em si mesmo. Quer dizer, se uma tabela tem 100.000 exclusões durante a sua vida, isso significa que ela tinha 1.000 por dia durante 100 dias, ou isso significa que alguém apagou metade da mesa ontem? Você não sabe Então, se você se preocupa com essas contagens, deve tirar uma foto instantânea de suas estatísticas todos os dias ou todas as horas para que você tenha tempo e conte. Você pode olhar para esta tentativa de reviver o pgStatsPack , uma ferramenta que fez exatamente isso.