Права доступа к таблицам и функциям

Вся база создана от postgres-а. Все функции созданы от postgres и имеют права запуска SECURITY DEFINER.
Подразумевался смысл, что любой пользователь с правами на запуск функций не нуждался в определении прав на доступ к таблицам.

Теперь получается следующая проблема.
Создаю роль как в примерах:
CREATE ROLE readonly_group NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

Этой группе выдаю права на таблицы, представления, функции...если надо
например для схемы access:

GRANT SELECT ON ALL TABLES IN SCHEMA access TO GROUP readonly_group;
GRANT EXECUTE ON ALL functions IN SCHEMA access TO GROUP readonly_group;

Теперь добавляю пользователя test_user и назначаю его в эту группу:

CREATE ROLE test_user LOGIN UNENCRYPTED PASSWORD '1';
GRANT readonly_group TO test_user;

Затем делаю под этим пользователем

SELECT * FROM access.access_tbl

И pgAdmin 4 возвращает 0 строк, а Maestro говорит, что не прав доступа.
Причем SELECT * FROM access.get_rights('user');
Аналогично ничего не выполняет.
Подскажите пожалуйста где ошибка?

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

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

Проверил права

Проверил права доступа.

SELECT relacl from pg_catalog.pg_class where relname='access_tbl'
результат
{postgres=arwdDxt/postgres,readonly_group=arwdDxt/postgres,test_user=arwdDxt/postgres}

Вопрос снят! Забыл добавить

Вопрос снят! Забыл добавить права на схему. ;)

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

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

Back to top

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