pgAgent作业失败,出现身份验证错误

时间:2013-04-07 20:01:26

标签: postgresql pgagent

我使用名为postgres的本地计算机帐户在Windows服务中安装了pgAgent。我已确认Windows服务正常运行。我在pgAdmin中创建了一个应该从我的客户数据库中的表中删除某些记录的作业。作业中的唯一步骤是使用本地连接类型配置到客户DB。问题是,每次写入Windows事件日志时出现以下警告,作业都会失败:

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

我已经确认在C:\ Users \ postgres \ AppData \ Roaming \ postgresql中有一个pgpass.conf文件。以下是其内容:

localhost:5432:postgres:postgres:<password_redacted>

我不知道还有什么可以尝试的。我无法找到有关此错误消息的任何进一步信息,因为它适用于pgAgent。

版本信息:

  • PostgreSQL 9.2.4,由Visual C ++ build 1600,64位编译
  • pgAdmin 1.16.1
  • pgAgent v3.3.0-1

Windows服务启动信息:

C:\Program Files (x86)\pgAgent\bin\pgagent.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

3 个答案:

答案 0 :(得分:2)

我所做的是在PgAgentIII的工作步骤

我将连接类型更改为远程
使用按钮设置连接字符串...
将user = postgres更改为我的应用用户名
添加密码=密码(填写您的密码)
更改主机= 127.0.0.1

我不再收到错误

答案 1 :(得分:0)

我为本地连接配置的pgAgent作业步骤遇到了同样的问题:
Failed to create new connection to database '<database_name>':'fe_sendauth: no password supplied'

将密码放入连接字符串的解决方案工作正常,但似乎不安全。

在挖掘之后我找到了另一个解决方案 - 为步骤的目标数据库添加连接字符串到pgpass.conf解决问题:
localhost:5432:<database_name>:postgres:<password>

答案 2 :(得分:-1)

确保检查pgadmin服务的用户名和您正在检查的pgpass.conf文件的用户名是否匹配。我遇到了同样的问题,直到我意识到pgadmin安装程序已将服务设置为以本地用户身份运行,并且我正在检查pgpass.conf以获取与域用户相同的用户名。

相关问题