Разделение прав
| От | Andrey N. Oktyabrski | 
|---|---|
| Тема | Разделение прав | 
| Дата | |
| Msg-id | 43F1BB57.8070608@antora.ru обсуждение исходный текст  | 
		
| Ответы | 
                	
            		Re: Разделение прав
            		
            		 Re: Разделение прав  | 
		
| Список | pgsql-ru-general | 
Здравствуйте. Стоит такая задача: есть несколько таблиц, записи в них имеют признак типа "такой-то юзер постгреса имеет право на select/update этой записи", надо сделать как-то, чтобы юзер не мог сделать то, что ему запрещено. Я планировал сделать это так: create table _tbl (...); create view tbl as select * from _tbl where owner = session_user(); revoke all on tbl from <юзер>; grant select on tbl to <юзер>; revoke all on _tbl from <юзер>; grant insert, update, delete on _tbl to <юзер>; Но тогда update _tbl set fld = 123 where id = 21; не работает - постгрес говорит, что нет прав. grant select on _tbl to <юзер> спасает, но я не хочу чтобы юзер читал из таблицы, для этого сделано представление-подмножество таблицы. Как выйти из положения? Или есть какое-то решение без view?
В списке pgsql-ru-general по дате отправления: