PostgreSQL数据库权限混淆

PostgreSQL数据库权限混淆,postgresql,Postgresql,如果\l在某个数据库上没有显示任何用户的任何数据库权限,但是具有\u database\u privilege()确认存在某个角色的所有权限(该角色确实可以连接到数据库这一事实验证了这一点),这意味着什么。这是一种可能的情况吗? 发生在10.15版。如果\l显示数据库绝对没有权限信息,则表示该数据库具有默认权限。默认情况下,PUBLIC具有CONNECT和TEMP(但不具有CREATE) has_database_privilege会将PUBLIC的权限计算为任何指定用户所拥有的权限,因此它可能

如果
\l
在某个数据库上没有显示任何用户的任何数据库权限,但是
具有\u database\u privilege()
确认存在某个角色的所有权限(该角色确实可以连接到数据库这一事实验证了这一点),这意味着什么。这是一种可能的情况吗?
发生在10.15版。

如果
\l
显示数据库绝对没有权限信息,则表示该数据库具有默认权限。默认情况下,PUBLIC具有CONNECT和TEMP(但不具有CREATE)


has_database_privilege会将PUBLIC的权限计算为任何指定用户所拥有的权限,因此它可能会显示“true”,即使
\l
没有明确列出它们。

请发布您的shell/终端会话。在哪里指定
/l
?你在用什么登录?明白了,谢谢!