我已经从 Microsoft Store 安装了 Ubuntu 生态系统(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,但我不知道如何在 Ubuntu 中连接到 psql。首先,我尝试将其用作localhost
主机,但它当然使用的是 Windowspsql
服务,而不是 ubuntu 的服务。
如何将 Datagrip 连接到我的虚拟 Ubuntu?
答案1
要连接到 datagrip,您需要启用与 postgres 数据库的 TCP/IP 连接。要启用该功能,请打开并将/etc/postgres/../postgresql.conf
行:更改#listen_addreses = ""
为listen_addreses = "*"
(删除 #,并放入 * 符号)并保存。然后使用 sudo 打开pg_hba.conf
(位于包含的同一路径中postgresql.conf
),并在文件末尾添加以下几行以允许所有连接(小心):
host all all 0.0.0.0/0 md5
host all all ::/0 md5
保存并重启服务:sudo service postgresql restart
。最后,运行netstat -t
并复制本地地址(不是外部地址),例如:172.17.125.13 但不带端口,因为您将使用 postgres 数据库的端口。
最后使用 datagrip 中复制的 IP 以及数据库的信息(例如用户名、密码、端口和数据库)。
请谨慎使用数据库端口,因为如果您在 Windows 上运行 postgres,端口 5342 正忙,您会收到错误。如果发生这种情况,您需要使用另一个端口,例如 WSL 中的 5433,您可以在行中修改它postgres.conf
以默认提及端口 5432。
希望这可以帮到你!!