>_ IzzyLab

Практическое задание

PostgreSQL: роль с паролем

средне

В кластере создай роль appuser с возможностью входа (LOGIN) и паролем secret, затем выдай ей право подключаться к базе shop (CONNECT).

Что потренируешь:
  • postgresql
  • роли
  • create role
  • grant
  • права доступа

Разбор темы

В PostgreSQL нет отдельной сущности «пользователь» — есть роли, а обычный пользователь это роль с атрибутом входа (LOGIN); без него роль превращается в группу, под которой нельзя подключиться напрямую. Пароль — атрибут роли (PASSWORD), но сам по себе он не даёт доступа к базам: право подключаться к конкретной базе — независимый уровень, выдаваемый отдельным грантом привилегии CONNECT через GRANT. Мысленная модель: наличие роли, право входа и право на конкретную базу — три ортогональных вещи, и пропуск любой ломает подключение. Команды выполняют в psql под суперпользователем postgres.

Что проверяется

  1. роль appuser с правом входа существует
  2. у appuser есть CONNECT на shop

Как это выглядит