Re: Add pg_get_acl() function get the ACL for a database object
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Joel Jacobson <joel@compiler.org>
Cc: Isaac Morland <isaac.morland@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2024-06-25T06:42:27Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add pg_get_acl() to get the ACL for a database object
- 4564f1cebd43 18.0 landed
-
doc: Add ACL acronym for "Access Control List"
- 00d819d46a6f 18.0 cited
On Tue, Jun 25, 2024 at 08:06:41AM +0200, Joel Jacobson wrote: > Not sure if I see how to implement it for pg_get_acl() though. > > I've had a look at how pg_describe_object() works for this case: > > SELECT pg_describe_object(0,'t'::regclass::oid,0); > ERROR: unsupported object class: 0 > > I suppose this is the error message we want in pg_get_acl() when > the class ID is invalid? Ah, and here I thought that this was also returning NULL. My previous work in this area only focused on the object OIDs, not their classes. At the end, I'm OK to keep your patch as it is, checking only for the case of pinned dependencies in pg_depend as we do for pg_describe_object(). It's still a bit confusing, but we've been living with that for years now without anybody complaining except me, so perhaps that's fine at the end to keep that as this is still useful. If we change that, applying the same rules across the board would make the most sense. -- Michael