Hello guys
I m still getting the too many clients error, now my postgresql
max _connections is 256
and shared_buffers = 2048

and this is how pg and dbutils
 from DBUtils.PooledDB import PooledDB
    web.config._hasPooling = True

 if 'db' not in globals():
                    globals()['db'] = PooledDB(dbapi=db, **keywords)
                web.ctx.db = globals()['db'].connection()

Do let me know if you have any solutions
"DBUtils is a suite of Python modules allowing to connect in a safe and efficient way between a threaded Python application and a database."
maybe the way python is being ran in your apache container, in a new instance per request, means that it cannot establish a persistent pool
in that each and every request attempts to setup the pool facility.
if this is teh case, you would really get much more performance to not use the python based pooling api all together, and use an external pooling product, like that sqlrealy http://sqlrelay.sourceforge.net/

i dont know anything about mod_python/.

but if it works anything like php does, then there are no persistent threads in the in-apache version of it.
i have made php command line toosl that work outside of the application, and they can have threads.

now the max_connections
max_connections = 256
shared_buffers = 2048

java web apps are all about persistent threads, that is things that can run when there is no one currently accessing the website.

FATAL:  sorry, too many clients already
LOG:  autovacuum: processing database "pop"