Em 13-06-2012 15:41, Targino Silveira escreveu: > Boa tarde pessoal, > > Gostaria de discutir com vocês qual seria a melhor solução para um > problema que estou tendo, é o seguinte tenho tenho em meu sistema varias > tabelas que sofrem diariamente um grande volume de updates, e isso faz > com que elas acumulem uma grande quantidade de versões de registros, e > com passar dos dias elas acabam ficando muito grande, e tornando as > consultas lentas, até agora não fiz nenhuma configuração de Auto Vacuum, > ele esta com as configurações default de instalação e não tem dado conta > do recado. > > Só pra vocês terem uma idéia tenho em um cliente uma tabela pequena, > 500kb, porém essa tabela deve receber acima de 15.000.000 de updates > diariamente, e diariamente ela acaba crescendo vários megas, coisa que > chegou ao ponto de chegar em 2gb. > > Minha pergunta é qual a melhor forma de se trabalhar com tabelas que > sofrem com grandes quantidades de updates diários? Seria otimizando o > Auto Vacuum especificamente para elas ou agendar um vacuum full a cada X > dias ?
autovacuum bem ajustado é o melhor caminho. Vacuum Full agendado é bom apenas para tabelas pequenas. Sugiro o seguinte: Faça um dump/restore da tabela para começar. Diminua o valor das configurações autovacuum_analyze_scale_factor e autovacuum_vacuum_scale_factor gradativamente (divida por dois, depois pode dois novamente). Basta dar reload no PostgreSQL, não precisa reiniciar. Faça isso até que sua tabela permaneça com um tamanho "médio", sempre maior que o tamanho real, mas sem crescer demais. Coloque também a configuração log_vacuum_min_duration para 0 para poder ver todas as execuções de vacuum nas tabelas e ir ajustando as suas configurações. []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
