PostgreSQL执行\dn+命令返回Access privileges列含义咨询
PostgreSQL \dn+ 命令Access privileges列含义说明
你执行的\dn+是PostgreSQL中查询所有模式详细信息的元命令,返回结果中Access privileges列存储的是对应模式的访问控制列表(ACL),采用PostgreSQL标准权限展示格式:被授权角色=权限缩写/授权者角色。
权限缩写说明(针对模式对象)
U:对应USAGE权限,允许被授权角色访问该模式下的各类对象,是操作模式内表、视图等资源的前置权限C:对应CREATE权限,允许被授权角色在该模式下创建新的数据库对象
查询结果权限解读
你返回的查询结果如下:
postgres=# \dn+ List of schemas Name | Owner | Access privileges | Description -------------+-------------+----------------------+------------------------ keycloap | keycloap | | novebackend | novebackend | | public | postgres | postgres=UC/postgres+| standard public schema | | =UC/postgres |
对应各模式的权限解释:
- keycloap、novebackend模式:Access privileges列为空,代表没有配置额外的自定义授权规则,仅模式所有者默认拥有该模式的全部权限,其余用户默认无任何访问权限
- public模式:两条权限分别对应:
postgres=UC/postgres:模式所有者postgres本身拥有该模式的USAGE和CREATE权限,授权者为postgres(即所有者自身)=UC/postgres:被授权角色位置空缺代表授权给所有数据库用户(PUBLIC),即所有用户默认都拥有public模式的USAGE和CREATE权限,该授权由postgres角色操作
内容的提问来源于stack exchange,提问作者vrms
相关产品推荐
相关产品推荐

