显示具有具体用户的所有权限[Postgres]

显示具有具体用户的所有权限[Postgres]

问题描述:

如何对Postgres数据字典进行查询以找出特定用户拥有的所有权限。显示具有具体用户的所有权限[Postgres]

我一直在寻找解决方案,我找不到任何东西。感谢和美好的一天

表的权限:

所有权:

select 
    * 
from pg_tables 
where tableowner = 'YOUR_USER' 
; 

架构权限:

select 
    r.usename as grantor, e.usename as grantee, nspname, privilege_type, is_grantable 
from pg_namespace 
join lateral (
    SELECT 
    * 
    from 
    aclexplode(nspacl) as x 
) a on true 
join pg_user e on a.grantee = e.usesysid 
join pg_user r on a.grantor = r.usesysid 
where e.usename = 'YOUR_USER' 
; 
+0

谢谢你非常,你解决了我的问题:)。 – Python241820

+0

我很高兴 –