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.
>
>
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 |