Re: Expose lock group leader pid in pg_stat_activity
Julien Rouhaud <rjuju123@gmail.com>
From: Julien Rouhaud <rjuju123@gmail.com>
To: Tomas Vondra <tomas.vondra@2ndquadrant.com>
Cc: Michael Paquier <michael@paquier.xyz>, Sergei Kornilov <sk@zsrv.org>, Guillaume Lelarge <guillaume@lelarge.info>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-01-28T13:26:34Z
Lists: pgsql-hackers
On Tue, Jan 28, 2020 at 2:09 PM Tomas Vondra <tomas.vondra@2ndquadrant.com> wrote: > > I agree a separate "leader_id" column is easier to work with, as it does > not require unnesting and so on. > > As for the consistency, I agree we probably can't make this perfect, as > we're fetching and processing the PGPROC records one by one. Fixing that > would require acquiring a much stronger lock on PGPROC, and perhaps some > other locks. That's pre-existing behavior, of course, it's just not very > obvious as we don't have any dependencies between the rows, I think. > Adding the leader_id will change, that, of course. But I think it's > still mostly OK, even with the possible inconsistency. There were already some dependencies between the rows since parallel queries were added, as you could see eg. a parallel worker while no query is currently active. This patch will make those corner cases more obvious. Should I document the possible inconsistencies?
Commits
-
Fix typo in proc.c
- 5ac4e9a12c65 13.0 landed
-
Add leader_pid to pg_stat_activity
- b025f32e0b5d 13.0 landed