Em 03-12-2013 16:27, Fabio Barros escreveu:
Boa tarde!
Estou postando minha primeira dúvida na lista, e agradeço possíveis
comentários.
Fiz um REINDEX em uma tabela com cerca de 15 milhões de registros, com
cerca de meia dúzia de índices, e como meu disco é pequeno, acabou o
espaço no mesmo.
Percebi que o tamanho físico do database subiu de 9GB para 15GB, e ao
pesquisar, identifiquei vários arquivos perdidos na mesma, que
justificam esse crescimento.
Acredito que os arquivos se referem aos indices da tabela em questão,
e agora preciso 'limpar' esses arquivos do database.
Para testes, fizemos um dump/restore e o espaço ocupado fisicamente
voltou para os 9GB, mas temos o inconveniente de não poder fazer nada
na base de dados enquanto o processo é feito.
Posso simplesmente remover os arquivos 'perdidos'?
Há outro meio, mais seguro, de se fazer isso?
Desde já, agradeço as possíveis sugestões.
[]´s
Fabio Barros
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Olá Fabio.
Como está esta sua tabela? Está muito fragmentada?
Vc tem visto se o autovacuum está fazendo a reciclagem das tuplas mortas?
Qual a versão do Postgres que utiliza neste seu banco?
Vc pode usar as functions pg_stat_get_live_tuples(oid) as tpl_vivas e
pg_stat_get_dead_tuples(oid) as tpl_mortas, para verificar qual o
percentual na sua tabela de tuplas mortas.
Seria melhor também dropar os indices que não fazem parte de constraints
e depois recriá-los, ao invés do reindex.
Se a versao do seu banco for um pouco antiga, prefira o CLUSTER ao inves
de VACUUM FULL.
Abraco!
Lucio
--
Lucio Chiessi
Rio de Janeiro - Brasil
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral