Re: predefined role(s) for VACUUM and ANALYZE
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Stephen Frost <sfrost@snowman.net>, "David G. Johnston" <david.g.johnston@gmail.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2022-09-06T15:54:32Z
Lists: pgsql-hackers
On Tue, Sep 06, 2022 at 11:24:18AM -0400, Robert Haas wrote: > On Tue, Sep 6, 2022 at 11:11 AM Stephen Frost <sfrost@snowman.net> wrote: >> If we were to make the specific bits depend on the object type as I'm >> suggesting, then we'd have 8 bits used for relations (10 with the vacuum >> and analyze bits), leaving us with 6 remaining inside the existing >> uint32, or more bits available than we've ever used since the original >> implementation from what I can tell, or at least 15+ years. That seems >> like pretty darn good future-proofing without a lot of complication or >> any change in physical size. We would also be able to get rid of the >> question of "well, is it more valuable to add the ability to GRANT >> TRUNCATE on a relation, or GRANT CONNECT on databases" or other rather >> odd debates between ultimately very different things. > > I mostly agree with this. I don't think it's entirely clear how we > should try to get more bits going forward, but it's clear that we > cannot just forever hold our breath and refuse to find any more bits. > And of the possible ways of doing it, this seems like the one with the > lowest impact, so I think it likely makes sense to do this one first. +1. My earlier note wasn't intended to suggest that one approach was better than the other, merely that there are a couple of options to choose from once we run out of bits. I don't think this work needs to be tied to the VACUUM/ANALYZE stuff, but I am interested in it and hope to take it on at some point. -- Nathan Bossart Amazon Web Services: https://aws.amazon.com
Commits
-
Provide non-superuser predefined roles for vacuum and analyze
- 4441fc704d70 16.0 landed
-
Provide per-table permissions for vacuum and analyze.
- b5d6382496f2 16.0 landed
-
Expand AclMode to 64 bits
- 7b378237aa80 16.0 landed
-
Simplify WARNING messages from skipped vacuum/analyze on a table
- b7a5ef17cf75 16.0 landed
-
Allow granting SET and ALTER SYSTEM privileges on GUC parameters.
- a0ffa885e478 15.0 cited
-
Add String object access hooks
- d11e84ea466b 15.0 cited