| 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
| 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 |