> On Aug 10, 2018, at 4:39 AM, Peter Eisentraut > <peter.eisentr...@2ndquadrant.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.gn13...@paquier.xyz>
signature.asc
Description: Message signed with OpenPGP