Você pode aumentar o número máximo de conexões alterando as configurações máximas de memória compartilhada. No entanto, se o problema é que suas conexões não estão sendo fechadas, você deve realmente resolver isso. Se o software estiver fora de seu controle e estiver com problemas por não fechar as conexões, você poderá usar algumas tarefas do cron como:
select pg_terminate_backend(procpid)
from pg_stat_activity
where usename = 'yourusername'
and current_query = '<IDLE>'
and query_start < current_timestamp - interval '5 minutes'
;
Isso é o que eu faço para matar vazamentos de conexões de um software semelhante a bugs.
Como alternativa, você pode executar seu software com bugs por meio de um conjunto de conexões que possui uma funcionalidade semelhante para eliminar conexões inativas, como o pgpool.
Observação : versões mais recentes do Postgres têm nomes de coluna ligeiramente diferentes:
select pg_terminate_backend(pid)
from pg_stat_activity
where usename = 'YOURDATABASEUSERNAME*'
and state = 'idle'
and query_start < current_timestamp - interval '5 minutes'
;