行级安全性不适用于表所有者

时间:2018-12-04 11:27:08

标签: postgresql row-level-security

我有一个表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 :(得分:2)

您忘记为表启用行级安全性。

ALTER TABLE customer enable ROW LEVEL SECURITY;

force仅确保已启用RLS,否则不会在表上启用RLS。

在线示例:https://rextester.com/TCLZ82421