> On 08-08-2016 17:24, DERLEI LISBOA wrote: > > Como apagar este registro? > > > DELETE FROM foo WHERE chave = 123; > > > Mas, por ser um problema na header da página, não seria melhor subir > o sistema em modo mono-usuário com zero_damaged_pages = on ? > > > E, é claro, disparar um vacuum e reindex se necessário.
Você está em um caso claro de corrupção de dados, o que é raro e normalmente tem origens conhecidas. Sua primeira reação deve ser parar o PostgreSQL e fazer uma cópia física dos dados. Copie todo o diretório do PostgreSQL para um outro disco. Leve isso para outro computador e comece suas análises somente após ter seus dados em local seguro. Usar zero_damaged_pages é perigoso. Ao invés de falhar, o PostgreSQL vai apenas emitir um aviso e retornar resultados falsos em suas consultas. A princípio, isso não parece tão ruim, mas se você fizer um UPDATE maciço, você pode perder ainda mais dados. Na minha opinião, você deveria: 1) Copiar seus dados para outro lugar e não mexer mais no servidor de produção até resolver seu problema 2) Criar uma nova tabela. 3) Fazer INSERT INTO ... SELECT... na nova tabela, evitando as linhas problemáticas. 4) Apagar a tabela antiga e renomear a nova. 5) Fazer um pg_dump pra ver se tudo está ok. 6) Colocar em produção novamente APÓS CHECAR O SERVIDOR. Como causa do seu problema, sugiro verificar: a) a configuração fsync está habilitada? b) a configuração full_page_writes está habilitada? c) o valor de fsync_method é adequado ao seu sistema operacional? d) se a resposta às perguntas acima forem positivas, faça obrigatoriamente um memtest nesse servidor, senão siga abaixo. e) ajuste os parâmetros para evitar nova perda de dados. Faça tudo com cuidado e, se tiver dúvidas, venha com perguntas mais específicas para cada problema que encontrar no seu caminho. Se for muito crítica sua produção e a perda de dados pode te causar prejuízo, considere contratar uma consultoria especializada. Vários colegas aqui da lista trabalham em empresas de suporte PostgreSQL. []s Flavio Gurgel _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
