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

⚡ Умное резюме

Создание пользователя в PostgreSQL Это можно сделать визуально в pgAdmin или с помощью команды CREATE USER в SQL Shell. Затем вы можете предоставить привилегии с помощью GRANT, изменить роли с помощью ALTER USER и удалить учетные записи с помощью DROP USER.

  • 🇧🇷 Создать в pgAdmin: Щелкните правой кнопкой мыши на «Вход/Роли групп», введите имя, установите пароль и права доступа, затем сохраните, чтобы создать пользователя.
  • 💻 Команда CREATE USER: В SQL Shell команда CREATE USER name WITH options позволяет задать логин, имя суперпользователя и пароль одним действием.
  • 🔑 Предоставление доступа: Команда GRANT ALL PRIVILEGES ON DATABASE db TO user предоставляет существующему пользователю доступ к базе данных.
  • 🔧 ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ: Команда ALTER USER изменяет права доступа роли, добавляя или отменяя такие привилегии, как SUPERUSER.
  • 🇧🇷 УДАЛИТЬ ПОЛЬЗОВАТЕЛЯ: Команда DROP USER удаляет учетную запись, но только после того, как она перестанет владеть какими-либо объектами базы данных.
  • 🧾 Роль против пользователя: При создании пользователя по умолчанию устанавливается значение LOGIN, а при создании роли — значение NOLOGIN; в остальном они идентичны.

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

Как создать PostgreSQL Пользователь в PgAdmin

Ниже приведен пошаговый процесс создания пользователя в PostgreSQL ПгАдмин:

Шаг 1) Щелкните правой кнопкой мыши «Войти»

На первом этапе щелкните правой кнопкой мыши роль группы входа -> Создать -> щелкните роль группы входа…

Создавай PostgreSQL Пользователь в PgAdmin

Шаг 2) Создать роль входа/группы

Теперь введите имя для входа

Создавай PostgreSQL Пользователь в PgAdmin

Шаг 3) Нажмите «Определение» и введите данные.

  1. Введите пароль
  2. Дата истечения срока действия учетной записи

Создавай PostgreSQL Пользователь в PgAdmin

Шаг 4) Раздел «Привилегии»

  1. Toggle Кнопка «Может войти» на «ДА»
  2. Toggle Суперпользователь на ДА

Создавай PostgreSQL Пользователь в PgAdmin

Шаг 5) SQL .

  1. Вы увидите SQL-запрос для создания пользователя в соответствии с выбором, сделанным на предыдущих шагах.
  2. Нажмите кнопку Сохранить

Создавай PostgreSQL Пользователь в PgAdmin

Шаг 6) Роль создана

Теперь роль отображается в дереве объектов.

Создавай PostgreSQL Пользователь в PgAdmin

Шаг 7) Создайте База данных

Теперь назначьте ему владельца myguru, как показано ниже в примере создания пользователя Postgres.

Создавай PostgreSQL Пользователь в PgAdmin

Шаг 8) Командная строка

Теперь вы можете видеть, что владельцем является Мигуру.

Создавай PostgreSQL Пользователь в PgAdmin

PostgreSQL Создайте пользователя SQLShell (командная строка)

Вы можете создать пользователя с помощью команды командной строки

СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ

Этот метод создания пользователя с паролем в Postgres более удобен для программистов и администраторов, поскольку у них есть доступ к консоли PostgreSQL сервер. Более того, им необходимо создать и выполнить пользователя Postgres с помощью одной команды вместо входа в систему и использования интерфейса PostgreSQL клиент.

Синтаксис:

CREATE USER name [ WITH ] option [ ... ]

where option can be:

      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | REPLICATION | NOREPLICATION
    | BYPASSRLS | NOBYPASSRLS
    | CONNECTION LIMIT connlimit
    | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
    | VALID UNTIL 'timestamp'
    | IN ROLE role_name [, ...]
    | IN GROUP role_name [, ...]
    | ROLE role_name [, ...]
    | ADMIN role_name [, ...]
    | USER role_name [, ...]
    | SYSID uid

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

CREATE USER tom;

создаст пользователя Тома

CREATE USER tom WITH SUPERUSER;

Будет создан пользователь tom с правами суперпользователя. Рассмотрим следующий пример.

Шаг 1) Создаем суперпользователя, действующего до 3rd Апрель 2025 г., 11:50:38 IST. Введите следующую команду.

CREATE USER mytest WITH
	LOGIN
	SUPERUSER
	CREATEDB
	CREATEROLE
	INHERIT
	NOREPLICATION
	CONNECTION LIMIT -1
	VALID UNTIL '2025-04-03T11:50:38+05:30'
	PASSWORD '123456';

