Как работает dblink при использовании на удаленном клиенте

Сценарий: у нас есть хост с установленным postgresql9.6, он работает отлично. У нас есть еще один хост в AWS с установленным redshift, который содержит кучу представлений. Мы используем dblink между этими двумя хостами для запроса данных/массовых вставок и т. д., и они работают. Проблема возникает, когда мы добавляем клиентский компьютер в сценарий. У меня есть ноутбук с модулем psql, и я могу успешно подключиться к своей базе данных postgresql на указанном выше хосте и выполнять запросы без каких-либо проблем, но когда я пытаюсь выполнить команду dblink connect из моего клиента psql на своем ноутбуке, он не сообщает...

ERROR: could not establish connection
DETAILS: FATAL: password authentication for user " **** " 
FATAL : no pg_hba.conf entry for host " ***.**.**.**", " username " , database "db", SSL off

Я не понимаю, почему мы получаем эту ошибку, потому что точные команды для dblink отлично работают при локальном выполнении на хосте postgresql.

Кто-нибудь сталкивался с такой же проблемой?

Спасибо


person jora91    schedule 22.05.2017    source источник


Ответы (1)


У меня была очень похожая проблема, это не проблема пользователя, а проблема IP.

Проверьте IP вашего ноутбука, скорее всего он не указан в pg_hba.conf

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             xxx.xxx.xxx.xxx/24          md5

Первая строка — локальный компьютер, вторая — сеть, в которой вы находитесь. то есть 198.162.1.0, разрешит подключение с 198.162.1.0.

Ваш ноутбук, скорее всего, находится в отдельной сети и его придется добавить.

Вам также придется перезапустить службу после внесения изменений в pg_hba.conf.

Удачи.

person David    schedule 24.09.2017