pgAgent не может подключиться к базе данных: «fe_sendauth: пароль не указан» (в Windows7)

Помогите мне, пожалуйста.. У меня есть несколько вопросов о pgAgent.

[Окружающая обстановка]

DB : PostgreSQL 9.3

OS : Window 7

OS login ID : [email protected]

pgAdmin login ID : postgres

pgAgent user : postgres 

pgAgent schema belongs to: postgres DB

DB that I'll treat : testDB  (In Step configuration, I specified 'testDB' as Database.
                   Connection type is 'local'. Connection string is empty.)

DB server : local machine (my laptop computer)

Я запланировал задание pgAgent, но ему не удалось подключиться к базе данных.

Выходное сообщение ( pgAdmin>Статистика )

[Warning] Couldn't get a connection to the database (pgAgent)

(Какая база данных? Есть 2 БД. 'postgres' и 'testDB'. И я буду относиться к 'testDB'. Тогда не удалось подключиться к какой базе данных?)

средство просмотра событий Windows

Failed to create new connection to database 'testDB':'fe_sendauth: no password supplied'

Мой pgpass.conf

localhost:5432:postgres:postgres:[pgAdmin password for postgres]
localhost:5432:testDB:postgres:[pgAdmin password for postgres]

Мой pg_hba.conf

@remove-line-for-nolocal@# "local" is for Unix domain socket connections only

@remove-line-for-nolocal@local   all             all                                     @authmethodlocal@
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 @authmethodhost@
# Allow replication connections from localhost, by a user with the
# replication privilege.
@remove-line-for-nolocal@#local   replication     @default_username@                                @authmethodlocal@
#host    replication     @default_username@        127.0.0.1/32            @authmethodhost@
#host    replication     @default_username@        ::1/128                 @authmethodhost@

Мой параметр команды pgAgent ( Сервис>pgAgent>Свойства> вкладка Общие )

C:\Program Files (x86)\pgAgent\bin\pgagent.exe RUN pgAgent host=localhost port=5432 user=postgres dbname=postgres

Идентификатор входа в службу pgAgent ( Service>pgAgent>Property>вкладка Logon )

id : [email protected]

pwd : [ [email protected]'s password ]

[Вывод]

Насколько я знаю, установка пароля в pgpass.conf кажется неправильной. Или pg_hba.conf Или идентификатор входа в Services>pgAgent>Logon Фактически.. Я действительно не понимаю, что не так. ^^

Заранее спасибо за помощь ^^


person arayo    schedule 18.04.2015    source источник
comment
Средство просмотра событий Windows сообщает, что подключение к testDB не удалось из-за пароля. Тогда проблема с паролем testDB? (НЕ БД postgres со схемой pgAgent. Вход в БД postgres выполнен успешно.) Если да, то как установить пароль для testDB?   -  person arayo    schedule 19.04.2015
comment
Я изменил тип подключения на «удаленный» (с «локального») в конфигурации «Шаг». И установите строку подключения как «user = postgres host = localhost port = 5432 dbname = testDB password = [пароль pgAdmin для postgres]». Теперь работа удалась. НО ничего не произошло в testDB. Только что задание завершилось без ошибок на панели статистики. Это все. И я хочу установить пароль в pgpass.conf. Любая другая идея?   -  person arayo    schedule 19.04.2015
comment
Из-за [email protected]? Должен ли я создать идентификатор ОС postgres? И войти в pgAgent, используя это?   -  person arayo    schedule 23.04.2015
comment
Теперь я пытаюсь сделать идентификатор ОС postgres в своей Windows 7. Но я не могу этого сделать. С другими аккаунтами проблем нет. Но для 'postgres' я не могу этого сделать. ха... не просто...   -  person arayo    schedule 01.05.2015
comment
Я предполагаю, что pgAgent не может найти файл pgpass.conf. Итак, я пытаюсь создать идентификатор ОС postgres.   -  person arayo    schedule 01.05.2015
comment
Мне не нужно создавать идентификатор ОС postgres. Я решил ^^   -  person arayo    schedule 01.05.2015


Ответы (2)


Прекрасный день... Я решил это ^^

[Решение]

I made other OS login ID. (NOT need to be 'postgres' !!)
And put pgpass.conf in that ID's AppData\Roaming\postgresql

[Причина]

pgAgent could not find pgpass.conf in login ID's directory.

Я сказал, что мой идентификатор входа в ОС — [email protected].

Но настоящее имя [email protected] (имя папки в C:\Users) было 'НЕКОТОРОЕ ИМЯ ТЕСТ'.

Это другое !!

Когда я проверил идентификатор входа в систему в службах, идентификатор входа в систему pgAgent был «.\[email protected]».

Я предполагаю, что pgAgent пытался найти pgpass.conf в 'C:\Users\[email protected]\AppData\Roaming\postgresql'.

Но такого каталога не было.!!

Мой pgpass.conf находился в 'C:\Users\НЕКОТОРОЕ ИМЯ ТЕСТ\AppData\Roaming\postgresql'

Я случайно создал другой идентификатор ОС «любое имя». (панель управления>управление учетной записью.)

login ID : anyname

real name : anyname ( C:\Users\anyname )

Это ЖЕ !! ^^

И поместил pgpass.conf в 'C:\Users\anyname\AppData\Roaming\postgresql'.

Затем изменил идентификатор входа pgAgent на «.\anyname» в services.

Теперь все работает ^^

person arayo    schedule 01.05.2015

SET PGPASSWORD=<PassWord>
pg_dump -h <HostName> -p 5432 -U <UserName> -F c -b -v -f %BACKUP_FILE% <DATABASENAME>

Источник: https://wiki.postgresql.org/wiki/Automated_Backup_on_Windows

person NavaneethaKrishnan    schedule 29.02.2020