嗨,我得到以下内容,我见过的其他解决办法似乎没有起作用...... 在ubuntu服务器终端(virtualbox vm)中: 错误致命错误:用户“a4apps”的对等身份验证失败
我的Ubuntu服务器os用户名是一样的。 我重新开始了我的postgres。 我试过通过以下方式更改我的pg_hba.conf文件: 将IPv4主机方法从md5更改为“trust” 并在其下添加一行“host all all myubuntuserverip / 32 trust”
我试图通过python脚本访问它。 我正在使用psycopg
con = psycopg2.connect(database='fieldtest2', user='a4apps')
我创建了用户:sudo -u postgres create user a4apps 超级用户否,创建数据库是,创建其他用户否。 创建数据库:sudo -u postgres createdb fieldtest2 -O a4apps
我正在学习本教程:here
我的想法已经不多了。任何指导将不胜感激。 谢谢 麦克
答案 0 :(得分:3)
此特定错误消息:
用户“a4apps”的对等身份验证失败
表示已根据peer
和选择了pg_hba.conf
身份验证方法,表明操作系统用户a4apps
未进行连接尝试,这与此相反auth方法需要。
默认的Ubuntu pg_hba.conf
包含以下行:
# Database administrative login by Unix domain socket local all postgres peer # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer
要允许除postgres
以外的任何用户进行本地无密码连接,您可以在最后一行中将peer
替换为trust
。
您在pg_hba.conf
中尝试的与IPv4相关的更改对您的脚本没有影响,因为它没有通过TCP / IP连接。如果连接字符串提到了主机名,那么它将使用TCP / IP并触发pg_hba.conf
中的相应规则。