我在 Postgres 中创建了一个登录角色,然后我尝试授予使用行级安全性修改表上指定行的权限。我已经尝试了数千次,但它不起作用。我只有一张桌子。
问问题
1366 次
1 回答
3
你没有提供足够的信息来说明你采取了哪些步骤来得出它不起作用的结论,所以我将介绍这两种情况:
- 您创建了策略,但没有在表上启用 RLS。从文档:
请注意,必须在表上启用行级安全性(使用 ALTER TABLE ... ENABLE ROW LEVEL SECURITY)才能应用创建的策略。
- 您正在使用所有者角色、超级用户角色或从其中之一继承权限的角色来测试 RLS。他们默认绕过 RLS。您可以通过 强制对表所有者进行 RLS
ALTER TABLE [..] FORCE ROW LEVEL SECURITY
,但不能对超级用户执行此操作。
于 2017-06-08T13:26:50.657 回答