Я хочу сделать пользователя базы данных, который будет использовать мои предопределенные функции (login (pass, login), get_users_you_are_in_charge_off (login, pass) и т. Д.).
Поскольку это должно быть открыто для всех, я хочу создать роль пользователя / группы БД, которая позволила бы этому пользователю выполнять только мои предопределенные функции.
Проблема в том, что эти функции используют SELECT, UPDATE, INSERT. А когда я даю только права на выполнение функций, они выдают ошибки, которые у них нет разрешения на это.
Есть идеи? (Может быть, я мог бы статически изменить роль внутри функций?)
// Чтобы ответить на некоторые комментарии
На 1-й комментарий: хорошо, я посмотрю на него и отвечу, если это поможет мне. Благодарю. Хорошо, спасибо за ваш ответ, это именно то, что мне нужно. Спасибо пользователю "plundra"!
На 2-й комментарий:
У меня уже есть таблица или пользователи (с их логинами). Но если я сделаю функцию checkLogin (name, pass), эту функцию нужно выбрать из таблицы users. И если я не даю пользователю права делать ВЫБОРЫ, это не сработает. Если я даю права, то пользователь может просто сделать SELECT * от пользователей; и посмотрите, какие есть пароли.
ОК, спасибо за ваши ответы, первый комментарий именно то, что мне нужно. Спасибо пользователю "plundra"!