用pgAdmin III进行身份validation

有没有办法让pgadmin为本地用户执行ident auth? 如果不需要在开发机器上为我的本地用户设置密码,并且只需要使用psql和pgadmin3而不需要密码就可以了。

Pgadmin只是通过您提供给服务器的用户名,如果它要求input密码,那是因为服务器告诉它你的连接方法需要密码。 如果开发机器是Unix系统,则将“主机:”字段保留为空,以便pgadmin使用本地Unix套接字而不是TCP进行连接。

postgresql服务器的pg_hba.conf控制着用户如何被识别以及什么时候需要提供密码。 大多数默认的pg_hba.conf文件具有以下行:

local all all ident sameuser 

这表示“所有”用户通过“所有”数据库“本地”连接使用“ident sameuser”身份validation方法,这意味着只要您尝试连接的用户名与login到计算机的用户名相匹配,它会接受没有密码的连接。 如果您希望能够使用任何用户名而无需密码login,则可以将“ident sameuser”更改为“trust”。

如果您的系统用户名与数据库用户名不匹配,则postgresql将有一个名为pg_ident.conf的单独文件,其中列出了系统用户名及其匹配的数据库用户名以及该映射的名称。 为您的开发人员创build条目,并将pg_hba.conf中的“sameuser”replace为地图的名称。