Bom dia, senhores AMBIENTE: PostgreSQL 9.0.2 on x86_64-pc-linux-gnu, compiled by gcc-4.3.real (Debian 4.3.2-1.1) 4.3.2, 64bit
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) Recriei o índice e a consulta voltou a funcionar como era esperado. Quais as possíveis causas desse problema? Como posso evitar que volte a acontecer? Desde já, obrigado -- Marco Aurélio Carvalho Feitosa Analista de Sistemas Tribunal de Justiça do Estado de Roraima (95) 3198-2834/2837 _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
