To many idle supabase_admin connections are visible in the selfhost supabase
Bug report
- [x] I confirm this is a bug with Supabase, not with my own application.
- [x] I confirm I have searched the Docs, GitHub Discussions, and Discord.
Describe the bug
Connection are not released when connections are closed.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:
Use this guide to setup supabase in my local system https://supabase.com/docs/guides/self-hosting/docker When supabase is up open the supabase dashboard url go to the database roles section Where you can see approx 50+ connections of supabase_admin role
Expected behavior
There should be active connections are visible not the idle ones. Supabase connection should get released when connection is closed.
Screenshots
Run this command in the sql editor
select * from pg_stat_activity where usename = 'supabase-admin';
Result:
| usename | application_name |
|---|---|
| supabase_admin | TimescaleDB Background Worker Launcher |
| supabase_admin | pg_cron scheduler |
| supabase_admin | |
| supabase_admin | pg_net 0.14.0 |
| supabase_storage_admin | |
| supabase_admin | supabase_mt_realtime |
| supabase_admin | |
| authenticator | PostgREST 12.2.0 |
| supabase_admin | supabase_mt_realtime |
| supabase_admin | supabase_mt_realtime |
| supabase_admin | supabase_mt_realtime |
| supabase_admin | supabase_mt_realtime |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | cluster_node_supavisor@73342e01069e |
| supabase_admin | cluster_node_supavisor@73342e01069e |
| supabase_admin | supavisor_meta |
| supabase_admin | supavisor_meta |
| supabase_admin | |
| supabase_admin | |
| supabase_admin | |
| supabase_admin | |
| supabase_admin | |
| supabase_admin | |
| supabase_admin | |
| supabase_admin | |
| supabase_admin | |
| supabase_admin | |
| supabase_admin | |
| supabase_admin | |
| supabase_admin | |
| supabase_admin | |
| supabase_auth_admin | |
| supabase_auth_admin | |
After that I have added DB_POOL_SIZE: 5 & POOLER_DEFAULT_POOL_SIZE: 20 in the supavisor image config in docker-compose.yml file. Now connections drops to 36. Is it is normal in selfhost supabase setup ?? currently supabase_admin has 33 connections in total
After that i run this command. You can see that there are so many idle connections. is it is okay ?? select usename, application_name,state from pg_stat_activity where state = 'idle';
| usename | application_name | state |
|---|---|---|
| authenticator | PostgREST 12.2.12 (cd3cf9e) | idle |
| authenticator | PostgREST 12.2.12 (cd3cf9e) | idle |
| supabase_storage_admin | idle | |
| supabase_admin | supavisor_meta | idle |
| supabase_admin | supavisor_meta | idle |
| supabase_admin | supavisor_meta | idle |
| supabase_admin | supavisor_meta | idle |
| supabase_admin | cluster_node_supavisor@f63b2489e6a1 | idle |
| supabase_admin | cluster_node_supavisor@f63b2489e6a1 | idle |
| supabase_admin | supavisor_meta | idle |
| supabase_admin | supabase_mt_realtime | idle |
| supabase_admin | supabase_mt_realtime | idle |
| supabase_admin | supabase_mt_realtime | idle |
| supabase_admin | supabase_mt_realtime | idle |
| supabase_admin | supabase_mt_realtime | idle |
| supabase_admin | idle | |
| supabase_admin | idle | |
| supabase_admin | idle | |
| supabase_admin | idle | |
| supabase_admin | idle | |
| supabase_admin | idle | |
| supabase_admin | idle | |
| supabase_admin | idle | |
| supabase_admin | idle | |
| supabase_admin | idle | |
| supabase_admin | idle | |
| supabase_admin | idle | |
| supabase_admin | idle |
Is there any way to remove these idle connections ?? So that supabase_admin & other roles has only active connections