我正在尝试连接到 Virtualbox 上 Xubuntu 20.04 来宾内部的 Postgresql 数据库。我可以在来宾中正确连接到 postgresql 服务,并使用主机上的 PgAdmin 连接到我的 Windows postgresql 服务。我已经尝试过在这里找到的有关超级用户和服务器故障的其他问题的解决方案,但没有成功。
当网络适配器工作时(例如我的笔记本电脑已连接到 WiFi),我收到“无法连接到服务器 - 超时已过期”错误,我认为这与主机 pgadmin 和来宾 postgres 问题有关。然而,当没有网络时(例如,适配器可能已打开,但没有可用的 WiFi),我会收到“无主机路由”错误,询问我是否确定在指定的 IP 和端口处有某些东西正在侦听。这是不希望的,因为我需要访客和主机在没有任何可用外部网络的情况下进行连接。
这是我的配置:
来宾:
listen_addresses = '*'
监听所有连接sudo sed -i '/^host/s/ident/md5/' /etc/postgresql/16/main/pg_hba.conf
sudo sed -i '/^local/s/peer/trust/' /etc/postgresql/16/main/pg_hba.conf
echo "host all all 0.0.0.0/0 md5" | sudo tee -a /etc/postgresql/16/main/pg_hba.conf
我后来按照相关答案之一将最后更改为
echo "host all all 0.0.0.0/0 trust" | sudo tee -a /etc/postgresql/16/main/pg_hba.conf
,但两者都不起作用
在主机上
在 Virtualbox 上:
知道如何修复它吗?以及如何在 WiFi 和以太网断开连接的情况下使用它(No rouge to host 错误)?
没关系,是我把端口转发的概念弄错了。从 pgadmin 连接时,地址和端口应该是来自主机的地址和端口(对我来说 192.168.56.1:5050),并且它们将被转发到规则中指定的访客地址