我是PostreSQL的新手。我花了整整一个早上试图让用户登录正常工作,现在我非常沮丧!PostgreSQL - 添加组角色后密码验证失败
所以,我有一个PostGIS数据库,版本9.2,作为OpenGeo软件套件的一部分。我可以使用postgres用户访问数据库,但想要让组角色和用户有权访问数据库,以便它可以在该数据库中创建表和更新/选择/删除等。
我可以创建一个用户,该工作,我可以登录该用户。我可以创建组角色并为角色分配权限。然后,我可以将用户添加到组角色,然后可以不再需要登录!
它甚至得到了这样,当我将用户postgres添加到组,该用户无法登录。我删除了该组,但无法登录仍然存在。
现在,我已经玩了很多pg_hba.conf。我现在可以登录为postgres,但只有在启用“信任”后,我才能使用任何软件登录,例如PGAdminIII。
很高兴能得到一些关于出现问题的建议,并再次启用已验证的登录。
pg_hba:
Code:
# Database administrative login by Unix domain socket
local all postgres trust
local all gisadmin trust
# TYPE DATABASE USER ADDRESS METHOD
local all opengeo md5
local all opengeo md5
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all gisadmin localhost trust
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
正如最后一点,我想可以通过SSH隧道来登录。我最初可以使用'postgres'用户来做到这一点,但现在我添加并从一个组中删除该用户,我不能。
编辑:错误信息......
如果我通过SSH隧道登录在pgAdmin的与正确的密码,我得到的错误“FATAL:失败的用户密码验证......”
如果我尝试通过PGAdmin中的SSH隧道进行登录,而没有设置密码,而设置了trust选项,则会显示错误:“连接到服务器的错误:fe_sendauth:没有提供密码”。
第一次失误本地登录时,只需通过SSH和psql仍然发生,但第二个消失了,我可以登录的
输出\杜+: 的
输出\ DG +
请给出错误信息,说如果你试图连接本地或远程 –
我添加了错误消息。如果“信任”不在那里,则本地和远程的“密码验证失败”。如果信任,它仍然远程失败。 最终我想远程连接。我可以在本地连接,但是密码验证也在那里被破坏... –
您可以显示您在安装过程中运行的实际命令吗? 'psql'中'\ du +'和'\ dg +'的输出? –