我在PostgreSQL中建立了一个数据库。我创建了一些角色和组,并将一些组授予角色(实际上我创建了组的权限,并将新用户授予组)。我在一个表中启用了行级安全性,我想写一个策略来检查用户是否属于某些组,以给予他插入权限。类似于:
CREATE POLICY table_policy_insert ON table
FOR INSERT
WITH CHECK(CURRENT_USER IS IN 'admin');
我已经尝试使用CURRENT_USER = 'admin'
,但这会检查确切的名称,因此如果我有一个管理员用户Poo,这将不起作用
2条答案
按热度按时间vawmfj5a1#
您可以使用以下查询检查用户是否是角色的一部分:
sr4lhrrt2#
作为一个函数,它甚至更好: