2015-12-14 2 views
0

Когда задача сельдерей я настроил выполняется следующее исключение при попытке извлечения объекта из базы данных:аутентификации Peer терпит неудачу с PostgresSQL в сельдерея задачи

File "/usr/local/lib/python2.7/dist-packages/psycopg2/__init__.py", line 164, in connect 
    conn = _connect(dsn, connection_factory=connection_factory, async=async) 
OperationalError: FATAL: Peer authentication failed for user "chris" 

Это происходит только когда задача выполняется сельдереем. Как я могу это исправить?

Моя установка «хозяин» представляет собой пустую строку «» в settings.py.

Stack

Python 2.7.10, Django 1.8.5

+0

Те же самые полномочия работают для реального приложения django? –

+0

@BurhanKhalid Да, приложение работает нормально - я могу добавлять, редактировать и удалять с помощью admin или api. – RunLoop

+0

Использование этой же учетной записи пользователя? –

ответ

1

Похоже, ваш pg_hba.conf настроен на использование одноранговой аутентификации для локальных соединений сокетов, то есть вы можете подключить только как пользователь Postgres «chris», если вы вошли в систему как пользователь Linux «chris». Предположительно, ваше приложение использует IP-соединение, а не соединение сокетов, и будет подвергаться различным правилам аутентификации.

Вы могли бы решить эту проблему, либо:

  • Запуск сельдерея, как пользователь «Крис»
  • Изменение pg_hba.conf использовать некоторую форму аутентификации пароля для данного пользователя и типа подключения
  • Настройки сельдерея для использования IP-соединения, установив «host» в «127.0.0.1»
Смежные вопросы