Hi,

when reading the documentation about "set role" there is this:
https://www.postgresql.org/docs/16/sql-set-role.html

"After |SET ROLE|, permissions checking for SQL commands is carried out as though the named role were the one that had logged in originally."

Given this:

postgres=# select session_user, current_user;
 session_user | current_user
--------------+--------------
 postgres     | postgres
(1 row)

postgres=# set role a;
SET
postgres=> create table t(a int);
ERROR:  permission denied for schema public
LINE 1: create table t(a int);
                     ^
Isn't it the other way around and permission checking is done as "a", or do I read this wrong?

Best regards
Daniel


Reply via email to