PostgreSQL запрашивает пароль перед его установкой

Я только что установил PostgreSQL 9.6.3 через homebrew (brew install postgresql) и просто пытаюсь запустить psql. Однако после входа:

Mac-Pro: ~ Travis$ psql

Он предлагает мне ввести пароль, который я никогда не устанавливал. Я пытался ввести пароль для входа в систему, но получаю:

Пароль: psql: FATAL: ошибка аутентификации пароля для пользователя "Travis"

И когда я ничего не ввожу, я получаю: psql: fe_sendauth: пароль не указан

Все, что я нашел в Интернете, говорит о том, что по умолчанию postgres не устанавливает пароль, но для этого он требуется, и я только что установил его. Ни в одном учебнике, который я нашел, не упоминается, что делать, если он запрашивает пароль после установки, они просто сразу переходят к работе в postgres (обычно создавая пароли пользователей и настроек). Каким может быть этот пароль, если я никогда его не устанавливал и это не мой системный пароль? И на самом деле я хочу знать, как я могу обойти это и использовать postgres?

Спасибо


person Travis Roberts    schedule 28.06.2017    source источник


Ответы (1)


Ваша установка postgres, вероятно, использует механизм аутентификации ident.

Проверьте, создан ли в вашей системе пользователь с именем postgres. Если да, попробуйте запустить psql, переключившись на этого пользователя, и посмотрите, работает ли он.

person Beginner    schedule 28.06.2017
comment
Я нашел там пользователя postgres, мне пришлось сбросить для него пароль, но я смог войти в систему, однако получил ошибку mac os x нуждается в восстановлении библиотеки для запуска приложений Я все еще мог добраться до терминала и запустить psql, но он сделал то же самое - запросил пароль, который я ввел новый системный пароль, который я только что установил для postgres, и он все еще говорит, что аутентификация пароля не удалась. - person Travis Roberts; 28.06.2017
comment
Не могли бы вы проверить метод аутентификации в вашем файле pg_hba.conf? Изменение его на trust и перезапуск postgres должны разрешить все входы в систему без запроса пароля, если это то, что вы ищете. - person Beginner; 28.06.2017
comment
Похоже, метод уже настроен на доверие. Когда я открываю pg_hba.conf и прокручиваю страницу до конца, я вижу своего рода таблицу со столбцами ТИП, БАЗА ДАННЫХ, ПОЛЬЗОВАТЕЛЬ, АДРЕС, МЕТОД. В списках методов доверять 6 раз, других значений в разделе METHOD нет. Есть ли строка, которую я должен добавить туда? - person Travis Roberts; 28.06.2017
comment
Вы видите строку, которая гласит: local all all trust? Если нет, добавьте его и проверьте один раз. Кроме того, попробуйте psql -U postgres вместо того, чтобы просто говорить psql. - person Beginner; 28.06.2017
comment
Хорошо, я добавил строку local all all trust внизу и перезапустил postgres, но и psql, и psql -U postgres по-прежнему запрашивают пароль. - person Travis Roberts; 28.06.2017
comment
У вас есть строка, которая гласит: host all all 0.0.0.0/0 trust? Если нет, пожалуйста, попробуйте. Кроме того, извините, если ввел вас в заблуждение. У меня была аналогичная проблема давно, и переключение на пользователя postgres сработало. - person Beginner; 28.06.2017
comment
Хорошо, я добавил эту строку внизу, раньше ее не было. Та же проблема. Не беспокойтесь, я очень ценю вашу помощь. Я не могу поверить, как сложно это просто настроить! Все, что я читал в Интернете, кажется, что после установки оно очень хорошо работает, это расстраивает, что мой, по-видимому, настроен по-другому прямо из коробки. - person Travis Roberts; 29.06.2017
comment
Если режим trust не работает, попробуем ident? Замените local all all trust на local all all ident в вашем pg_hba.conf, перезапустите postgres и попробуйте один раз как postgres пользователь. - person Beginner; 29.06.2017