Re: expose parallel leader in CSV and log_line_prefix - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: expose parallel leader in CSV and log_line_prefix
Date
Msg-id 20200717050121.GD29811@paquier.xyz
Whole thread Raw
In response to Re: expose parallel leader in CSV and log_line_prefix  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: expose parallel leader in CSV and log_line_prefix
List pgsql-hackers
On Thu, Jul 16, 2020 at 10:55:45PM -0400, Alvaro Herrera wrote:
> Oh, ugh, I don't like that part much.  If you run connections through a
> connection pooler, it's going to be everywhere. Let's put it there only
> if the connection *is* running a parallel query, without being too
> stressed about the startup and teardown sequence.

Hmm.  Knowing if a leader is actually running parallel query or not
requires a lookup at lockGroupMembers, that itself requires a LWLock.
I think that it would be better to not require that.  So what if
instead we logged %P only if Myproc has lockGroupLeader set and it
does *not* match MyProcPid?  In short, it means that we would get the
information of a leader for each worker currently running parallel
query, but that we would not know from the leader if it is running a
parallel query or not at the moment of the log.  One can then easily
guess what was happening on the leader by looking at the logs of the
backend matching with the PID the workers are logging with %P.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: "Andrey V. Lepikhov"
Date:
Subject: Re: Partitioning and postgres_fdw optimisations for multi-tenancy
Next
From: Michael Paquier
Date:
Subject: Re: Added tab completion for the missing options in copy statement