PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL - unendliche Rekursion in Richtlinie für Beziehung erkannt

Nun, ich weiß nicht, wie anständig es ist, aber es funktioniert für mich. Ich habe eine Lösung gefunden, indem ich eine Ansicht erstellt habe, in der die ID der Abteilung des aktuellen_Benutzers ist, und dann überprüft habe, ob sie übereinstimmt:

CREATE VIEW curr_department AS
    (SELECT department_id as id FROM employee WHERE id =
        (SELECT employee_id FROM account WHERE login = current_user)
    );

CREATE POLICY locale_policy ON employee
    TO justuser, operator
    USING (department_id =
        (SELECT id FROM curr_department)
    );