Olá Flávio, segue comentários abaixo... obrigado pelo retorno. ----- Original Message ----- From: "Gurgel, Flavio" <[email protected]> To: <[email protected]> Sent: Wednesday, July 21, 2010 11:14 PM Subject: Re: [pgbr-geral] Planejamento de Vacuum/Analyze x Performance
> Pessoal, > como não domino alguns conceitos do Post, por favor, podem me dizer se > a lógica que planejei é adequada? > > === cenário/necessidades === > - possuo tabelas que sofrem muitas inclusões/exclusões durante o dia, > e precisam manter os registros existentes (1) > - possuo tabelas que sofrem muitas inclusões durante o dia, porém > podem/devem ser zeradas de um dia para o outro (2) > - preciso ter o mínimo de processos rodando durante o dia que possam > intervir em disponibilidade/performance (3) > - preciso ter bons planos de execução (4) > > === planejamento === > - ter as seguintes rotinas automatizadas (e rodando a noite, nesta > ordem) - rodar um truncate table para as tabelas (2), verificando > antes de cada truncate se a tabela está disponível (ou usando nowait) O truncate é uma boa prática se você precisa realmente zerar as tabelas todas as noites. Não entendi o que você quer "verificar" antes do truncate. Poderia explicar melhor? [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. > - rodar um vacuum full para as tabelas (1), também validando a > disponibilidade de cada uma Por quê? [Gibon] Porque são tabelas com MUITAS linhas deletadas, então optei pelo FULL para fazer este "reorg" físico. > - rodar um analyze de todo banco (4) > - ativar o autovacuum (on) > - desativar o autovacuum (off) antes do início do dia (3) Não há necessidade de fazer analyze se seu autovacuum estiver bem configurado. Ele faz essa tarefa pra você. Por que desativar o autovacuum durante o dia? [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. [Gibon] Obrigado mais uma vez pelo retorno e por favor, fique a vontade para criticar/comentar estes procedimentos. Um abraço Fábio Henrique Gibon Flavio Henrique A. Gurgel tel. 55-11-2125.4786 cel. 55-11-8389.7635 www.4linux.com.br FREE SOFTWARE SOLUTIONS _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
