Для выполнения операций с базами данных в PostgreSQL создаются пользователи с различными правами доступа. В статье расскажем о том, как создать пользователя в PostgreSQL разными способами. Чтобы выполнить приведенные ниже рекомендации, сначала установите эту СУБД на сервер. Порядок установки на Ubuntu (Linux) и Windows подробно описывается в этой статье.
Для создания пользователя PostgreSQL можно использовать разные методы: например, ввести команду CREATE USER
(или CREATE ROLE
) в командной строке или выполнить SQL-запрос через интерфейс администрирования, такой как pgAdmin
. Рассмотрим эти способы более подробно.
Для создания пользователя superuser
с паролем и правами администратора в PostgreSQL сначала открываем командную строку, например, через утилиту psql
или командой psql -U <имя_пользователя>
. Далее вводим следующую команду в командной строке, заменив name
и pass
на желаемые значения:
CREATE USER name WITH PASSWORD 'pass' SUPERUSER;
После выполнения этой команды будет создан пользователь с правами администратора, что даст ему полный контроль над базой данных (БД). Также заметим, что для выполнения этой команды вам потребуется роль администратора с привилегиями доступа к созданию пользователей.
Для создания обычного пользователя вводим следующую команду, также заменив name
и pass
на желаемые значения:
CREATE USER name WITH PASSWORD 'pass';
Обратите внимание, что мы можем также добавить дополнительные параметры при создании пользователя, например, ограничения на подключение или права доступа к БД. Делается это так:
CREATE USER name WITH PASSWORD 'pass' CONNECTION LIMIT 5;
Опция CONNECTION LIMIT
указывает максимальное количество одновременных подключений, которые может установить этот пользователь. В данном случае, пользователь будет ограничен до 5 одновременных подключений к базе данных.
dbaas
Если вы предпочитаете использовать интерфейс администрирования, такой как pgAdmin
, то создание новых пользователей здесь осуществляется следующим образом:
pgAdmin
, подключитесь к серверу PostgreSQL.CONNECTION LIMIT
— см. пример выше) и дату и время истечения прав учетной записи. Однако если для пользователя задан вход без пароля, то значение, указанное в Account expires, применяться не будет. Если же вы хотите установить неограниченное количество одновременных подключений, установите значение CONNECTION LIMIT
на -1.pg monitor
.pgAdmin
.Начнем с того, что роли в современных версиях СУБД Postgres представляют как отдельных пользователей (с правами входа в систему или без них), так и целые группы. И для создания ролей в БД используются команды CREATE ROLE
и CREATE USER
. Они выполняют одну и ту же функцию, но существует небольшая разница в синтаксисе.
Команда CREATE ROLE
часто (но не только) используется для создания роли без возможности входа в систему. Это означает, что созданная роль не сможет подключаться к серверу PostgreSQL и выполнять операции в базе данных (добавлять, изменять и удалять данные). Это может быть полезным, если вы хотите создать пользователя PostgreSQL Read Only (с правами только для чтения), пример:
CREATE ROLE readonly_user;
Команда CREATE USER
(примеры ее использования см. выше), с другой стороны, нередко используется для создания роли с возможностью входа в систему. Это означает, что созданный пользователь сможет подключаться к серверу PostgreSQL и выполнять различные операции в базе данных.
Таким образом, команда CREATE USER
фактически синонимична команде CREATE ROLE
с опцией LOGIN
. То есть команды CREATE USER readonly_user
и CREATE ROLE readonly_user WITH LOGIN
равнозначны.
Выгодные тарифы на DBaaS в Timeweb Cloud
А на этом всё: теперь вы знаете, как создавать пользователей различными способами через консоль и графический интерфейс и наделять их различными правами. Успешной работы!