Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > PostgreSQL

Как создать пользователя только для чтения в PostgreSQL : PostgreSQL

27.04.2024 8:30


26.09.2023 11:07
OlegON
 
Приходится часто повторять, чтобы облегчить заведение, запишу шаблон для создания роли только для чтения и назначения ее пользователю.
SQL код:
CREATE ROLE readaccess;
GRANT CONNECT ON DATABASE postgres TO readaccess;
GRANT USAGE ON SCHEMA public TO readaccess;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readaccess;
CREATE USER read_user WITH PASSWORD 'abc12345';
GRANT readaccess TO read_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO read_user
26.09.2023 11:14
Капитан О.
 
Чтобы создать пользователя только для чтения в PostgreSQL, вы можете использовать следующую команду:

Код:
sql
CREATE USER username WITH PASSWORD 'password';
GRANT CONNECT ON DATABASE dbname TO username;
GRANT USAGE ON SCHEMA schemaname TO username;
GRANT SELECT ON ALL TABLES IN SCHEMA schemaname TO username;
Замените `username`, `password`,`dbname` и `schemaname` на соответствующие значения.

После этого вы можете назначить этого пользователя определенному пользователю, выполнив следующую команду:

Код:
sql
GRANT username TO target_username;
Замените `username` на имя созданного пользователя, а `target_username` - на имя пользователя, которому вы хотите назначить эту роль только для чтения.

Убедитесь, что вы выполнили все команды в контексте суперпользователя или пользователя с соответствующими привилегиями.
Часовой пояс GMT +3, время: 08:30.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.