Em 22 de julho de 2010 09:15, Fábio Gibon - Comex System < [email protected]> escreveu:
> > [Gibon] se a tabela estiver com algum bloqueio (usuário deixou uma > aplicação > aberta,...) o truncate vai ficar "waiting...", para evitar isto eu valido > se > não há bloqueios antes de rodar o truncate. Ou então vou usar o nowait e > tratar as exceções. > > Mas vc comentou que _precisa_ excluir os registros de um dia para o outro... então quando acontece da tabela estar com algum bloqueio vc não irá excluir os registros, certo??? > [Gibon] Porque são tabelas com MUITAS linhas deletadas, então optei pelo > FULL para fazer este "reorg" físico. > > Vc pode fazer um VACUUM normal diariamente e em janelas de tempo maior usar um REINDEX e o VACUUM FULL... e dependendo da sua estrutura de tabelas e índices pode ainda usar o CLUSTER [1] para ordenar a tabela baseado em algum índice, em certos casos isso ajuda na performance. > [Gibon] Rodo o analyze por não ter o autovacuum ativo. E desativo o > autovaccum para não ter processos concorrentes durante o dia (operacional), > entendendo que o vacuum/analyze sendo executado a cada dia (durante a > noite) > é o suficiente para garantir performance e otimização de espaço. > > Tenho que concordar com o Flávio, se bem configurado o autovacuum ajuda, e muito... mas a sua abordagem não deixa de estar correta... tenho clientes que uso autovacuum ativo e outros não... cada caso é um caso... Cordialmente, -- Fabrízio de Royes Mello >> Blog sobre TI: http://fabriziomello.blogspot.com
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
