Возникла проблема при создании пользователей с правами только для чтения в RDS PostgreSQL 9.6.Я выполняю следующие команды SQL:
---- ###### CREATE ROLE ################
CREATE ROLE readonlyrole_dev;
-- Grant access to existing tables
GRANT USAGE ON SCHEMA public TO readonlyrole_dev;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonlyrole_dev;
-- set the privileges that will be applied to objects created in the future.
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonlyrole_dev;
CREATE USER readonly_dev WITH PASSWORD 'welcome1';
GRANT readonlyrole_dev TO readonly_dev;
Когда я регистрируюсь с пользователем readonly_dev
, он имеет право создавать новые таблицы по умолчанию, но я не хочу этого делать.Я хочу оставить readonly_dev
только для чтения.
Примечание: Чтобы отозвать доступ у пользователя, я выполняю
REVOKE CREATE ON SCHEMA public FROM PUBLIC;
, который также отменяет привилегию создания объектов для всех старых пользователей.Я хочу отозвать право на создание только у вновь созданного пользователя.
Как я могу это сделать?