PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

PostgreSQL - recursão infinita detectada na política para relação


Bem, eu não sei o quão decente é, mas funciona para mim. Encontrei a solução na criação da view onde está o id do departamento do current_user e, em seguida, verificando se corresponde:
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)
    );