我希望只有组成员可以访问表中的行。我通过以下方法创建用户并将它们添加到组中,
CREATE USER abc LOGIN PASSWORD 'securedpassword1';
CREATE USER xyz LOGIN PASSWORD 'securedpassword2';
ALTER GROUP permanent ADD USER abc;
然后我写的策略使它只能被当前用户访问。但我需要整个小组才能访问它。
CREATE TABLE table_Workers
(
worID INT
,worName CHARACTER VARYING
,pgUser CHARACTER VARYING
);
INSERT INTO table_Workers VALUES
(1,'Jason','abc'),(2,'Roy','abc'),(3,'Johny','abc')
,(4,'Jane','xyz'),(5,'Kane','xyz'),(6,'Stuart','xyz');
CREATE POLICY policy_employee_user ON table_Workers FOR ALL
TO PUBLIC USING (pgUser = current_user);
ALTER TABLE table_Workers ENABLE ROW LEVEL SECURITY;
pgUser 命名可以访问该行的用户。我希望用 pgRole 替换列 pgUser,其中提到了组的名称,其成员可以访问该特定行。任何提示或方法都可以使整个组可以访问行。