Пользователь postgres не прошел проверку подлинности по паролю linux

Содержание
  1. Записки IT специалиста
  2. Типовые ошибки установки сервера 1С:Предприятие и PostgreSQL на платформе Linux.
  3. Общая информация
  4. Сервер баз данных не обнаружен ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)
  5. Сервер баз данных не обнаружен could not translate host name «NAME» to address: Temporary failure in name resolution
  6. Ошибка при выполнении операции с информационной базой server_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен.
  7. Ошибка СУБД: DATABASE не пригоден для использования
  8. Ошибка СУБД: ERROR: could not load library «/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so»
  9. Ошибка СУБД ERROR: type «mvarchar» does not exist at character 31
  10. Сервер баз данных не обнаружен ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (по паролю)
  11. Сервер баз данных не обнаружен FATAL: database «NAME» does not exist
  12. Пользователь postgres не прошел проверку подлинности по паролю linux
  13. ENCRYPTED PASSWORD это не
  14. Честно говоря, я пробовал и
  15. Как-то хреновато
  16. Да все не так просто
  17. Возможно процедура запуска
  18. Я тоже склоняюсь к такому
  19. Они пишут в общем-то
  20. Ну не знаю, в моем случае
  21. Вы спросили совета. Я вам его
  22. Postgresql: ошибка аутентификации пароля для пользователя » postgres»
  23. 12 ответов:
  24. Проверка подлинности пароля Postgres не удалась
  25. 2 ответа

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Типовые ошибки установки сервера 1С:Предприятие и PostgreSQL на платформе Linux.

Типовые ошибки установки сервера 1С:Предприятие и PostgreSQL на платформе Linux.

Связка сервера 1С:Предприятие и PostgreSQL вторая по популярности среди установок 1С и самое используемое решение на платформе Linux. В отличии внедрений на базе Windows и MSSQL, где трудно сделать так, чтобы не заработало, внедрения на базе Linux таят множество подводных камней для неопытного администратора. Часто бывает так, что вроде бы все сделано правильно, но ошибка следует за ошибкой. Сегодня мы рассмотрим самые типовые из них.

Общая информация

Перед тем, как начинать искать ошибки установки и, вообще, приступать к внедрению серверной версии 1С:Предприятия было бы неплохо освежить представление как это работает:

В небольших внедрениях сервер 1С и сервер СУБД обычно совмещают на одном физическом сервере, что немного сужает круг возможных ошибок. В нашем случае будет рассматриваться ситуация, когда сервера разнесены по разным машинам. В нашей тестовой лаборатории мы развернули следующую схему:

В нашем распоряжении имеются два сервера под управлением Ubuntu 12.04 x64, на одном из них установлен сервер 1С:Предприятие версии 8.3, на другом PostgreSQL 9.04 от Ethersoft, а также клиент под управлением Windows. Напоминаем, что клиент работает только с сервером 1С, который, в свою очередь, формирует необходимые запросы к серверу СУБД. Никаких запросов от клиента к серверу управления базами данных не происходит.

Сервер баз данных не обнаружен
ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)

Данная ошибка возникает при разнесении серверов по разным ПК из-за неправильно настроеной проверки подлинности в локальной сети. Для устранения откройте /var/lib/pgsql/data/pg_hba.conf, найдите строку:

и приведите ее к виду:

где 192.168.31.0/24 — диапазон вашей локальной сети. Если такой строки нет, ее следует создать в секции IPv4 local connections.

Сервер баз данных не обнаружен
could not translate host name «NAME» to address: Temporary failure in name resolution

На первый взгляд ошибка понятна: клиент не может разрешить имя сервера СУБД, типичная ошибка для небольших сетей, где отсутствует локальный DNS-сервер. В качестве решения добавляют запись в файл hosts на клиенте, что не дает никакого результата.

Читайте также:  Установка windows после замены материнской платы

А теперь вспоминаем, о чем было сказано несколько раньше. Клиентом сервера СУБД является сервер 1С, но никак не клиентский ПК, следовательно запись нужно добавлять на сервере 1С:Предприятие в файл /etc/hosts на платформе Linux или в C:\Windows\System32\drivers\etc\hosts на платформе Windows.

Аналогичная ошибка будет возникать, если вы забыли добавить запись типа A для сервера СУБД на локальном DNS-сервере.

Ошибка при выполнении операции с информационной базой
server_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен.

