Создать пользователя в PostgreSQL: как добавить, Alt & Удалить ПОЛЬЗОВАТЕЛЯ?

Содержание:

Anonim

В этом руководстве вы узнаете

  • PostgreSQL Создать пользователя в PgAdmin
  • PostgreSQL Создание пользовательской SQLShell (командная строка)
  • Добавить существующего пользователя в базу данных
  • PostgreSQL: обновление ПОЛЬЗОВАТЕЛЯ
  • Пользователь, удаляющий PostgreSQL
  • Шпаргалка

PostgreSQL Создать пользователя в PgAdmin

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

Шаг 1) Щелкните правой кнопкой мыши на Login / Group Role -> Create -> Click on Login / Group Role.

Шаг 2) Введите имя для входа

Шаг 3) На панели определения

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

Шаг 4) В разделе привилегий

  1. Переключите кнопку Can Login на ДА
  2. Установите для суперпользователя значение ДА

Шаг 5) В разделе SQL

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

Шаг 6) Роль создается и отображается в дереве объектов.

Шаг 7) Создайте базу данных и назначьте ей владельца myguru, как показано ниже. Пример создания пользователя Postgres.

Шаг 8) В командной строке вы можете увидеть, что владелец - myguru.

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

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

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

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

Syntax:CREATE USER name WITH optionwhere the option can be:|SUPERUSER | NOSUPERUSER| CREATEROLE | NOCREATEROLE| CREATEDB | NOCREATEDB| INHERIT | NOINHERIT| LOGIN | NOLOGIN| REPLICATION | NOREPLICATION| BYPASSRLS | NOBYPASSRLS| CONNECTION LIMIT| ( ENCRYPTED ] PASSWORD 'password.'| VALID UNTIL 'timestamp1| IN ROLE role_name [,… J| IN GROUP role_name [,… ]| ROLE role_name [,… ]| ADMIN role_name [,… )| USER role_name [,… ]| SYSID uid

Пример:

CREATE USER tom;

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

CREATE USER tom WITH SUPERUSER;

Создаст фолиант пользователя с привилегиями суперпользователя. Посмотрим на следующий пример.

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

CREATE USER mytest WITHLOGINSUPERUSERCREATEDBCREATEROLEINHERITNOREPLICATIONCONNECTION LIMIT -1VALID UNTIL '2025-04-03T11:50:38+05:30'PASSWORD '123456';

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

ПРИМЕЧАНИЕ. СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ - это то же самое, что и команда СОЗДАТЬ РОЛЬ. Разница между этими двумя командами заключается в том, что когда пользовательская команда Postgres CREATE записывается, она по умолчанию находится в состоянии LOGIN, тогда как NOLOGIN предполагается, когда используется опция CRETE ROLE.

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

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

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

GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;

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

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

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

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

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

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

ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

Отзыв разрешений

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

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

ALTER USER mytest WITH NOSUPERUSER;

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

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

Вы можете использовать разрешение пользователя 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. Отображается ошибка

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

Шпаргалка

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

Команды Описание
CREATE USER [user]

Команда для создания пользователя

ALTER USER role_specification

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

ALTER USER [user]

Отзыв разрешений

ALTER USER [user name] WITH SUPERUSER

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

DROP USER [user]

Команда для удаления пользователя