On Thu, Jul 28, 2022 at 5:17 PM David G. Johnston
<david.g.johns...@gmail.com> wrote:
> I suggest changing \du memberof to output something like this:
>
>  rolname |              memberof
> ---------+------------------------------------
>  vagrant | {}
>  r       | {q:admin/vagrant}
>  t       | {q:admin/vagrant,s:member/vagrant}
>
> (needs sorting, tried to model it after ACL - column privileges specifically)

I don't know. I agree with you that we should probably think about
changing the \du output, but I'm not sure if I like this particular
idea about how to do it. I mean, the ACL format that we use for tables
and other objects is basically an internal format which we throw at
the user, hoping they'll know how to interpret it. I don't know if
it's what we should pick when we don't have that kind of internal
format already. On the other hand, consistency is worth something, and
I'm not sure that I have a better idea.

https://commitfest.postgresql.org/38/3744/ might affect what we want
to do here, too.

> If we aren't dead set on having \du and \dg be aliases for each other I'd 
> rather redesign \dg (or add a new meta-command) to be a group-centric view of 
> this exact same data instead of user-centric one.  Namely it has a "members" 
> column instead of "memberof" and have it output, one line per member:
>
> user=[admin|member]/grantor

That seems like a topic for a separate thread, but I agree that a
flipped view of this data would be more useful than using two letters
of the alphabet for exactly the same thing, especially given that
we're pretty short on unused letters.

> I don't have any meaningful insight as to breaking things with these changes 
> but I am strongly in favor of tightening this up and formalizing it.

Cool.

-- 
Robert Haas
EDB: http://www.enterprisedb.com


Reply via email to