2013/7/1 Luiz Carlos L. Nogueira Jr. <lcnogueir...@gmail.com> > Pessoal, > Configurei o work_mem do meu postgres para 4MB. > Só que aparecem mais linhas no meu log e com tamanhos menores que 4MB. > > Em geral, a conta deve ser:
work_mem (novo) = wok_mem (antigo) + maior_arquivo_temporario + valor_extra Ou seja, o valor do arquivo temporário que aparece pode ser o que o PostgreSQL precisou ***além*** do work_mem. O valor_extra é difícil de calcular, mas pode ser uma aproximação. > 2013-07-01 11:08:26 BRT [25765]: [217-1] db=pje_jud1g_descanso_p,user= > user_pje_jud1g@192.168.252.19(35567) 0:13/1092 LOG: temporary file: path > "base/pgsql_tmp/pgsql_tmp25765.107", size 504624 > 2013-07-01 11:08:35 BRT [26091]: [135-1] db=pje_jud1g_descanso_p,user= > user_pje_jud1g@192.168.252.19(35683) 0:40/778 LOG: temporary file: path > "base/pgsql_tmp/pgsql_tmp26091.66", size 3476016 > 2013-07-01 11:08:35 BRT [26091]: [137-1] db=pje_jud1g_descanso_p,user= > user_pje_jud1g@192.168.252.19(35683) 0:40/778 LOG: temporary file: path > "base/pgsql_tmp/pgsql_tmp26091.67", size 2801864 > > No seu caso eu colocaria work_mem para pelo menos 10MB (se tiver memória para isso, claro), pois veja que a seção 16091 gerou cerca de 6MB de arquivos temporários. > Isso acontece pq "estourou" meu maintenance_work_mem? > work_mem = 4MB > maintenance_work_mem = 1500MB > Nesse caso ocorreu por ter estourado o work_mem, não o maintenance_work_mem. A não ser que estava executando algum CREATE INDEX, ADD CONSTRAINT, etc. Atenciosamente, -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral