Re: Add a permission check to pg_stat_get_backend_subxact()

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: shihao zhong <zhong950419(at)gmail(dot)com>
Cc: Jim Jones <jim(dot)jones(at)uni-muenster(dot)de>, pgsql-hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>
Subject: Re: Add a permission check to pg_stat_get_backend_subxact()
Date: 2026-09-14 07:06:04
Message-ID: aqec3MF_GDsMdadl@paquier.xyz
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Sep 12, 2026 at 08:43:28AM -0400, shihao zhong wrote:
> Thanks for committing that, I will not include 0001 in the following emails.

Fixed the subxact_overflow -> subxact_overflowed, as that's
independent.

> 1. The first test block ran as superuser, so the owner branch of
> HAS_PGSTAT_PERMISSIONS() was never exercised: with "userid" forced to
> InvalidOid the test still passed. The block now grants the test role
> membership in the session's role instead. With that, forcing userid
> to InvalidOid fails the test, and removing the checks fails the
> "unrelated role" block.
>
> 2. The doc paragraph above the per-backend table said the functions
> "return NULL", but activity/wait_event return "<insufficient
> privilege>" and the SRFs return no rows. Reworded.
>
> 3. Commit message: noted that processes owned by no role (autovacuum
> workers, WAL writer, ...) are now visible only to superusers and
> pg_read_all_stats, as in pg_stat_activity, and that no backpatch is
> done.

That seems globally sensible, at quick glance. I am also adding
Bertrand Drouvot in CC to comment about this change, as he has worked
on three of these functions.

@Bertrand, what do you think?
--
Michael

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2026-09-14 07:08:10 Re: Translation of the NextOID message in pg_controldata
Previous Message Andrei Lepikhov 2026-09-14 06:51:27 Re: Try a presorted outer path when referenced by an ORDER BY prefix