How to check role of current PostgreSQL user from

2019-03-21 02:51发布

问题:

I have some application based on Qt library and using QPSQL driver.
In PostreSQL defined a few user roles (e.g: admin, operator, user). My application creates a connection to postgres server under specified user. How can I check the users role?

回答1:

Per documentation:

SELECT current_user;  -- user name of current execution context
SELECT session_user;  -- session user name

That means, session_user shows the role you connected with, and current_user shows the role you are currently operating with, for instance after calling SET role some_other_role.



回答2:

You can check PostgreSQL user permissions with this query:

SELECT * FROM pg_roles;