Вопрос:
Я установил pgAgent с помощью службы Windows, используя учетную запись локального компьютера, называемую postgres. Я подтвердил, что служба Windows работает нормально. Я создал задание в pgAdmin, которое должно удалить определенные записи из таблицы в моей клиентской БД. Единственный шаг в задании настраивается с использованием типа локального подключения к клиентской БД. Проблема заключается в том, что работа прерывается каждый раз, когда в журнал событий Windows записывается следующее предупреждение:
Failed to create new connection to database ‘customer’:’fe_sendauth: no password supplied’
Я проверил, что есть файл pgpass.conf, расположенный в C:UserspostgresAppDataRoamingpostgresql. Вот его содержимое:
localhost:5432:postgres:postgres:<password_redacted>
Я не уверен, что еще попробовать. Я не смог найти дополнительную информацию об этом сообщении об ошибке, как это применимо к pgAgent.
Информация о версии:
- PostgreSQL 9.2.4, скомпилированный Visual С++ build 1600, 64-разрядный
- pgAdmin 1.16.1
- pgAgent v3.3.0-1
Информация о запуске службы Windows:
C:Program Files (x86)pgAgentbinpgagent.exe RUN pgAgent host=localhost port=5432 user=postgres dbname=postgres
Некоммерческое содержимое pg_hba.conf:
host all all 127.0.0.1/32 md5 host all all ::1/128 md5 Ответ №1
То, что я делал, было на стадии работы в PgAgentIII
Я изменил тип подключения к удаленному
Установите строку подключения с помощью кнопки…
enter code here изменил user = postgres на имя пользователя моих приложений
enter code here добавлен пароль = ПАРОЛЬ (введите свой пароль)
enter code here изменить хост = 127.0.0.1
Я знаю, что дольше получаем ошибку
Надеюсь, это поможет.
Сканирование с помощью postgresql
Ответ №2
Я столкнулся с той же проблемой, что и шаг задания pgAgent, настроенный для локального подключения:
Failed to create new connection to database ‘<database_name>’:’fe_sendauth: no password supplied’
Решение с помещением пароля в строку подключения отлично работает, но кажется небезопасным.
После копания я нашел другое решение – добавление строки подключения в pgpass.conf для базы данных target для решения проблем:
localhost:5432:<database_name>:postgres:<password>
Ответ №3
Обязательно проверьте, что имя пользователя – служба pgadmin и имя пользователя файла pgpass.conf, который вы проверяете. У меня была такая же проблема, пока я не понял, что установщик pgadmin настроил службу на запуск как локальный пользователь, и я проверял pgpass.conf для того же имени пользователя, что и пользователь домена.