需要有关postgresql角色的帮助

hyrbngr7  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(140)

我已经在数据库下创建了一个只读角色,并在所有表上为这些角色授予了“选择”权限--但是我如何检查这些角色Map了什么权限,以及Map到该角色的所有表是否进行了选择?
有人可以帮助我的查询。
需要你的帮助..我试了几个查询无法得到它。

rur96b6h

rur96b6h1#

使用以下查询作为检查授予角色的表权限的基础:

SELECT table_schema,
       table_name, grantee,
       array_agg(privilege_type ORDER BY privilege_type) AS privileges
  FROM information_schema.role_table_grants
  WHERE grantee = 'readonly_role'
  GROUP BY table_schema, table_name, grantee
  ORDER BY table_schema, table_name, grantee;

字符串
readonly_role替换为感兴趣的角色名称。虽然GROUP BYORDER BY子句中的grantee在这个特定的示例中是不必要的,但我已经包含了它,以便当修改WHERE子句以更改条件时,输出仍然会被一致地分组和排序。

相关问题