Re: Add pg_get_acl() function get the ACL for a database object

Joel Jacobson <joel@compiler.org>

From: "Joel Jacobson" <joel@compiler.org>
To: "Isaac Morland" <isaac.morland@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2024-06-20T06:32:57Z
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 →
  1. Add pg_get_acl() to get the ACL for a database object

  2. doc: Add ACL acronym for "Access Control List"

Attachments

On Wed, Jun 19, 2024, at 16:23, Isaac Morland wrote:
> I have no idea how often this would be useful, but I wonder if it could 
> work to have overloaded single-parameter versions for each of 
> regprocedure (pg_proc.proacl), regclass (pg_class.relacl), …. To call, 
> just cast the OID to the appropriate reg* type.
>
> For example: To get the ACL for table 'example_table', call pg_get_acl 
> ('example_table'::regclass)

+1

New patch attached.

I've added overloaded versions for regclass and regproc so far:

\df pg_get_acl
                             List of functions
   Schema   |    Name    | Result data type |  Argument data types   | Type
------------+------------+------------------+------------------------+------
 pg_catalog | pg_get_acl | aclitem[]        | classid oid, objid oid | func
 pg_catalog | pg_get_acl | aclitem[]        | objid regclass         | func
 pg_catalog | pg_get_acl | aclitem[]        | objid regproc          | func
(3 rows)

/Joel