Права доступа

Имеется клиентское приложение, для него специально создан пользователь БД "puser". Для данных пользователей создана специальная схема "pscheme" и назначены права "GRANT ALL ON SCHEMA", которая содержит только им предназначенные функции "pfunction1", "pfunction2"...
По логике данные мероприятия были затеяны с той целью, чтобы пользователь не имел доступ в другие схемы к реальным таблицам.
Возникла проблема: по запуску "pfunction1" от пользователя "puser" выдаёт ошибку "ОШИБКА:  нет доступа к схеме public" на следующий текст: "SELECT ... FROM public.users...".
С точки зрения безопасности, открытие доступа данному пользователю к данной таблице (а это и SELECT, и INSERT) - это такая большая "дырень". Т.е. не вариант.
Имеется ли возможность наладить требуемый формат безопасности?

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Почитайте в мануале про опции

Почитайте в мануале про опции SECURITY DEFINER и SECURITY INVOKER при CREATE FUNCTON
Судя по всему - это оно.

Да, это именно то, что было

Да, это именно то, что было нужно. Благодарю.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023