Проблемы с подключением PostgreSQL, установленного в WSL2 Ubuntu, с хоста Windows 10

У меня большие проблемы с подключением к PostgreSQL, установленному в WSL2 Ubuntu, с хоста Windows 10.

Вот что я сделал до сих пор.

  1. Установите пароль для пользователя postgres.
  2. Установите следующее в pg_hpa.conf

    local all postgres md5

    host all all 0.0.0.0/0 md5

  3. Установите следующее в postgresql.conf

    listen_addresses = '*'

  4. Успешно протестировано, что я могу подключиться к psql -U postgres, поэтому пароль должен быть установлен правильно.

Когда я пытаюсь подключиться с помощью pgAdmin или psql с хоста Windows 10, я получаю следующую ошибку.

error: could not connect to server: FATAL: password authentication failed for user "postgres"

Что еще я могу изменить в pg_hpa.conf или других конфигурациях PostgreSQL, что может помочь?

Я думаю, что я мог бы иметь какое-то отношение к тому, что WSL2 имеет свой собственный IP-адрес, даже несмотря на то, что соединения с хостов кажутся исходящими от localhost. Кажется, что соединение установлено, но аутентификация по какой-то причине не удалась, если она не выполняется изнутри Ubuntu.


person Martin Vang    schedule 11.06.2020    source источник


Ответы (1)


Позже я тестировал nc -l 5432, и по какой-то причине порт 5432 не достиг WSL2 на локальном хосте, но достиг WSL-2 IP. Если я использую любой другой свободный порт, например 5434 (бесплатно как для Windows, так и для WSL-2), он отлично работает, и я могу подключиться к службе PostgreSQL на WSl-2 через localhost в Windows.

Я не менял никаких параметров с момента исходного опубликованного вопроса - только порт.

Обновление: оказалось, что действительно был процесс из старой установки postgres в Windows, который прослушивал порт 5432. Это, конечно, все объясняет. ..: /

person Martin Vang    schedule 11.06.2020
comment
Итак, что же на самом деле решение для этого? - person Bhargav Gohil; 20.06.2021