Desculpe, amigo, o que eu disse foi para não deixar de fazer REINDEX dos
bancos de dados por mais de uma semana.
O ANALYZE deve ser executado sempre, para que o planejador e o otimizador de
consultas possam propriciar uma performance melhor no acesso aos dados.
Basicamente o que ele faz é uma amostragem dos dados em tabelas e índices
análise da quantidade e frequência de valores.
Se não puder usar o AUTOVACUUM (que pode processar ANALYZE e VACUUM
automaticamente e periodicamente), faça na mão (na sua aplicação ou via
agendamento de tarefas).
*** Resuminho padrão para otimização das bases de dados (tabelas, índices):
- ANALYZE: sempre após inserções de muitos registros de dados (via INSERT ou
COPY).
- VACUUM : sempre após alterações ou remoções de muitos registros de dados
(viam UPDATE ou DELETE). Vai possibilitar o reaproveitamento dos blocos
apagados e retardar a necessidade de um VACUUM FULL.
- VACUUM FULL:sempre após alterações ou remoções de muitos registros de dados
(viam UPDATE ou DELETE) e sempre que se quiser eliminar definitivamente os
blocos de apagados e liberar fisicamente o espaço em disco.
- REINDEX {TABLE|DATABASE}: como o VACUUM não "limpa" os blocos de dados
removidos dos índices, o REINDEX é necessário sempre após alterações ou
remoções de muitos registros de dados.
*** Como é meu procedimento padrão (nos + de 300 clientes com PostgreSQL)?
a) Deixo o autovacuum habilitado com intervalo de 60 minutos entre cada
verificação e limites variando de 10000 a 25000 registros inseridos para
ANALYZE e 20000 a 50000 registros atualizados ou removidos para VACUUM.
Veja na documentação os detalhes de configuração.
b) Executo, na ordem abaixo, em cada uma das bases de dados existentes:
VACUUM FULL;
REINDEX DATABASE <meu_banco>;
ANALYZE;
antes do backup das mesmas, via CRON no servidor. Estes procedimentos podem
ser realizados via programas "vacuumdb" e "reindexdb". Veja a documentação os
detalhes de funcionamento.
Abraços
Em Sexta 17 Agosto 2007 10:56, [EMAIL PROTECTED]
escreveu:
> Message: 5
> Date: Fri, 17 Aug 2007 10:25:57 -0300
> From: Marco A P D´Andrade <[EMAIL PROTECTED]>
> Subject: Re: [pgbr-geral] Travamento de Banco e Vacuum
> To: Comunidade PostgreSQL Brasileira
> <[email protected]>
> Message-ID: <[EMAIL PROTECTED]>
> Content-Type: text/plain; charset=iso-8859-1; format=flowed
>
> Vinicius,
>
> O Guilherme foi bem mais preciso sobre as considerações sobre tunning.
> Sugiro avaliar os criterios dele.
>
> A ideia é o uso de uma analyze, para que a escolha de indices seja a
> mais adequada, de acordo com critérios gerenciados pelo BD.
>
> Observe que ele põe a ressalva de nao passar de 1 semana sem
> processamento de estatísticas de pesquisa.
>
>
> Guilherme,
>
> Como disse, estou retomando. Gostrei de sua abordagem, bem completa !
> Vou tomar por base em meus estudos :)
>
>
> Sds,
> Marco Antonio
--
/*
Guilherme Augusto da Rocha Silva
Administração de Dados / Bancos de Dados
Gerência de Tecnologia da Informação
SIM Instituto de Gestão Fiscal
*/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral