I have an application (based on the Qt library) which uses QPSQL driver.
In PostgreSQL, there are a few user roles defined (e.g: admin, operator, user). My application creates a connection to the Postgres server under a specified user. How can I check the user's role?
2 Answers
SELECT current_user; -- user name of current execution context
SELECT session_user; -- session user name
Meaning, 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;.
1 Comment
mlt
Just for the sake of completeness, if you want to know a set role from within a function with
SECURITY DEFINER, use current_setting('role') as can be seen on the mailing list