Re: Ned to understand why all the idle connections

From: Si Chen <sichen(at)opensourcestrategies(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Ned to understand why all the idle connections
Date: 2020-04-23 21:18:24
Message-ID: CAAYSSjPGHt65GuF1UO7=53vqV5fgdW=pBysregqnR6wqLWNZAQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello David & David,

I have a similar problem -- a lot of idle transactions. I'm using the
PostgreSQL JDBC driver. The connections look like this:

pid | wait_event | state_change |
backend_start | xact_start | query_start |
?column? | query

-------+------------+-------------------------------+-------------------------------+------------+-------------------------------+-----------------+--------

32506 | ClientRead | 2020-04-23 09:29:05.6793-07 | 2020-04-23
01:00:19.612478-07 | | 2020-04-23 09:29:05.679275-07 |
00:00:00.000025 | COMMIT

32506 | ClientRead | 2020-04-23 09:30:33.247119-07 | 2020-04-23
01:00:19.612478-07 | | 2020-04-23
09:30:33.247109-07 | 00:00:00.00001 | COMMIT

32506 | ClientRead | 2020-04-23 09:31:31.506914-07 | 2020-04-23
01:00:19.612478-07 | | 2020-04-23
09:31:31.506905-07 | 00:00:00.000009 | COMMIT

32506 | ClientRead | 2020-04-23 09:32:32.06656-07 | 2020-04-23
01:00:19.612478-07 | | 2020-04-23 09:32:32.066552-07 |
00:00:00.000008 | COMMIT

32506 | ClientRead | 2020-04-23 09:36:51.579939-07 | 2020-04-23
01:00:19.612478-07 | | 2020-04-23 09:36:51.579931-07 |
00:00:00.000008 | COMMIT

It seems like they haven't been doing anything for a long time, but the
state_change keeps getting updated. Is it possible that state_change is
being updated, maybe by the JDBC driver?

Do you recommend using PgBouncer with JDBC?

-----
Si Chen
Open Source Strategies, Inc.

Our Mission: https://www.youtube.com/watch?v=Uc7lmvnuJHY

On Thu, Apr 23, 2020 at 11:41 AM David G. Johnston <
david(dot)g(dot)johnston(at)gmail(dot)com> wrote:

> On Thursday, April 23, 2020, David Gauthier <davegauthierpg(at)gmail(dot)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.
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Kevin Brannen 2020-04-23 21:21:47 RE: how to slow down parts of Pg
Previous Message David G. Johnston 2020-04-23 21:16:12 Re: Question on banner display after PG initial connection