De acordo com os comentários dos usuários, as somas de verificação de dados do PostgreSQL têm sobrecarga mínima de tempo de execução (CPU e armazenamento), mas permitiriam (entre outras coisas) o uso pg_rewind
de recuperação pontual (PITR). No entanto, as somas de verificação de dados não são habilitadas por padrão e ativá-las no cluster HA já existente não é possível sem um tempo de inatividade bastante significativo. (Se entendi corretamente, você não pode habilitar checksums apenas no hot-standby e promovê-lo como novo mestre depois que habilitar os checksums foram concluídos no hot-standby.)
Existem alguns problemas pouco conhecidos se as somas de verificação de dados foram ativadas por padrão? Ou o estado padrão (somas de verificação desabilitadas) é apenas devido a razões históricas , embora habilitar somas de verificação de dados faça muito mais sentido em todos os casos?
Habilitar somas de verificação de dados não é de graça:
você tem que calcular as somas de verificação com frequência, o que custa CPU
as somas de verificação de dados exigem que os bits de dica sejam registrados no WAL, o que aumenta a quantidade de WAL que precisa ser gravado
Além disso, as somas de verificação de dados não oferecem nenhum benefício, a menos que você esteja usando armazenamento de má qualidade, onde os dados podem mudar entre o momento em que você escreveu um bloco e o momento em que o leu novamente.
Se você quiser usar
pg_rewind
, não precisará de somas de verificação de dados. É suficiente habilitar o parâmetrowal_log_hints
.Vou citar algumas opiniões dos principais desenvolvedores do postgresql
as somas de verificação de dados não podem capturar tantas corrupções de dados reais, não são gratuitas (especialmente com tamanhos pequenos de shared_buffers - as somas de verificação são calculadas ao gravar uma página no disco ou ao ler do disco para os shared_buffers) nem pela CPU nem pelo tamanho do WAL.
Sem problemas em si, mas o consenso geral até agora é que não há muitos benefícios para os usuários finais em habilitá-lo por padrão.