Создайте пользовательскую SQLShell

Шаг 2) Введите команду \du в контрольный список пользователей.

Создайте пользовательскую SQLShell

ПРИМЕЧАНИЕ: Команда CREATE USER аналогична команде CREATE ROLE. Разница между ними заключается в том, что команда CREATE USER в PostgreSQL по умолчанию находится в состоянии LOGIN, тогда как при использовании опции CREATE ROLE предполагается состояние NOLOGIN.

Добавить существующего пользователя в базу данных

Вы можете предоставить пользователю права доступа к базе данных.

Например, мы предоставляем пользователю «mytest» все привилегии пользователя guru99.

GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;

Добавить существующего пользователя в базу данных

После выполнения PostgreSQL добавьте команду пользователя, пользователь сможет получить доступ к базе данных с заданными разрешениями.

Команда GRANT очень мощная. Вы можете предоставить пользователю подробные привилегии, такие как «Выбрать», «Вставить», «Обновить».

PostgreSQL Обновление ПОЛЬЗОВАТЕЛЯ

Изменение существующих разрешений пользователя

Теперь, когда наш новый пользователь «mytest» существует, вы можете использовать ALTER USER для изменения разрешений, предоставленных библиотекарю.

Формат ALTER USER Postgres включает имя пользователя, за которым следуют некоторые параметры. PostgreSQL какие допустимые изменения внести:

ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

RevОК Разрешения

Вам необходимо использовать эту команду, если вы допустили ошибку и неправильно назначили разрешение, которое вы, возможно, захотите отозвать. Вы можете использовать команду ALTER USER без префикса перед разрешительными параметрами.

Например, мы можем удалить статус SUPERUSER из mytest следующим образом:

ALTER USER mytest WITH NOSUPERUSER;

Используя \du, вы заметите, что права суперпользователя удалены.

RevОК Разрешения

Назначение разрешения

Вы можете использовать права пользователя SUPERUSER обратно «mytest», используя следующую команду

ALTER USER mytest WITH SUPERUSER;

Используя \du, вы заметите, что добавляются привилегии суперпользователя.

Назначение разрешения

PostgreSQL Удаление пользователя

Вы можете удалить любого пользователя, если уверены, что этот конкретный пользователь больше не относится к вашей базе данных. Обратите внимание, что удаление пользователей никогда не повлияет на реальную базу данных.

Syntax: DROP USER [user]

Чтобы удалить любого пользователя, вы должны убедиться, что он является владельцем базы данных. В противном случае вы можете получить сообщение об ошибке.

ERROR:  role "username" cannot be dropped because some objects depend on it

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

  1. Учетная запись «myguru» является владельцем базы данных «demoDB».
  2. Введите команду DROP USER myguru
  3. Отображается ошибка

PostgreSQL Удаление пользователя

Как только мы сменим владельца базы данных, пользователя можно будет удалить.

PostgreSQL Удаление пользователя

Шпаргалка

Вот важные команды

Команды Описание
CREATE USER [user]
Команда для создания пользователя
ALTER USER role_specification
Изменение существующих разрешений пользователя
ALTER USER [user]
RevОК Разрешения
ALTER USER [user name] WITH SUPERUSER
Назначение разрешения
DROP USER [user]
Команда для удаления пользователя

Часто задаваемые вопросы (FAQ)

В оболочке psql выполните команду \du, чтобы вывести список всех ролей и их атрибутов. Вы также можете запросить системный каталог с помощью команды SELECT rolname FROM pg_roles, чтобы получить ту же информацию программным способом.

Используйте команду ALTER USER, например, ALTER USER mytest WITH PASSWORD 'newpassword'. Изменения вступают в силу немедленно. Пароли хранятся в зашифрованном виде, и изменить их могут только суперпользователи или сам пользователь.

In PostgreSQLПользователи и роли — это один и тот же объект. Команда CREATE USER создает роль, которая по умолчанию может входить в систему, а команда CREATE ROLE создает роль, которая не может войти в систему, если не добавить атрибут LOGIN.

Искусственный интеллект может генерировать операторы CREATE USER, GRANT и ALTER USER на основе простого описания необходимых вам прав доступа и объяснять каждое из них. Это помогает применять принцип минимальных привилегий без необходимости запоминать синтаксис.

Да. Искусственный интеллект может предлагать детализированные команды GRANT, которые предоставляют только необходимые привилегии, предупреждают о недопустимости предоставления широкого доступа суперпользователя и рекомендуют использовать роли для группировки разрешений в целях упрощения и повышения безопасности управления.

Подведем итог этой публикации следующим образом: