如何从Qt应用程序中检查当前PostgreSQL用户的角色?

如何从Qt应用程序中检查当前PostgreSQL用户的角色?,qt,postgresql,database-design,permissions,Qt,Postgresql,Database Design,Permissions,我有一些基于Qt库和QPSQL驱动程序的应用程序 在PostreSQL中定义了几个用户角色(例如:管理员、操作员、用户)。我的应用程序在指定用户下创建到postgres服务器的连接。如何检查用户角色?您可以通过以下查询检查PostgreSQL用户权限: SELECT * FROM pg_roles; 意思是,session\u user显示您连接的角色,current\u user显示您当前使用的角色,例如在调用SET role some\u other\u role之后为了完整起见,如果您

我有一些基于Qt库和QPSQL驱动程序的应用程序

在PostreSQL中定义了几个用户角色(例如:管理员、操作员、用户)。我的应用程序在指定用户下创建到postgres服务器的连接。如何检查用户角色?

您可以通过以下查询检查PostgreSQL用户权限:

SELECT * FROM pg_roles;


意思是,
session\u user
显示您连接的角色,
current\u user
显示您当前使用的角色,例如在调用
SET role some\u other\u role之后

为了完整起见,如果您想从具有
安全定义器的函数中了解设置的角色,请使用
当前设置(“角色”)
SELECT current_user;  -- user name of current execution context
SELECT session_user;  -- session user name