Re: allowing for control over SET ROLE
От | Peter Eisentraut |
---|---|
Тема | Re: allowing for control over SET ROLE |
Дата | |
Msg-id | 747244eb-0321-bc41-0177-7b31df240427@enterprisedb.com обсуждение исходный текст |
Ответ на | allowing for control over SET ROLE (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: allowing for control over SET ROLE
|
Список | pgsql-hackers |
On 31.08.22 14:56, Robert Haas wrote: > In some circumstances, it may be desirable to control this behavior. > For example, if we GRANT pg_read_all_settings TO seer, we do want the > seer to be able to read all the settings, else we would not have > granted the role. But we might not want the seer to be able to do > this: > > You are now connected to database "rhaas" as user "seer". > rhaas=> set role pg_read_all_settings; > SET > rhaas=> create table artifact (a int); > CREATE TABLE > rhaas=> \d > List of relations > Schema | Name | Type | Owner > --------+----------+-------+---------------------- > public | artifact | table | pg_read_all_settings > (1 row) I think this is because we have (erroneously) make SET ROLE to be the same as SET SESSION AUTHORIZATION. If those two were separate (i.e., there is a current user and a separate current role, as in the SQL standard), then this would be more straightforward. I don't know if it's possible to untangle that at this point.
В списке pgsql-hackers по дате отправления: