Hi, On 2024-02-16 20:57:59 +0100, Magnus Hagander wrote: > On Fri, Feb 16, 2024 at 8:41 PM Andres Freund <and...@anarazel.de> wrote: > > On 2024-01-10 12:46:34 +0100, Magnus Hagander wrote: > > > The attached patch adds a column "authuser" to pg_stat_activity which > > > contains the username of the externally authenticated user, being the > > > same value as the SYSTEM_USER keyword returns in a backend. > > > > I continue to think that it's a bad idea to make pg_stat_activity ever wider > > with columns that do not actually describe properties that change across the > > course of a session. Yes, there's the argument that that ship has sailed, > > but > > I don't think that's a good reason to continue ever further down that road. > > > > It's not just a usability issue, it also makes it more expensive to query > > pg_stat_activity. This is of course more pronounced with textual columns > > than > > with integer ones. > > That's a fair point, but I do think that has in most ways already sailed, yes. > > I mean, we could split it into more than one view. But adding a new > view for every new thing we want to show is also not very good from > either a usability or performance perspective. So where would we put > it?
I think we should group new properties that don't change over the course of a session ([1]) in a new view (e.g. pg_stat_session). I don't think we need one view per property, but I do think it makes sense to split information that changes very frequently (like most pg_stat_activity contents) from information that doesn't (like auth_method, auth_identity). Greetings, Andres Freund [1] Additionally I think something like pg_stat_session could also contain per-session cumulative counters like the session's contribution to pg_stat_database.{idle_in_transaction_time,active_time}