Estou executando o pgBouncer na frente de um banco de dados postgres 9 ocupado. Na maioria das vezes funciona bem. Mas, a cada poucas horas, recebo um e-mail de erro do meu aplicativo, com exceção do psycopg2:
OperationalError('não foi possível conectar ao servidor: não é possível atribuir o endereço solicitado O servidor está sendo executado no host "neo-hulk" e aceita conexões TCP/IP na porta 6432?')
Este é um aplicativo python com vários trabalhadores de aipo executando tarefas. Quando esses erros chegam, verifico o pgbouncer db e o tamanho do pool está dentro dos limites. Depois de algumas experiências, defini o tamanho máximo do pool para 400 e o tamanho do pool para 200. O modo pool é "sessão" (as solicitações são, em sua maioria, de confirmação automática, quase sem transações).
O que faz o pgBouncer 'desaparecer' assim? é apenas por curtos períodos de tempo (e, no total, estamos falando de uma pequena quantidade de solicitações em comparação com o grande volume de solicitações atendidas), mas as solicitações que falham são importantes.
Obrigado!