RDBMS - CAST Storage Service - Error - Sorry too many clients
Description
This page provides the solution to the error of Sorry, too many clients that comes up while connecting to CAST Storage Service (i.e. with the CAST Dashboard or with any other CAST application).
Observed in CAST AIP
| Release | Yes/No |
|---|---|
| 8.3.x | ✅ |
| 8.2.x | ✅ |
| 8.1.x | ✅ |
| 8.0.x | ✅ |
| 7.3.x | ✅ |
Observed on RDBMS
| RDBMS | Yes/No |
|---|---|
| Oracle Server | ❌ |
| Microsoft SQL Server | ❌ |
| CSS2 | ✅ |
| CSS3 | ✅ |
Step by Step Scenario
Below is the step-by-step scenario leading to the problem:
- Open Dashboard or any other CAST Application.
- Get the error of Sorry, too many clients.
Impact of the Problem
The impact of the problem on the analysis or the dashboard is: The users will not be able to connect to CAST Storage Service through the CAST application.
Action Plan
The Sorry, too many clients error message can occur whenever you attempt to connect to the CAST Storage Service (i.e. with the CAST Dashboard or with any other CAST application) and when the maximum number of allowed simultaneous connections is exceeded.
The maximum number of allowed connections is defined in the following file path (assumes you have installed the CAST Storage Service in the default location)
%PROGRAMFILES%\CAST\CASTStorageService\db_data\postgresql.conf
If you or your users are experiencing this error on a regular basis, use the following two recommendations to work around the issue
Increase the maximum number of allowed connections
Modify the postgresql.conf file (with a text editor) to increase the maximum number of allowed connections. Change the max_connections parameter from the default 100 to 250:
max_connections = 250
<div class="alert alert-info" role="alert"><div class="h4 alert-heading" role="heading">Info</div>
Note that 250 is an absolute maximum - if you configure a higher number, the CAST Storage Service will ignore it and apply the 250 limit.
Note also that you will need to restart the CAST Storage Service in order for the change to be taken into account.
</div>
2. Close idle connections if the error message persists .
1. If you or your users are still experiencing this error message even after increasing the maximum number of allowed connections, then you can use the following queries to identify and terminate connections and/or processes that have been idle for a long period of time:
1. View all open connections
```
select * from pg_stat_activity
2. View processes with long IDLE times
```
select pid, usename, now()-query_start from pg_stat_activity where lower(state) like ‘%idle%’ and now()-query_start > interval ‘5 minutes’; – Define the period after which the connection will be timed out
3. Terminate processes with long IDLE times
```
select pid, usename, now()-query_start,
(SELECT pg_terminate_backend(pid)) -- Query to terminate the process
from pg_stat_activity
where lower(state) like '%idle%'
and now()-query_start > interval '5 minutes'; -- Define the period after which the connection will be timed out
Assuming you put (and adapt) the above script in the KillingScript.sql file, you then could execute it by running a command like:
```
psql -h localhost -p 2280 -d postgres -t -f KillingScript.sql
3. You can also modify the **idle\_in\_transaction\_session\_timeout** parameter in the postgresql.conf file depending on the requirement. This value is to be set in milliseconds. For example, 600000 milliseconds which is equivalent to 10 minutes.

**Impact of the Solution**
Impact of the solution on the analysis or the dashboard is: The users will be able to connect to CAST Storage Service through CAST Applications.
**Notes/comments**
**Related Pages**