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

Responder a