Помогите разобраться народ !!!
Установлен PostgreSQL 9.6
Это моя настройка в pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD LOCAL ALL postgres md5 # "local" is for Unix domain socket connections only LOCAL ALL ALL md5 # IPv4 local connections: host ALL ALL 127.0.0.1/32 md5
2017-03-09 14:55:43 MSK [11185-1] СООБЩЕНИЕ: система БД была выключена: 2017-03-09 14:55:42 MSK 2017-03-09 14:55:43 MSK [11185-2] СООБЩЕНИЕ: Защита от наложения мультитранзакций сейчас включена 2017-03-09 14:55:43 MSK [11184-1] СООБЩЕНИЕ: система БД готова принимать подключения 2017-03-09 14:55:43 MSK [11189-1] СООБЩЕНИЕ: процесс запуска автоочистки создан 2017-03-09 14:55:44 MSK [11191-1] [н/д]@[н/д] СООБЩЕНИЕ: неполный стартовый пакет 2017-03-09 14:55:44 MSK [11194-1] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-03-09 14:55:44 MSK [11194-2] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 86 в pg_hba.conf: "local all postgres md5" 2017-03-09 14:55:45 MSK [11197-1] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-03-09 14:55:45 MSK [11197-2] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 86 в pg_hba.conf: "local all postgres md5" 2017-03-09 14:55:45 MSK [11200-1] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-03-09 14:55:45 MSK [11200-2] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 86 в pg_hba.conf: "local all postgres md5" 2017-03-09 14:55:46 MSK [11203-1] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-03-09 14:55:46 MSK [11203-2] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 86 в pg_hba.conf: "local all postgres md5" 2017-03-09 14:55:46 MSK [11206-1] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-03-09 14:55:46 MSK [11206-2] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 86 в pg_hba.conf: "local all postgres md5" 2017-03-09 14:55:47 MSK [11209-1] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-03-09 14:55:47 MSK [11209-2] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 86 в pg_hba.conf: "local all postgres md5" 2017-03-09 14:55:47 MSK [11212-1] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-03-09 14:55:47 MSK [11212-2] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 86 в pg_hba.conf: "local all postgres md5" 2017-03-09 14:55:48 MSK [11215-1] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-03-09 14:55:48 MSK [11215-2] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 86 в pg_hba.conf: "local all postgres md5" 2017-03-09 14:55:48 MSK [11218-1] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-03-09 14:55:48 MSK [11218-2] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 86 в pg_hba.conf: "local all postgres md5" 2017-03-09 14:55:49 MSK [11221-1] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-03-09 14:55:49 MSK [11221-2] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 86 в pg_hba.conf: "local all postgres md5" 2017-03-09 14:55:49 MSK [11224-1] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-03-09 14:55:49 MSK [11224-2] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 86 в pg_hba.conf: "local all postgres md5" 2017-03-09 14:55:49 MSK [11184-2] СООБЩЕНИЕ: получен запрос на "вежливое" выключение 2017-03-09 14:55:49 MSK [11189-2] СООБЩЕНИЕ: процесс запуска автоочистки завершается 2017-03-09 14:55:49 MSK [11186-1] СООБЩЕНИЕ: выключение 2017-03-09 14:55:49 MSK [11184-3] СООБЩЕНИЕ: система БД выключена
ENCRYPTED PASSWORD это не
ENCRYPTED PASSWORD это не "md5" это "password"
По крайне мере раньше было так
Честно говоря, я пробовал и
Честно говоря, я пробовал и вариант просто с PASSWORD. Никакого отличия.
Как-то хреновато
Как-то хреновато пробовали:
Вставил в pg_hba.conf строку в самый верх:
Далее:
Ну и в итоге:
Пароль вводил 'PAROL'
Да все не так просто
Да все не так просто ............. с viktorom и у меня работает )))
Я пытаюсь понять как работать с пользователем postgres. Мне очевидно, что пароль для пользователя postgres в базе установился.
если в pg_hba.conf сделать такие записи и перегрузить сервер:
То сервер нормально рестартует и потом можно легко зайти с паролем, так:
root@server:~# psql -U postgres -h localhost
Пароль пользователя postgres:
psql (9.6.1)
SSL-соединение (протокол: TLSv1.2, шифр: ECDHE-RSA-AES256-GCM-SHA384, бит: 256, сжатие: выкл.)
Введите "help", чтобы получить справку.
postgres=#
Ну либо зайти, так:
root@server:~# su - postgres
postgres@server:~$ psql -U postges
psql (9.6.1)
Введите "help", чтобы получить справку.
postgres=#
Такой вариант, логично не проходит, как и должное:
root@server:~# psql -U postgres
psql: ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (Peer)
Но если поменять настройку на md5, либо на password - без разницы
То, как я писал в первом посте, пользователь postgres не проходит проверку паролем и сервер просто отключается после перезагрузки (лог приведен в первом посте). К нему нельзя подключиться.
root@server~:# psql -U postgres
psql: не удалось подключиться к серверу: Нет такого файла или каталога
Он действительно работает локально и принимает
соединения через доменный сокет "/var/run/postgresql/.s.PGSQL.5432"?
Возможно процедура запуска
Возможно процедура запуска расчитана на то, чтобы у postgres был метод peer
Кстати это логично, ибо зачем вам заходить ЛОКАЛЬНО с паролем?
Локально - это я имею в виду, находясь на самом сервере и авторизовавшись в системе как postgres например через:
# su - postgres
Я тоже склоняюсь к такому
Я тоже склоняюсь к такому мнению. Просто, во всех мануалах гуляющих в сети, пишут про необходимость установить для postgres проверку пароля через md5. Так получилось, что я первый раз устанавливал PostgreSQL и голову себе сломал, что я делаю не так.
Они пишут в общем-то
Они пишут в общем-то правильно.
Просто для разных случаев надо использовать разный метод проверки пароля.
Например для LOCAL и postgres использовать peer
Для аутентификации с удалённого хоста, т.е. HOST и postgres уже использовать passwd или md5, но это не отменяет наличие записи LOCAL с postgres
Ну не знаю, в моем случае
Ну не знаю, в моем случае наличие записи
приводит к тому, что я даже сервер стартовать не могу. А во всех мануалах пишут именно эту рекомендацию
Вы спросили совета. Я вам его
Вы спросили совета. Я вам его дал. Что делать дальше - решайте сами.