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

Responder a