我得到了错误:
FATAL: Peer authentication failed for user "postgres"
当我尝试让postgres与Rails一起工作时。
这是pg_hba.conf,我的数据库。Yml,以及完整跟踪的转储。
我在pg_hba中将身份验证更改为md5,并尝试了不同的方法,但似乎都不起作用。
我还尝试按照Rails 3.2创建一个新用户和数据库,FATAL: Peer authentication failed for user (PG::Error)
但是它们不会在pgadmin上显示,甚至当我运行sudo -u postgres psql -l时也不会显示。
知道我哪里错了吗?
进入/etc/postgresql/9。打开pg_hba.conf文件
在我的例子中:
$> sudo nano /etc/postgresql/9.3/main/pg_hba.conf
用md5代替peer
所以这将被更改为:
通过Unix域套接字登录数据库
本地所有postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
这样的:
通过Unix域套接字登录数据库
本地所有postgres md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
然后重启pg服务器:
$> sudo service postgresql restart
下面是用于连接postgres的方法列表:
# METHOD can be "trust", "reject", "md5", "password", "gss", "sspi",
# "krb5", "ident", "peer", "pam", "ldap", "radius" or "cert". Note that
# "password" sends passwords in clear text; "md5" is preferred since
# it sends encrypted passwords.
注意:如果你还没有创建postgres用户。创建它,现在您可以使用该用户凭证访问postgres服务器。
提示:如果postgres重启后不工作,请关闭终端并重新打开。
进入/etc/postgresql/9。打开pg_hba.conf文件
在我的例子中:
$> sudo nano /etc/postgresql/9.3/main/pg_hba.conf
用md5代替peer
所以这将被更改为:
通过Unix域套接字登录数据库
本地所有postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
这样的:
通过Unix域套接字登录数据库
本地所有postgres md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
然后重启pg服务器:
$> sudo service postgresql restart
下面是用于连接postgres的方法列表:
# METHOD can be "trust", "reject", "md5", "password", "gss", "sspi",
# "krb5", "ident", "peer", "pam", "ldap", "radius" or "cert". Note that
# "password" sends passwords in clear text; "md5" is preferred since
# it sends encrypted passwords.
注意:如果你还没有创建postgres用户。创建它,现在您可以使用该用户凭证访问postgres服务器。
提示:如果postgres重启后不工作,请关闭终端并重新打开。