role1 и role2. для каждой выдан GRANT SELECT ON table.
хочу прикрутить rls для role2. создал row policy on table using where ... to role2. проверяю через select, фильтр применяется.
но фокус в том, что юзер с role1 теперь вообще строк не видит в таблице. то есть ограничив часть строк для role2, сервер спрятал все строки для role1.
получается, row policy — это настройка для таблицы, а не для роли/юзера?
да, это такое поведение стандартное (его собираются поменять кстати). И оно конечно документировано. но вообще оно правильное и такая же логика не только в КХ. почему так сделано: представьте вы в публичной библиотеке, и все могут читать любые книги. Но тут появляется шкаф с особо ценными книгами и туда есть доступ только у группы пользователей, поэтому автоматически все остальные теряют доступ.
Обсуждают сегодня