无法在 %APPDATA%\postgresql 目录中创建或修改 pgpass.conf 文件

问题描述 投票:0回答:3

所以,我想使用 pgagent 备份我的数据库。

操作系统:Windows 10(64 位)

我发现我的环境中没有安装pgagent。

因此,我将 pgAdmin 升级到 V4.3,并尝试通过 Stackbuilder 的 edb_pgagent_pg13 选项安装 pgagent。该exe已下载到我的系统上,但当我安装它时,出现此错误:

然后,我看到我的 APPDATA 文件夹中没有名为 postgresql 的文件夹,所以我创建了一个。 “C:\Users\Harshad\AppData\Roaming\postgresql”,然后再次运行 edb_pgagent_pg13.exe

我仍然遇到同样的错误。

现在,要么我不知道如何创建 pgpass.conf 文件,要么我不知道如何正确创建它。

我遵循的这些步骤是:

  1. 在我的 APPDATA 文件夹中创建 postgresql 文件夹
  2. 以管理员身份运行 edb_pgagent_pg13.exe
  3. 创建一个空白的 pgpass.conf 文件 “C:\Users\Harshad\AppData\Roaming\postgresql”

以管理员身份再次启动 Stackbuilder 时,我只选择了 pgagent 选项,但它给我一个错误,提示系统用户名和密码不正确。这是安装所必需的”当我没有获得输入凭据的选项时。

我应该如何正确执行才能获得 pgagent 以允许我创建和安排备份作业?

编辑:添加操作系统信息

windows postgresql database-backups pgagent
3个回答
1
投票

我在安装 pgAgent 时遇到了同样的问题,它归结为 Windows 密码策略

在最后的安装步骤中,系统会要求您提供该服务的操作系统帐户。默认情况下,它使用“postgres”,这是 PostgreSQL 创建的帐户。就我而言,我没有名为“postgres”的帐户,这表明 PostgreSQL 在安装过程中可能并不总是创建此帐户。这可能是特定于版本的行为(我使用 PostgreSQL 13 和 15)。

如果该帐户不存在,安装程序将创建它。我在这里遇到了一个障碍:我的 Windows Server 2019 启用了 “密码必须满足复杂性要求” 策略。我提供的密码不符合这些要求,导致帐户创建失败以及您提到的后续错误。

对于那些处于类似困境的人,以下是一些经过验证的解决方案:

  • 安装时使用符合复杂度要求的密码。
  • 禁用复杂性要求策略(尽管这并不可取)。
  • 不要让安装人员创建新帐户,而是提供现有帐户的凭据。

0
投票

当您安装 PostgreSQL 时,它使用“postgres”Windows 帐户。您需要使用同一个帐户安装 pgAgent。

  1. 启动命令提示符并执行“runas /user:postgres cmd.exe”以正确的用户身份运行 CMD。
  2. 从该 CMD 运行 pgAgent 安装文件。在我的例子中,它是“D:\Downloads db_pgagent_pg13.exe”,在你的例子中,它位于你指定的位置。

这对我有用。


-1
投票

我遇到了同样的问题,您的解决方案是什么?

© www.soinside.com 2019 - 2024. All rights reserved.