Több mint 10 éve üzemeltetünk Postgres alapú rendszert rendes terheléssel, sose volt ilyen problémánk.
Nálunk 400 connection-t enged a pg, azon a kliens semmilyen módon nem tud túlfutni, a mondatod azon részét nem is igazán értem.
A PG-nek van egy olyan attributuma (most nem jut eszembe pontosan) ami a connectionök egyedi memóriája (talán work_mem).
work_mem * max_connection fizikai memorial kell legyen a rendszerben (ezt swapelni nyilván nincs értelme).
Memória fragmentáció szerintem akkor tud előfordulni ha valaki nagyon gyorsan nyit-zár-nyit-zár kapcsolatokat.
Rosszul implementált/nem használt pool handlingre gondolok, nem postgres hibára.
PG illetve kernel oldalon max. tüneti kezelést tudok elképzelni, illetve lehet hogy memória bővítés megoldaná a dolgot.
--
Gábriel Ákos
http://ixenit.com