domingo, 23 de maio de 2010

Erro PostgreSQL: Incorrect checksum in control file

Hoje tivemos um problema com o servidor de banco de dados PostgreSQL de um cliente. Neste servidor estava instalado o sistema operacional Linux Fedora 5, e o mesmo foi corrompido por conta de uma troca de componente do equipamento, para ser mais específico as memórias e a placa de rede.

Após a corrupção do SO, não conseguimos mais acesso as informações do banco de dados, e para nossa infelicidade o backup disparado automaticamente todas as noites também estava com 3 tabelas de grande importância corrompidas, impossibilitando a restauração.

Tentamos por horas a fio colocar o banco de dados no ar novamente em outro equipamento com o Linux, mas tudo em vão, todas as vezes que tentavamos subir o serviço do PostgreSQL tinhamos como retorno o seguinte erro: FATAL: Incorrect checkshum in control file.

Efetuamos diversas pesquisas na internet e chegamos a conclusão que o problema estava no sistema operacional que deveria ser de 64 bit´s como era o anterior que foi corrompido. Desta forma formatamos o equipamento e instalamos o SO Fedora 8 64 bits para efetuar o teste, mas mesmo assim o erro persistia. Depois de uma exaustiva busca, encontramos em um site a informação de que a versão do PostgreSQL deveria ser a mesma em que os arquivos estavam sendo executados antes da corrupção.

Buscamos e encontramos um banco rodando com a mesma versão que era a 8.1.9 do PostgreSQL, copiamos as pastas dos dados e executamos o serviço. Pronto, banco funcionando, fizemos o backup dos dados e restauramos no novo equipamento com o novo SO e novo PostgreSQL versão 8.1.20.

Fica ai então nossa dica para quem passar pelo mesmo problema. Tem que utilizar a mesma versão do banco para conseguir subir o serviço.

Um comentário:

  1. No final, a máquina que estava com a versão 8.1.9 era 32 bits mesmo, o que resolveu o problema de fato foi a versão do postgresql (8.1.9)

    ResponderExcluir