news
Serverspace добавил возможность подключения S3 к сервису CDN
KA
3 октября 2023
Обновлено 2 октября 2023

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

Linux Базы данных

Введение

Информационные системы представлены в различных сферах бизнеса и нашей жизни: здравоохранение, производство, выращивание продуктов питания, развлечения и т.д. Все это требует более эффективного сохранения, обмена, извлечения, получения и обновления данных. Для этого общество разработало хранилища для структурированных данных и создало различные типы БД. В этой инструкции мы рассмотрим один из таких примеров — PostgreSQL и то, как управлять пользователями в ней.

Управление пользователями

Мы работаем с установленной системой управления базами данных (СУБД) PostgreSQL на нашу машину, теперь первым шагом будет переключение пользователя на postgres:

sudo -i -u postgres
psql
Логин
Скриншот №1 — Логин

Для проверки пользователя в СУБД можно воспользоваться следующей командой:

SELECT * FROM pg_catalog.pg_user;
Показать всех пользователей
Скриншот №2 — Показать всех пользователей

Теперь мы можем добавить новую учетную запись, для чего необходимо указать имя и пароль:

CREATE USER serverspace WITH PASSWORD 'mypassword.com';

А чтобы убедиться в корректности работы нашей команды, мы можем заметить надпись CREATE ROLE, как результат. Можем ввести также другую команду для проверки списка пользователей:

SELECT * FROM pg_catalog.pg_user;
Создать пользователя
Скриншот №3 — Создать пользователя

В таблице представлены все параметры нового добавленного пользователя, теперь нам необходимо командой GRANT также предоставить ему привилегии:

GRANT ALL ON ALL TABLES IN SCHEMA public TO serverspace;

Поясним синтаксис этого сложного запроса:

  • GRANT ALL — синтаксическая команда, позволяющая предоставить пользователю все или административные привилегии;
  • ON ALL TABLES — означает предоставление привилегий для всех таблиц;
  • IN SCHEMA — для PostgreSQL используется план организации таблиц в БД;
  • TO serverspace — указывает на учетную запись для эскалации привилегий.
Повышение привилегий
Скриншот №4 — Повышение привилегий

Точно так же мы можем его отменить:

REVOKE ALL ON ALL TABLES IN SCHEMA public FROM serverspace;
Понижение привилегий
Скриншот №5 — Понижение привилегий

Как можно заметить, синтаксис команд напоминает человекоподобный и интуитивно понятный язык. Также мы можем назначить пользователю роль, то есть специальную группу для удобного управления:

CREATE ROLE tigers;
GRANT tigers to serverspace;
Создание роли
Скриншот №6 — Создание роли

В тех случаях, когда необходимо восстановить пароль или обновить его по причине человеческого фактора или технических проблем, можно воспользоваться командой:

ALTER USER serverspace WITH PASSWORD 'newpassphrase';
Смена пароля
Скриншот №7 — Смена пароля

Для удаления учетной записи можно использовать SQL—запрос DROP:

DROP USER serverspace;

И проверить список текущих пользователей в СУБД:

SELECT * FROM pg_catalog.pg_user;
Удаление аккаунта
Скриншот №8 — Удаление аккаунта

Вывод

Информационные системы играют ключевую роль в различных аспектах нашей жизни, охватывая такие отрасли, как здравоохранение, производство, сельское хозяйство, индустрия развлечений и другие. Необходимость эффективного хранения, обмена, извлечения и обновления данных в этих системах привела к появлению специализированных решений для хранения структурированных данных. Одним из таких примеров является PostgreSQL, мощная и универсальная система управления базами данных (СУБД).

Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300

Вам также может быть интересно...