繁体   English   中英

无法登录PostgreSQL数据库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM