On Thursday, April 23, 2020, David Gauthier <davegauthie...@gmail.com> wrote:
> Hi: > > psql (9.6.7, server 11.3) on linux > > I have what appear to be a log of idle connections to my DB. Query of > pg_stat_activity indicates well over half (127/206) are like this... > > > dvdb=# select state_change,wait_event_type,wait_event,state,backend_type > from pg_stat_activity where query = ''; > state_change | wait_event_type | wait_event | > state | backend_type > -------------------------------+-----------------+---------- > -----------+-------+------------------------------ > 2020-04-23 12:57:58.215854-04 | Client | ClientRead | > idle | client backend > > What does this indicate? > > The vast majority of the connections are through perl/dbi. If a > connection is made, and is currently not doing anything, does it appear in > pg_stat_activity as "idle" ? If, in DBI, $dbh->disconnect is used whenever > the DB is no longer needed, will it disconnect from the DB and NOT appear > as an idle in pg_stat_activity ? > > If there are any other column s in pg_stat-activity you'd like to see, or > any other query in any of the system tables, please advise. > If the server has an active, authenticated, connection/process running it shows up here. Yes, idle is the state used to denote the the session is “not doing anything”... $dbh->disconnect typically will indeed close the connection. There can be exceptions if your architecture uses connection pooling. David J.