Не удается установить соединение с сервером postgresql с помощью pgadmin3 с исключением

5488
Eric Leschinski

Я установил базу данных postgresql на Fedora 17.

Когда я создаю новое соединение с сервером через pgadmin3, я получаю эту ошибку во всплывающем окне:

postgresql The server doesn't accept the current user: The server report Ident authentication failed The server doesn't accept the current user: The server reports   FATAL: Ident authentication failed for user "pgadmin"  If this message appears, the pg_hba.conf entry found for your  client / user / database combination is set to "ident" authentication.  Some distributions, e.g. Debian, have this by default. To perform ident  based authentication successfully, you need additional setup; see the  PostgreSQL help for this. For a beginner, it might be more appropriate  to use a different authentication method; MD5 encrypted passwords are  a good choice, which can be configured by an entry in pg_hba.conf like  this:   host all all 192.168.0.0/24 md5   This example grants MD5 encrypted password access to all databases to  all users on the private network 192.168.0.0/24.  You can use the pg_hba.conf editor that is built into pgAdmin III to  edit the pg_hba.conf configuration file. After changing pg_hba.conf,  you need to trigger a server configuration reload using pg_ctl or by  stopping and restarting the server process.  

Я внес изменения, упомянутые в сообщении об ошибке, которые я добавил host all all 192.168.0.0/24 md5в файл pg_hba.conf. Но я все еще получаю ту же ошибку. Что я делаю неправильно?

1

1 ответ на вопрос

1
Eric Leschinski

Ошибка, которую я сделал, заключалась в том, что я забыл раскомментировать другие строки, которые задают хост, и не перезапустил postgresql, чтобы новые изменения в этом файле вступили в силу. Вот шаги, которые я использовал:

  1. Найди свой pg_hba.conf, мой в/var/lib/pgsql/data/pg_hba.conf

  2. Вот оригинальное неправильное содержимое pg_hba.conf, обратите внимание на две строки хоста для IPv4 и IPv6:

    # TYPE DATABASE USER ADDRESS METHOD  # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident 
  3. Мне пришлось добавить эти строки в конце этого файла

    host all all 127.0.0.1/32 md5 #the 32 means only the first 32 bits cannnot change, not the first 24. #I use 32 because only one address will be accessing this server. 
  4. Если вы не закомментируете другие строки по умолчанию, это не сработает:

    #host all all 127.0.0.1/32 ident # IPv6 local connections: #host all all ::1/128 ident 
  5. Затем перезапустите postgresql.

    [root@rosewill samples ]$ systemctl restart postgresql.service 

После перезагрузки попробуйте еще раз, и ошибка исправлена. Затем я могу войти на сервер с помощью pgadmin3.

Похожие вопросы