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 и попробуйте снова.

Другие вопросы по тегам