Не могу создать RLS на postgresql
Я создал роль входа в Postgres, затем попытался дать разрешения на изменение указанных строк в таблице, используя безопасность на уровне строк. Я пробовал тысячи раз, но это не работает. У меня есть только один стол.
1 ответ
Вы не предоставили достаточно информации о том, какие шаги вы предприняли, чтобы прийти к выводу, что это не работает, поэтому я рассмотрю оба случая:
- Вы создали политику, но не включили RLS для таблицы. Из документации:
Обратите внимание, что в таблице должна быть включена защита на уровне строк (используя ALTER TABLE ... ENABLE ROW LEVEL SECURITY), чтобы применяемые политики применялись.
- Вы тестируете RLS, используя роль владельца, роль суперпользователя или роль, которая наследует привилегии от одного из них. Они обходят RLS по умолчанию. Вы можете принудительно установить RLS для владельца таблицы:
ALTER TABLE [..] FORCE ROW LEVEL SECURITY
, но вы не можете сделать это для суперпользователя.