Команду SET ROLE можно использовать вместе с ALTER ROLE ... SET или ALTER DATABASE ... SET ...
В документации такой синтаксис не описан, но работает.
В результате, подключаемся под одной ролью и тут же переходим в другую. Если нужно запутаться, то это верная дорога.
postgres=# create role usr1 login;CREATE ROLEpostgres=# create role usr2 login;CREATE ROLEpostgres=# grant usr1 to usr2;GRANT ROLEpostgres=# alter role usr2 set role usr1;ALTER ROLEpostgres=# \c - usr2You are now connected to database "postgres" as user "usr2".postgres=> select session_user, current_user; session_user | current_user --------------+-------------- usr2 | usr1(1 row)postgres=> select * from pg_db_role_setting; setdatabase | setrole | setconfig -------------+---------+------------- 0 | 24803 | {role=usr1}(1 row) |
Комментариев нет:
Отправить комментарий