Как и прошлая, эта ошибка связана с неправильным разрешением клиентом имени сервера. На этот раз именно клиентским ПК. В качестве решения добавляем в файл /etc/hosts на платформе Linux или в C:\Windows\System32\drivers\etc\hosts на платформе Windows запись вида:

где указываете адрес и имя вашего сервера 1С:Предприятия. В случае использования локального DNS следует добавить A-запись для сервера 1С.

Ошибка СУБД: DATABASE не пригоден для использования

Гораздо более серьезная ошибка, которая говорит о том, что вы установили несовместимую с 1С:Предприятие версию PostgreSQL или допустили грубые ошибки при установке, например не установили все необходимые зависимости, в частности библиотеку libICU.

Если вы имеете достаточный опыт администрирования Linux систем, то можете попробовать доустановить необходимые библиотеки и заново инициализировать кластер СУБД. В противном случае PostgreSQL лучше переустановить, не забыв удалить содержимое папки /var/lib/pgsql.

Также данная ошибка может возникать при использовании сборок 9.1.x и 9.2.x Postgre@Etersoft, подробности смотрите ниже.

Ошибка СУБД:
ERROR: could not load library «/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so»

Довольно специфичная ошибка, характерная для сборок 9.1.x и 9.2.x Postgre@Etersoft, также может приводить предыдущей ошибке. Причина кроется в неисправленной ошибке в библиотеке fasttrun.so. Решение — откатиться на сборку 9.0.x Postgre@Etersoft.

Ошибка СУБД
ERROR: type «mvarchar» does not exist at character 31

Возникает если база данных была создана без помощи системы 1С:Предприятия. Помните, для работы с 1С базы данных следует создавать только с использованием инструментов платформы 1С: через консоль Администрирование серверов 1С Предприятия

или через средство запуска 1С.

Сервер баз данных не обнаружен
ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (по паролю)

Очень простая ошибка. Неправильно указан пароль суперпользователя СУБД postgres. Вариантов решения два: вспомнить пароль или изменить его. Во втором случае вам нужно будет изменить пароль в свойствах всех существующих информационных баз через оснастку Администрирование серверов 1С Предприятия.

Сервер баз данных не обнаружен
FATAL: database «NAME» does not exist

Еще одна очень простая ошибка. Смысл ее сводится к тому, что указанная БД не существует. Чаще всего возникает из-за ошибки в указании имени базы. Следует помнить, что информационная база 1С в кластере и база данных СУБД — две разные сущности и могут иметь различные имена. Также следует помнить, что Linux системы чувствительны к регистру и для них unf83 и UNF83 два разных имени.

Источник

Пользователь postgres не прошел проверку подлинности по паролю linux

Помогите разобраться народ .
Установлен PostgreSQL 9.6
Это моя настройка в pg_hba.conf

  • Войдите или зарегистрируйтесь, чтобы добавлять комментарии

ENCRYPTED PASSWORD это не

ENCRYPTED PASSWORD это не «md5» это «password»
По крайне мере раньше было так

  • Войдите или зарегистрируйтесь, чтобы добавлять комментарии

Честно говоря, я пробовал и

Честно говоря, я пробовал и вариант просто с PASSWORD. Никакого отличия.

  • Войдите или зарегистрируйтесь, чтобы добавлять комментарии

Как-то хреновато

Как-то хреновато пробовали:
Вставил в pg_hba.conf строку в самый верх:

Читайте также:  Как увеличить экран линукс

Пароль вводил ‘PAROL’

  • Войдите или зарегистрируйтесь, чтобы добавлять комментарии

Да все не так просто

Да все не так просто . с viktorom и у меня работает )))

Я пытаюсь понять как работать с пользователем postgres. Мне очевидно, что пароль для пользователя postgres в базе установился.
если в pg_hba.conf сделать такие записи и перегрузить сервер:

# 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 — без разницы

:# 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

  • Войдите или зарегистрируйтесь, чтобы добавлять комментарии

Ну не знаю, в моем случае

Ну не знаю, в моем случае наличие записи

  • Войдите или зарегистрируйтесь, чтобы добавлять комментарии

Вы спросили совета. Я вам его

Вы спросили совета. Я вам его дал. Что делать дальше — решайте сами.

Источник

Postgresql: ошибка аутентификации пароля для пользователя » postgres»

Я установил PostgreSQL 8.4, Postgres client и Pgadmin 3. Не удалось выполнить проверку подлинности для пользователя «postgres» как для консольного клиента, так и для Pgadmin. Я ввел пользователя как » postgres «и пароль» postgres», потому что он работал раньше. Но теперь аутентификация не удалась. Я делал это раньше пару раз без этой проблемы. Что же мне делать? И что же происходит?

