在配置新主机并安装ROR和PostgreSQL,应用程序试图连接Postgres数据库服务器,我遇到以下问题。
错误:
FATAL: Ident authentication failed for user "postgres"
解决方法:
首先,我用下面的命令在PostgreSQL中设置postgres用户密码。
$ sudo -u postgres psql
现在使用下面的命令设置密码。
postgres=# password
让我们使用以下命令,在您的应用程序中创建一个新用户帐户。并用该帐户的所有权创建数据库。
postgres=# create user "myappusr" with password '_password_';
postgres=# create database "myapp_development" owner "myappusr";
现在编辑pg_hba PostgreSQL的配置文件,并更新配置。 PostgreSQL缺省使用IDENT-based认证。您需要允许用户名和密码认证的基础。 IDENT绝不允许你通过 -U 或 -W 选项登录。
# vim /var/lib/pgsql/9.4/data/pg_hba.conf
local all postgres trust
local all myapp_usr trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
#host all all ::1/128 trust