Peer authentication failed for user “postgres”

21.10.2015 15:46

При разворачивании проекта на руби возникла ошибка: Peer authentication failed for user “postgres”. После недолгого гугления выяснилось, что приложение пытается подключаться к базе данных, используя логин и пароль, и не обращает внимание на то, что в настройках бд выставлено подключение в положение "peer"- не требующее вводить пароль при подключении, а проверяющее права пользователя операционной системы.

Чтобы это исправить нужно сделать следующее:

1. Если вы забыли пароль от пользователя под которым приложение подключается к БД, то сменим его:

ALTER USER ваш_пользователь with password 'новый_пароль';

2. открываем: /etc/postgresql/9.3/main/pg_hba.conf, находим строчки:

# Database administrative login by Unix domain socket
local   all             postgres                                peer

# 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            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

И меняем параметр peer на md5 во всех строчках:

# Database administrative login by Unix domain socket
local   all             postgres                                md5

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

3. Рестартим сервис: sudo service postgresql restart

После этого приложение должно нормально подключаться к базе данных. Также в методе проверки подлинности могут использоваться следующие параметры: "trust", "reject", "md5", "password", "gss", "sspi", "krb5", "ident", "peer", "pam", "ldap", "radius" or "cert".

Самые распространённые: "trust" - авторизовывать всех, "md5"- авторизовывать по передаваемому паролю, "peer"- авторизовывать по правам текущего пользователя системы.



Opencart, Заказ в 1 клик

Сегодня мы за 5 минут внедрим в наш интерне-магазин кнопку "Заказ в 1 клик". Для начала, давайте разберём способы заказа в интернет-магазине

Переделываем чпу opencart

Opencart имеет готовую систему чпу, которая отлично работает без дополнительных модулей. Но у неё есть 1 большой недостаток: она позволяет построить путь к странице множеством разных способов.


(0) Комментариев