Re: is_superuser versus set_config_option's parallelism check
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org, Robert Haas <robertmhaas@gmail.com>
Date: 2024-08-09T20:04:15Z
Lists: pgsql-hackers
Attachments
- v1-dont-use-SetConfigOption-for-is-superuser.patch (text/x-diff) patch v1
Nathan Bossart <nathandbossart@gmail.com> writes: > On Fri, Aug 09, 2024 at 02:43:59PM -0400, Tom Lane wrote: >> The simplest fix would be to hack this test to allow the action anyway >> when context == PGC_INTERNAL, excusing that as "assume the caller >> knows what it's doing". That feels pretty grotty though. Perhaps >> a cleaner way would be to move this check to some higher code level, >> but I'm not sure where would be a good place. > From a couple of quick tests, it looks like setting > "current_role_is_superuser" directly works. Yeah, I had been thinking along the same lines. Here's a draft patch. (Still needs some attention to nearby comments, and I can't avoid the impression that the miscinit.c code in this area could use refactoring.) A problem with this is that it couldn't readily be back-patched further than v14, since we didn't have ReportChangedGUCOptions before that. Maybe that doesn't matter; given the lack of previous complaints, maybe we only need to fix this in HEAD. regards, tom lane
Commits
-
Allow adjusting session_authorization and role in parallel workers.
- 364de74cff28 18.0 landed
- f3ab5d3a2d19 16.5 landed
- adf9808fa966 13.17 landed
- adc28d01e98b 12.21 landed
- 546a26b3d8df 14.14 landed
- 2f4e895be760 15.9 landed
- 2b8d33f66c13 17.0 landed
-
Fix failure to verify PGC_[SU_]BACKEND GUCs in pg_file_settings view.
- 059de3ca4766 17.0 cited