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

6yt4nkrj  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(2)|浏览(337)

所以,我想使用pgagent备份我的数据库。
操作系统:Windows 10
我发现我的环境中没有安装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文件夹
1.以admin身份运行edb_pgagent_pg13.exe
1.在“C:\Users\Harshad\AppData\Roaming\postgresql”中创建一个空的pgpass.conf文件
在以管理员身份再次启动Stackbuilder时,我只选择了pgagent选项,但它给了我一个错误,说系统用户名和密码不正确。它是必需的安装”当我没有得到一个选项来输入凭据。
我应该正确地做什么来获得允许我创建和计划备份作业的pgagent?
编辑:添加了OS信息

yruzcnhs

yruzcnhs1#

我在安装pgAgent时也遇到了同样的问题,问题归结到了Windows Password Policy
在最后的安装步骤中,系统会要求您提供该服务的操作系统帐户。默认情况下,它使用“postgres”,这是PostgreSQL创建的帐户。在我的例子中,我没有一个名为“postgres”的帐户,这表明PostgreSQL在安装过程中可能并不总是创建这个帐户。这可能是特定于版本的行为(我使用PostgreSQL 13和15)。
如果帐户不存在,安装程序将创建它。我在这里遇到了一个障碍:Windows Server 2019启用了"password must meet complexity requirements"策略。我提供的密码不符合这些要求,导致帐户创建失败和您提到的后续错误。
对于那些处于类似困境的人,这里有一些经过验证的解决方案:

  • 在安装过程中使用符合复杂性要求的密码。
  • 禁用复杂性需求策略(尽管这不可取)。
  • 不允许安装程序创建新帐户,而是提供现有帐户的凭据。
w8f9ii69

w8f9ii692#

安装PostgreSQL时,它使用了'postgres' Windows帐户。您需要使用相同的帐户安装pgAgent。
1.启动命令提示符并执行“runas /user:postgres cmd.exe”以正确用户身份运行CMD。
1.从该CMD运行pgAgent安装文件。在我的例子中,它是'D:\Downloads\edb_pgagent_pg13.exe',在您的例子中,它是您指定的位置。
这就是我的工作。

相关问题