2011/4/4 Angelo -TI - LightComm <[email protected]>

>
> Na verdade eu não sou DBA, mas estou ajudando o cliente com o servidor
> Linux dele, tentando analisar o que pode ser melhorado em questões de
> performance.
>

Faça o correto: recomende ao seu cliente que contrate um especialista. Já
que o banco de dados é crucial, é melhor contratar quem entende do assunto.


> Primeiramente o Cliente não tem um DBA para fazer a migração (se tivesse um
> DBA, pelo menos rodaria uns vaccums de vez em quando) para uma versão mais
> nova.
>

Mais uma razão para ter um DBA.


> O problema deste cliente é a quantidade de dados atual (200Gb) e o tempo
> que isso possa demorar (migração + testes).
>

200 GB não é tanto assim. Se houvesse um DBA que pelo menos tem um contrato
de manutenção com esse cliente, o problema não teria chegado nesse patamar.

É sempre melhor prevenir do que remediar.


> Na verdade a questão de rodar o Vacuum Full é porque todos os DBA's que eu
> conversei até hoje, sempre falaram em Vacuum Full e não em Vacuum Analyse e
> eu não estudei os tipos de Vacuum por não ser a minha área.
>

Contrate um DBA.


> O Vacuum Analyse trava as tabelas também? Tipo, tenho uma tabela de
> Histórico com 40 milhões de registros e esta tabela está vinculada a várias
> outras (chave estrangeira), o Vacuum Analyse iria somente varrer esta tabela
> e seus índices ou varreria também as tabelas relacionadas? (O último DBA que
> falei disse que um Vacuum Full em uma tabela, roda na tabela e em todas as
> tabelas relacionadas, o que me deixou preocupado, pois se for isso mesmo, se
> eu rodar na tabela de usuários, que se relaciona com todas as tabelas o
> banco vai travar.)


Só  vacuum full trava a tabela em que ele está trabalhando. Pode-se
especificar quais tabelas se quer fazer um vacuum analyze (vacuum analyze
tabela_tal). Se não passar nomes de tabelas, ele roda em todo o banco,
conforme a documentação.

O ideal é agendar no mínimo um vacuum analyze para um horário de pouco
movimento do banco, ou usar o autovacuum (que no 8.0 era um módulo externo,
hoje é incluído com o PostgreSQL). Se isso não for feito, a performance vai
gradativamente piorar, principalmente em tabelas de muitas atualizações
(UPDATE, INSERT, DELETE)

Roberto
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a