Подтвердить что ты не робот

Не удается войти в базу данных PostgreSQL

Я создал такого пользователя:

create user blog with password 'blog';

Затем я сделал его владельцем базы данных:

alter database blog_development owner to blog;

Затем я попытался войти в систему, и он не работал:

$ psql -d blog_development -U blog -W
Password for user blog:
psql: FATAL:  Ident authentication failed for user "blog"

Любая идея, почему?

Одна вещь, которую я пробовал, - это редактирование pg_hba.conf

 76 # Database administrative login by UNIX sockets
 77 local   all                postgres                          ident
 78
 79 # TYPE  DATABASE           USER        CIDR-ADDRESS          METHOD
 80
 81 # "local" is for Unix domain socket connections only
 82 local   all                all                               ident
 83 # IPv4 local connections:
 84 host    all                all         127.0.0.1/32          md5
 85 host    blog_development   blog        127.0.0.1/32          md5
 86 # IPv6 local connections:
 87 host    all                all         ::1/128               md5

Линия 85 - это та, которую я добавил. После этого я перезапустил PostgreSQL, но ничего не изменил.

4b9b3361

Ответ 1

Я просто пытался подключиться неправильно. Здесь правильный путь:

psql -h localhost -U blog -d blog_development

Ответ 2

psql использует локальный сокет по умолчанию (отметьте флаг -h у человека), который должен соответствовать строке 82 при входе в систему.

82 local all all ident

ident нужен реальный пользователь в системе для проверки пароля. Таким образом, вы можете либо подключиться хостом, либо добавить пользователя, чтобы он соответствовал новой строке конфигурации.

Ответ 3

Перед строкой 82 добавьте

local   blog_development   blog   md5

и перезагрузите, или подключитесь с помощью -h localhost.

Ответ 4

Вы добавили пользователя в pg_hba.conf? Вот документация.

http://www.postgresql.org/docs/8.4/static/auth-pg-hba-conf.html

Я действительно не помню точный синтаксис, но вы должны добавить что-то вроде этого:

host    blog_development     blog  127.0.0.1/32  md5

Вам может потребоваться перезагрузить или перезагрузить сервер, чтобы pg_hba.conf перечитали.