Я хочу создать нового пользователя в существующем postgresql
база данных на машине Ubuntu. Я хочу предоставить этому пользователю доступ только для чтения ко всем таблицам.
Как мне это сделать? Мне тоже нужно создать нового пользователя в Ubuntu?
Спасибо,
Уди
Скрипт для создания пользователя только для чтения:
CREATE ROLE Read_Only_User WITH LOGIN PASSWORD 'Test1234'
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';
Назначьте разрешение этому пользователю только для чтения:
GRANT CONNECT ON DATABASE YourDatabaseName TO Read_Only_User;
GRANT USAGE ON SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO Read_Only_User;
Нет необходимости создавать нового пользователя в операционной системе. Просто выдайте:
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ новое имя пользователя
в psql (или pgadmin, или любой другой инструмент, который вы предпочитаете), и у вас появится новый пользователь. Какой доступ у этого пользователя, зависит от того, для чего настроены ваши столы. Но по умолчанию у него не будет разрешений для каких-либо таблиц, поэтому вам придется ПРЕДОСТАВИТЬ это. Если вы уже ПРЕДОСТАВИЛИ разрешения для общедоступной группы, пользователь будет иметь эти разрешения с самого начала.