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.

Reply via email to