Не удается подключиться к pgpool

Я играю вокруг pgpool2.

Я подключаюсь к postgresql, который работает на порту 5432 с командой psql -U postgres -p 5432 и подключается нормально.

Когда я подключаюсь к pgpool2, работающему на порту 9999 с командой psql -U postgres -p 9999 - он возвращает диалог назад, как: psql: root@master:/linux/path#

Что я делаю не так? Есть ли способ подключиться к pgpool с помощью psql? Я не могу подключиться к нему из приложения также.

UPD У меня следующая ошибка pool_do_auth: maybe protocol version mismatch (current version 3)

Решено: проблема была в авторизации pgpool на бэкэндах. редактирование pg_hba.conf исправлена ​​проблема.

1 ответ

Решение

Это сообщение об ошибке и поведение происходят из-за проблемы с аутентификацией pgpool в postgres, а не с аутентификацией в pgpool, как вы, возможно, подозреваете. Если вы проверите журналы postgres, он скажет вам, какая строка в вашем postgres pg_hba.conf отклоняется

Тем не менее, поскольку (IIRC) pgpool не может выполнять одноранговую аутентификацию, вероятно, именно она говорит о том, что все локальные соединения (сокеты Unix) будут аутентифицироваться, делая вид, что системное имя пользователя является именем пользователя postgres:

local all all peer

Вы хотите изменить это на:

local all all trust

По крайней мере, чтобы все заработало. Тем не менее, вы потеряете некоторую безопасность таким образом. Однако, если все ваши пользователи (которые могут получить доступ к сокету Unix) являются доверенными, это нормально.

Другие вопросы по тегам