有没有办法让pgadmin为本地用户做ident auth?最好不用在开发机器上为我的本地用户设置密码,而只需使用psql和pgadmin3而不需要密码。
发布于 2010-10-12 03:54:07
Pgadmin只是将您提供给它的用户名传递给服务器,如果它向您询问密码,这是因为服务器告诉它连接方法需要一个密码。如果开发机器是Unix系统,那么将"Host:“字段保留为空,以便pgadmin使用本地Unix套接字而不是TCP进行连接。
postgresql服务器的pg_hba.conf控制如何识别用户,以及他们何时需要提供密码。大多数默认的pg_hba.conf文件都有以下一行:
local all all ident sameuser这表示“所有”用户对“所有”数据库的“本地”连接使用"ident sameuser“身份验证方法,这意味着只要您试图连接的用户名与您登录到计算机的用户名匹配,它将接受没有密码的连接。如果您想在没有密码的情况下使用任何用户名登录,可以将"ident sameuser“更改为”信任“。
如果您的系统用户名与数据库用户名不匹配,postgresql有一个名为pg_ident.conf的单独文件,该文件列出系统用户名及其匹配的数据库用户名,以及此映射的名称。为您的开发人员(S)创建条目,并将pg_hba.conf中的"sameuser“替换为地图的名称。
https://serverfault.com/questions/182419
复制相似问题