I have tried setting idle_in_transaction_session_timeout , however, this does not delete idle sessions.
Would there be any expiry settings to delete client idle sessions automatically ?
There is idle_session_timeout in PostgreSQL 14, but that's not much
use to you, since a) it's not out yet, and b) you're using 12.
I guess you could do something like:
SELECT pg_terminate_backend(pid) FROM pg_stat_Activity where state =
'idle' and state_change < NOW() - INTERVAL '1 hour';
Change '1 hour' to whatever you like and maybe set up a cron job to run that.