Em 05-09-2013 09:57, JotaComm escreveu:
    Quanto tá o autovacuum_vacuum_cost_delay e
    autovacuum_vacuum_cost_limit ?


autovacuum_vacuum_cost_delay = 20ms
autovacuum_vacuum_cost_limit = -1

Como autovacuum_vacuum_cost_limit = -1, ele usa vacuum_cost_limit. Tá quanto lá?

    O autovacuum tá desligado? Deve estar, senão não estaria rolando
    esse prevent wraparound.


Não. O autovacuum esta ligado (autovacuum = on).

O mais estranho é que tenho tabelas infinitamente maiores  e roda sem
problemas. Também acho estranho que facço um pg_cancel_backend, retorna
TRUE e mesmo assim o processo continua em execução.

Cara, wraparound é pesado, vai na tabela toda, não tem jeito.
O que o Euler recomendou é o melhor: mata o autovacuum e já inicia um VACUUM na mão.

Mas faz assim pra acabar o mais rápido possível (só que vai fazer I/O pra burro e interferir em transações, então, faça em horário de baixo movimento):
SET vacuum_cost_delay = 0;
VACUUM ANALYZE tabela;

Se não der tempo/resolver, um dump/restore da tabela seria bem vindo, já que ela não é tão grande, ou um CLUSTER.

[]s

__________________________________
Flavio Henrique A. Gurgel
Líder de Projetos Especiais
Consultoria, Projetos & Treinamentos 4LINUX
Tel1: +55-11.2125-4747 ou 2125-4748
www.4linux.com.br
email: fla...@4linux.com.br
______________________________
FREE SOFTWARE SOLUTIONS
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a