私は新しいPostgresデータベースで自分のレールアプリを設定しようとしています。ユーザーの身元確認に失敗しました
私はsudo -u postgres psql
でログインし、ユーザのXを作成していた
- CentOSの6
- のPostgreSQL 9.6.2
- pg_hba.confのパス=>
/var/lib/pgsql/data/pg_hba.conf
を使用しています'パスワード'パスワード '。以下に詳細
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
--------------+--------------+----------+-------------+-------------+-------------------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
trip_staging | X | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/X +
| | | | | X=CTc/X
(4 rows)
postgres=# \du
List of roles
Role name | Attributes | Member of
--------------+------------------------------------------------------------+-----------
X | | {}
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
を私が実行しているコマンドを実行します。この後
FATAL: Ident authentication failed for user "X"
Couldn't create database for {"database"=>"trip_staging", "adapter"=>"postgresql", "username"=>"X", "password"=>"password", "host"=>"localhost", "port"=>5432, "pool"=>5, "timeout"=>5000}
私はそれぞれの可能な修正を見上げ:私は以下のエラーを取得する RAILS_ENV=staging bundle exec rake db:create
この。私は、コンフィギュレーション以下であるpg_hba.confを変更してみました:
TYPE DATABASE USER ADDRESS METHOD
local all all md5
host all all 0.0.0.0 md5
host all all ::1/128 md5
もtrust
と方法を変え、試してみましたし、コマンドでPostgreSQLサーバを再起動:sudo service postgresql-9.6 restart
が、同じエラー。
/var/lib/pgsql/data/pg_hba.conf
の読み取り権限を600
から755
に変更してみました。これを行うには、私はsudo su - postgres
と奇妙なpostgresのスーパーユーザーとしてログインしなければなりませんでした。再起動明らかにあまりにもバージョン賢明にpg_hba.confが存在するとして、その後、PostgreSQLサーバ
はまた、パス/var/lib/pgsql/9.6/data/pg_hba.conf
ためident
からtrust
に方法を変え、試してみました。それから、私はPostgreSQLサーバを再起動しました。
これまでのところ何もしていないようです。不足しているものを見つけてください。
それも試してみました。お試しいただきありがとうございました:) – cop
そして、データベースを再起動すると、ログに何らかのエラーが表示されませんでしたか? –