Вот проблема, с которой я столкнулся при настройке ролей в postgres.Надеюсь, кто-нибудь может мне помочь с этим.
Я пытаюсь создать роль (например, «read_only_role»), которая будет иметь возможность считывать данные из базы данных (например, «test_database»).
Я имею в виду, что каждый пользователь, имеющий роль «read_only_role», имеет возможность «выбирать» данные из «test_database».
Но я также хочу предоставить одному пользователю из этой роли всеПривилегии согласно "test_database".
Поэтому после того, как я войду в систему как суперпользователь, я запускаю такие команды:
- создать пользователя test_user_with_all_priv с паролем 'somepassword';
- создать роль read_only_role с пользователем test_user;
- создать базу данных test_database;
- отозвать все в базе данных test_database из общедоступных;
- предоставить подключение к базе данных test_database для read_only_role;
- изменить владельца базы данных test_database на test_user_with_all_priv
- ALTER GROUP read_only_role add USER some_other_test_user (это существующий пользователь)
Таким образом, проблемы возникают после седьмого шага.Пользователи, добавленные в группу, могут не только читать данные из базы данных, но также вставлять и удалять таблицы из этой базы данных.
Кто-нибудь знает, что может быть причиной таких проблем и как я могу это исправить?
Спасибо