Особенности работы механизма RLS демонстрировались в разделе . Этот механизм дописывает свои условия к запросам, и это следует принимать во внимание при исправлении проблемных запросов.
Если от дописывания условий нельзя избавиться совсем, следует по крайней мере ограничить их количество, как рекомендуется в статье К. Рупасова: «Если в конфигурации описано несколько ролей с условиями RLS, то не следует назначать одному пользователю более одной такой роли. Если один пользователь будет включен, например, в две роли с RLS – бухгалтер и кадровик, то при выполнении всех его запросов к их условиям будут добавляться условия обоих RLS с использованием логического ИЛИ. Таким образом, даже если в исходном запросе нет условия ИЛИ, оно появится там после добавления условий RLS. Такой запрос также может выполняться неоптимально – медленно и с избыточными блокировками.
Вместо этого следует создать «смешанную» роль – «бухгалтер-кадровик» и прописать ее RLS таким образом, чтобы избежать использования ИЛИ в условии, а пользователя включить в эту одну роль.