Ubuntu服务器、postgresql、python;对等身份验证失败”;
嗨,我得到了以下信息,我看到的其他解决方案似乎不起作用。。。 在ubuntu服务器终端(virtualbox vm)内: 致命错误:用户“a4apps”的对等身份验证失败 我的Ubuntu服务器os用户名是相同的。 我重新开始了我的博士后课程。 我已尝试通过以下方式更改我的pg_hba.conf文件: 将IPv4主机方法从md5更改为“信任” 在下面添加一行“HostAll myubuntuserverip/32 trust” 我试图通过python脚本访问它。 我在用psycopgUbuntu服务器、postgresql、python;对等身份验证失败”;,python,postgresql,ubuntu,Python,Postgresql,Ubuntu,嗨,我得到了以下信息,我看到的其他解决方案似乎不起作用。。。 在ubuntu服务器终端(virtualbox vm)内: 致命错误:用户“a4apps”的对等身份验证失败 我的Ubuntu服务器os用户名是相同的。 我重新开始了我的博士后课程。 我已尝试通过以下方式更改我的pg_hba.conf文件: 将IPv4主机方法从md5更改为“信任” 在下面添加一行“HostAll myubuntuserverip/32 trust” 我试图通过python脚本访问它。 我在用psycopg con =
con = psycopg2.connect(database='fieldtest2', user='a4apps')
我创建了用户:sudo-u postgres创建用户a4apps
超级用户否,创建数据库是,创建其他用户否。
创建的数据库:sudo-u postgres createdb fieldtest2-O a4apps
我遵循本教程:
我的点子快用完了。任何指导都将不胜感激。
谢谢
Mike此特定错误消息: 用户“a4apps”的对等身份验证失败 表示根据
pg_hba.conf
选择了peer
身份验证方法,并且与此身份验证方法要求相反,操作系统用户a4apps
未尝试连接
默认的Ubuntupg_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
#通过Unix域套接字进行数据库管理登录
本地所有博士后同侪
#类型数据库用户地址方法
#“本地”仅用于Unix域套接字连接
本地所有对等
要允许除postgres
之外的任何用户进行本地无密码连接,您可以在最后一行中用trust
替换peer
您在
pg_hba.conf
中尝试的与IPv4相关的更改对脚本没有影响,因为它不通过TCP/IP连接。如果连接字符串提到主机名,那么它将使用TCP/IP并触发pg_hba.conf
中的相应规则,这非常有用。非常感谢。它起作用了,我现在明白为什么了。只需记住在更改后重新启动postgres。