>>Autovacuum não faz bloqueios. Ele faz locks compartilhados que
    não fazem nenhuma consulta esperar.

    e update, faz esperar? no relatório tive update com mais de 50
    minutos de duração.

Sim. Melhor você estudar um pouquinho sobre o MVCC.
Um update pode bloquear outro sobre que atue sobre as mesmas linhas e esse bloqueio dura até o final da transação daquele que chegou primeiro.

     >>Não nada nos seus arquivos que indique "bloqueio de autovacuum".
     >>De onde você tirou essa conclusão?
    Eu não estava na empresa no momento, mas meus colegas disseram que
    pelo monitor do pgadmin o id de quem estava bloqueando era de um
    autovacuum.

Isso não existe. Primeiro, o que é "id" ?
Segundo, como eles viram isso?

     >>O principal ninguém diz:
     >>Como estão configurados e distribuídos seus discos?
    tudo no mesmo hd.

Aí sim a coisa complica.
Você pode estar tendo baixo desempenho por isso (e não bloqueio propriamente dito, embora seja possível como vimos acima) e isso se amplifica quando o autovacuum entra em execução.

Considere fazer os seguintes estudos:
- qual o perfil da sua aplicação, o que ela faz;
- quais as consultas mais lentas (isso o PgBadger já te mostrou);
- quais as tabelas e índices mais acessados (pg_statio_user_tables, pg_statio_user_indexes);
- separe o pg_xlog pra outro disco já pra começar;
- separe o S.O. pra outro disco, também já pra começar;
- qual o tamanho do seu banco de dados em disco.

Junte tudo, entenda seu banco de dados e o modelo dele, compre mais discos, reajuste os parâmetros autovacuum_* e tudo vai dar certo.

[]s

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

Responder a