PostgreSQL. Не удается подключиться к базе данных
Проблема
Не удается подключиться к базе данных с помощью psql
.
Диагностика
- Проверить:
- подключение к БД под нулевым уровнем конфиденциальности;
под ненулевым уровнем конфиденциальности наличие ошибки при подключении:
psql: не удалось подключиться к серверу: Ошибка протокола
- наличие проблем при локальном подключении к БД.
- Сравнить исходящий трафик на выходе клиента с трафиком на входе сервера с помощью
tcpdump
.
Возможная причина: Модификация пакетов управляемым коммутатором. Перейти к решению.
Проверить при подключении к БД наличие сообщения вида:
psql: СБОЙ: ошибка получения мандатных атрибутов на сервере для <имя_пользователя>
Возможная причина: Не назначены мандатные атрибуты пользователя. Перейти к решению.
Выполнить команды:
sudo psql -U postgres -d test -c "VACUUM FULL" psql -U test -d test
и проверить наличие сообщения вида:
psql: СБОЙ: база данных "test" не существует
Возможная причина: Неправильно выставлена метка безопасности. Перейти к решению.
Проверить при подключении к кластеру (развернуто несколько кластеров СУБД) наличие сообщения вида:
psql: СБОЙ: роль "<имя_пользователя>" не существует
Возможная причина: Неправильно указан порт для подключения. Перейти к решению.
Проверить после ввода пароля наличие сообщения вида:
Connection to database failed: СБОЙ: ошибка получения мандатных атрибутов на сервере для пользователя "user"
Возможная причина: У пользователя postgres отсутствуют права доступа к кешу parsec. Перейти к решению.