Linux Labs

Веб-стек / Ступень 7 из 9

Подключение, роль и pg_hba

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 1 из 7 · на машине · 5 мин

Приложение не входит в базу

Чему научишься

  • Определять по сообщению psql, на какой проверке остановилось подключение — сеть, правило или пароль.
  • Читать pg_hba.conf и находить строку, которая решает судьбу подключения.
  • Добавлять узкое правило доступа и применять его без перезапуска сервера.

Магазину на этом сервере завели в PostgreSQL базу shop и учётную запись shop с паролем. Приложение магазина подключается к базе по адресу 127.0.0.1 и получает отказ, хотя служба работает.

Повтори его попытку из терминала. Пароль shop лежит у тебя в файле ~/.pgpass, psql возьмёт его сам. «Начать» запустит PostgreSQL и заведёт базы.

Упражнение · посмотреть

Повтори вход приложения

Проверь, что служба работает и порт 5432 слушается, потом войди в базу shop ролью shop — так, как входит приложение.

Сначала предположи

Что ответит psql?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа
Проверь себя 1 вопрос

Служба active, порт 5432 слушается, а вход shop отклонён. Где остановилась попытка?

  • Соединение дошло: ss показал LISTEN … 127.0.0.1:5432, а строку FATAL: no pg_hba.conf entry написал сервер.

  • systemctl is-active postgresql напечатал active, и сервер ответил на соединение — служба исправна.

  • Пароль лежит в ~/.pgpass, но до него не дошло: в отказе о пароле ни слова, только no pg_hba.conf entry.

Соединение дошло до PostgreSQL, и отказ написал сам сервер.

Ubuntu 24.04
Загрузка…