Q. I am running PostgreSQL server for my web application and I am getting an error “Sorry too many clients when trying to connect to PostgreSQL”. How do I troubleshoot this database error?
A. This error indicates that you have reached the default limit set in your configuration postgresql.conf file. Under FreeBSD default limit is 40 database session. You need to increase this level.
Please note that increasing this level costs about 500 byes of shared memory per connection slot, in addition to costs from shared_buffers and max_locks_per_transaction.
Edit file /usr/local/pgsql/data/postgresql.conf (FreeBSD) or /var/lib/pgsql/data/postgresql.conf (Red Hat Linux) or /etc/postgresql/postgresql.conf (Debian Linux):
# vi /usr/local/pgsql/data/postgresql.conf
Locate parameter max_connections and set new value. For example if you want to 300 database session, it should read as follows:
max_connections = 300
Save the file and restart postgresql server. If you are using FreeBSD restart postgresql with following command:
# /usr/local/etc/rc.d/010.pgsql.sh restart
On the other hand, if you are using Debian Linux, restart postgresql with following command:
# /etc/init.d/postgresql restart