Srs

O seguinte problema nos ocorre:

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. Tirado da pg_stat_all_tables as atualizações
na tabela pg_attribute em dois momentos, com 1 minuto de intervalo:

|n_tup_ins|n_tup_upd|n_tup_del|dh_consulta
----------+---------+---------+------------------------
|699710351|       40|699664383|2012-06-13 14:11:01.107469-03
|699738443|       40|699692475|2012-06-13 14:12:01.948497-03
|    28092|        0|    28092|



  pid  | database |  user   | application | ip | seconds | locked |
                         current_query
-------+----------+---------+-------------+----+---------+--------+----------------------------------------------------------------------------------
 21255 | corepj   | pgsql   |             |    |    4599 | f      |
autovacuum: VACUUM ANALYZE pg_catalog.pg_attribute
 21047 | corepj   | pgsql   |             |    |     793 | f      |
autovacuum: VACUUM bucardo.delta_relacional_fgts
 91791 | corepj   | pgsql   |             |    |     757 | f      |
autovacuum: VACUUM ANALYZE pg_catalog.pg_type
 16456 | corepj   | pgsql   |             |    |     660 | f      |
autovacuum: VACUUM ANALYZE bucardo.delta_relacional_qsa
 76891 | corepj   | pgsql   |             |    |     226 | f      |
autovacuum: VACUUM ANALYZE pg_catalog.pg_depend
 19727 | corepj   | pgsql   |             |    |     202 | f      |
autovacuum: VACUUM ANALYZE farm.cnpj_cnae
 44957 | corepj   | pgsql   |             |    |      96 | f      |
autovacuum: VACUUM pg_catalog.pg_statistic
 10079 | corepj   | pgsql   |             |    |      87 | f      |
autovacuum: VACUUM ANALYZE geral.status_funcao
 49839 | corepj   | pgsql   |             |    |      36 | f      |
autovacuum: VACUUM ANALYZE pg_catalog.pg_class
 37330 | corepj   | pgsql   |             |    |      31 | f      |
autovacuum: VACUUM bucardo.delta_relacional_cnpj_cnae

select count (*) from pg_catalog.pg_attribute
8943
rows


Parametros de autovaccum do postgresql.conf

autovacuum => on
autovacuum_analyze_scale_factor => 0.1
autovacuum_analyze_threshold =>50
autovacuum_freeze_max_age =>200000000
autovacuum_max_workers=>10
autovacuum_naptime  => 60
autovacuum_vacuum_cost_delay => 20
autovacuum_vacuum_cost_limit =>-1
autovacuum_vacuum_scale_factor =>0.2
autovacuum_vacuum_threshold=>50
log_autovacuum_min_duration=>-1


Aumentamos o autovacuum_max_workers para 10 e mesmo assim todos eles ficam
alocados o tempo todo.O que pode estar acontecendo?


Desde já agradeço a atenção dispensada.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a