Назад | Перейти на главную страницу

PostgreSQL под Mac OSX Lion. Неверный пароль пользователя?

Я совершенно беспомощен, может вы, ребята, поможете мне. Я установил PostgreSQL под свой новый MacOSX Lion. Когда я пытаюсь подключиться к своему локальному хосту с помощью pgAdminIII.app, он говорит:

Error connecting to the database: FATAL password authentication failed for user postgres  

Я просто не знаю, что делать? Мои пароли не работают. Ни мой adminpass, ни "postgres", ни что-либо еще.

Я попытался снова установить его через консоль, где нашел полезную ссылку: http://www.peerassembly.com/2011/08/...resql-on-lion/ Однако проблема в том, что когда я пытаюсь запустить createuser -a -d _postgres снова появляется та же проблема с паролем. Я просто не могу найти решение этого. Всегда неправильный пароль.

Кстати. После того, как я установил postgres, на моем компьютере появился новый пользователь с именем "PostgreSQL".

Любые идеи? Я так застрял, и мне действительно нужно поработать.

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 и попробуйте еще раз.