Не вдалося встановити автентифікацію паролів Postgres


36

Я встановив PostgreSQL 9.1 та pgadmin3 на Ubuntu Server 13.10.

Я налаштував postgresql.conf з: listen_addresses = '*'

також я налаштував ph_hba.conf, змінивши зв'язки однорангових на md5

Плюс я скидаю пароль postgres: sudo password postgres

потім перезапустили службу sudo /etc/init.d/postgresql restart

після цього я спробував підключитися до бази даних шаблонів PostgreSQL за замовчуванням:

sudo -u postgres psql template1

але вхід не вдалося за допомогою цього повідомлення про помилку:

psql: FATAL:  password authentication failed for user "postgres"

потім я спробував увійти в систему з pgadmin, що дало мені таку ж помилку.

Я прочитав тут, що це може бути помилка дати закінчення пароля Користувач PostgreSQL не може підключитися до сервера після зміни пароля

але я не міг її вирішити, тому що я не можу увійти з допомогою psql. Хтось зараз, як вирішити це питання?

EDIT

Файл ph_hba:

тут

Знімок екрана:

введіть тут опис зображення


7
Мене дуже дратує той факт, що ви клонували цю посаду. Я просто написав відповідь на це, лише щоб виявити, що ви також розмістили ідентичне запитання на stackoverflow.com, на яке вже була прийнята відповідь. Не копіюйте та не вставляйте відповіді між сайтами, ви витрачаєте час усім і ускладнюєте пошук інформації. Якщо ви наполягаєте на цьому, встановіть зв’язки між ними.
Крейг Рінгер

Відповіді:


66

Ви плутаєте пароль для Unix користувача "postgres" з паролем бази даних для користувача бази даних "postgres". Це не те саме.

Ви закрили себе, тому що ви ввімкнули md5автентифікацію для користувача бази даних postgresбез встановлення пароля для користувача бази даних postgres.

Додайте новий рядок до початку pg_hba.conf:

local    postgres     postgres     peer

потім перезавантажте / перезавантажте PostgreSQL і:

sudo -u postgres psql

З отриманого підказки:

ALTER USER postgres PASSWORD 'my_postgres_password';

потім видаліть рядок, який ви додали, pg_hba.confта знову перезапустіть сторінку Pg. Тепер ви можете використовувати встановлений вище пароль для підключення до PostgreSQL як postgresкористувача.

Щоб дізнатися більше, прочитайте розділ "Аутентифікація клієнта" в посібнику користувача та документацію про ньогоpg_hba.conf .


1
Тестування нового pg9.6.6 на сервері UBUNTU 16 LTS .... І мене здивували всі ці "проблеми початківців". Приїжджайте сюди з рішенням ... Робіть крок за кроком ... Великий сюрприз: не працює! psql -W postgresql://postgres:postgres@localhostзнову ж "FATAL: помилка автентифікації пароля для користувача" postgres ""
Пітер Краусс

Рішення: всі лінії довіри працюють ...
Пітер Краус

Я використовую ssh ... Після того, як повертаю все до md5, по одному (локальний, локальний, хост ...), лише рядок "хост усіх довіри 127.0.0.1/32" не може змінитися, збереглося за допомогою " довіра". Отже, нове питання: чому?
Пітер Краус

pg_hba.confфайл належить користувачеві системи postgres. Я знаю тільки пароль бази даних користувача бази даних postgres, тому питання полягає в тому, як мені редагувати цей конф-файл, не змінюючи його права власності?
Шейлен

Чи можете ви сказати, будь ласка, для чого local postgres postgres peerнасправді потрібна лінія pg_hba.conf? Все добре працює без нього
MaxCore

3

Спробуйте змінити пароль шаблону бази даних1, використовуючи це:

$ psql -c "ALTER USER postgres WITH PASSWORD 'yourPassword'" -d template1

Дав мені ту саму помилку, але з користувачем "root" замість користувача "postgres"
Шадін

Чи можете ви пояснити, чому це може допомогти?
xliiv

2

у своєму pg_hba.conf

# IPv4 local connections:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
host    all         all         127.0.0.1/32         trust

якщо це не працює, то спробуйте

host    all         all         your_ip/32         trust

потім перезавантажте свою базу даних, вона буде добре працювати. якщо ви довіряєте, то пароля, якщо ви робите MD5, не потрібно, він запитає пароль ...


3
не використовуйте цей підхід ніде, ви завжди повинні обмежувати доступ користувачів до ваших даних
Most Wanted

якщо ви не працюєте з сервером CTF.
Pathfinder
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.