PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PostgreSQL - récursivité infinie détectée dans la politique de relation

Eh bien, je ne sais pas si c'est décent, mais ça marche pour moi. J'ai trouvé une solution en créant une vue où est l'identifiant du département de current_user, puis en vérifiant s'il correspond :

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)
    );