Инструкция по созданию пользователя в PostgreSQL
В PostgreSQL создание пользователя осуществляется с помощью команды CREATE USER. Простейший синтаксис команды имеет вид:
CREATE USER username PASSWORD 'password';
Где:
- username – имя создаваемого пользователя;
- password – его пароль.
Однако, чаще всего требуется задать и другие параметры пользователя, например, его права доступа. Для этого можно использовать следующие дополнительные параметры:
- CREATEDB – разрешает создание баз данных пользователем (по умолчанию запрещено);
- CREATEROLE – разрешает создание ролей пользователем (по умолчанию запрещено);
- SUPERUSER – назначает пользователю права суперпользователя (по умолчанию нет);
- LOGIN – разрешает пользователю вход в систему (по умолчанию разрешено);
- INHERIT – управляет наследованием прав от других ролей (по умолчанию разрешено);
- CONNECTION LIMIT – задает ограничение на количество одновременных подключений пользователя.
Пример команды с полным списком параметров:
CREATE USER username WITH PASSWORD 'password' CREATEDB CREATEROLE SUPERUSER LOGIN INHERIT CONNECTION LIMIT 10;
Здесь:
- username – имя создаваемого пользователя;
- password – его пароль;
- CREATEDB, CREATEROLE, SUPERUSER, LOGIN и INHERIT – необязательные параметры;
- CONNECTION LIMIT – устанавливает ограничение на количество одновременных подключений пользователя (10 в данном примере).
Также возможно добавление опций, например: PASSWORD 'somepassword' VALID UNTIL '2020-01-01';
Чтобы удалить пользователя в PostgreSQL, можно использовать команду DROP USER:
DROP USER username;
В данном случае удаляется пользователь с именем "username".
Пример создания пользователя в PostgreSQL с некоторыми параметрами:
CREATE USER testuser WITH PASSWORD 'qwe123' CREATEDB CONNECTION LIMIT 5;
В данном случае будет создан пользователь testuser, у которого пароль будет qwe123. Указан параметр CREATEDB, что его потребовать создание баз данных для этого пользователя. Также установлено ограничение на количество одновременных подключений пользователя (5).
Пример удаления пользователя в PostgreSQL:
DROP USER testuser;
Здесь удаляется пользователь с именем testuser.
Пример изменения пароля пользователя:
ALTER USER testuser WITH PASSWORD 'newpassword';
Здесь новый пароль для пользователя testuser будет newpassword.
Несмотря на то, что создание и удаление пользователей является достаточно простой задачей, следует понимать, что правильное управление доступом к базам данных является важным аспектом безопасности любой системы.