即使使用'信任'设置也无法连接到postgres数据库
我目前真的很需要测试我的软件的postgres 9.1数据库。我没有创建这个数据库,但我以前用postgres作为用户和密码登录。但是,现在我不可能在运行数据库的同一台机器上创建连接,即使使用pgadmin3也是如此。我尝试了百万组合在PG-hba.conf,如:即使使用'信任'设置也无法连接到postgres数据库
host all all 192.168.10.178/32 trust
或
host all all 0.0.0.0/0 trust
或
host example postgres 192.168.10.178/32 trust
或
host all all ::1/128 md5
IP4服务器的ADRESS为192.168 .10.178,子网掩码是255.255.245.0。该机器运行Windows Server 2008,我用管理员权限登录(如果有的话)。在postgresql.conf中以下行设置:
listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses;
# defaults to 'localhost', '*' = all
# (change requires restart)
port = 5432 # (change requires restart)
我不熟悉,在所有的Postgres和我读到现在为止大约pg_hba.conf中没有得到我任何进一步。我希望至少从上面的第二个设置它会让我登录没有密码不关心用户或主机IP。但不知何故,pgAdmin的3仍然要求输入密码的用户Postgres的,如果我使用'Postgres的,它只是告诉我:
password-authentication for user 'postgres' failed
请,谁能告诉我什么是地狱我应该怎么办?
回答:
这是我的设置是这样的:
# TYPE DATABASE USER ADDRESS METHOD # IPv4 local connections:
host all all nnn.nn.nnn.nnn/32 trust
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
(显然n个的是数字我已经从我的实际IP地址隐藏起来。)
正如@VaoTsun说,确保线按照你希望它们应用的顺序,因为匹配的第一个将被使用。因此,如果例如你有samenet
设置为md5
,那么下一行你有samehost
设置为trust
,你会得到md5
,因为samenet
是有效的为您的连接。
但是,我强烈怀疑问题是IPv6
连接条目要么被注释掉,要么被设置为md5
(或两者)。我不知道为什么,但我知道在我们的许多2008服务器上,它将使用IPv6设置而不是IPv4。也许这取决于是否在机器上启用了IPv6。根据我上面的设置设置该条目,我敢打赌,这将做到这一点。
此外,除非您已经配置PGAdmin来保存您的密码,否则即使trust
设置正确,它仍会要求您输入密码。只需按Enter键而不输入密码,它应该允许你进入。(假设你的设置已被正确设置。)
以上是 即使使用'信任'设置也无法连接到postgres数据库 的全部内容, 来源链接: utcz.com/qa/262144.html