[英]Can't log into PostgreSQL database
我创建了一个这样的用户:
create user blog with password 'blog';
然后我把它作为数据库的所有者:
alter database blog_development owner to blog;
然后我尝试登录,它不起作用:
$ psql -d blog_development -U blog -W
Password for user blog:
psql: FATAL: Ident authentication failed for user "blog"
知道为什么吗?
我尝试过的一件事是编辑pg_hba.conf
76 # Database administrative login by UNIX sockets
77 local all postgres ident
78
79 # TYPE DATABASE USER CIDR-ADDRESS METHOD
80
81 # "local" is for Unix domain socket connections only
82 local all all ident
83 # IPv4 local connections:
84 host all all 127.0.0.1/32 md5
85 host blog_development blog 127.0.0.1/32 md5
86 # IPv6 local connections:
87 host all all ::1/128 md5
第85行是我添加的。 之后我重新启动了PostgreSQL,但它似乎没有改变任何东西。
我只是想以错误的方式连接。 这是正确的方法:
psql -h localhost -U blog -d blog_development
默认情况下psql使用本地套接字(在man中检出-h标志) - 当你登录时它应匹配第82行。
82本地所有身份
ident
需要系统中的真实用户来检查密码。 因此,您可以通过主机连接或添加用户,以便它与您的新配置行匹配。
在第82行之前,添加
local blog_development blog md5
并重新加载,或使用-h localhost
连接。
您是否已将用户添加到pg_hba.conf? 这是文档。
http://www.postgresql.org/docs/8.4/static/auth-pg-hba-conf.html
我真的不记得确切的语法,但你应该添加这样的东西:
host blog_development blog 127.0.0.1/32 md5
您可能需要重新加载或重新启动服务器,以便重新读取pg_hba.conf。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.