Чтобы создать пользователя только для чтения в PostgreSQL, вы можете использовать несколько методов. Вот несколько примеров:
Метод 1: использование операторов CREATE USER и GRANT
-- Create a new user
CREATE USER readonly_user WITH PASSWORD 'password';
-- Grant read-only privileges to the user
GRANT CONNECT ON DATABASE your_database TO readonly_user;
GRANT USAGE ON SCHEMA public TO readonly_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_user;
Метод 2. Использование оператора REVOKE
-- Create a new user
CREATE USER readonly_user WITH PASSWORD 'password';
-- Grant all privileges to the user
GRANT ALL PRIVILEGES ON DATABASE your_database TO readonly_user;
-- Revoke write privileges from the user
REVOKE CREATE ON SCHEMA public FROM readonly_user;
REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA public FROM readonly_user;
Метод 3: использование файла pg_hba.conf (требуется перезагрузка сервера)
Отредактируйте файл pg_hba.confи добавьте следующую строку:
# TYPE DATABASE USER ADDRESS METHOD
host your_database readonly_user 0.0.0.0/0 md5
После внесения изменений необходимо перезапустить сервер PostgreSQL.
Метод 4. Использование инструмента управления базами данных.
Многие инструменты управления базами данных, такие как pgAdmin или DBeaver, предоставляют пользовательский интерфейс для создания пользователей базы данных и управления ими. Вы можете использовать эти инструменты, чтобы создать пользователя и назначить ему права только на чтение.
Обратите внимание, что в приведенных выше примерах кода вам необходимо заменить your_databaseна имя вашей фактической базы данных, а readonly_userна желаемое имя пользователя для базы данных, доступной только для чтения. пользователь.