Я совершенно беспомощен, может вы, ребята, поможете мне. Я установил 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 и попробуйте еще раз.