Re: xact_start meaning when dealing with procedures?

From: "Jonathan S(dot) Katz" <jkatz(at)postgresql(dot)org>
To: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: Vik Fearing <vik(dot)fearing(at)2ndquadrant(dot)com>, depesz(at)depesz(dot)com, pgsql-hackers mailing list <pgsql-hackers(at)postgresql(dot)org>, Michael Paquier <michael(at)paquier(dot)xyz>
Subject: Re: xact_start meaning when dealing with procedures?
Date: 2018-08-15 22:23:40
Message-ID: ECAFB052-8601-4BCA-B028-F12B69B67090@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> On Aug 10, 2018, at 4:39 AM, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> wrote:
>
> On 09/08/2018 20:25, Vik Fearing wrote:
>> On 09/08/18 20:13, Peter Eisentraut wrote:
>>> On 09/08/2018 19:57, hubert depesz lubaczewski wrote:
>>>> I just noticed that when I called a procedure that commits and rollbacks
>>>> - the xact_start in pg_stat_activity is not updated. Is it intentional?
>>>
>>> It's an artifact of the way this is computed. The reported transaction
>>> timestamp is the timestamp of the first top-level statement of the
>>> transaction. This assumes that transactions contain statements, not the
>>> other way around, like it is now possible. I'm not sure what an
>>> appropriate improvement would be here.
>>
>> That would just mean that query_start would be older than xact_start,
>> but that's okay because the displayed query would be a CALL so we'll
>> know what's going on.
>
> Note that this issue already exists for other commands that start
> transactions internally, such as VACUUM and CREATE INDEX CONCURRENTLY.
> At the moment, one should interpret xact_start as referring to the
> top-level transaction only.
>
> In practice, I think the value of xact_start versus query_start is to
> anayze idle transactions. This doesn't happen with internal
> transactions, so it's not a big deal in practice.

This was added as an open item by Michael[1]. When the RMT discussed,
we were able to make arguments both ways (i.e. adjusting the behavior vs.
not).

Peter, from your analysis it sounds like we should leave it, but I wanted to
confirm before removing the open item.

Thanks,

Jonathan

[1] https://www.postgresql.org/message-id/20180810164653.GN13638%40paquier.xyz <https://www.postgresql.org/message-id/20180810164653.GN13638@paquier.xyz>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2018-08-15 22:24:01 Re: C99 compliance for src/port/snprintf.c
Previous Message Tom Lane 2018-08-15 22:18:21 Re: C99 compliance for src/port/snprintf.c