2017-03-05 3 views
0

Ich versuche, meine Rails-App mit einer Postgres-Datenbank einzurichten, die ich neu bin.Ident-Authentifizierung fehlgeschlagen für Benutzer

Ich bin mit

  • CentOS 6
  • postgresql 9.6.2
  • pg_hba.conf path =>/var/lib/pgsql/data/pg_hba.conf

ich mit sudo -u postgres psql angemeldet hatte und erstellt einen Benutzer ‚X 'mit Passwort' Passwort '. Im Folgenden sind die Details

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 | {} 

Wenn ich laufen Befehl: RAILS_ENV=staging bundle exec rake db:create

ich den folgenden Fehler:

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} 

Danach ich jede mögliche Lösung nachgeschlagen für Dies. Ich versuchte, die mit pg_hba.conf unter Konfiguration ändern:

TYPE DATABASE USER ADDRESS METHOD 
local all  all   md5 
host all  all 0.0.0.0 md5 
host all  all ::1/128 md5 

auch versucht, mit trust METHOD verändert und dann wieder gestartet den postgresql Server mit dem Befehl: sudo service postgresql-9.6 restart aber gleiche Fehler.

Auch versucht, Leseberechtigungen für Pfad /var/lib/pgsql/data/pg_hba.conf von 600 zu 755 ändern. Um das zu tun, musste ich mich als Postgres Superuser mit sudo su - postgres anmelden, was seltsam ist. Dann Neustart der postgresql Server

Auch versucht, zu ändern Methode von ident zu trust für Weg /var/lib/pgsql/9.6/data/pg_hba.conf, wie es offenbar auch eine Version weise pg_hba.conf existiert. Dann habe ich den PostgreSQL-Server neu gestartet.

Nichts schien bis jetzt gearbeitet zu haben. Bitte helfen Sie herauszufinden, was fehlt.

Antwort

0

In der pg_hba.conf benötigt der Teil von 0.0.0.0 die Maske wie diese 0.0.0.0/32, im Protokoll steht das Problem, das standardmäßig in Centos in /var/lib/pgsql/9.6/data ist/pg_log/

+0

Versuchte das auch. Danke für den Versuch :) – cop

+0

Und wenn Sie die Datenbank neu starten nicht einen Fehler im Protokoll sagen? –

Verwandte Themen