a month ago
Hi,
I'm encountering 500 error when accessing the Railway server.
Here is what it logs out:
django.db.utils.OperationalError: connection to server at "gondola.proxy.rlwy.net" (66.33.22.247), port 38445 failed: FATAL: sorry, too many clients already
connection to server at "gondola.proxy.rlwy.net" (66.33.22.247), port 38445 failed: FATAL: sorry, too many clients already
Project ID: 7701f2a0-8e16-4792-bd77-b9c21f0407c6
2 Replies
a month ago
It means that you hit the maximum connection limit of your database.
Consider using a connection pooler (ex. pgbouncer) to prevent this from happening.
Having an application-level connection pooler (psycopg2 has a pooler available https://www.geeksforgeeks.org/python/python-postgresql-connection-pooling-using-psycopg2/) will also lessen the likelihood of this scenario from happening.
To free up the connections manually, you can just either restart the database service or redeploy.
a month ago
Also, to complement the answer above, you can increase the connection count as a temporary solution.
You can increase it by either:
SSHing into your service and changing the configuration file to allow more connections (property named
max_connections)If you're able to connect to your PostgreSQL service, run the following query to increase it:
ALTER SYSTEM SET max_connections TO '200';
SELECT pg_reload_conf();Again, it's a temporary solution and the connection pooler is the recommended way.