Безопасность на уровне строк не работает для владельца таблицы - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть таблица, customer, для которой я сделал следующее:

ALTER TABLE customer FORCE ROW LEVEL SECURITY;
CREATE POLICY customer_rls ON  customer USING (false);

Однако выполнение SELECT * FROM customer все равно возвращает все строки.

Текущая роль myrole

\dg myrole
           List of roles
 Role name | Attributes | Member of
-----------+------------+-----------
 my_role   |            | {}

Как вы можете видеть, это не суперпользователь и RLS на нем не отключен.

Что я делаю не так?

1 Ответ

0 голосов
/ 04 декабря 2018

Вы забыли включить защиту на уровне строк для таблицы.

ALTER TABLE customer enable ROW LEVEL SECURITY;

force обеспечивает только применение RLS, если оно включено, но не включает RLS для таблицы.

Онлайн-пример: https://rextester.com/TCLZ82421

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...