我正在嘗試使用Postgres數據庫設置我的Rails應用程序,這是我剛剛使用的。用戶的身份驗證失敗
我使用
- 的centos 6
- 的PostgreSQL 9.6.2
- 的pg_hba.conf路徑=>
/var/lib/pgsql/data/pg_hba.conf
我曾與sudo -u postgres psql
登錄並創建用戶「X '用密碼'密碼'。以下是詳細內容
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 | {}
當我運行命令: RAILS_ENV=staging bundle exec rake db:create
我得到下面的錯誤:
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}
此後,我觀看了每一個可能的修補程序這個。我試圖改變的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超級用戶登錄,這很奇怪。然後重新啓動postgresql服務器
也嘗試過,將方法從ident
更改爲trust
對於路徑/var/lib/pgsql/9.6/data/pg_hba.conf
,顯然存在明智版本的pg_hba.conf。然後我重新啓動了PostgreSQL服務器。
到目前爲止似乎沒有任何工作。請幫助找出缺少的東西。
也試過了。感謝您的嘗試:) – cop
而當你重新啓動數據庫沒有說日誌中的一些錯誤? –