У меня есть представление A, которое будет выбирать данные из представления B.Я только хочу, чтобы пользователь, скажем Питер, имел доступ только для чтения в представлении A, но не мог выбирать из представления B.Поэтому я даю ему только права SELECT
на виде A и REFERENCES
на виде B.Это работает очень хорошо.
Теперь у меня есть функция A, которая будет выбирать данные из таблицы B, и я хочу, чтобы Питер мог выполнить функцию A, но не может выбрать данные из таблицы B. Итак, я делаю то же самоевещь, которая дает Петру только право EXECUTE
на функцию А и REFERENCES
прямо на таблицу В.Но это не может работать, и появляется сообщение об ошибке "ERROR: permission denied for relation TableB"
, когда Питер выполняет функцию А. Почему это не работает в этот раз?