O pgsql não tem forma  de impor um limite máximo de ram que uma conexão pode
usar. Teoricamente uma só conexão pode ocupar tanta ram que o servidor
começa a usar swapping e passa a ser uma máquina de calcular... 

Mas o dba tem varios parametros de configuração de memória que permitem
controlar o gasto de memoria por conexao. 

O principal sera o work_memory que indica a ram que uma conexao pode usar
numa unica operacao antes de comecar a usar o disco. Se essa conexao fizer
varias operacoes que consomem esta ram entao podera ocupar n vezes essa ram.
Eu tenho varios casos de conexoes configuradas com apenas 3mb de work_mem
que chegam a ocupar 1gb de ram, cada. (penso que é devido ao facto do
programa cliente manter as  conexões abertas indefinidamente em vez de abrir
e fechar conexões consoante necessita)

Por outro lado, o pgsql parece ser muito inteligente na gestao da memoria
conseguindo manter-se dentro dos limites da maquina "sozinho". Não percebi
bem ainda os mecanismos nem vi ainda explicações para este comportamento,
pelo menos em windows. Mas o facto é que funciona. 

Ha muitos artigos na net que indicam valores aconselhados para os principais
parametros. Depois o melhor é testar usando operacoes mais comuns ao nosso
dia a dia, vendo o comportamento da ram e do desempenho. E ajustar se
necessario... 

Five steps to postgresql performance 
http://www.pgexperts.com/document.html?id=36


Duarte 



--
View this message in context: 
http://osgeo-org.1560.n6.nabble.com/Ligacoes-PostrgreSQL-Postgis-tp5036688p5036923.html
Sent from the OSGeo Portuguese Local Chapter mailing list archive at Nabble.com.
_______________________________________________
Portugal mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/portugal

Responder a