我正在尝试安装tentd 管理员。
在此步骤中安装失败:
$ DATABASE_URL=postgres://localhost/tent_server bundle exec rake db:migrate
我也尝试过这个:
$ DATABASE_URL=postgres://tent:tent@localhost/tent_server bundle exec rake db:migrate
我收到的错误信息是:
Error: Sequel::DatabaseConnectionError: PG::Error: FATAL: Ident authentication failed for user "tent"
/usr/local/rvm/gems/ruby-1.9.3-p392/gems/sequel-3.43.0/lib/sequel/adapters/postgres.rb:208:in `initialize'
我的 Postgres 设置如下:
$ cat ~/.pgpass
localhost:5432:tent_server:tent:tent
postgres=# CREATE USER tent WITH password 'tent';
CREATE ROLE
postgres=# CREATE DATABASE tent_server with OWNER tent;
CREATE DATABASE
答案1
问题
FATAL: Ident authentication failed for user "tent"
Postgres 正在尝试使用ident
身份验证,但它没有按预期工作。
解决方案
- 阅读 Postgres 手册,特别是部分
pg_hba.conf
和ident
身份验证部分。 - 以下任一项
- 意识到
ident
身份验证不是你想要的并配置更合适的东西。 - 修复您的 ident 用户映射和/或您的
identd
守护进程,以便按照 Postgres 预期的方式工作。
- 意识到
推荐
ident
身份验证非常糟糕(它是基于客户端的安全性,对于攻击者来说,谎报您的身份是小菜一碟)。
请配置其他多种身份验证方法之一(具有实际安全性)。
或者,如果您愿意,可以使用身份验证连接到本地(unix)套接字trust
(但请注意,这本身具有安全隐患)。