On 13-06-2012 14:25, Tiago Valério wrote: > Possuimos funções que criam tabelas temporárias do tipo on commit drop, estas > funções rodam frequentemente e isto esta gerando um gargalo na execução do > daemon autovacuum conforme resumo abaixo.Em especial gostaria de citar a > pg_catalog.pg_attribute com seus 4599 segundos de execução constante. Essas > tabelas da pg_catalog terminam o vacuum e iniciam novamente num ciclo sem fim. > Com log_autovacuum_min_duration = 0 capture todas as execuções do autavacuum na tabela pg_catalog.pg_attribute. Um tempo de execução alto do autovacuum não é normal se ele não estiver mal configurado.
Qual o tamanho dessa tabela? SELECT pg_relation_size(oid),reltuples,relpages FROM pg_class WHERE relname = 'pg_attribute'; Qual a saída da consulta abaixo em um determinado intervalo: select now(),* from pg_stat_sys_tables where relname = 'pg_attribute'; > select count (*) from pg_catalog.pg_attribute > 8943 > rows > Com esse número de tuplas a execução do autovacuum deveria ser rápida. Qual é a saída do comando abaixo (se é que o processo do autovacuum na pg_attribute ainda existe): strace -p 21225 > Aumentamos o autovacuum_max_workers para 10 e mesmo assim todos eles ficam > alocados o tempo todo.O que pode estar acontecendo? > Há alguma menção nos logs de uma mensagem no estilo 'canceling autovacuum task'? -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
