| From: | Andres Freund <andres(at)anarazel(dot)de> |
|---|---|
| To: | Magnus Hagander <magnus(at)hagander(dot)net> |
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: System username in pg_stat_activity |
| Date: | 2024-02-16 20:20:01 |
| Message-ID: | 20240216202001.66hx6engbzfu7puq@awork3.anarazel.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
On 2024-02-16 20:57:59 +0100, Magnus Hagander wrote:
> On Fri, Feb 16, 2024 at 8:41 PM Andres Freund <andres(at)anarazel(dot)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}
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2024-02-16 20:22:16 | Re: System username in pg_stat_activity |
| Previous Message | Jim Jones | 2024-02-16 20:16:53 | Re: Change COPY ... ON_ERROR ignore to ON_ERROR ignore_row |