XX001: data_corrupted
PostgreSQLO que significa?
O PostgreSQL detectou corrupção de dados em uma página de tabela/heap. A consulta não pode ser concluída com segurança porque o conteúdo do bloco lido é inconsistente ('invalid page in block').
Por que acontece?
Falha de disco/armazenamento, corrupção do sistema de arquivos, garantias de fsync não respeitadas durante uma queda repentina de energia, hardware defeituoso (RAM/controladora) ou, raramente, um bug de software. Com checksums habilitados, a corrupção é detectada mais cedo.
Como resolver
Primeiro verifique o hardware/armazenamento e, se possível, planeje voltar imediatamente para um backup físico (PITR). Se houver um backup íntegro, restaure-o. Para recuperação, COM RISCO PARA OS DADOS e apenas como último recurso, você pode zerar as páginas danificadas com zero_damaged_pages = on e exportar os dados legíveis (isso causa perda de dados). Habilite data_checksums (em um cluster existente com PG12+, pg_checksums --enable com o servidor parado), execute testes de RAM e faça backups PITR regulares.