Olá, Em 30 de julho de 2012 14:15, Flavio Henrique Araque Gurgel < [email protected]> escreveu:
> > Em 30-07-2012 12:50, Marco Aurélio Carvalho Feitosa escreveu: > > Bom dia, senhores > > > > CONTEXTO: > > Tenho uma tabela de movimentações do processos que é alimentada > diariamente > > através de uma transformação (ETL - pentaho). > > Esta tabela está atualmente com mais de 20 milhões de registros. > > Nesta tabela temos um índice (mpinstancia , mpcodcomr , mpanoproc , > mpnumproc) > > > > PROBLEMA: > > Hoje me deparei com um problema que aparentemente é resultado de um > índice > > corrompido. > > > > SELECT mpinstancia, mpcodcomr, mpanoproc, mpnumproc, mpsequencial FROM > > bpu.movimentacao_processo > > WHERE mpinstancia = 1 AND mpcodcomr = 10 AND mpanoproc = 2001 AND > mpnumproc = 1890 > > > > está retornando: > > > > mpinstancia mpcodcomr mpanoproc mpnumproc mpsequencial > > 1 10 2001 1890 1 > > 1 10 2001 1890 2 > > 1 10 2001 1890 3 > > 1 10 2001 1890 4 > > 1 10 2001 1890 5 > > 1 10 2001 1890 6 > > 1 10 2001 1890 7 > > 1 10 2001 1890 8 > > 1 10 2001 1890 9 > > 1 10 2001 1890 10 > > 1 10 2001 1890 11 > > 1 10 2001 1890 12 > > 1 10 2001 1890 13 > > 1 10 2001 1890 14 > > 1 10 2001 1890 15 > > 1 10 2001 1890 16 > > 1 10 2008 914321 60 > > 1 10 2001 1890 19 > > 1 10 2001 1890 20 > > 1 10 2009 901354 21 > > > > > > Como vcs devem ter notado a consulta retornou 2 registros que não > satisfazem aos > > critérios informados. Esse erro não ocorre quando a mesma consulta é > executada > > sem a restrição "mpinstancia = 1" (sem utilizar o índice) > Tive problema parecido na semana passada. Seria versão 9.0.4 do PostgreSQL? > > > > Quais as possíveis causas desse problema? Como posso evitá-lo ou > remediá-lo? > > Nunca vi índice corromper no PostgreSQL sem que um erro de página > corrompida caísse no log e a consulta fosse cancelada. > > Talvez seu problema seja no relacionamento índice x tabela (as tuplas do > índice apontam pras tuplas erradas da tabela) mas nunca vi isso, só se > você fez algo manualmente de forma grosseira. > > Todavia, você pode fazer um REINDEX (reconstruir o índice) e ver se seu > problema se resolve. > > Em tempo, qual é a versão exata do PostgreSQL e do Sistema Operacional? > Ah, e também, quais os tipos de dados das colunas afetadas e o tipo do > índice. É um "covering index" ou outro tipo de índice não btree? > > []s > > Flavio Henrique A. Gurgel > Consultor e Instrutor 4Linux > Tel: +55-11-2125-4747 > www.4linux.com.br > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > Abraços -- JotaComm http://jotacomm.wordpress.com
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
