PostgreSQL под Mac OSX Lion. Неправильный логин?
Я совершенно беспомощен, может быть, вы, ребята, можете мне помочь. Я установил PostgreSQL под мой новый MacOSX Lion. Когда я пытаюсь подключиться к моему локальному хосту с помощью pgAdminIII.app, он говорит:
Error connecting to the database: FATAL password authentication failed for user postgres
Я просто понятия не имею, что делать? Ни один из моих паролей не работает. Ни мой админпасс, ни "postgres", ни что-либо еще.
Я попытался установить его снова через консоль, где я нашел эту полезную ссылку: http://www.peerassembly.com/2011/08/...resql-on-lion/ Однако проблема в том, что, когда я пытаюсь запустить createuser -a -d _postgres
та же проблема с паролем появляется снова. Я просто не могу найти решение этой проблемы. Всегда неверный пароль.
Btw. У меня есть новый пользователь с именем "PostgreSQL" на моей машине после того, как я установил postgres.
Есть идеи? Я так застрял, и мне действительно нужно сделать эту работу.
2 ответа
set pg_hba.conf
куда pg_hba.conf
в $PG_DATA
, Например, мой /Source/local/pgsql91/data
,
host all postgres 127.0.01/32 trust
затем
/usr/pgsql-9.1/bin/psql -U postgres -d postgres -h 127.0.0.1
В противном случае (без -h
) PSQL отбрасывает вас к вам IP сети (ifconfig
) Например, для меня 192.168.0.1
по умолчанию это md5 и psql.
Самое простое решение - попросить postgres просто впустить вас. Найдите ваш pg_hba.conf. Расположение этого файла зависит от того, как вы его установили, но оно находится в каталоге данных вашей установки postgresql. Выполните следующую команду в терминале, чтобы компьютер мог найти ее для вас.
sudo find / -name pg_hba.conf
(sudo необходимо, поскольку оно может находиться в папке, к которой у вас нет прав доступа обычного пользователя)
В этом файле много комментариев, объясняющих, как это работает. То, что вы хотите сделать, это установить метод аутентификации для локальных и / или 127.0.0.1 подключений для доверия. Когда вы это сделаете, postgresql больше не будет проверять ваш пароль (хотя pgAdmin все еще просит его ввести, просто введите что-нибудь). Когда вы находитесь в pgadmin, вы можете изменить пароль. Затем вы меняете метод в pg_hba.conf обратно на md5 для обеспечения безопасности.
Как вы установили PostgreSQL? Лично я нахожу установщик в один клик очень простым.
редактировать: ответ на комментарии
PostgreSQl имеет собственный внутренний список имен пользователей. Эти имена не имеют ничего общего с именами пользователей OSX. Имя пользователя OSX PostgreSQL используется для запуска процесса postmaster postgresql с ограниченным доступом к системе. postgres - это имя суперпользователя базы данных, созданное установщиком в один клик.
Сервер не слушает сообщение, что немного странно, потому что проверка пароля происходит только после установления соединения, поэтому я ожидал, что вы получите эту ошибку раньше. Может ты что то изменил? В любом случае из сообщения об ошибке я подозреваю, что pgAdmin пытается подключиться к localhost, который разрешен в::1 (адрес ipv6), но AFAIK postgresql прослушивает только ipv4 с помощью программы установки в один клик. Если щелкнуть правой кнопкой мыши запись Postgresql в pgAdmin и выбрать свойства, вы можете изменить хост, к которому подключается pgAdmin. Измените его на 127.0.0.1 и попробуйте снова.