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
>         <pgbr-geral@listas.postgresql.org.br>
> 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
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a