Я установил экосистему Ubuntu из Microsoft Store ( https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6?SilentAuth= 1 & wa = wsignin1.0 ).
После настройки среды я установил postgres, который выглядит нормально:
eliya@DESKTOP-LDD0TT1:/mnt/c/Users/Eliya$ sudo -i -u postgres
[sudo] password for eliya:
postgres@DESKTOP-LDD0TT1:~$ psql
psql (10.12 (Ubuntu 10.12-0ubuntu0.18.04.1))
Type "help" for help.
postgres=#
Теперь у меня в Windows Datagrip, и я не могу понять, как мне подключиться к psql в моем Ubuntu. Сначала я попытался использовать localhost
в качестве своего хоста, но он, конечно же, использует службу Windows psql
вместо службы ubuntu.
Как я могу подключить Datagrip к моей виртуальной Ubuntu?
Для подключения к datagrip необходимо включить подключение по TCP/IP к базе данных postgres. Чтобы включить это, откройте /etc/postgres/../postgresql.conf
и измените строку: #listen_addres = ""
на listen_addresses = "*"
( удалите # и поставьте символ *) и сохраните его.
Затем откройте pg_hba.conf
(он находится по тому же пути, что и postgresql.conf
) С помощью sudo и в конце файла добавьте следующие строки, чтобы разрешить все подключения (будьте осторожны):
host all all 0.0.0.0/0 md5
host all all ::/0 md5
Сохраните его и перезапустите службу: sudo service postgrestql restart
.
Наконец, запустите netstat -t
и скопируйте локальный адрес (не внешний адрес), например: 172.17.125.13, НО БЕЗ порта, потому что вы будете использовать порт базы данных postgres.
Наконец, используйте IP-адрес, скопированный в datagrip, с информацией о базе данных, такой как имя пользователя, пароль, порт и база данных.
Будьте осторожны с портом базы данных, который вы используете, потому что, если вы используете postgres в Windows, порт 532 занят, и вы получите сообщение об ошибке. Если это произойдет, вам нужно использовать другой порт, например 5433 в WSL, который вы можете изменить в postgres.conf
в строке, где указан порт 5432 по умолчанию.
Надеюсь, это поможет вам!!