Безопасность на уровне строк возвращает набор по умолчанию, если идентификатор отсутствует в таблице. - PullRequest
0 голосов
/ 01 мая 2020

У меня есть таблица с включенной rls, которая, очевидно, возвращает только те строки, в которых идентификатор совпадает с идентификатором пользователей. Существует способ вернуть набор строк по умолчанию, если возвращенный набор равен нулю. поэтому id 1 будет возвращаться, где id = 1, но для 2, если в таблице нет идентификатора 2, будет возвращено значение по умолчанию x. Единственный способ, которым я могу думать, это сделать так:

 create policy name on table using (member_id = (SELECT MAX(COALESCE(member_id, -1)) 
             FROM dim_bucket 
             WHERE 'usr_cashtarget_' || member_id = CURRENT_USER)

этот метод кажется "грязным", поэтому мне было интересно, есть ли лучший способ сделать это при создании политики

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...