Вход/ Регистрация

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

26355
4 минуты чтения
Средний рейтинг статьи: 3.3

Для выполнения операций с базами данных в PostgreSQL создаются пользователи с различными правами доступа. В статье расскажем о том, как создать пользователя в PostgreSQL разными способами. Чтобы выполнить приведенные ниже рекомендации, сначала установите эту СУБД на сервер. Порядок установки на Ubuntu (Linux) и Windows подробно описывается в этой статье.

Для создания пользователя PostgreSQL можно использовать разные методы: например, ввести команду CREATE USER (или CREATE ROLE) в командной строке или выполнить SQL-запрос через интерфейс администрирования, такой как pgAdmin. Рассмотрим эти способы более подробно.

Миграция в то самое облако

Перенесем вашу инфраструктуру в облако — быстро,
безопасно и с гарантией результата.

Предоставим грант до 1 000 000 ₽ на облачную
инфраструктуру и возьмем на себя весь процесс.

Создаем пользователей через CREATE USER

Для создания пользователя 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 одновременных подключений к базе данных.

Создаем пользователя PostgreSQL через pgAdmin

Если вы предпочитаете использовать интерфейс администрирования, такой как pgAdmin, то создание новых пользователей здесь осуществляется следующим образом:

  1. Откройте pgAdmin, подключитесь к серверу PostgreSQL.
  2. В левой панели навигации выберите БД, в которой вы хотите создать пользователя.
  3. Щелкните правой кнопкой на «Login/Group Roles» и выберите «Create» — «Login/Group Role».
  4. В появившемся окне заполните следующую информацию:
    • В поле Name на вкладке General введите имя пользователя.
    • В поле Password на вкладке Definition введите пароль новой учетной записи. Также на этой вкладке можно настроить дополнительные параметры, такие как ограничение количества одновременных подключений (CONNECTION LIMIT — см. пример выше) и дату и время истечения прав учетной записи. Однако если для пользователя задан вход без пароля, то значение, указанное в Account expires, применяться не будет. Если же вы хотите установить неограниченное количество одновременных подключений, установите значение CONNECTION LIMIT на -1.
    • В разделе Privileges выберите необходимые привилегии. Например, можно установить опцию Can login? в активную позицию (нажав на переключатель справа), чтобы разрешить пользователю вход в систему. Там же можно выдать учетной записи права суперпользователя (опция Superuser?).
    • На вкладке Membership можно задавать пользователям специфические роли, которые предлагаются системой. Например, для отслеживания и диагностики БД предусмотрена роль pg monitor.
  1. Проверьте созданный код SQL на крайней правой вкладке и затем нажмите кнопку «Save», чтобы создать пользователя с выбранными параметрами.
  2. Теперь пользователь будет создан и отображен в списке «Login/Group Roles» в pgAdmin.

CREATE USER vs CREATE ROLE

Начнем с того, что роли в современных версиях СУБД 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

Таблица тарифов
Сравнение тарифов
Cloud DB 1/2/20 —
790 ₽/мес
Cloud DB 2/2/30 —
1160 ₽/мес
Cloud DB 2/4/40 —
1580 ₽/мес
Cloud DB 4/8/80 —
3160 ₽/мес
Cloud DB 4/12/120 —
4240 ₽/мес
Cloud DB 6/12/180 —
5460 ₽/мес
Cloud DB 8/16/220 —
7040 ₽/мес
Процессор1 x 3.3 ГГц2 x 3.3 ГГц2 x 3.3 ГГц4 x 3.3 ГГц4 x 3.3 ГГц6 x 3.3 ГГц8 x 3.3 ГГц
Память2 ГБ2 ГБ4 ГБ8 ГБ12 ГБ12 ГБ16 ГБ
Диск NVMe20 ГБ30 ГБ40 ГБ80 ГБ120 ГБ180 ГБ220 ГБ
Резервные копииЕстьЕстьЕстьЕстьЕстьЕстьЕсть
Приватный IPЕстьЕстьЕстьЕстьЕстьЕстьЕсть
Фиксированный
Произвольный
CPU
RAM
Диск
Стоимость
1 x 3.3 ГГц
2 ГБ
20 ГБ
790 ₽/мес
2 x 3.3 ГГц
2 ГБ
30 ГБ
1 160 ₽/мес
2 x 3.3 ГГц
4 ГБ
40 ГБ
1 580 ₽/мес
Раз в день
0 ₽/месяц
Отключить
Не рекомендуется

А на этом всё: теперь вы знаете, как создавать пользователей различными способами через консоль и графический интерфейс и наделять их различными правами. Успешной работы!

26355
4 минуты чтения
Средний рейтинг статьи: 3.3

Читайте также

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
Пока нет комментариев