Thanks for answering my questions.

Sorry I didn't mean to "top post"  I thought that my other email got lost
because I had sent it to lists.postgresql.org

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

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



On Thu, Apr 23, 2020 at 2:31 PM David G. Johnston <
david.g.johns...@gmail.com> wrote:

> Please don't top-post; and this is a fairly rude hijack posting given that
> you already have a thread going, from today no less, where you've basically
> asked this very same question.
>
> On Thu, Apr 23, 2020 at 2:18 PM Si Chen <sic...@opensourcestrategies.com>
> wrote:
>
>> 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.
>>
>
> If the state_change timestamp keeps changing then by definition they are
> doing something......
>
>
>>   Is it possible that state_change is being updated, maybe by the JDBC
>> driver?
>>
>
> Directly, no, that particular field is read-only by the user and so
> nothing is going to directly update it.  However, as soon as the session
> changes state it will change as well.
>
> The most likely answer is that your setup for JDBC includes a connection
> pool that is periodically checking to see if its session is still active.
> You should work on trying to prove or disprove that assumption.
>
> Do you recommend using PgBouncer with JDBC?
>>
>
> I try to avoid making recommendations without knowing the situation in
> which something is operating.  Given the level of expertise demonstrated
> here I would, however, advise against adding another architectural
> component to your setup until your understand completely what you are
> already working with.  If at that point you can define a problem that you
> want to solve, and pgBouncer would constitute a solution, then you could
> consider adding it.
>
> David J.
>
>

Reply via email to