Проблема

Не удается подключиться к базе данных с помощью 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. Перейти к решению.


Возможные причины