12 ответов:

если я правильно помню нет DB пароль установлен на Ubuntu по умолчанию. Это значит, что вы можете войти в эту учетную запись только с помощью postgres пользователей ОС

ответ персонала правильный, но если вы хотите дополнительно автоматизировать может сделать:

$ sudo -u postgres psql -c «ALTER USER postgres PASSWORD ‘postgres’;»

готово! Вы сохранили User = postgres и password = postgres.

Если у вас нет пароля для пользователя postgres ubuntu do:

$ sudo passwd postgres

Читайте также:  Что такое виджеты рабочего стола windows

Это было неприятно, большинство из приведенных выше ответов верны, но они не упоминают, что вы должны перезапустить службу базы данных перед изменениями в pg_hba.файл conf вступит в силу.

Так что если вы делаете что-то вроде выше

затем перезагрузка как root ( на centos это что-то вроде сервиса Service postgresql-9.2 restart ) сейчас вы должны иметь доступ к БД как пользователь postgres

$psql psql (9.2.4) Введите «справка» для справки.

надеюсь, что это добавляет информацию для новых пользователей postgres

редактировать pg_hba.файл conf, например, с sudo emacs /etc/postgresql/9.3/main/pg_hba.conf

измените все методы аутентификации на trust . Измените пароль Unix для пользователя «postgres». Перезагрузите Сервер. Войдите с помощью psql -h localhost -U postgres и использовать только что установленный пароль Unix. Если это работает, вы можете повторно установить файл pg_hba.файл conf по умолчанию.

Если вы пытаетесь войти в оболочку postgres как пользователь postgres, то вы можете использовать следующие команды.

переключиться на пользователя postgres

надеюсь, что это поможет

старайтесь не использовать параметр-W и оставьте пароль пустым. Иногда пользователь создается без пароля.

если это не работает, сбросьте пароль. Есть несколько способов сделать это, но это работает на многих системах:

Как правило: ВЫ НИКОГДА НЕ ДОЛЖНЫ УСТАНАВЛИВАТЬ ПАРОЛЬ ДЛЯ ПОЛЬЗОВАТЕЛЯ POSTGRES.

Если вам нужен доступ суперпользователя от pgAdmin, сделайте другого суперпользователя. Таким образом, если учетные данные для этого суперпользователя скомпрометированы, вы всегда можете ssh в фактический хост базы данных и вручную удалить суперпользователя с помощью

Я просто хотел добавить, что вы также должны проверить, если ваш пароль истек.

вот некоторые комбинации, которые я пытался войти:

Источник

Проверка подлинности пароля Postgres не удалась

Я использую базу данных Postgres 12 на Ubuntu 18.04 на WSL (подсистема Windows для Linux).

Я могу без проблем подключаться к базе данных с sudo -u postgres psql , а также просматривать и создавать новые базы данных и пользователей.

Я создал нового пользователя с CREATE USER myusername WITH PASSWORD ‘mypassword’; и psql возвращает CREATE ROLE .

Однако, когда я пытаюсь войти в систему как этот пользователь с паролем, который я установил с помощью psql -h localhost -U myusername , я получаю psql: error: could not connect to server: FATAL: password authentication failed for user «myusername» .

Я пытался изменить пароль этого пользователя несколько раз с помощью ALTER USER myusername WITH PASSWORD ‘newpassword’; , и psql возвращает ALTER ROLE .

Общее решение, которое я нашел, например это сообщение, изменить файл pg_hba.conf .

Мой pg_hba.conf файл:

Я попытался изменить как первую, так и вторую строки на md5 и ident и каждый раз перезагружал сервер postgres, но безрезультатно. Я также попытался полностью удалить и переустановить Postgres, который тоже не работает.

Есть что-то, что я пропускаю? Что-нибудь еще, что я могу сделать, чтобы попытаться это исправить? Спасибо!

2 ответа

Чтобы в будущем обратиться к тем, кто столкнулся с этой проблемой в подсистеме Windows для Linux, я использовал командную строку для поиска запущенных сервисов и проверки, запущена ли служба Postgres с sc queryex type=service state=all | find /i «postgres» .

Затем я смог использовать sc stop с именем службы, чтобы остановить службу sc stop postgresql-x64-9.5 .

Это решило проблему аутентификации пароля.

Дважды проверьте, работает ли другой экземпляр PostgreSQL с номером порта по умолчанию.

Источник

Оцените статью