无法访问在Windows 10的Hyper-V上运行的Linux Ubuntu中的PostgreSQL

无法访问在Windows 10的Hyper-V上运行的Linux Ubuntu中的PostgreSQL,postgresql,hyper-v,Postgresql,Hyper V,我犯了一个令人困惑的错误,无法访问运行在Windows 10上Hyper-V之上的Linux中的PostgreSQL 下面是我的hb_pga.conf的一部分。我已经使用psqlshow hba_file检查了我是否编辑了正确的配置文件 # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local

我犯了一个令人困惑的错误,无法访问运行在Windows 10上Hyper-V之上的Linux中的PostgreSQL

下面是我的
hb_pga.conf
的一部分。我已经使用psql
show hba_file
检查了我是否编辑了正确的配置文件

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             0.0.0.0/0               trust
# IPv6 local connections:
host    all             all             ::1/128                 md5
如果添加
listen\u addresses='*'
,则无法从linux虚拟机本身(或Windows主机)中访问它。但是如果我删除
listen\U地址
,并通过
psql-h 127.0.0.1-U postgres postgres
使用IP连接进行测试,它就会工作

我正在使用默认开关,并为安装在samba上的驱动器添加另一个内部开关。但我不确定这是否意味着什么

使用此命令检查所有打开的端口:

TCP0127.0.0.1:54320.0.0.0:*收听1368/postgres

127.0.0不应该是0.0.0.0以允许从外部连接吗?

已解决。 结果是,
listen\u address='*'
参数与
pg\u hba.conf
位于同一目录下的不同文件中,即
postgresql.conf

listen\u addresses='*'
添加到
postgresql.conf
解决了这个问题

我把所有的问题都放在这里,如果你需要解决的话。 结果是,
listen\u address='*'
参数与
pg\u hba.conf
位于同一目录下的不同文件中,即
postgresql.conf

listen\u addresses='*'
添加到
postgresql.conf
解决了这个问题


我把所有这些都放在这里,如果您在vhost设置中需要它,请确保您已经添加了2个网络适配器。一个适配器用于主机到客户机,另一个适配器用于客户机到主机不知道如何做到这一点。是Hyper-V交换机管理器吗?在vhost设置中,确保已添加2个网络适配器。一个适配器用于主机到客户机,另一个适配器用于客户机到主机不知道如何做到这一点。那是Hyper-V交换机管理器吗?